Compression tidy and fixes
authorAlan Modra <amodra@gmail.com>
Tue, 6 Dec 2022 22:58:18 +0000 (09:28 +1030)
committerAlan Modra <amodra@gmail.com>
Wed, 7 Dec 2022 02:45:29 +0000 (13:15 +1030)
commitc3620d6d5639ab7a0b483030350e8f2929212ea7
tree802bc807b5e2feb2f5f55ab54c8479cdd7c14529
parent9db0f1ae844614673957e48257aba137e3c41133
Compression tidy and fixes

Tidies:
- Move stuff from bfd-in.h and libbfd.c to compress.c
- Delete COMPRESS_DEBUG from enum compressed_debug_section_type
- Move compress_debug field out of link_info to ld_config.
Fixes:
- Correct test in bfd_convert_section_setup to use obfd flags,
  not ibfd.
- Apply bfd_applicable_file_flags to compression bfd flags added
  by gas and ld to the output bfd.

bfd/
* bfd-in.h (enum compressed_debug_section_type),
(struct compressed_type_tuple),
(bfd_get_compression_algorithm),
(bfd_get_compression_algorithm_name),
* libbfd.c (compressed_debug_section_names),
(bfd_get_compression_algorithm),
(bfd_get_compression_algorithm_name): Move..
* compress.c: ..to here, deleting COMPRESS_DEBUG from
enum compressed_debug_section_type.
(bfd_convert_section_setup): Test obfd flags not ibfd for
compression flags.
* elf.c (elf_fake_sections): Replace link_info->compress_debug
test with abfd->flags test.
* bfd-in2.h: Regenerate.
binutils/
* objcopy.c (copy_file): Tidy setting of bfd compress flags.
Expand comment.
gas/
* write.c (compress_debug): Test bfd compress flags rather than
flag_compress_debug.
(write_object_file): Apply bfd_applicable_file_flags to compress
debug flags added to output bfd.
include/
* bfdlink.h (struct bfd_link_info): Delete compress_debug.
ld/
* ld.h (ld_config_type): Add compress_debug.
* emultempl/elf.em: Replace references to link_info.compress_debug
with config.compress_debug.
* lexsup.c (elf_static_list_options): Likewise.
* ldmain.c (main): Likewise.  Apply bfd_applicable_file_flags
to compress debug flags added to output bfd.
12 files changed:
bfd/bfd-in.h
bfd/bfd-in2.h
bfd/compress.c
bfd/elf.c
bfd/libbfd.c
binutils/objcopy.c
gas/write.c
include/bfdlink.h
ld/emultempl/elf.em
ld/ld.h
ld/ldmain.c
ld/lexsup.c