* config/tc-xtensa.c (xtensa_flush_pending_output): Check
[deliverable/binutils-gdb.git] / gas / config / tc-xtensa.c
index e8877ed7143d9aa4abe937fe00315d361397d5f4..ca0db1da501191ba81f7852511e3072dc0f2fc69 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"));
 
This page took 0.028484 seconds and 4 git commands to generate.