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
..
2022-01-02 12:04:28 +10:30
2022-08-09 14:57:48 +01:00
2022-08-09 14:57:48 +01:00
2022-01-02 12:04:28 +10:30
2022-01-02 12:04:28 +10:30
2022-08-13 14:11:27 +09:30
2022-08-10 09:26:25 +08:00
2022-01-02 12:04:28 +10:30
2022-03-06 18:30:58 +00:00
2022-01-02 12:04:28 +10:30
2022-01-02 12:04:28 +10:30
2022-01-02 12:04:28 +10:30
2022-01-02 12:04:28 +10:30
2022-01-02 12:04:28 +10:30
2022-08-13 14:11:27 +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
2022-01-11 08:59:40 -08:00
2018-11-07 18:07:36 +00: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
2016-02-26 05:01:34 -08:00
2022-09-26 19:50:13 -07:00
2020-07-07 18:26:33 +09:30
2020-07-07 18:26:33 +09:30
2020-07-07 18:26:33 +09:30
2018-10-11 11:38:10 +01:00
2019-01-08 14:58:03 +00:00
2022-01-02 12:04:28 +10:30
2016-07-14 11:32:48 +01:00
2014-04-30 17:04:04 +01:00
2014-04-30 17:04:04 +01:00
2022-06-30 14:53:02 +01:00
2022-01-02 12:04:28 +10:30
2019-01-17 15:29:43 +00:00
2022-01-02 12:04:28 +10:30
2022-01-02 12:04:28 +10:30
2022-08-13 14:11:27 +09:30
2022-01-02 12:04:28 +10:30
2018-11-27 11:59:10 +00:00
2018-11-27 11:59:10 +00:00
2022-01-02 12:04:28 +10:30
2022-08-13 14:11:27 +09:30
2022-08-13 14:11:27 +09:30
2022-01-02 12:04:28 +10:30
2014-04-22 15:57:47 +01:00
2022-01-02 12:04:28 +10:30
2022-08-13 14:11:27 +09:30
2020-03-19 16:55:13 +00:00
2022-05-26 09:12:09 +09:30
2022-08-13 14:11:27 +09:30
2022-01-02 12:04:28 +10:30
2022-08-13 14:11:27 +09:30
2022-01-02 12:04:28 +10:30
2022-08-13 14:11:27 +09:30
2022-01-02 12:04:28 +10:30
2020-06-30 08:56:14 -07:00
2018-04-25 21:13:14 +00:00
2018-04-25 21:13:14 +00:00
2015-05-11 09:57:21 -07:00
2021-11-17 05:15:48 -08:00
2022-01-02 12:04:28 +10:30
2016-03-07 17:29:25 +00:00
2018-09-20 13:32:58 +01:00
2018-02-13 22:55:49 +10:30
2018-09-15 16:24:18 +09:30
2018-09-15 16:24:18 +09:30
2018-09-15 16:24:18 +09:30
2020-11-20 14:06:14 +00:00
2019-11-04 11:55:28 +10:30
2019-11-04 11:55:28 +10:30
2015-04-04 07:34:25 -07:00
2022-08-13 14:11:27 +09:30
2015-04-04 07:34:25 -07:00
2022-01-02 12:04:28 +10:30
2015-07-24 16:44:27 +01: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
2017-04-04 09:06:04 -07:00
2016-11-11 11:49:45 +00:00
2022-05-18 13:15:22 +01:00
2022-05-18 13:15:22 +01:00
2018-09-15 16:56:55 +09:30
2019-10-25 16:46:07 +01:00
2019-10-25 16:46:07 +01:00
2019-10-25 16:46:07 +01:00
2019-10-25 16:46:07 +01:00
2019-10-25 16:46:07 +01:00
2019-10-25 16:46:07 +01:00
2019-10-25 16:46:07 +01:00
2019-10-25 16:46:07 +01:00
2017-08-17 14:51:31 +01:00
2019-10-25 16:46:07 +01:00
2019-10-25 16:46:07 +01:00
2019-10-25 16:46:07 +01:00
2019-10-25 16:46:07 +01:00
2018-04-26 15:12:42 +01:00
2018-04-26 15:12:42 +01:00
2019-10-25 16:46:07 +01:00
2019-10-25 16:46:07 +01:00
2019-10-25 16:46:07 +01:00
2019-10-25 16:46:07 +01:00
2022-07-22 10:43:29 +09:30
2022-09-26 17:20:11 +02:00
2022-08-13 14:11:27 +09:30
2022-05-20 16:55:36 +01:00
2022-08-13 14:11:27 +09:30
2021-03-04 10:41:22 +00:00
2022-01-12 05:51:25 +01:00
2016-07-14 11:32:48 +01:00
2015-05-15 11:24:33 +01:00
2015-09-29 13:31:57 -07:00
2015-09-29 13:31:57 -07:00
2015-09-29 13:31:57 -07:00
2016-02-02 03:30:48 -08:00
2018-09-15 16:56:55 +09:30
2018-09-13 09:09:15 -07:00
2018-09-13 09:09:15 -07:00
2020-03-02 10:02:02 +00:00
2020-03-02 10:02:02 +00:00
2020-06-04 23:41:57 -07:00
2020-03-27 10:54:26 +00:00
2021-02-12 18:55:36 +10:30
2020-06-23 06:52:41 -07:00
2022-08-13 14:11:27 +09:30
2020-06-23 09:20:28 -07:00
2022-08-13 14:11:27 +09:30
2021-02-17 16:57:59 +10:30
2021-02-17 16:57:59 +10:30
2021-02-17 16:57:59 +10:30
2020-11-20 10:33:28 +00:00
2020-11-20 10:33:28 +00:00
2020-11-20 10:33:28 +00:00
2020-11-18 11:51:13 +00:00
2020-08-12 13:31:59 +01:00
2022-09-14 10:27:38 +01:00
2022-08-13 14:11:27 +09:30
2022-08-13 14:11:27 +09:30
2022-05-20 16:55:36 +01:00
2020-11-13 16:02:39 +00:00
2017-09-22 17:05:51 -03:00
2017-09-22 17:05:51 -03:00
2016-10-17 15:29:43 +01:00
2015-05-15 11:24:33 +01:00
2017-11-07 17:01:16 +10:30
2017-11-07 17:01:16 +10:30
2021-07-13 14:07:57 +08:00
2021-08-30 17:36:11 +08:00
2021-08-30 17:36:11 +08:00
2021-08-30 17:36:11 +08:00
2021-08-30 17:36:11 +08:00
2021-08-30 17:36:11 +08:00
2019-05-20 11:08:23 -07:00
2021-04-21 10:34:32 +01:00
2021-08-30 17:36:11 +08:00
2022-08-13 14:11:27 +09:30
2022-08-13 14:11:27 +09:30
2015-05-15 17:16:31 +01:00
2018-09-17 23:31:18 +09:30
2016-07-15 17:02:20 +09:30
2016-07-14 11:34:10 +01:00
2016-07-14 11:34:10 +01:00
2018-09-17 23:31:18 +09:30
2018-09-17 23:31:18 +09:30
2018-09-17 23:31:18 +09:30
2018-09-17 23:31:18 +09:30
2018-09-17 23:31:18 +09:30
2018-09-17 23:31:18 +09:30
2016-07-14 11:32:48 +01:00
2020-11-18 11:51:13 +00:00
2021-02-02 05:15:05 -08:00
2020-11-18 11:51:13 +00:00
2020-07-07 18:26:33 +09:30
2022-01-02 12:04:28 +10:30
2018-11-09 12:48:23 +00:00
2022-01-02 12:04:28 +10:30
2018-09-20 13:32:58 +01:00
2020-08-28 17:23:24 +08:00
2018-09-20 13:32:58 +01:00
2018-09-20 13:32:58 +01:00
2018-09-20 13:32:58 +01:00
2018-09-15 16:24:18 +09:30
2015-08-11 23:29:36 +09:30
2015-08-11 23:29:36 +09:30
2018-09-15 16:24:18 +09:30
2018-09-17 23:16:48 +09:30
2018-09-17 23:16:48 +09:30
2018-09-17 23:16:48 +09:30
2018-09-15 16:24:18 +09:30
2018-09-17 23:16:48 +09:30
2018-09-17 23:16:48 +09:30
2018-09-17 23:16:48 +09:30
2018-04-10 09:41:25 +09:30
2018-09-17 23:16:48 +09:30
2018-09-17 23:16:48 +09:30
2018-09-17 23:16:48 +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
2015-08-07 11:41:40 +02:00
2016-04-14 12:04:09 +01:00
2022-08-13 14:11:27 +09:30
2022-08-13 14:11:27 +09:30
2015-02-28 21:25:51 +00:00
2015-02-28 21:25:51 +00:00
2015-02-28 21:25:51 +00:00
2015-02-28 21:25:51 +00:00
2022-01-02 12:04:28 +10:30
2019-05-14 10:42:25 +01:00
2019-05-14 10:42:25 +01:00
2019-05-14 10:42:25 +01:00
2019-05-14 10:42:25 +01:00
2019-05-14 16:16:56 +01:00
2022-03-16 09:40:13 -07:00
2015-05-15 17:16:31 +01:00
2020-04-29 16:01:40 +01:00
2020-04-29 16:01:40 +01:00