This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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: [PATCH, BFD, AArch64, x86] Improve warning for --force-bti.


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
>>
> 


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