This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH, BFD, LD, AArch64, 0/4] Add support for AArch64 BTI and PAC in the linker
- From: Szabolcs Nagy <Szabolcs dot Nagy at arm dot com>
- To: "nickc at redhat dot com" <nickc at redhat dot com>, Peter Smith <peter dot smith at linaro dot org>, Sudakshina Das <Sudi dot Das at arm dot com>
- Cc: nd <nd at arm dot com>, "binutils at sourceware dot org" <binutils at sourceware dot org>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>
- Date: Thu, 7 Mar 2019 15:49:24 +0000
- Subject: Re: [PATCH, BFD, LD, AArch64, 0/4] Add support for AArch64 BTI and PAC in the linker
- References: <08762e41-1e80-a504-d840-f8715ea59a50@arm.com> <581bbc74-441c-8f39-c4d5-38475f12dfb6@redhat.com> <c0f31807-6128-87a9-0b27-d10a30cf1df5@arm.com> <CAEt-8LCQzSBaO_haWpMBnXk3K5QFjhBSFhVUKV4OLqcL-V3Cbw@mail.gmail.com> <2f8d7f31-cb87-4fba-dead-b131e355c619@redhat.com>
On 07/03/2019 15:35, Nick Clifton wrote:
>>>> The document does not appear to specify what the loader should do if
>>>> there is more than one GNU_PROPERTY_AARCh64_FEATURE_1_AND note in an
>>>> executable. (Which would be there if the executable had been linked
>>>> by a linker that does not know how to merge multiple GNU_PROPERTY notes).
>
>> My initial thought is that if there is more than one
>> .note.gnu.property section in the executable then the static linker
>> didn't understand the section and hence we can't assume it did any of
>> the required actions like producing different PLT sections. Hence I
>> think acting as if there were no .note.gnu.property sections present
>> at all would be a sensible choice.
>
> Agreed. I would just like to see this clearly specified in the documentation
> so that other linker maintainers know where they stand.
so arm decided to use the "gnu property" thing to mark elf modules.
this means the behaviour should be mostly decided by "gnu" i think.
in this case if linkers don't merge gnu property notes, that sounds
like a processor independent problem so ideally the solution would
be the same across targets. (i.e. x86_64 and aarch64 should behave
consistently)
in any case this belongs to either an os specific sysv abi
document (i.e. linux-abi maintained by H.J.Lu) or processor
specific sys v abi (arm has not published this yet) because
those describe dynamic linking behaviour. (the arm elf abi
does not cover dynamic linking)
- References:
- [PATCH, BFD, LD, AArch64, 0/4] Add support for AArch64 BTI and PAC in the linker
- Re: [PATCH, BFD, LD, AArch64, 0/4] Add support for AArch64 BTI and PAC in the linker
- Re: [PATCH, BFD, LD, AArch64, 0/4] Add support for AArch64 BTI and PAC in the linker
- Re: [PATCH, BFD, LD, AArch64, 0/4] Add support for AArch64 BTI and PAC in the linker
- Re: [PATCH, BFD, LD, AArch64, 0/4] Add support for AArch64 BTI and PAC in the linker