This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: ARM hard-float ABI: add ldconfig flag value
On Thu, Aug 09, 2012 at 02:20:12PM +0100, Steve McIntyre wrote:
>On Thu, Aug 09, 2012 at 11:10:28AM +0000, Joseph S. Myers wrote:
>>
>>The approach of using ELF header flags and testing them in this way is
>>fine; as Roland notes some coding style fixes are needed in the patch
>>(e.g. spaces before the open parenthesis when calling a function-like
>>macro).
>
>OK, easily fixed. :-)
>
>>I just think there should be an actual statement of the ABI before
>>the patch goes in. (Such a statement would include the values, the
>>types of ELF files for which they may be used (I guess ET_EXEC and
>>EY_DYN but not ET_REL) and the semantics of each value.)
>
>ACK. I've forwarded that onto the ABI folks in ARM and they're working
>on it. Actually formally publishing a new version of the ABI spec will
>likely take a few weeks to go through the system, but hoping to get
>some agreed wording and a commitment to publish out long before then.
Hi Joseph,
Here's the text that we're planning to add for the next release of the
"ELF for the ARM Architecture" doc. I hope this covers what you're
asking for?
There's minor changes to the exact spelling of the new flags
(s/EABI/ABI/). I'll send an updated patch with that change and
whatever coding style issues you'd like fixed, just let me know
please.
I've also got a corresponding patch for binutils to generate the new
flags. I'll send that to the binutils list once we're done here.
Cheers,
Steve
----- Forwarded message from Lee Smith <Lee.Smith@arm.com> -----
Date: Tue, 14 Aug 2012 17:10:36 +0100
From: Lee Smith <Lee.Smith@arm.com>
To: Steve McIntyre <steve.mcintyre@arm.com>
CC: arm.eabi@arm.com
Subject: Resend: Proposal to further specify the e_flags field in IHI0044E_aaelf
Hi Steve,
Resending after detailed feedback from you.
I propose the following addition to ELF for the ARM Architecture,
IHI0044E_aaelf. Specifically, I propose that Table 4 2, ARM-specific
e_flags should be extended with three additional rows (the last three
here):
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Value â Meaning â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â EF_ARM_ABIMASK âThis masks an 8-bit version number, the version of the ABI to â
â (0xFF000000) âwhich this ELF file conforms. This ABI is version 5. A value ofâ
â(current version is 0x05000000) â0 denotes unknown conformance. â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â EF_ARM_BE8 âThe ELF file contains BE-8 code, suitable for execution on an ARMâ
â (0x00800000) âArchitecture v6 processor. This flag must only be set on an â
â âexecutable file. â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â EF_ARM_GCCMASK âLegacy code (ABI version 4 and earlier) generated by gcc-arm-xxx â
â (0x00400FFF) âmight use these bits. â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â EF_ARM_ABI_FLOAT_HARD âSet in executable file headers (e_type = ET_EXEC or ET_DYN) to â
â (0x00000400) ânote that the executable file was built to conform to the â
â (ABI version 5 and later) âhardware floating-point procedure-call standard. â
â âCompatible with legacy (pre version 5) gcc use as â
â âEF_ARM_VFP_FLOAT. â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â EF_ARM_ABI_FLOAT_SOFT âSet in executable file headers (e_type = ET_EXEC or ET_DYN) to â
â (0x00000200) ânote explicitly that the executable file was built to conform to â
â (ABI version 5 and later) âthe software floating-point procedure-call standard (the base â
â âstandard). If both EF_ARM_ABI_FLOAT_XXXX bits are clear, â
â âconformance to the base procedure-call standard is implied. â
â âCompatible with legacy (pre version 5) gcc use as â
â âEF_ARM_SOFT_FLOAT. â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Please review the flag values and names to ensure that I have them exactly
correct and please review the text for precision of intended meaning.
Kind regards,
Lee
--
Lee Smith, ARM Fellow and Director of Technology, SDD
ARM Limited
110 Fulbourn Road
Cambridge CB1 9NJ UK
----- End Forwarded message from Lee Smith <Lee.Smith@arm.com> -----
Cheers,
--
Steve McIntyre steve.mcintyre@linaro.org
<http://www.linaro.org/> Linaro.org | Open source software for ARM SoCs