From 54c074261d5ee14540dccf5bd4832e8227aacc50 Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Mon, 2 Apr 2007 20:05:47 +0000 Subject: [PATCH] * config/tc-xtensa.c (xtensa_flush_pending_output): Check outputting_stabs_line_debug. --- gas/ChangeLog | 5 +++++ gas/config/tc-xtensa.c | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/gas/ChangeLog b/gas/ChangeLog index c3949f6ce0..28c73bd57c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2007-04-02 Sterling Augustine + + * config/tc-xtensa.c (xtensa_flush_pending_output): Check + outputting_stabs_line_debug. + 2007-03-26 Anatoly Sokolov * config/tc-avr.c (mcu_types): Add support for at90pwm1, at90usb82, diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c index e8877ed714..ca0db1da50 100644 --- a/gas/config/tc-xtensa.c +++ b/gas/config/tc-xtensa.c @@ -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")); -- 2.11.0