diff options
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/objdump.c | 4 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/objdump.exp | 9 |
2 files changed, 9 insertions, 4 deletions
diff --git a/binutils/objdump.c b/binutils/objdump.c index 7182abd..3242546 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -4446,6 +4446,10 @@ open_debug_file (const char * pathname) if (data == NULL) return NULL; + /* Decompress sections unless dumping the section contents. */ + if (!dump_section_contents || decompressed_dumps) + data->flags |= BFD_DECOMPRESS; + if (! bfd_check_format (data, bfd_object)) return NULL; diff --git a/binutils/testsuite/binutils-all/objdump.exp b/binutils/testsuite/binutils-all/objdump.exp index 493e31b..7e29ebf 100644 --- a/binutils/testsuite/binutils-all/objdump.exp +++ b/binutils/testsuite/binutils-all/objdump.exp @@ -598,7 +598,7 @@ if { ![is_elf_format] } then { file_on_host delete $output } -proc test_build_id_debuglink {} { +proc test_build_id_debuglink {option} { global srcdir global subdir global env @@ -608,13 +608,13 @@ proc test_build_id_debuglink {} { global CFLAGS_FOR_TARGET global exe - set test "build-id-debuglink" + set test "build-id-debuglink ($option)" # Use a fixed build-id. if { [info exists CFLAGS_FOR_TARGET] } { set save_CFLAGS_FOR_TARGET $CFLAGS_FOR_TARGET } - set CFLAGS_FOR_TARGET "-g -Wl,--build-id=0x12345678abcdef01" + set CFLAGS_FOR_TARGET "-g -Wl,--build-id=0x12345678abcdef01,--compress-debug-sections=$option" if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog${exe} executable debug] != "" } { unsupported "$test (build)" @@ -676,7 +676,8 @@ proc test_build_id_debuglink {} { } if {[is_elf_format]} then { - test_build_id_debuglink + test_build_id_debuglink none + test_build_id_debuglink zlib } # Test objdump -Wk on a file containing debug links. |