From: Alan Modra Date: Thu, 22 Sep 2022 23:34:52 +0000 (+0930) Subject: Don't attempt to compress bss sections X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4bea06d73c04cd4c78765fa8a9a5fe8346c5ed90;p=binutils-gdb.git Don't attempt to compress bss sections It doesn't make sense to try to compress a section without contents since those sections take no space on disk. Compression can only increase the disk image size. * coffgen.c (make_a_section_from_file): Exclude !SEC_HAS_CONTENTS sections from compression and decompression. * elf.c (_bfd_elf_make_section_from_shdr): Likewise. --- diff --git a/bfd/coffgen.c b/bfd/coffgen.c index 90fba3b8554..8eb69af2ce2 100644 --- a/bfd/coffgen.c +++ b/bfd/coffgen.c @@ -146,7 +146,8 @@ make_a_section_from_file (bfd *abfd, /* Compress/decompress DWARF debug sections with names: .debug_* and .zdebug_*, after the section flags is set. */ - if ((flags & SEC_DEBUGGING) + if ((flags & SEC_DEBUGGING) != 0 + && (flags & SEC_HAS_CONTENTS) != 0 && strlen (name) > 7 && ((name[1] == 'd' && name[6] == '_') || (strlen (name) > 8 && name[1] == 'z' && name[7] == '_'))) diff --git a/bfd/elf.c b/bfd/elf.c index bc433cf516c..16cea4f8aeb 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -1201,7 +1201,8 @@ _bfd_elf_make_section_from_shdr (bfd *abfd, /* Compress/decompress DWARF debug sections with names: .debug_* and .zdebug_*, after the section flags is set. */ - if ((newsect->flags & SEC_DEBUGGING) + if ((newsect->flags & SEC_DEBUGGING) != 0 + && (newsect->flags & SEC_HAS_CONTENTS) != 0 && ((name[1] == 'd' && name[6] == '_') || (name[1] == 'z' && name[7] == '_'))) {