]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
authorAlan Modra <amodra@bigpond.net.au>
Wed, 5 Jun 2002 04:02:27 +0000 (04:02 +0000)
committerAlan Modra <amodra@gcc.gnu.org>
Wed, 5 Jun 2002 04:02:27 +0000 (13:32 +0930)
From-SVN: r54273

gcc/ChangeLog
gcc/config/rs6000/linux64.h

index 7530a52a0ff0daad85bbaca6fbc599655efc406d..0ddf3a1136997f654313d4c20f3678a2841f37c8 100644 (file)
@@ -1,3 +1,7 @@
+2002-06-05  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
+
 Tue Jun  4 18:16:50 CEST 2002  Jan Hubicka  <jh@suse.cz>
 
        * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Do not initialize
index 40b64dc3f9e7b801c2d90b46ad6312470ee86c86..f84e1e3a8334937e2dda97e4ddc4615d4ef1dff0 100644 (file)
@@ -308,3 +308,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)