OSDN Git Service

* config/tc-xtensa.c (xtensa_flush_pending_output): Check
authorbwilson <bwilson>
Mon, 2 Apr 2007 20:05:47 +0000 (20:05 +0000)
committerbwilson <bwilson>
Mon, 2 Apr 2007 20:05:47 +0000 (20:05 +0000)
outputting_stabs_line_debug.

gas/ChangeLog
gas/config/tc-xtensa.c

index c3949f6..28c73bd 100644 (file)
@@ -1,3 +1,8 @@
+2007-04-02  Sterling Augustine  <sterling@tensilica.com>
+
+       * config/tc-xtensa.c (xtensa_flush_pending_output): Check
+       outputting_stabs_line_debug.
+
 2007-03-26  Anatoly Sokolov <aesok@post.ru>
 
        * config/tc-avr.c (mcu_types): Add support for at90pwm1, at90usb82,
index e8877ed..ca0db1d 100644 (file)
@@ -5093,6 +5093,15 @@ xtensa_unrecognized_line (int ch)
 void
 xtensa_flush_pending_output (void)
 {
+  /* This line fixes a bug where automatically generated gstabs info
+     separates a function label from its entry instruction, ending up
+     with the literal position between the function label and the entry
+     instruction and crashing code.  It only happens with --gstabs and
+     --text-section-literals, and when several other obscure relaxation
+     conditions are met.  */
+  if (outputting_stabs_line_debug)
+    return;
+
   if (cur_vinsn.inside_bundle)
     as_bad (_("missing closing brace"));