diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 79cb407608c..1bfbdfa17f1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-12-20 Alexandre Oliva + + * final.c (output_addr_const): Use ASM_OUTPUT_SYMBOL_REF. + * tm.texi: Document it. + 2000-12-19 Benjamin Kosnik * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Use build_tooldir diff --git a/gcc/final.c b/gcc/final.c index 0d320e8b348..bbdb59eb13e 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -3673,7 +3673,11 @@ output_addr_const (file, x) break; case SYMBOL_REF: +#ifdef ASM_OUTPUT_SYMBOL_REF + ASM_OUTPUT_SYMBOL_REF (file, x); +#else assemble_name (file, XSTR (x, 0)); +#endif break; case LABEL_REF: diff --git a/gcc/tm.texi b/gcc/tm.texi index 85923e61700..511f8f0dd4d 100644 --- a/gcc/tm.texi +++ b/gcc/tm.texi @@ -5949,6 +5949,14 @@ The definition should be a C statement to output a word containing a reference to the label @var{label}. @end ignore +@findex ASM_OUTPUT_SYMBOL_REF +@item ASM_OUTPUT_SYMBOL_REF (@var{stream}, @var{sym}) +A C statement (sans semicolon) to output a reference to +@code{SYMBOL_REF} @var{sym}. If not defined, @code{assemble_output} +will be used to output the name of the symbol. This macro may be used +to modify the way a symbol is referenced depending on information +encoded by @code{ENCODE_SECTION_INFO}. + @findex ASM_OUTPUT_INTERNAL_LABEL @item ASM_OUTPUT_INTERNAL_LABEL (@var{stream}, @var{prefix}, @var{num}) A C statement to output to the stdio stream @var{stream} a label whose