aboutsummaryrefslogtreecommitdiff
path: root/binutils/readelf.c
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2010-07-03 20:52:24 +0000
committerCary Coutant <ccoutant@google.com>2010-07-03 20:52:24 +0000
commit0acf065b19253e02ea32188ea0cbdf4e80e3c42d (patch)
tree0d2d49261e7a67a1fe51bff909c8506dd46dfa04 /binutils/readelf.c
parent3a5530eaabb2592d7807687d51a8a9c8c6b4b3cd (diff)
downloadgdb-0acf065b19253e02ea32188ea0cbdf4e80e3c42d.zip
gdb-0acf065b19253e02ea32188ea0cbdf4e80e3c42d.tar.gz
gdb-0acf065b19253e02ea32188ea0cbdf4e80e3c42d.tar.bz2
bfd/ChangeLog:
* compress.c (bfd_uncompress_section_contents): Add ATTRIBUTE_UNUSED. * dwarf2.c (read_and_uncompress_section): New function. (read_section): Call it. (find_line): Likewise. binutils/ChangeLog: * objdump.c (load_specific_debug_section): Decompress section contents before applying relocations. * readelf.c (load_specific_debug_section): Update section size after decompression. gas/ChangeLog: * Makefile.am: Add compress-debug.c and compress-debug.h. * Makefile.in: Regenerate. * config.in: Add HAVE_ZLIB_H. * configure.in: Check for zlib.h. * configure: Regenerate. * as.c (parse_args): Add --compress-debug-sections and --nocompress-debug-sections. * as.h (flag_compress_debug): New variable. * compress-debug.c: New file. * compress-debug.h: New file. * write.c: Include compress-debug.h. (compress_frag): New function. (compress_debug): New function. (write_object_file): Compress debug sections if requested.
Diffstat (limited to 'binutils/readelf.c')
-rw-r--r--binutils/readelf.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/binutils/readelf.c b/binutils/readelf.c
index d4f47ca..1c3cb8b 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -9962,8 +9962,11 @@ load_specific_debug_section (enum dwarf_section_display_enum debug,
return 0;
if (section_is_compressed)
- if (! uncompress_section_contents (&section->start, &section->size))
- return 0;
+ {
+ if (! uncompress_section_contents (&section->start, &section->size))
+ return 0;
+ sec->sh_size = section->size;
+ }
if (debug_displays [debug].relocate)
apply_relocations ((FILE *) file, sec, section->start);