diff options
author | Alan Modra <amodra@bigpond.net.au> | 2002-09-13 23:29:58 +0000 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2002-09-14 08:59:58 +0930 |
commit | 374b0b7d0c2ee7f0a8ad8846eb8253095397549f (patch) | |
tree | 56d6eaae71719c920376e0802c6f13e372416560 | |
parent | 690eed2ccf6f4d12c7bd86c4104c3308be3e1476 (diff) | |
download | gcc-374b0b7d0c2ee7f0a8ad8846eb8253095397549f.zip gcc-374b0b7d0c2ee7f0a8ad8846eb8253095397549f.tar.gz gcc-374b0b7d0c2ee7f0a8ad8846eb8253095397549f.tar.bz2 |
tm.texi (DBX_OUTPUT_NFUN): Describe.
* doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
* dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
* config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
From-SVN: r57122
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/linux64.h | 12 | ||||
-rw-r--r-- | gcc/dbxout.c | 4 | ||||
-rw-r--r-- | gcc/doc/tm.texi | 5 |
4 files changed, 27 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8fdcd90..4856ab6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-09-14 Alan Modra <amodra@bigpond.net.au> + + * doc/tm.texi (DBX_OUTPUT_NFUN): Describe. + * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN. + * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define. + 2002-09-13 Nathan Sidwell <nathan@codesourcery.com> * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables. diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h index 6e1b904..8f96043 100644 --- a/gcc/config/rs6000/linux64.h +++ b/gcc/config/rs6000/linux64.h @@ -354,6 +354,18 @@ 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) +/* Another case where we want the dot name. */ +#define DBX_OUTPUT_NFUN(FILE, LSCOPE, DECL) \ + do \ + { \ + fprintf (FILE, "%s\"\",%d,0,0,", ASM_STABS_OP, N_FUN); \ + assemble_name (FILE, LSCOPE); \ + fputs ("-.", FILE); \ + assemble_name (FILE, XSTR (XEXP (DECL_RTL (DECL), 0), 0)); \ + putc ('\n', FILE); \ + } \ + while (0) + /* Override sysv4.h as these are ABI_V4 only. */ #undef ASM_OUTPUT_REG_PUSH #undef ASM_OUTPUT_REG_POP diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 4e46773..a570856 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -397,11 +397,15 @@ dbxout_function_end () /* By convention, GCC will mark the end of a function with an N_FUN symbol and an empty string. */ +#ifdef DBX_OUTPUT_NFUN + DBX_OUTPUT_NFUN (asmfile, lscope_label_name, current_function_decl); +#else fprintf (asmfile, "%s\"\",%d,0,0,", ASM_STABS_OP, N_FUN); assemble_name (asmfile, lscope_label_name); putc ('-', asmfile); assemble_name (asmfile, XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0)); fprintf (asmfile, "\n"); +#endif } #endif /* DBX_DEBUGGING_INFO */ diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index f324982..8bc5155 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -7848,6 +7848,11 @@ argument @var{name} is the name of an assembler symbol (for use with @item DBX_OUTPUT_RBRAC (@var{stream}, @var{name}) Like @code{DBX_OUTPUT_LBRAC}, but for the end of a scope level. +@findex DBX_OUTPUT_NFUN +@item DBX_OUTPUT_NFUN (@var{stream}, @var{lscope_label}, @var{decl}) +Define this macro if the target machine requires special handling to +output an @code{N_FUN} entry for the function @var{decl}. + @findex DBX_OUTPUT_ENUM @item DBX_OUTPUT_ENUM (@var{stream}, @var{type}) Define this macro if the target machine requires special handling to |