From 374b0b7d0c2ee7f0a8ad8846eb8253095397549f Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 13 Sep 2002 23:29:58 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/config/rs6000/linux64.h | 12 ++++++++++++ gcc/dbxout.c | 4 ++++ gcc/doc/tm.texi | 5 +++++ 4 files changed, 27 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8fdcd906bf7..4856ab65a73 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-09-14 Alan Modra + + * 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 * 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 6e1b90463ca..8f96043706a 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 4e467739d24..a570856ad4a 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 f324982cde4..8bc5155029e 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