This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gold][PATCH] PR gold/18321: gold doesn't support SHF_COMPRESSED sections


> This patch adds SHF_COMPRESSED section decompression to gold.
>
>         PR gold/18321
>         * compressed_output.h (decompress_input_section): Add arguments
>         for ELF class, big endian and sh_flags.
>         * compressed_output.cc (decompress_input_section): Likewise.
>         Support the SHF_COMPRESSED section.
>         * dynobj.h (Dynobj): Add elfsize and is_big_endian member
>         functions.
>         * plugin.h (Pluginobj): Likewise.
>         * layout.cc (Layout::get_output_section_flags): Also clear the
>         SHF_COMPRESSED bit.
>         * object.h (Compressed_section_info): Add flag to store sh_flags.
>         (Object): Add pure virtual elfsize and is_big_endian member
>         functions.
>         * object.cc (need_decompressed_section): Don't skip the ".zdebug"
>         prefix here.
>         (build_compressed_section_map): Check SHF_COMPRESSED for
>         uncompressed size.  Store sh_flags in Compressed_section_info.
>         Pass size, big_endian and sh_flags to decompress_input_section.
>         Skip the ".debug"/".zdebug" prefix when passing section name to
>         need_decompressed_section.
>         (Sized_relobj_file<size, big_endian>::do_find_special_section):
>         Don't check ".zdebug_*" sections.
>         (Object::decompressed_section_contents): Pass ELF class, big
>         endian and sh_flags to decompress_input_section.
>         * reloc.cc (Sized_relobj_file<size, big_endian>::write_sections):
>         Likewise.
>         * testsuite/Makefile.am (check_DATA): Add
>         debug_msg_cdebug_gabi.err and gdb_index_test_2_gabi.stdout.
>         (MOSTLYCLEANFILES): Add debug_msg_cdebug_gabi.err and
>         gdb_index_test_2_gabi.stdout.
>         (debug_msg_cdebug_gabi.o): New.
>         (odr_violation1_cdebug_gabi.o): Likewise.
>         (odr_violation2_cdebug_gabi.o): Likewise.
>         (debug_msg_cdebug_gabi.err): Likewise.
>         (check_SCRIPTS): Add gdb_index_test_2_gabi.sh.
>         (gdb_index_test_cdebug_gabi.o): Likewise.
>         (gdb_index_test_2_gabi): Likewise.
>         (gdb_index_test_2_gabi.stdout): Likewise.
>         * testsuite/gdb_index_test_2_gabi.sh: New file.
>         * testsuite/Makefile.in: Regenerated.

This is OK. Thanks!

-cary


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]