From: Cui GaoSheng
ohos inclusion
category: bugfix
issue: #I3ZXZF
CVE: NA
------------------------------------------------------------------------
Fix the bug of hidden symbols when decompressing code is compiled,
we can't enable hidden cflags because decompressed code needs to
support symbol relocation.
Signed-off-by: Cui GaoSheng
Reviewed-by: Xiu Jianfeng
Signed-off-by: Chen Jun
Signed-off-by: Yu Changchun
---
arch/arm/boot/compressed/Makefile | 5 +++++
arch/arm/boot/compressed/decompress.c | 4 ----
arch/arm/boot/compressed/misc.c | 4 ----
3 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
index 7d6d00416411..4b554eaf4c38 100644
--- a/arch/arm/boot/compressed/Makefile
+++ b/arch/arm/boot/compressed/Makefile
@@ -113,6 +113,11 @@ targets := vmlinux vmlinux.lds piggy_data piggy.o \
clean-files += piggy_data lib1funcs.S ashldi3.S bswapsdi2.S hyp-stub.S
+ifeq ($(CONFIG_RELOCATABLE),y)
+HIDDEN_STR := -include $(srctree)/include/linux/hidden.h
+KBUILD_CFLAGS := $(subst $(HIDDEN_STR), , $(KBUILD_CFLAGS))
+endif
+
KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
ccflags-y := -fpic $(call cc-option,-mno-single-pic-base,) -fno-builtin \
diff --git a/arch/arm/boot/compressed/decompress.c b/arch/arm/boot/compressed/decompress.c
index 38a5dd847e03..aa075d8372ea 100644
--- a/arch/arm/boot/compressed/decompress.c
+++ b/arch/arm/boot/compressed/decompress.c
@@ -1,10 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
#define _LINUX_STRING_H_
-#ifdef CONFIG_RANDOMIZE_BASE
-#pragma GCC visibility pop
-#endif
-
#include /* for inline */
#include /* for size_t */
#include /* for NULL */
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c
index 974a08df7c7a..abc083b0db96 100644
--- a/arch/arm/boot/compressed/misc.c
+++ b/arch/arm/boot/compressed/misc.c
@@ -16,10 +16,6 @@
* which should point to addresses in RAM and cleared to 0 on start.
* This allows for a much quicker boot time.
*/
-#ifdef CONFIG_RANDOMIZE_BASE
-#pragma GCC visibility pop
-#endif
-
unsigned int __machine_arch_type;
#include /* for inline */
--
2.22.0