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] |
Hi Ian, This patch fixes some issues I encountered when I was attempting to build the ARM Linux kernel. It adds new options -EL, -EB, --no-warn-mismatch and -p. The -p option really does nothing and is provided for compatibility with ld. The --no-warn-mismatch options is used to suppress warnings in attributes and processor-specific flags. That could have done differently by changing the Error class and providing a derived class that drops all warnings but I think my patch is simpler. -Doug 2010-03-29 Doug Kwan <dougkwan@google.com> * arm.cc (Arm_relobj::Arm_relobj): Initialize merge_flags_and_attribures. (Arm_relobj::merge_flags_and_attributes): New method. (Arm_relobj::merge_flags_and_attributes_): New data member. (Arm_exidx_cantunwind::do_fixed_endian_write): Fix formatting. (Arm_relobj::scan_sections_for_stubs): Ditto. (Arm_relobj::do_read_symbols): Check to see if we really want to merge processor-specific flags and attributes. Exit early if an object is empty except for section names and the undefined symbol. (Target_arm::do_finalize_sections): Move check for ELF format to Arm_relobj::do_read_symbols. Merge processor specific flags and attributes from a regular object only when we have determined that it is aapropriate. Do not create an .ARM.attributes section in output if there is no regular input object. (Target_arm::merge_processor_specific_flags): Check --warn-mismatch before printing any error. (Target_arm::merge_object_attributes): Ditto. * gold.cc (queue_middle_tasks): Handle the case in which there is no regular object in input. * options.cc (General_options::parse_EB): New method. (General_options::parse_EL): Same. (General_options::General_options): Initialize endianity_. * options.h (-EB, -EL, -p, --warn-mismatch): New options. (General_options::Endianity): New enum. (General_options::endianity): New method. (General_options::endianity_): New data member. * parameters.cc (Parameters::set_options): Check target endianity. (Parameters::set_target_once): Ditto. (Parameters::check_target_endianity): New method. (parameters_force_valid_target): If either -EL or -EB is specified, use it to define endianity of default target. * parameters.h (Parameters::check_target_endianity): New method declaration.
Attachment:
patch-kernel.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |