This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports 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]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]