forked from Imagelibrary/binutils-gdb
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 ... ```
This commit is contained in:
committed by
Fangrui Song
parent
e122316b7c
commit
2cac01e3ff
@@ -43,6 +43,7 @@ m4_include([../config/lib-link.m4])
|
||||
m4_include([../config/iconv.m4])
|
||||
|
||||
m4_include([../config/zlib.m4])
|
||||
m4_include([../config/zstd.m4])
|
||||
|
||||
m4_include([../gdbsupport/common.m4])
|
||||
|
||||
@@ -233,7 +234,7 @@ AC_DEFUN([GDB_AC_CHECK_BFD], [
|
||||
# always want our bfd.
|
||||
CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS"
|
||||
ZLIBDIR=`echo $zlibdir | sed 's,\$(top_builddir)/,,g'`
|
||||
LDFLAGS="-L../bfd -L../libiberty $ZLIBDIR $LDFLAGS"
|
||||
LDFLAGS="-L../bfd -L../libiberty $ZLIBDIR $ZSTD_LIBS $LDFLAGS"
|
||||
intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
|
||||
LIBS="-lbfd -liberty -lz $intl $LIBS"
|
||||
AC_CACHE_CHECK(
|
||||
|
||||
Reference in New Issue
Block a user