From: Alan Modra Date: Wed, 5 Jun 2002 04:02:27 +0000 (+0000) Subject: * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define. X-Git-Tag: releases/gcc-3.1.1~204 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=712bfd4c5d572c1ec2fa1a5e20a120f5e9f648cd;p=thirdparty%2Fgcc.git * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define. From-SVN: r54273 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7530a52a0ff0..0ddf3a113699 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-06-05 Alan Modra + + * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define. + Tue Jun 4 18:16:50 CEST 2002 Jan Hubicka * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Do not initialize diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h index 40b64dc3f9e7..f84e1e3a8334 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h @@ -308,3 +308,22 @@ do { \ || (GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT \ && ! TARGET_NO_FP_IN_TOC))))) +/* This is the same as the dbxelf.h version, except that we need to + use the function code label, not the function descriptor. */ +#undef ASM_OUTPUT_SOURCE_LINE +#define ASM_OUTPUT_SOURCE_LINE(FILE, LINE) \ +do \ + { \ + static int sym_lineno = 1; \ + char temp[256]; \ + ASM_GENERATE_INTERNAL_LABEL (temp, "LM", sym_lineno); \ + fprintf (FILE, "\t.stabn 68,0,%d,", LINE); \ + assemble_name (FILE, temp); \ + fputs ("-.", FILE); \ + assemble_name (FILE, \ + XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0));\ + putc ('\n', FILE); \ + ASM_OUTPUT_INTERNAL_LABEL (FILE, "LM", sym_lineno); \ + sym_lineno += 1; \ + } \ +while (0)