This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH][GOLD] Fix some issues in building ARM Linux kernel with gold.
- From: =?big5?b?RG91ZyBLd2FuICjD9q62vHcp?= <dougkwan at google dot com>
- To: Ian Lance Taylor <iant at google dot com>
- Cc: Matt Rice <ratmice at gmail dot com>, binutils <binutils at sourceware dot org>
- Date: Wed, 7 Apr 2010 14:44:56 -0700
- Subject: Re: [PATCH][GOLD] Fix some issues in building ARM Linux kernel with gold.
- References: <498552561003300158r78e4241fy6bad8cc37911e6dc@mail.gmail.com> <8ba6bed41003301615vad6a1caqb06f4071224e07c4@mail.gmail.com> <498552561003301718k60e30ed4r78286b735ff008bf@mail.gmail.com> <498552561003301800y3fd012eckb7a358fb1d9cf19a@mail.gmail.com> <mcrljczdlk4.fsf@dhcp-172-17-9-151.mtv.corp.google.com>
Patch committed. I also took the liberty of replacing other uses of
"endianity" with "endianness" not included in the previous patch for
consistency.
Thanks
-Doug
2010/4/7 Ian Lance Taylor <iant@google.com>:
> "Doug Kwan (Ãö®¶¼w)" <dougkwan@google.com> writes:
>
>> 2010-03-30 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, --no-pipeline-knowledge, -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.
>
>
>
> Please change "endianity" to "endianness" throughout the patch.
> Sorry.
>
>> + if (this->target().is_big_endian() != big_endian)
>> + gold_error(_("incompatible endianity specified in command line"));
>
> Make this error message more like "input file does not match -EB/-EL
> option". It would be nice if we could give the name of the file, but
> I guess that is not convenient.
>
>
> This is OK with those changes.
>
> Thanks.
>
> Ian
>