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
Hi Guys,
>> Given this conversation, maybe renaming --bti to --force-bti would
>> express the intention clearer ?
Yes - I rather like that idea.
> Indeed warnings can be ignored in most cases, particularly when there
> aren't too many. In a large project the output could be large enough
> to drown out other possibly more important warnings though.
Although I would suggest that warnings from the linker are a relatively
rare occurrence. Unlike say a compiler ... :-)
In answer to Szabolcs's question:
> does -z ibt warn on x86_64?
No - it does not. On the other hand, it does not force the enablement
of ibt either. In fact it appears to operate in the other way. Linking
x86 binaries without specifying "-z ibt" or "-z ibtplt" on the command
line will stop the linker from creating IBT enabled PLT entries, even if
all of the input object files would support them.
So - if we want to have the same behaviour in the AArch64 linker as we
currently have in the x86_64 linker, then how about this:
* Without any specific command line options BTI and PAC are not
enabled. (Ie the dynamic tags are not added to the dynamic section).
* With --bti specified, BTI is enabled in the output provided that
the BTI note was found in all of the input files. If one or more
input files are missing the note, BTI is not enabled, no warnings
are generated, *but* an entry is made in the linker map file indicating
which object(s) caused BTI not to be enabled. (Assuming that a
linker map file is being generated). This also matches the current
behaviour of the x86_64 linker.
* With --force-bti, BTI is enabled even if there are input files
without the BTI note. In this case, any file without the note
triggers a warning message from the linker.
* Similarly for PAC. Ie --pac enables the PAC tag if all of the
inputs support it, but no warnings are generated if some do not,
and --force-pac always generates the PAC tag, but warns about
object files that are missing the note.
What do people think ?
Cheers
Nick
PS. Sudi - the code for the patches themselves looks fine to me,
so I have no concerns there.
- 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
- 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
- From: Ramana Radhakrishnan
- Re: [PATCH, BFD, LD, AArch64, 0/4] Add support for AArch64 BTI and PAC in the linker