gcc: fix visibility of symbols libgcc.a
Symbols need to be hidden, even for the static variant Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39749 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
ef48b885cf
commit
2c60412f00
|
@ -57,12 +57,30 @@
|
||||||
}
|
}
|
||||||
--- a/libgcc/Makefile.in
|
--- a/libgcc/Makefile.in
|
||||||
+++ b/libgcc/Makefile.in
|
+++ b/libgcc/Makefile.in
|
||||||
@@ -272,7 +272,7 @@ ifeq ($(enable_shared),yes)
|
@@ -269,6 +269,12 @@ ifeq ($(enable_shared),yes)
|
||||||
|
install-libunwind = install-libunwind
|
||||||
|
endif
|
||||||
|
|
||||||
|
+else
|
||||||
|
+# Not enable_shared.
|
||||||
|
+iterator = $(srcdir)/empty.mk $(patsubst %,$(srcdir)/static-object.mk,$(iter-items))
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
+
|
||||||
# For -fvisibility=hidden. We need both a -fvisibility=hidden on
|
# For -fvisibility=hidden. We need both a -fvisibility=hidden on
|
||||||
# the command line, and a #define to prevent libgcc2.h etc from
|
# the command line, and a #define to prevent libgcc2.h etc from
|
||||||
# overriding that with #pragmas.
|
# overriding that with #pragmas.
|
||||||
-vis_hide = @vis_hide@
|
@@ -291,13 +297,6 @@ else
|
||||||
+vis_hide =
|
gen-hide-list = echo > $@
|
||||||
|
endif
|
||||||
ifneq (,$(vis_hide))
|
|
||||||
|
|
||||||
|
-else
|
||||||
|
-# Not enable_shared.
|
||||||
|
-iterator = $(srcdir)/empty.mk $(patsubst %,$(srcdir)/static-object.mk,$(iter-items))
|
||||||
|
-vis_hide =
|
||||||
|
-gen-hide-list = echo > \$@
|
||||||
|
-endif
|
||||||
|
-
|
||||||
|
ifneq ($(EXTRA_PARTS),)
|
||||||
|
extra-parts = libgcc-extra-parts
|
||||||
|
INSTALL_PARTS = $(EXTRA_PARTS)
|
||||||
|
|
|
@ -33,17 +33,6 @@
|
||||||
- printf ("\n local:\n\t*;\n};\n");
|
- printf ("\n local:\n\t*;\n};\n");
|
||||||
+ printf ("\n\t*;\n};\n");
|
+ printf ("\n\t*;\n};\n");
|
||||||
}
|
}
|
||||||
--- a/libgcc/Makefile.in
|
|
||||||
+++ b/libgcc/Makefile.in
|
|
||||||
@@ -368,7 +368,7 @@ endif
|
|
||||||
# For -fvisibility=hidden. We need both a -fvisibility=hidden on
|
|
||||||
# the command line, and a #define to prevent libgcc2.h etc from
|
|
||||||
# overriding that with #pragmas.
|
|
||||||
-vis_hide = @vis_hide@
|
|
||||||
+vis_hide =
|
|
||||||
|
|
||||||
ifneq (,$(vis_hide))
|
|
||||||
|
|
||||||
--- a/gcc/config/rs6000/linux.h
|
--- a/gcc/config/rs6000/linux.h
|
||||||
+++ b/gcc/config/rs6000/linux.h
|
+++ b/gcc/config/rs6000/linux.h
|
||||||
@@ -61,6 +61,9 @@
|
@@ -61,6 +61,9 @@
|
||||||
|
|
|
@ -33,17 +33,6 @@
|
||||||
- printf ("\n local:\n\t*;\n};\n");
|
- printf ("\n local:\n\t*;\n};\n");
|
||||||
+ printf ("\n\t*;\n};\n");
|
+ printf ("\n\t*;\n};\n");
|
||||||
}
|
}
|
||||||
--- a/libgcc/Makefile.in
|
|
||||||
+++ b/libgcc/Makefile.in
|
|
||||||
@@ -368,7 +368,7 @@ endif
|
|
||||||
# For -fvisibility=hidden. We need both a -fvisibility=hidden on
|
|
||||||
# the command line, and a #define to prevent libgcc2.h etc from
|
|
||||||
# overriding that with #pragmas.
|
|
||||||
-vis_hide = @vis_hide@
|
|
||||||
+vis_hide =
|
|
||||||
|
|
||||||
ifneq (,$(vis_hide))
|
|
||||||
|
|
||||||
--- a/gcc/config/rs6000/linux.h
|
--- a/gcc/config/rs6000/linux.h
|
||||||
+++ b/gcc/config/rs6000/linux.h
|
+++ b/gcc/config/rs6000/linux.h
|
||||||
@@ -61,6 +61,9 @@
|
@@ -61,6 +61,9 @@
|
||||||
|
|
Loading…
Reference in New Issue