Files
binutils-gdb/binutils/testsuite/binutils-all
Fangrui Song 2cac01e3ff 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
...
```
2022-09-26 19:50:13 -07:00
..
2018-09-15 16:56:55 +09:30
2018-09-15 16:56:55 +09:30
2018-09-15 16:56:55 +09:30
2016-02-26 05:01:34 -08:00
2016-02-26 05:01:34 -08:00
2016-02-26 05:01:34 -08:00
2016-02-26 05:01:34 -08:00
2016-02-26 05:01:34 -08:00
2016-02-26 05:01:34 -08:00
2016-02-26 05:01:34 -08:00
2016-02-26 05:01:34 -08:00
2016-02-26 05:01:34 -08:00
2016-02-26 05:01:34 -08:00
2016-02-26 05:01:34 -08:00
2016-02-26 05:01:34 -08:00
2016-02-26 05:01:34 -08:00
2016-02-26 05:01:34 -08:00
2019-01-08 14:58:03 +00:00
2020-06-30 08:56:14 -07:00
2016-03-07 17:29:25 +00:00
2020-11-20 14:06:14 +00:00
2015-04-04 07:34:25 -07:00
2015-04-04 07:34:25 -07:00
2017-09-22 17:05:51 -03:00
2017-09-22 17:05:51 -03:00
2020-08-14 21:29:57 +09:30
2022-05-18 13:15:22 +01:00
2022-05-18 13:15:22 +01:00
2018-09-15 16:56:55 +09:30
2018-09-15 16:56:55 +09:30
2018-09-13 09:09:15 -07:00
2021-02-17 16:57:59 +10:30
2021-02-17 16:57:59 +10:30
2021-02-17 16:57:59 +10:30
2017-11-07 17:01:16 +10:30
2017-11-07 17:01:16 +10:30
2020-08-28 17:23:24 +08:00
2015-08-11 23:29:36 +09:30
2015-08-11 23:29:36 +09:30
2018-09-15 16:56:55 +09:30
2018-09-15 16:56:55 +09:30
2018-09-15 16:56:55 +09:30
2018-09-15 16:56:55 +09:30
2019-05-14 16:16:56 +01:00