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] |
> 2012-04-21 ?David S. Miller ?<davem@davemloft.net> > > ? ? ? ?* incremental.cc (Incremental_inputs::create_data_sections): Align > ? ? ? ?incremental reloc section to 8 bytes. > ? ? ? ?(Output_section_incremental_inputs::set_final_data_size): Pad out > ? ? ? ?offsets to ensure necessary 8-byte alignment. > ? ? ? ?(Output_section_incremental_inputs::write_info_block): Likewise. > ? ? ? ?* incremental.h (Incremental_inputs_reader::get_symbol_offset): > ? ? ? ?Adjust offset calculation. > ? ? ? ?(Incremental_inputs_reader::get_input_section): Likewise. > ? ? ? ?(Incremental_inputs_reader::get_global_symbol_reader): Likewise. > ? ? ? ?(Incremental_inputs_reader::get_comdat_group_signature): Likewise. That patch should do fine for your purposes, but I wanted to take the opportunity to replace some of those magic numbers with symbolic constants, something I've been putting off for too long. The attached patch does that, sets the relocation section alignment based on the target size, and bumps the incremental info version number (because this is, in fact, an incompatible change -- somehow, on Friday I wasn't seeing the fact that this changes the layout of the info block for object files). Tested on x86_64. David, can you test it on Sparc? Ian, OK to commit if it works for David? -cary 2012-04-23 David S. Miller ?<davem@davemloft.net> Cary Coutant <ccoutant@google.com> * incremental-dump.cc (find_input_containing_global): Replace magic number with symbolic constant. (dump_incremental_inputs): Update version number. * incremental.cc (Output_section_incremental_inputs): Update version number; import symbolic constants from Incremental_inputs_reader. (Incremental_inputs::create_data_sections): Align relocations section correctly for 64-bit targets. (Output_section_incremental_inputs::set_final_data_size): Use symbolic constants; add padding. (Output_section_incremental_inputs::write_header): Add assert for header_size. (Output_section_incremental_inputs::write_input_files): Add assert for input_entry_size. (Output_section_incremental_inputs::write_info_blocks): Add padding; add assert for object_info_size, input_section_entry_size, global_sym_entry_size. * incremental.h (Incremental_inputs_reader): Add symbolic constants for data structure sizes; use them. (Incremental_input_entry_reader): Import symbolic constants from Incremental_inputs_reader; use them.
Attachment:
padding-patch.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |