public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Nick Clifton <nickc@redhat.com>
To: Sudakshina Das <Sudi.Das@arm.com>,
	"binutils@sourceware.org" <binutils@sourceware.org>
Cc: nd <nd@arm.com>, Richard Earnshaw <Richard.Earnshaw@arm.com>,
	Ramana Radhakrishnan <Ramana.Radhakrishnan@arm.com>,
	"peter.smith@linaro.org" <peter.smith@linaro.org>
Subject: Re: [PATCH, BFD, LD, AArch64, 0/4] Add support for AArch64 BTI and PAC in the linker
Date: Thu, 07 Mar 2019 15:33:00 -0000	[thread overview]
Message-ID: <6fcac9a6-5c6e-274d-9f5d-05094d0437c7@redhat.com> (raw)
In-Reply-To: <c0f31807-6128-87a9-0b27-d10a30cf1df5@arm.com>

Hi Sudi,

>>> 3)--bti-nowarn - Same as above but does not emit any warnings.
>>
>> I am not clear about the purpose/need for this option.  According to this:
>>
>>> 2) For BTI, the linker must also check for the
>>> GNU_PROPERTY_AARCH64_FEATURE_1_BTI in its input. If all inputs have
>>> GNU_PROPERTY_AARCH64_FEATURE_1_BTI, the final output will also be marked
>>> as such. The PLT should also be protected with a BTI PLT in this case.
>>> Thus even if there is no linker option to use BTI PLT, the linker
>>> should be able to use them depending on the NOTE section. The user can
>>> use the linker option --bti, to make sure that their intention of having
>>> all input objects (and hence the output) marked with BTI is not
>>> disrupted by any stray objects as this option will warn about it.
>>
>> The linker will automatically set the BTI tag if all of the inputs have
>> the BTI note, and, by default, will not warn if one or more of the inputs
>> do not have the note. So what does the --bti-nowarn option do ?
> 
> The linker should automatically collect all note sections and mark the 
> output with BTI if ALL the inputs have BTI in them. However, in this 
> default behavior, if there is any stray objects without the BTI note 
> section, the linker will silently remove the BTI note section from the 
> output. Both the linker command line options are for users to specify 
> that they want the output to be marked with BTI. The difference is that 
> --bti will warn about the stray object and --bti-nowarn will not warn.

OK, so just to be clear, with --bti or --bti-nowarn the output will be
given the BTI tag *even if* some of the input files do not have the BTI note ?

This sounds like a serious potential problem.  If BTI is enabled and a
particular object file has not been built with BTI support enabled, then
won't any function calls into that object file fail ?



>> OK, that's it for general comments.  I will reserve patch specific comments
>> for each individual patch.

[These will probably be tomorrow now as I am a little bit swamped with other things today]

Cheers
  Nick

  parent reply	other threads:[~2019-03-07 15:33 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-06 10:26 Sudakshina Das
2019-03-06 10:31 ` [PATCH, BFD, LD, AArch64, 1/4] Add support for GNU PROPERTIES in AArch64 for BTI and PAC Sudakshina Das
2019-03-06 10:34   ` [PATCH, BFD, LD, AArch64, 2/4] Add --bti-nowarn to enable BTI without warning and to select BTI enabled PLTs Sudakshina Das
2019-03-06 10:36     ` [PATCH, BFD, LD, AArch64, 3/4] Add --bti to enable BTI and select BTI enabled PLTs but also warn for missing NOTE sections Sudakshina Das
2019-03-06 10:39       ` [PATCH, BFD, LD, AArch64, 4/4] Add --pac-plt to enable PLTs protected with PAC Sudakshina Das
2019-04-11 14:47         ` Szabolcs Nagy
2019-03-07 12:37 ` [PATCH, BFD, LD, AArch64, 0/4] Add support for AArch64 BTI and PAC in the linker Nick Clifton
2019-03-07 14:28   ` Sudakshina Das
2019-03-07 15:26     ` Peter Smith
2019-03-07 15:35       ` Nick Clifton
2019-03-07 15:49         ` Szabolcs Nagy
2019-03-07 15:33     ` Nick Clifton [this message]
2019-03-07 17:53       ` Sudakshina Das
2019-03-08 10:07         ` Nick Clifton
2019-03-08 11:08           ` Szabolcs Nagy
2019-03-08 11:14           ` Ramana Radhakrishnan
2019-03-08 11:46             ` Peter Smith
2019-03-08 12:32               ` Nick Clifton
2019-03-08 12:44                 ` Ramana Radhakrishnan
2019-03-08 13:36                   ` Sudakshina Das
2019-03-11 12:30                     ` Nick Clifton
2019-03-13 11:49                       ` Sudakshina Das

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6fcac9a6-5c6e-274d-9f5d-05094d0437c7@redhat.com \
    --to=nickc@redhat.com \
    --cc=Ramana.Radhakrishnan@arm.com \
    --cc=Richard.Earnshaw@arm.com \
    --cc=Sudi.Das@arm.com \
    --cc=binutils@sourceware.org \
    --cc=nd@arm.com \
    --cc=peter.smith@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).