diff options
author | Kai Tietz <kai.tietz@onevision.com> | 2009-01-16 15:09:20 +0000 |
---|---|---|
committer | Kai Tietz <kai.tietz@onevision.com> | 2009-01-16 15:09:20 +0000 |
commit | f6d29e26d6bf24dfcc42558390082aeb7ac034e5 (patch) | |
tree | 92d1e52fa3c89f575a2a688cc039f057389d99eb | |
parent | 258795f524fca9d5b98441b81684c331c4d721b1 (diff) | |
download | fsf-binutils-gdb-f6d29e26d6bf24dfcc42558390082aeb7ac034e5.zip fsf-binutils-gdb-f6d29e26d6bf24dfcc42558390082aeb7ac034e5.tar.gz fsf-binutils-gdb-f6d29e26d6bf24dfcc42558390082aeb7ac034e5.tar.bz2 |
2009-01-16 Kai Tietz <kai.tietz@onevision.com>
* coffcode.h (styp_to_sec_flags): Correct interpretation of
IMAGE_SCN_MEM_DISCARDABLE.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/coffcode.h | 17 |
2 files changed, 18 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 8622dff..3cac4b4 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2009-01-16 Kai Tietz <kai.tietz@onevision.com> + + * coffcode.h (styp_to_sec_flags): Correct interpretation of + IMAGE_SCN_MEM_DISCARDABLE. + 2009-01-16 Alan Modra <amodra@bigpond.net.au> * Makefile.am (libbfd_la_LIBADD, libbfd_la_LDFLAGS): Substitute diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 12d2ad5..db0b2e9 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -1069,10 +1069,19 @@ styp_to_sec_flags (bfd *abfd, sec_flags &= ~ SEC_READONLY; break; case IMAGE_SCN_MEM_DISCARDABLE: - /* The MS PE spec sets the DISCARDABLE flag on .reloc sections - but we do not want them to be labelled as debug section, since - then strip would remove them. */ - if (! CONST_STRNEQ (name, ".reloc")) + /* The MS PE spec says that debug sections are DISCARDABLE, + but the presence of a DISCARDABLE flag does not necessarily + mean that a given section contains debug information. Thus + we only set the SEC_DEBUGGING flag on sections that we + recognise as containing debug information. */ + if (CONST_STRNEQ (name, DOT_DEBUG) +#ifdef _COMMENT + || strcmp (name, _COMMENT) == 0 +#endif +#ifdef COFF_LONG_SECTION_NAMES + || CONST_STRNEQ (name, GNU_LINKONCE_WI) +#endif + || CONST_STRNEQ (name, ".stab")) sec_flags |= SEC_DEBUGGING; break; case IMAGE_SCN_MEM_SHARED: |