]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
mips.h (ASM_OUTPUT_DEBUG_LABEL): Define.
authorRichard Sandiford <rdsandiford@googlemail.com>
Mon, 24 Nov 2008 20:39:05 +0000 (20:39 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 24 Nov 2008 20:39:05 +0000 (20:39 +0000)
gcc/
* config/mips/mips.h (ASM_OUTPUT_DEBUG_LABEL): Define.

From-SVN: r142173

gcc/ChangeLog
gcc/config/mips/mips.h

index 6ed89220bf2fd79b708a1259e297d19d5e999f61..a82c6d30949ec51c86c52fcec0d0360171c18f1e 100644 (file)
@@ -1,3 +1,7 @@
+2008-11-24  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.h (ASM_OUTPUT_DEBUG_LABEL): Define.
+
 2008-11-24  Maxim Kuvyrkov  <maxim@codesourcery.com>
 
        PR target/35018
index 562c053337934e0360668f959b459145a0bbe3a9..6f98cd0290e9c218ed69bc5ce3ffb78b9cf78395 100644 (file)
@@ -2845,6 +2845,32 @@ while (0)
 #define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM)                  \
   sprintf ((LABEL), "*%s%s%ld", (LOCAL_LABEL_PREFIX), (PREFIX), (long)(NUM))
 
+/* Print debug labels as "foo = ." rather than "foo:" because they should
+   represent a byte pointer rather than an ISA-encoded address.  This is
+   particularly important for code like:
+
+       $LFBxxx = .
+               .cfi_startproc
+               ...
+               .section .gcc_except_table,...
+               ...
+               .uleb128 foo-$LFBxxx
+
+   The .uleb128 requies $LFBxxx to match the FDE start address, which is
+   likewise a byte pointer rather than an ISA-encoded address.
+
+   At the time of writing, this hook is not used for the function end
+   label:
+
+       $LFExxx:
+               .end foo
+
+   But this doesn't matter, because GAS doesn't treat a pre-.end label
+   as a MIPS16 one anyway.  */
+
+#define ASM_OUTPUT_DEBUG_LABEL(FILE, PREFIX, NUM)                      \
+  fprintf (FILE, "%s%s%d = .\n", LOCAL_LABEL_PREFIX, PREFIX, NUM)
+
 /* This is how to output an element of a case-vector that is absolute.  */
 
 #define ASM_OUTPUT_ADDR_VEC_ELT(STREAM, VALUE)                         \