This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH, BFD, AArch64, x86] Improve warning for --force-bti.
- From: Sudakshina Das <Sudi dot Das at arm dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>, "nickc at redhat dot com" <nickc at redhat dot com>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>, nd <nd at arm dot com>
- Date: Fri, 12 Apr 2019 14:42:31 +0000
- Subject: Re: [PATCH, BFD, AArch64, x86] Improve warning for --force-bti.
- References: <27c4cd1c-2126-6e31-3faa-a7c31a4e67e1@arm.com> <fcff06e3-5c32-fcef-b22d-f39e22d51b0a@redhat.com> <d0a68dd5-afcb-0888-61ad-e4ad7e96fc2e@arm.com> <CAMe9rOp6Asa=x-nMwwhmsf8aoUcckAZMnp19SXwCyZ+hG+Kmbw@mail.gmail.com> <8356656c-d50f-8be0-cdfa-8c4c6a4c5313@arm.com> <CAMe9rOodbe8L9nUgNTgLFQsgy40Hva35KUrBb75SudECEcjUWA@mail.gmail.com> <98dd92e4-4273-5b4a-4542-fa82d837b237@arm.com>
Hi
On 03/04/2019 15:36, Sudakshina Das wrote:
> Hi HJ
>
> On 02/04/2019 13:31, H.J. Lu wrote:
>> On Tue, Apr 2, 2019 at 2:05 AM Sudakshina Das <Sudi.Das@arm.com> wrote:
>>>
>>> Hi HJ
>>>
>>> On 01/04/2019 20:26, H.J. Lu wrote:
>>>> On Thu, Mar 21, 2019 at 9:25 AM Sudakshina Das <Sudi.Das@arm.com>
>>>> wrote:
>>>>>
>>>>> Hi Nick
>>>>>
>>>>> On 21/03/2019 15:14, Nick Clifton wrote:
>>>>>> Hi Sudi,
>>>>>>
>>>>>>> *** bfd/ChangeLog ***
>>>>>>>
>>>>>>> 2019-xx-xx Sudakshina Das <sudi.das@arm.com>
>>>>>>>
>>>>>>> * elf-bfd.h (struct elf_backend_data): Add argument to
>>>>>>> merge_gnu_properties.
>>>>>>> * elf-properties.c (elf_merge_gnu_properties): Add
>>>>>>> argument to
>>>>>>> itself and while calling bed->merge_gnu_properties.
>>>>>>> (elf_merge_gnu_property_list): Update the calls for
>>>>>>> elf_merge_gnu_properties.
>>>>>>> * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties):
>>>>>>> Update handling
>>>>>>> of --force-bti warning and add argument.
>>>>>>> * elfxx-aarch64.c
>>>>>>> (_bfd_aarch64_elf_link_setup_gnu_properties): Add
>>>>>>> warning.
>>>>>>> * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add
>>>>>>> argument.
>>>>>>> * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties):
>>>>>>> Likewise in
>>>>>>> declaration.
>>>>>>>
>>>>>>> *** ld/ChangeLog ***
>>>>>>>
>>>>>>> 2019-xx-xx Sudakshina Das <sudi.das@arm.com>
>>>>>>>
>>>>>>> * testsuite/ld-aarch64/aarch64-elf.exp: Add new test.
>>>>>>> * testsuite/ld-aarch64/bti-plt-1.s: Add .ifdef for PAC
>>>>>>> note section.
>>>>>>> * testsuite/ld-aarch64/bti-plt-6.d: Update warning.
>>>>>>> * testsuite/ld-aarch64/bti-plt-7.d: Likewise.
>>>>>>> * testsuite/ld-aarch64/bti-warn.d: New test.
>>>>>>
>>>>>> Approved - please apply.
>>>>>
>>>>> Thanks for the approval. Committed as
>>>>> 4e5391148d51c58785aad637f1a92d47b91b3ae6
>>>>>
>>>>> Sudi
>>>>>
>>>>
>>>> Isn't --force-bti for ELF only? Shouldn't it use "-z force-bti"?
>>>
>>> Sorry I was not aware of any elf specific meaning given to -z. Is this a
>>> convention? I can not seem to find any particular documentation for it.
>>>
>>
>> This is the convention. See how PARSE_AND_LIST_ARGS_CASE_Z
>> is used. You can also define PARSE_AND_LIST_OPTIONS to update
>> "ld --help".
>
> The current options that are defined for bti and pac are defined in
> ld/emultempl/aarch64elf.em which "is sourced from elf32.em, and defines
> extra aarch64-elf specific routines". They do appear
> PARSE_AND_LIST_OPTIONS and hence appear in ld --help.
>
> Example
>
> aarch64elf:
> --no-enum-size-warning Don't warn about objects with incompatible
> enum sizes
> --no-wchar-size-warning Don't warn about objects with incompatible
> wchar_t sizes
> --pic-veneer Always generate PIC interworking veneers
> --stub-group-size=N Maximum size of a group of input sections
> that
> can be handled by one stub section. A
> negative
> value locates all stubs after their
> branches
> (with a group size of -N), while a
> positive
> value allows two groups of input
> sections, one
> before, and one after each stub section.
> Values of +/-1 indicate the linker should
> choose suitable defaults.
> --fix-cortex-a53-835769 Fix erratum 835769
> --fix-cortex-a53-843419 Fix erratum 843419
> --no-apply-dynamic-relocs Do not apply link-time values for
> dynamic relocations
> --force-bti Turn on Branch Target Identification
> mechanism and generate PLTs with BTI. Generate warnings for missing BTI
> on inputs
> --pac-plt Protect PLTs with Pointer Authentication.
>
> From what I can see in the Arm or AArch64 backend, none of the the
> target specific options are defined using the -z option. Though I have
> to admit I don not know if those options are all generic to the target
> rather than being ELF only.
>
> I would like to gather opinions of other port maintainers before I move
> these to -z.
>
As discussed I will post a patch to move the command line option behind
-z soon :)
Thanks
Sudi
> Thanks
> Sudi
>>
>
- References:
- Re: [PATCH, BFD, AArch64, x86] Improve warning for --force-bti.
- Re: [PATCH, BFD, AArch64, x86] Improve warning for --force-bti.
- Re: [PATCH, BFD, AArch64, x86] Improve warning for --force-bti.
- Re: [PATCH, BFD, AArch64, x86] Improve warning for --force-bti.