aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Edelsohn <dje.gcc@gmail.com>2013-09-04 21:24:56 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2013-09-04 17:24:56 -0400
commitc167bc5b7d51a6d582324040201106fab36723da (patch)
treedbf9155edc73147b3cb26dfc6446ec2527c9de66 /gcc
parente3458796fcb2d83c9fc52c98516546777fc16815 (diff)
downloadgcc-c167bc5b7d51a6d582324040201106fab36723da.zip
gcc-c167bc5b7d51a6d582324040201106fab36723da.tar.gz
gcc-c167bc5b7d51a6d582324040201106fab36723da.tar.bz2
rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Only emit lglobl if not weak.
* config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Only emit lglobl if not weak. From-SVN: r202264
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.h15
2 files changed, 14 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 286aed5..64e3421 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-09-04 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Only emit
+ lglobl if not weak.
+
2013-09-04 Easwaran Raman <eraman@google.com>
PR middle-end/57370
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 5acedfc..a5a7a85 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -2139,12 +2139,15 @@ extern int toc_initialized;
} \
else if (TARGET_XCOFF) \
{ \
- fputs ("\t.lglobl\t.", FILE); \
- RS6000_OUTPUT_BASENAME (FILE, alias); \
- putc ('\n', FILE); \
- fputs ("\t.lglobl\t", FILE); \
- RS6000_OUTPUT_BASENAME (FILE, alias); \
- putc ('\n', FILE); \
+ if (!RS6000_WEAK || !DECL_WEAK (DECL)) \
+ { \
+ fputs ("\t.lglobl\t.", FILE); \
+ RS6000_OUTPUT_BASENAME (FILE, alias); \
+ putc ('\n', FILE); \
+ fputs ("\t.lglobl\t", FILE); \
+ RS6000_OUTPUT_BASENAME (FILE, alias); \
+ putc ('\n', FILE); \
+ } \
} \
fputs ("\t.set\t.", FILE); \
RS6000_OUTPUT_BASENAME (FILE, alias); \