aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2022-09-26 19:50:13 -0700
committerArsen Arsenović <arsen@gcc.gnu.org>2023-08-07 22:59:37 +0200
commit407a2c9abd3dc3ebde0443980bdacbdf83a98374 (patch)
treef593a1063ea276c7c89d2f5bb3149cf1f8a2f902 /gcc
parenta885ec2485bed6549ab9384a455433f3fd547603 (diff)
downloadgcc-407a2c9abd3dc3ebde0443980bdacbdf83a98374.zip
gcc-407a2c9abd3dc3ebde0443980bdacbdf83a98374.tar.gz
gcc-407a2c9abd3dc3ebde0443980bdacbdf83a98374.tar.bz2
binutils, gdb: support zstd compressed debug sections
PR29397 PR29563: Add new configure option --with-zstd which defaults to auto. If pkgconfig/libzstd.pc is found, define HAVE_ZSTD and support zstd compressed debug sections for most tools. * bfd: for addr2line, objdump --dwarf, gdb, etc * gas: support --compress-debug-sections=zstd * ld: support ELFCOMPRESS_ZSTD input and --compress-debug-sections=zstd * objcopy: support ELFCOMPRESS_ZSTD input for --decompress-debug-sections and --compress-debug-sections=zstd * gdb: support ELFCOMPRESS_ZSTD input. The bfd change references zstd symbols, so gdb has to link against -lzstd in this patch. If zstd is not supported, ELFCOMPRESS_ZSTD input triggers an error. We can avoid HAVE_ZSTD if binutils-gdb imports zstd/ like zlib/, but this is too heavyweight, so don't do it for now. ``` % ld/ld-new a.o ld/ld-new: a.o: section .debug_abbrev is compressed with zstd, but BFD is not built with zstd support ... % ld/ld-new a.o --compress-debug-sections=zstd ld/ld-new: --compress-debug-sections=zstd: ld is not built with zstd support % binutils/objcopy --compress-debug-sections=zstd a.o b.o binutils/objcopy: --compress-debug-sections=zstd: binutils is not built with zstd support % binutils/objcopy b.o --decompress-debug-sections binutils/objcopy: zstd.o: section .debug_abbrev is compressed with zstd, but BFD is not built with zstd support ... ``` config/ChangeLog: * zstd.m4: New file. ChangeLog: * configure: Regenerate. * configure.ac: Add --with-zstd.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions