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>

SVN-Revision: 39749
master
Felix Fietkau 11 years ago
parent 9a97bfcc2b
commit 06a3d35eda
  1. 28
      toolchain/gcc/patches/4.6-linaro/850-use_shared_libgcc.patch
  2. 11
      toolchain/gcc/patches/4.8-linaro/850-use_shared_libgcc.patch
  3. 11
      toolchain/gcc/patches/4.8.0/850-use_shared_libgcc.patch

@ -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…
Cancel
Save