another powerpc64-linux -gstabs fix
Alan Modra
amodra@bigpond.net.au
Thu Aug 1 17:35:00 GMT 2002
gcc/testsuite/gcc.dg/debug/20020220-1.c was failing with
/tmp/ccdmeJm8.s: Assembler messages:
/tmp/ccdmeJm8.s:147: Error: subtraction of two symbols in different sections `.text' {.text section} - `bar' {.opd section} at file address 0000000000000200
[snip]
* config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
(DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
OK mainline?
Index: gcc/config/rs6000/linux64.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/linux64.h,v
retrieving revision 1.22
diff -u -p -r1.22 linux64.h
--- gcc/config/rs6000/linux64.h 18 Jul 2002 00:15:32 -0000 1.22
+++ gcc/config/rs6000/linux64.h 2 Aug 2002 00:28:26 -0000
@@ -330,6 +330,29 @@ do \
} \
while (0)
+/* Similarly, we want the function code label here. */
+#define DBX_OUTPUT_BRAC(FILE, NAME, BRAC) \
+ do \
+ { \
+ const char *flab; \
+ fprintf (FILE, "%s%d,0,0,", ASM_STABN_OP, BRAC); \
+ assemble_name (FILE, NAME); \
+ putc ('-', FILE); \
+ if (current_function_func_begin_label != NULL_TREE) \
+ flab = IDENTIFIER_POINTER (current_function_func_begin_label); \
+ else \
+ { \
+ putc ('.', FILE); \
+ flab = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0); \
+ } \
+ assemble_name (FILE, flab); \
+ putc ('\n', FILE); \
+ } \
+ while (0)
+
+#define DBX_OUTPUT_LBRAC(FILE, NAME) DBX_OUTPUT_BRAC (FILE, NAME, N_LBRAC)
+#define DBX_OUTPUT_RBRAC(FILE, NAME) DBX_OUTPUT_BRAC (FILE, NAME, N_RBRAC)
+
/* Override sysv4.h as these are ABI_V4 only. */
#undef ASM_OUTPUT_REG_PUSH
#undef ASM_OUTPUT_REG_POP
--
Alan Modra
IBM OzLabs - Linux Technology Centre
More information about the Gcc-patches
mailing list