summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-06-21 10:59:54 +0000
committerNick Clifton <nickc@redhat.com>2004-06-21 10:59:54 +0000
commitbea0c1ae264f0aaa6c45cc40dc042b73ce74cece (patch)
tree2a6af2dac41ec93e6ee5ca4cb4badacbfcb412a5
parentcc821a93da0945c6ba9e7ed044f9d3bb8f27ab3f (diff)
downloadbinutils-redhat-bea0c1ae264f0aaa6c45cc40dc042b73ce74cece.tar.gz
* gas/symbols.c: While discarding ordinary local absolute symbols
when --strip-local-absolute is in effect, retain file symbols.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/symbols.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index c343418cb2..523134a7cd 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2004-06-21 Jan Beulich <jbeulich@novell.com>
+
+ * gas/symbols.c: While discarding ordinary local absolute symbols
+ when --strip-local-absolute is in effect, retain file symbols.
+
2004-06-20 Andreas Schwab <schwab@suse.de>
* config/tc-m68k.c (mri_chip): Replace current_chip, not augment.
diff --git a/gas/symbols.c b/gas/symbols.c
index 136227ddef..8caaf4a441 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -1812,7 +1812,9 @@ S_IS_LOCAL (symbolS *s)
return 1;
if (flag_strip_local_absolute
- && (flags & BSF_GLOBAL) == 0
+ /* Keep BSF_FILE symbols in order to allow debuggers to identify
+ the source file even when the object file is stripped. */
+ && (flags & (BSF_GLOBAL | BSF_FILE)) == 0
&& bfd_get_section (s->bsym) == absolute_section)
return 1;