From 4bea06d73c04cd4c78765fa8a9a5fe8346c5ed90 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 23 Sep 2022 09:04:52 +0930 Subject: [PATCH] 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. --- bfd/coffgen.c | 3 ++- bfd/elf.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) 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] == '_'))) { -- 2.30.2