* gas/symbols.c: While discarding ordinary local absolute symbols
authorNick Clifton <nickc@redhat.com>
Mon, 21 Jun 2004 10:59:54 +0000 (10:59 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 21 Jun 2004 10:59:54 +0000 (10:59 +0000)
  when --strip-local-absolute is in effect, retain file symbols.

gas/ChangeLog
gas/symbols.c

index c343418..523134a 100644 (file)
@@ -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.
index 136227d..8caaf4a 100644 (file)
@@ -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;