diff options
author | Cary Coutant <ccoutant@google.com> | 2010-07-12 17:59:58 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2010-07-12 17:59:58 +0000 |
commit | a2e4736229d6ce6f804ed26ea8d763c538de9d2c (patch) | |
tree | 25de3c95f1bf545500aa9adf3278422f477ace18 /gold/compressed_output.h | |
parent | add265ae415ecd40208537d1f84155f868668ef5 (diff) | |
download | fsf-binutils-gdb-a2e4736229d6ce6f804ed26ea8d763c538de9d2c.zip fsf-binutils-gdb-a2e4736229d6ce6f804ed26ea8d763c538de9d2c.tar.gz fsf-binutils-gdb-a2e4736229d6ce6f804ed26ea8d763c538de9d2c.tar.bz2 |
* compressed_output.cc (zlib_decompress): New function.
(get_uncompressed_size): New function.
(decompress_input_section): New function.
* compressed_output.h (get_uncompressed_size): New function.
(decompress_input_section): New function.
* dwarf_reader.cc (Sized_dwarf_line_info::Sized_dwarf_line_info)
Handle compressed debug sections.
* layout.cc (is_compressed_debug_section): New function.
(Layout::output_section_name): Map compressed section names to
canonical names.
* layout.h (is_compressed_debug_section): New function.
(is_debug_info_section): Recognize compressed debug sections.
* merge.cc: Include compressed_output.h.
(Output_merge_data::do_add_input_section): Handle compressed
debug sections.
(Output_merge_string::do_add_input_section): Handle compressed
debug sections.
* object.cc: Include compressed_output.h.
(Sized_relobj::Sized_relobj): Initialize new data members.
(build_compressed_section_map): New function.
(Sized_relobj::do_read_symbols): Handle compressed debug sections.
* object.h (Object::section_is_compressed): New method.
(Object::do_section_is_compressed): New method.
(Sized_relobj::Compressed_section_map): New type.
(Sized_relobj::do_section_is_compressed): New method.
(Sized_relobj::compressed_sections_): New data member.
* output.cc (Output_section::add_input_section): Handle compressed
debug sections.
* reloc.cc: Include compressed_output.h.
(Sized_relobj::write_sections): Handle compressed debug sections.
Diffstat (limited to 'gold/compressed_output.h')
-rw-r--r-- | gold/compressed_output.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gold/compressed_output.h b/gold/compressed_output.h index 11b2762..2d6ebd9 100644 --- a/gold/compressed_output.h +++ b/gold/compressed_output.h @@ -1,6 +1,6 @@ // compressed_output.h -- compressed output sections for gold -*- C++ -*- -// Copyright 2007, 2008 Free Software Foundation, Inc. +// Copyright 2007, 2008, 2010 Free Software Foundation, Inc. // Written by Ian Lance Taylor <iant@google.com>. // This file is part of gold. @@ -37,6 +37,18 @@ namespace gold class General_options; +// Read the compression header of a compressed debug section and return +// the uncompressed size. + +extern uint64_t +get_uncompressed_size(const unsigned char*, section_size_type); + +// Decompress a compressed debug section directly into the output file. + +extern bool +decompress_input_section(const unsigned char*, unsigned long, unsigned char*, + unsigned long); + // This is used for a section whose data should be compressed. It is // a regular Output_section which computes its contents into a buffer // and then postprocesses it. |