aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/final.c5
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 588ce00..d7e8767 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2008-12-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/37170
+ PR target/38448
+ * final.c (output_addr_const) <SYMBOL_REF>: Call assemble_external
+ on the associated SYMBOL_REF_DECL node, if any.
+
2008-12-09 David Daney <ddaney@caviumnetworks.com>
* config/mips/sync.md (sync_<optab>_12): Replace
diff --git a/gcc/final.c b/gcc/final.c
index aceeb7c..1735a73 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -3440,7 +3440,10 @@ output_addr_const (FILE *file, rtx x)
case SYMBOL_REF:
if (SYMBOL_REF_DECL (x))
- mark_decl_referenced (SYMBOL_REF_DECL (x));
+ {
+ mark_decl_referenced (SYMBOL_REF_DECL (x));
+ assemble_external (SYMBOL_REF_DECL (x));
+ }
#ifdef ASM_OUTPUT_SYMBOL_REF
ASM_OUTPUT_SYMBOL_REF (file, x);
#else