diff options
author | Alan Modra <amodra@bigpond.net.au> | 2002-06-05 03:56:27 +0000 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2002-06-05 13:26:27 +0930 |
commit | 1fd9ba59dab4e2c841917e5ec3e9dc27ae821b17 (patch) | |
tree | e60f729ceccd6f13d2ef92f82f82818fdbb1872f /gcc | |
parent | 77d2dd29ad82e632a6b2154edf49f2c207e28c9b (diff) | |
download | gcc-1fd9ba59dab4e2c841917e5ec3e9dc27ae821b17.zip gcc-1fd9ba59dab4e2c841917e5ec3e9dc27ae821b17.tar.gz gcc-1fd9ba59dab4e2c841917e5ec3e9dc27ae821b17.tar.bz2 |
* config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
From-SVN: r54272
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/linux64.h | 19 |
2 files changed, 23 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6d4ae5f..742bc19 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-06-05 Alan Modra <amodra@bigpond.net.au> + + * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define. + 2002-06-04 Zack Weinberg <zack@codesourcery.com> * gengtype-yacc.y: Make sure all rules end with a semicolon. diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h index 81df3e4..4e9812c 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h @@ -294,3 +294,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) |