summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@acm.org>2007-04-02 20:05:47 +0000
committerBob Wilson <bob.wilson@acm.org>2007-04-02 20:05:47 +0000
commita3582eee7b5c4f5da570a558661d1b4b159ffa5a (patch)
tree196f87275d2ee0b2a56072db3418a458577f5eb6
parent7b60f4730cf663acefd4145fe90ae6018ce1f2ba (diff)
downloadbinutils-gdb-a3582eee7b5c4f5da570a558661d1b4b159ffa5a.tar.gz
* config/tc-xtensa.c (xtensa_flush_pending_output): Check
outputting_stabs_line_debug.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-xtensa.c9
2 files changed, 14 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index c3949f6ce0e..28c73bd57c2 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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,
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index e8877ed7143..ca0db1da501 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"));