aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-09-13 23:29:58 +0000
committerAlan Modra <amodra@gcc.gnu.org>2002-09-14 08:59:58 +0930
commit374b0b7d0c2ee7f0a8ad8846eb8253095397549f (patch)
tree56d6eaae71719c920376e0802c6f13e372416560
parent690eed2ccf6f4d12c7bd86c4104c3308be3e1476 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/config/rs6000/linux64.h12
-rw-r--r--gcc/dbxout.c4
-rw-r--r--gcc/doc/tm.texi5
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