aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2000-06-30 18:14:05 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2000-06-30 18:14:05 +0000
commit897ab01771bba51d2266b7c20e15a3308fdcd210 (patch)
treeae9613334e625f9e530dd62b0cae6fd18aad8c6b
parent3359b21c9c5f89382337d0dd82e6d01788fd0632 (diff)
* pa/som.h (ASM_WEAKEN_LABEL): Export weak data symbols so that they
have global scope. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34814 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/pa/som.h12
2 files changed, 15 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e32ef9fc6f9..033b7d2989e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-06-30 J. David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa/som.h (ASM_WEAKEN_LABEL): Export weak data symbols so that they
+ have global scope.
+
2000-06-30 Martin von Loewis <loewis@informatik.hu-berlin.de>
* invoke.texi (-Wreturn-type): In C++, a missing return type is
diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h
index 03bb8e84a18..073f79816de 100644
--- a/gcc/config/pa/som.h
+++ b/gcc/config/pa/som.h
@@ -384,6 +384,14 @@ do { \
/* This is how we tell the assembler that a symbol is weak. */
#define ASM_WEAKEN_LABEL(FILE,NAME) \
- do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
- fputc ('\n', FILE); } while (0)
+ do { fputs ("\t.weak\t", FILE); \
+ assemble_name (FILE, NAME); \
+ fputc ('\n', FILE); \
+ if (! FUNCTION_NAME_P (NAME)) \
+ { \
+ fputs ("\t.EXPORT ", FILE); \
+ assemble_name (FILE, NAME); \
+ fputs (",DATA\n", FILE); \
+ } \
+ } while (0)
#endif