From a6af46b6c1037150a2a55c1718e9bdcf19bbba2c Mon Sep 17 00:00:00 2001
From: danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Sat, 3 Feb 2007 21:15:15 +0000
Subject: [PATCH] 	PR middle-end/30174 	* varasm.c
 (notice_global_symbol): Treat global objects as weak when 	flag_shlib is
 true.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121551 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog | 6 ++++++
 gcc/varasm.c  | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b6ccf374c96c..f8642732f118 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR middle-end/30174
+	* varasm.c (notice_global_symbol): Treat global objects as weak when
+	flag_shlib is true.
+
 2007-02-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
 	* emit-rtl.c (dconstpi): Delete.
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 48055cf65fd6..c2ae6e23f1c1 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -1323,7 +1323,7 @@ notice_global_symbol (tree decl)
 
   /* We win when global object is found, but it is useful to know about weak
      symbol as well so we can produce nicer unique names.  */
-  if (DECL_WEAK (decl) || DECL_ONE_ONLY (decl))
+  if (DECL_WEAK (decl) || DECL_ONE_ONLY (decl) || flag_shlib)
     type = &weak_global_object_name;
 
   if (!*type)
-- 
GitLab