diff options
author | Alan Modra <amodra@bigpond.net.au> | 2005-09-13 23:29:31 +0000 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2005-09-14 08:59:31 +0930 |
commit | 007544681e4ff0e113e104e63fc499fdba0004c0 (patch) | |
tree | 1f42cff0d0721132aea108e0a77ef163e565bf73 | |
parent | 9cb5fdd06256b2de8d63197810cd421f60d82a0e (diff) | |
download | gcc-007544681e4ff0e113e104e63fc499fdba0004c0.zip gcc-007544681e4ff0e113e104e63fc499fdba0004c0.tar.gz gcc-007544681e4ff0e113e104e63fc499fdba0004c0.tar.bz2 |
linux64.h (DBX_OUTPUT_BRAC): Treat function name passed as NAME as if it were label at start of function code.
* config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
passed as NAME as if it were label at start of function code.
From-SVN: r104245
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/linux64.h | 15 |
2 files changed, 17 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 90007c4..7997392 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-09-14 Alan Modra <amodra@bigpond.net.au> + + * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name + passed as NAME as if it were label at start of function code. + 2005-09-13 Kaz Kojima <kkojima@gcc.gnu.org> * config/sh/sh.md (*movv4sf_i): Add general register cases to diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h index 31bf8ac..1c4dc1f 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h @@ -494,10 +494,19 @@ while (0) { \ const char *s; \ dbxout_begin_stabn (BRAC); \ - assemble_name (FILE, NAME); \ - putc ('-', FILE); \ s = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0); \ - rs6000_output_function_entry (FILE, s); \ + /* dbxout_block passes this macro the function name as NAME, \ + assuming that it is the function code start label. In our \ + case, the function name is the OPD entry. dbxout_block is \ + broken, hack around it here. */ \ + if (NAME == s) \ + putc ('0', FILE); \ + else \ + { \ + assemble_name (FILE, NAME); \ + putc ('-', FILE); \ + rs6000_output_function_entry (FILE, s); \ + } \ putc ('\n', FILE); \ } \ while (0) |