diff options
author | Alan Modra <amodra@gmail.com> | 2022-11-17 07:58:31 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2022-12-04 12:54:16 +1030 |
commit | 2fa250529bb42e00433528c763d2bef245787ed1 (patch) | |
tree | 82d642d3ab0aafa0214003b70bfe5a7f26586f3d /bfd/coffgen.c | |
parent | 13917d936e367b0c42d4c32566e1017ff8e15520 (diff) | |
download | gdb-2fa250529bb42e00433528c763d2bef245787ed1.zip gdb-2fa250529bb42e00433528c763d2bef245787ed1.tar.gz gdb-2fa250529bb42e00433528c763d2bef245787ed1.tar.bz2 |
COFF compressed debug support
Since commit 4bea06d73c04 COFF support for compressed debug sections
has been broken due to the "flags" variable not getting SEC_HAS_CONTENTS.
* coffgen.c (make_a_section_from_file): Correct section flags
handling. Delete extraneous condition. Update error messages
to be the same as in elf.c.
Diffstat (limited to 'bfd/coffgen.c')
-rw-r--r-- | bfd/coffgen.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/bfd/coffgen.c b/bfd/coffgen.c index f2c71b1..e072e16 100644 --- a/bfd/coffgen.c +++ b/bfd/coffgen.c @@ -131,18 +131,18 @@ make_a_section_from_file (bfd *abfd, & flags)) result = false; - return_section->flags = flags; - /* At least on i386-coff, the line number count for a shared library section must be ignored. */ - if ((return_section->flags & SEC_COFF_SHARED_LIBRARY) != 0) + if ((flags & SEC_COFF_SHARED_LIBRARY) != 0) return_section->lineno_count = 0; if (hdr->s_nreloc != 0) - return_section->flags |= SEC_RELOC; + flags |= SEC_RELOC; /* FIXME: should this check 'hdr->s_size > 0'. */ if (hdr->s_scnptr != 0) - return_section->flags |= SEC_HAS_CONTENTS; + flags |= SEC_HAS_CONTENTS; + + return_section->flags = flags; /* Compress/decompress DWARF debug sections with names: .debug_* and .zdebug_*, after the section flags is set. */ @@ -161,7 +161,7 @@ make_a_section_from_file (bfd *abfd, if ((abfd->flags & BFD_DECOMPRESS)) action = decompress; } - else if (!bfd_is_section_compressed (abfd, return_section)) + else { /* Normal section. Check if we should compress. */ if ((abfd->flags & BFD_COMPRESS) && return_section->size != 0) @@ -177,7 +177,7 @@ make_a_section_from_file (bfd *abfd, { _bfd_error_handler /* xgettext: c-format */ - (_("%pB: unable to initialize compress status for section %s"), + (_("%pB: unable to compress section %s"), abfd, name); return false; } @@ -194,7 +194,7 @@ make_a_section_from_file (bfd *abfd, { _bfd_error_handler /* xgettext: c-format */ - (_("%pB: unable to initialize decompress status for section %s"), + (_("%pB: unable to decompress section %s"), abfd, name); return false; } |