https://sourceware.org/bugzilla/show_bug.cgi?id=14675
--- Comment #9 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> --- This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, users/hjl/pr14675 has been created at 081ff0b8a64fa33a2fbd8b900f31228138400438 (commit) - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=081ff0b8a64fa33a2fbd8b900f31228138400438 commit 081ff0b8a64fa33a2fbd8b900f31228138400438 Author: H.J. Lu <hjl.to...@gmail.com> Date: Sat Dec 20 05:45:51 2014 -0800 Treat .eh_frame section before crtbeginT as normal input Force the exception frame section from input files before the crtbeginT file to be handled as an ordinary input section if we aren't creating the exception frame header. If we don't do this, we won't correctly handle the special marker symbol in the exception frame section in the crtbeginT file. PR gold/14675 * ehframe.cc (Eh_frame::add_ehframe_input_section): Force the exception frame section from input files if it can't be optimized. (Eh_frame::add_ehframe_input_section<32, false>): Updated. (Eh_frame::add_ehframe_input_section<32, true>): Likewise. (Eh_frame::add_ehframe_input_section<64, false>): Likewise. (Eh_frame::add_ehframe_input_section<64, true>): Likewise. * ehframe.h (Eh_frame::add_ehframe_input_section): Add a bool parameter to indicate if the exception frame section can be optimized. * layout.cc (Layout::Layout): Initialize optimize_ehframe_ to !has_crtbeginT. (Layout::layout_eh_frame): Pass this->optimize_ehframe_ to Eh_frame::add_ehframe_input_section. (Layout::make_eh_frame_section): Set this->optimize_ehframe_ to true when processing the crtbeginT file if it is on command line. (Layout::match_file_name (const char*, const char*)): New. (Layout::match_file_name(const Relobj*, const char*): Use it. * layout.h (Layout::Layout): Add has_crtbeginT. (Layout::match_file_name (const char*, const char*)): New. (Layout): Add an optimize_ehframe_ member. * main.cc (main): Pass command_line.has_crtbeginT() to layout. * options.cc: Include "layout.h". (Input_arguments::add_file): Set this->has_crtbeginT_ to true if there is a crtbeginT file and the last one is a crti file. * options.h (Input_arguments::Input_arguments): Initialize has_crtbeginT_ and last_is_crti_ to false. (Input_arguments::has_crtbeginT): New function. (Input_arguments::has_crtbeginT_): New bool member. (Input_arguments::last_is_crti_): Likewise. (Command_line::has_crtbeginT): New function. ----------------------------------------------------------------------- -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils