aboutsummaryrefslogtreecommitdiffstats
path: root/main/gcc/gcc-4.6-pr32219.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-08-18 13:49:32 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2011-08-18 13:49:32 +0000
commit081c531fecfa27b5c0e9f48a3ca1a96ea3ef553c (patch)
tree9e151374b53ad61b9c5407d4cc4f8e8fd8ec3c24 /main/gcc/gcc-4.6-pr32219.patch
parentde7b37cbad5d595786fa1b78bed8dac552de1b27 (diff)
downloadaports-081c531fecfa27b5c0e9f48a3ca1a96ea3ef553c.tar.bz2
aports-081c531fecfa27b5c0e9f48a3ca1a96ea3ef553c.tar.xz
main/gcc: upgrade to 4.6.1
Diffstat (limited to 'main/gcc/gcc-4.6-pr32219.patch')
-rw-r--r--main/gcc/gcc-4.6-pr32219.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/main/gcc/gcc-4.6-pr32219.patch b/main/gcc/gcc-4.6-pr32219.patch
new file mode 100644
index 0000000000..8233e5b231
--- /dev/null
+++ b/main/gcc/gcc-4.6-pr32219.patch
@@ -0,0 +1,25 @@
+--- ./gcc/varasm.c.orig
++++ ./gcc/varasm.c
+@@ -6758,6 +6758,10 @@
+ /* Static variables are always local. */
+ else if (! TREE_PUBLIC (exp))
+ local_p = true;
++ /* Weak data can be overridden by a strong symbol
++ in another module and so are not local. */
++ else if (DECL_WEAK (exp))
++ local_p = false;
+ /* A variable is local if the user has said explicitly that it will
+ be. */
+ else if ((DECL_VISIBILITY_SPECIFIED (exp)
+@@ -6771,11 +6775,6 @@
+ local. */
+ else if (DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT)
+ local_p = true;
+- /* Default visibility weak data can be overridden by a strong symbol
+- in another module and so are not local. */
+- else if (DECL_WEAK (exp)
+- && !resolved_locally)
+- local_p = false;
+ /* If PIC, then assume that any global name can be overridden by
+ symbols resolved from other modules. */
+ else if (shlib)