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 is and updated patch. I removed all code related to obsolete
processor-specific flags. I checked the ARM ELF specs and it said
only EF_ARM_BE8 and the EABI version flag are supported. Bit used by
previously defined flags are now reserved.
-Doug
elfcpp/ChangeLog:
* arm.h (EF_ARM_BE8, EF_ARM_EABI_UNKNOWN, EF_ARM_EABI_VER1,
EF_ARM_EABI_VER2, EF_ARM_EABI_VER3, EF_ARM_EABI_VER4,
EF_ARM_EABI_VER5): New enums for processor-specific flags in ELF
file header.
(arm_eabi_version): New inline function.
gold/ChangeLog:
* arm.cc (Target_arm::do_adjust_elf_header): New method declaration.
(Target_arm::are_eabi_versions_compatible): Same.
(Target_arm::do_make_elf_object): New overloaded method declaration
and definitions.
(Target_arm::are_eabi_versions_compatible,
Target_arm::merge_processor_specific_flags,
Target_arm::do_adjust_elf_header, Target_arm::do_make_elf_object):
New method definitions.
* output.cc (Output_file_header::do_sized_write): Set e_flags using
values from target.
* target.h (Target::processor_specific_flags,
Target::are_processor_specific_flags_set): New method definitions.
(Target::Target): Initialize processor_specific_flags_ and
are_processor_specific_flags_set_.
(set_processor_specific_flags): New method definition.
(processor_specific_flags_, are_processor_specific_flags_set_):
New data member declarations.
2009/10/27 Doug Kwan (關振德) <dougkwan@google.com>:
> Yes, that's what I told you about having partially working code in the
> another thread.
>
> -Doug
>
> 2009/10/27 Viktor Kutuzov <vkutuzov@accesssoftek.com>:
>> Good work, Doug!
>> Are you going to parse input objects ".ARM.attributes" section as well?
>>
>> -Viktor
>>
>> ----- Original Message ----- From: "Doug Kwan (關振德)" <dougkwan@google.com>
>> To: "Joseph S. Myers" <joseph@codesourcery.com>
>> Cc: "Ian Lance Taylor" <iant@google.com>; "binutils"
>> <binutils@sourceware.org>; "Viktor Kutuzov" <vkutuzov@accesssoftek.com>
>> Sent: Tuesday, October 27, 2009 9:12 AM
>> Subject: Re: [GOLD][PATCH] Set ARM ABI information in ELF file header.
>>
>>
>>> Wow. This makes gold bug-compatible with ld :). I can remove that.
>>> Thanks for catching it.
>>>
>>> -Doug
>>>
>>> 2009/10/27 Joseph S. Myers <joseph@codesourcery.com>:
>>>>
>>>> On Mon, 26 Oct 2009, Doug Kwan (關振德) wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> This patch adds code to set proper flags in the processor-specific
>>>>> flags in the ELF file header. Previously we always set e_flags to 0
>>>>> on all target. This patch add methods processor_specific_flags and
>>>>> set_processor_specific_flags in Target so that Output_file_header can
>>>>> get the flags. For targets that merge processor-specific flags from
>>>>> input objects, we also track whether the flags have been set at least
>>>>> once. Currently only the ARM target sets the flags correctly.
>>>>
>>>> It looks like this patch is replicating the GNU ld bug whereby
>>>> EF_ARM_HASENTRY is set on EABI objects. There is no such flag in AAELF
>>>> and so it is a bug to set it on such objects.
>>>>
>>>> --
>>>> Joseph S. Myers
>>>> joseph@codesourcery.com
>>>
>>
>>
>
Attachment:
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] |