aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2022-12-06 08:43:31 +1030
committerAlan Modra <amodra@gmail.com>2022-12-06 12:11:28 +1030
commit89dbeac7460eaa2c6b0149b8abfac880ecefbfe3 (patch)
tree8a05d32e7adcc0bb459d06de592ca208605618de /bfd/elf.c
parent8b4d46dfdf2023d3da295fc3748ce67f064e3df0 (diff)
downloadgdb-89dbeac7460eaa2c6b0149b8abfac880ecefbfe3.zip
gdb-89dbeac7460eaa2c6b0149b8abfac880ecefbfe3.tar.gz
gdb-89dbeac7460eaa2c6b0149b8abfac880ecefbfe3.tar.bz2
Compression header enum
Define an enum instead of using ELFCOMPRESS_ZLIB and ELFCOMPRESS_ZSTD in bfd and binutils, and move some functions from bfd.c to compress.c. When looking at the COFF/PE debug compression support, I wondered about extending it to support zstd. I likely won't do that, but the compression header ch_type field isn't just ELF specific if these headers are to be used in COFF/PE too. bfd/ * bfd.c (bfd_update_compression_header), (bfd_check_compression_header, bfd_get_compression_header_size), (bfd_convert_section_size, bfd_convert_section_contents): Move to.. * compress.c: ..here. (enum compression_type): New. Use it throughout file. * elf.c (_bfd_elf_make_section_from_shdr): Replace uses of ELFCOMPRESS_ZLIB and ELFCOMPRESS_ZSTD with ch_compress_zlib and ch_compress_zstd. * bfd-in2.h: Regenerate. binutils/ * readelf.c (process_section_headers, dump_section_as_strings), (dump_section_as_bytes, load_specific_debug_section): Replace uses of ELFCOMPRESS_ZLIB and ELFCOMPRESS_ZSTD with ch_compress_zlib and ch_compress_zstd.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r--bfd/elf.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/bfd/elf.c b/bfd/elf.c
index 9e490c9..a013f88 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -1184,7 +1184,7 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
int compression_header_size;
bfd_size_type uncompressed_size;
unsigned int uncompressed_align_power;
- unsigned int ch_type = 0;
+ enum compression_type ch_type = ch_none;
bool compressed
= bfd_is_section_compressed_info (abfd, newsect,
&compression_header_size,
@@ -1206,10 +1206,10 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
action = compress;
else
{
- unsigned int new_ch_type = 0;
+ enum compression_type new_ch_type = ch_none;
if ((abfd->flags & BFD_COMPRESS_GABI) != 0)
new_ch_type = ((abfd->flags & BFD_COMPRESS_ZSTD) != 0
- ? ELFCOMPRESS_ZSTD : ELFCOMPRESS_ZLIB);
+ ? ch_compress_zstd : ch_compress_zlib);
if (new_ch_type != ch_type)
action = compress;
}