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] x86: Remove empty X86_FEATURE_1_AND property


On Tue, Aug 14, 2018 at 6:20 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Sat, Aug 11, 2018 at 6:02 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> There is no need to generate .note.gnu.property section with empty
>> X86_FEATURE_1_AND property.  This patch adds fixup_gnu_properties
>> to ELF linker backend so that x86 backend can remove it.
>>
>> OK for master?
>
> Any feedback or objections?

If there are no objections,  I will check it in this Friday.

>> H.J.
>> ---
>> bfd/
>>
>>         PR ld/23515
>>         * elf-bfd.h (elf_backend_data): Add fixup_gnu_properties.
>>         * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Call
>>         backend fixup_gnu_properties if it isn't NULL.  Discard
>>         .note.gnu.property section if all properties have been removed.
>>         * elfxx-target.h (elf_backend_fixup_gnu_properties): New.
>>         (elfNN_bed): Initialize fixup_gnu_properties.
>>         * elfxx-x86.c (_bfd_x86_elf_link_fixup_gnu_properties): New
>>         function.
>>         * elfxx-x86.h (_bfd_x86_elf_link_fixup_gnu_properties): New
>>         prototype.
>>         (elf_backend_fixup_gnu_properties): New.
>>
>> ld/
>>
>>         PR ld/23515
>>         * testsuite/ld-i386/ibt-plt-2a.d: Updated.
>>         * testsuite/ld-i386/ibt-plt-2b.d: Likewise.
>>         * testsuite/ld-x86-64/ibt-plt-2a-x32.d: Likewise.
>>         * testsuite/ld-x86-64/ibt-plt-2a.d: Likewise.
>>         * testsuite/ld-x86-64/ibt-plt-2b-x32.d: Likewise.
>>         * testsuite/ld-x86-64/ibt-plt-2b.d: Likewise.
>> ---
>>  bfd/elf-bfd.h                           |  4 ++++
>>  bfd/elf-properties.c                    | 12 +++++++++++
>>  bfd/elfxx-target.h                      |  4 ++++
>>  bfd/elfxx-x86.c                         | 28 +++++++++++++++++++++++++
>>  bfd/elfxx-x86.h                         |  5 +++++
>>  ld/testsuite/ld-i386/ibt-plt-2a.d       | 22 +++++++++----------
>>  ld/testsuite/ld-i386/ibt-plt-2b.d       | 26 +++++++++--------------
>>  ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d | 24 ++++++++++-----------
>>  ld/testsuite/ld-x86-64/ibt-plt-2a.d     | 24 ++++++++++-----------
>>  ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d | 20 +++++++-----------
>>  ld/testsuite/ld-x86-64/ibt-plt-2b.d     | 20 +++++++-----------
>>  11 files changed, 112 insertions(+), 77 deletions(-)
>>
>> diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
>> index 530679f9c8..cf256f70e0 100644
>> --- a/bfd/elf-bfd.h
>> +++ b/bfd/elf-bfd.h
>> @@ -1479,6 +1479,10 @@ struct elf_backend_data
>>    /* Set up GNU properties.  */
>>    bfd *(*setup_gnu_properties) (struct bfd_link_info *);
>>
>> +  /* Fix up GNU properties.  */
>> +  void (*fixup_gnu_properties) (struct bfd_link_info *,
>> +                               elf_property_list **);
>> +
>>    /* Encoding used for compact EH tables.  */
>>    int (*compact_eh_encoding) (struct bfd_link_info *);
>>
>> diff --git a/bfd/elf-properties.c b/bfd/elf-properties.c
>> index f58bdc0711..0d98ef1eec 100644
>> --- a/bfd/elf-properties.c
>> +++ b/bfd/elf-properties.c
>> @@ -520,6 +520,18 @@ _bfd_elf_link_setup_gnu_properties (struct bfd_link_info *info)
>>           return NULL;
>>         }
>>
>> +      /* Fix up GNU properties.  */
>> +      if (bed->fixup_gnu_properties)
>> +       bed->fixup_gnu_properties (info, &elf_properties (first_pbfd));
>> +
>> +      if (elf_properties (first_pbfd) == NULL)
>> +       {
>> +         /* Discard .note.gnu.property section if all properties have
>> +            been removed.  */
>> +         sec->output_section = bfd_abs_section_ptr;
>> +         return NULL;
>> +       }
>> +
>>        /* Compute the section size.  */
>>        list = elf_properties (first_pbfd);
>>        size = elf_get_gnu_property_section_size (list, align_size);
>> diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h
>> index a86ea587a2..0c4de8cc66 100644
>> --- a/bfd/elfxx-target.h
>> +++ b/bfd/elfxx-target.h
>> @@ -550,6 +550,9 @@
>>  #ifndef elf_backend_setup_gnu_properties
>>  #define elf_backend_setup_gnu_properties       _bfd_elf_link_setup_gnu_properties
>>  #endif
>> +#ifndef elf_backend_fixup_gnu_properties
>> +#define elf_backend_fixup_gnu_properties       NULL
>> +#endif
>>  #ifndef elf_backend_static_tls_alignment
>>  #define elf_backend_static_tls_alignment       1
>>  #endif
>> @@ -876,6 +879,7 @@ static struct elf_backend_data elfNN_bed =
>>    elf_backend_parse_gnu_properties,
>>    elf_backend_merge_gnu_properties,
>>    elf_backend_setup_gnu_properties,
>> +  elf_backend_fixup_gnu_properties,
>>    elf_backend_compact_eh_encoding,
>>    elf_backend_cant_unwind_opcode,
>>    elf_backend_static_tls_alignment,
>> diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
>> index 2d8f7b640b..1a4c723969 100644
>> --- a/bfd/elfxx-x86.c
>> +++ b/bfd/elfxx-x86.c
>> @@ -2959,3 +2959,31 @@ error_alignment:
>>
>>    return pbfd;
>>  }
>> +
>> +/* Fix up x86 GNU properties.  */
>> +
>> +void
>> +_bfd_x86_elf_link_fixup_gnu_properties
>> +  (struct bfd_link_info *info ATTRIBUTE_UNUSED,
>> +   elf_property_list **listp)
>> +{
>> +  elf_property_list *p;
>> +
>> +  for (p = *listp; p; p = p->next)
>> +    switch (p->property.pr_type)
>> +      {
>> +      case GNU_PROPERTY_X86_ISA_1_USED:
>> +      case GNU_PROPERTY_X86_ISA_1_NEEDED:
>> +      case GNU_PROPERTY_X86_FEATURE_1_AND:
>> +       if (p->property.u.number == 0)
>> +         {
>> +           /* Remove empty property.  */
>> +           *listp = p->next;
>> +           continue;
>> +         }
>> +       listp = &p->next;
>> +       break;
>> +      default:
>> +       break;
>> +      }
>> +}
>> diff --git a/bfd/elfxx-x86.h b/bfd/elfxx-x86.h
>> index 6a5609467d..964843822e 100644
>> --- a/bfd/elfxx-x86.h
>> +++ b/bfd/elfxx-x86.h
>> @@ -684,6 +684,9 @@ extern enum elf_property_kind _bfd_x86_elf_parse_gnu_properties
>>  extern bfd_boolean _bfd_x86_elf_merge_gnu_properties
>>    (struct bfd_link_info *, bfd *, elf_property *, elf_property *);
>>
>> +extern void _bfd_x86_elf_link_fixup_gnu_properties
>> +  (struct bfd_link_info *, elf_property_list **);
>> +
>>  extern bfd * _bfd_x86_elf_link_setup_gnu_properties
>>    (struct bfd_link_info *, struct elf_x86_init_table *);
>>
>> @@ -726,3 +729,5 @@ extern void _bfd_x86_elf_link_fixup_ifunc_symbol
>>    _bfd_x86_elf_parse_gnu_properties
>>  #define elf_backend_merge_gnu_properties \
>>    _bfd_x86_elf_merge_gnu_properties
>> +#define elf_backend_fixup_gnu_properties \
>> +  _bfd_x86_elf_link_fixup_gnu_properties
>> diff --git a/ld/testsuite/ld-i386/ibt-plt-2a.d b/ld/testsuite/ld-i386/ibt-plt-2a.d
>> index 03c8e127a9..5825be43f4 100644
>> --- a/ld/testsuite/ld-i386/ibt-plt-2a.d
>> +++ b/ld/testsuite/ld-i386/ibt-plt-2a.d
>> @@ -8,45 +8,45 @@
>>
>>  Disassembly of section .plt:
>>
>> -0+160 <.plt>:
>> +0+140 <.plt>:
>>   +[a-f0-9]+:   ff b3 04 00 00 00       pushl  0x4\(%ebx\)
>>   +[a-f0-9]+:   ff a3 08 00 00 00       jmp    \*0x8\(%ebx\)
>>   +[a-f0-9]+:   0f 1f 40 00             nopl   0x0\(%eax\)
>>   +[a-f0-9]+:   f3 0f 1e fb             endbr32
>>   +[a-f0-9]+:   68 00 00 00 00          push   \$0x0
>> - +[a-f0-9]+:   e9 e2 ff ff ff          jmp    160 <.plt>
>> + +[a-f0-9]+:   e9 e2 ff ff ff          jmp    140 <.plt>
>>   +[a-f0-9]+:   66 90                   xchg   %ax,%ax
>>   +[a-f0-9]+:   f3 0f 1e fb             endbr32
>>   +[a-f0-9]+:   68 08 00 00 00          push   \$0x8
>> - +[a-f0-9]+:   e9 d2 ff ff ff          jmp    160 <.plt>
>> + +[a-f0-9]+:   e9 d2 ff ff ff          jmp    140 <.plt>
>>   +[a-f0-9]+:   66 90                   xchg   %ax,%ax
>>
>>  Disassembly of section .plt.sec:
>>
>> -0+190 <bar1@plt>:
>> +0+170 <bar1@plt>:
>>   +[a-f0-9]+:   f3 0f 1e fb             endbr32
>>   +[a-f0-9]+:   ff a3 0c 00 00 00       jmp    \*0xc\(%ebx\)
>>   +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%eax,%eax,1\)
>>
>> -0+1a0 <bar2@plt>:
>> +0+180 <bar2@plt>:
>>   +[a-f0-9]+:   f3 0f 1e fb             endbr32
>>   +[a-f0-9]+:   ff a3 10 00 00 00       jmp    \*0x10\(%ebx\)
>>   +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%eax,%eax,1\)
>>
>>  Disassembly of section .text:
>>
>> -0+1b0 <foo>:
>> +0+190 <foo>:
>>   +[a-f0-9]+:   53                      push   %ebx
>> - +[a-f0-9]+:   e8 18 00 00 00          call   1ce <__x86.get_pc_thunk.bx>
>> - +[a-f0-9]+:   81 c3 36 11 00 00       add    \$0x1136,%ebx
>> + +[a-f0-9]+:   e8 18 00 00 00          call   1ae <__x86.get_pc_thunk.bx>
>> + +[a-f0-9]+:   81 c3 1a 11 00 00       add    \$0x111a,%ebx
>>   +[a-f0-9]+:   83 ec 08                sub    \$0x8,%esp
>> - +[a-f0-9]+:   e8 dc ff ff ff          call   1a0 <bar2@plt>
>> - +[a-f0-9]+:   e8 c7 ff ff ff          call   190 <bar1@plt>
>> + +[a-f0-9]+:   e8 dc ff ff ff          call   180 <bar2@plt>
>> + +[a-f0-9]+:   e8 c7 ff ff ff          call   170 <bar1@plt>
>>   +[a-f0-9]+:   83 c4 08                add    \$0x8,%esp
>>   +[a-f0-9]+:   5b                      pop    %ebx
>>   +[a-f0-9]+:   c3                      ret
>>
>> -0+1ce <__x86.get_pc_thunk.bx>:
>> +0+1ae <__x86.get_pc_thunk.bx>:
>>   +[a-f0-9]+:   8b 1c 24                mov    \(%esp\),%ebx
>>   +[a-f0-9]+:   c3                      ret
>>  #pass
>> diff --git a/ld/testsuite/ld-i386/ibt-plt-2b.d b/ld/testsuite/ld-i386/ibt-plt-2b.d
>> index d7b4e1e74c..0fa9a998f1 100644
>> --- a/ld/testsuite/ld-i386/ibt-plt-2b.d
>> +++ b/ld/testsuite/ld-i386/ibt-plt-2b.d
>> @@ -18,37 +18,31 @@ Contents of the .eh_frame section:
>>    DW_CFA_nop
>>    DW_CFA_nop
>>
>> -0+18 0000001c 0000001c FDE cie=00000000 pc=000001b0..000001ce
>> -  DW_CFA_advance_loc: 1 to 000001b1
>> +0+18 0000001c 0000001c FDE cie=00000000 pc=00000190..000001ae
>> +  DW_CFA_advance_loc: 1 to 00000191
>>    DW_CFA_def_cfa_offset: 8
>>    DW_CFA_offset: r3 \(ebx\) at cfa-8
>> -  DW_CFA_advance_loc: 14 to 000001bf
>> +  DW_CFA_advance_loc: 14 to 0000019f
>>    DW_CFA_def_cfa_offset: 16
>> -  DW_CFA_advance_loc: 13 to 000001cc
>> +  DW_CFA_advance_loc: 13 to 000001ac
>>    DW_CFA_def_cfa_offset: 8
>> -  DW_CFA_advance_loc: 1 to 000001cd
>> +  DW_CFA_advance_loc: 1 to 000001ad
>>    DW_CFA_restore: r3 \(ebx\)
>>    DW_CFA_def_cfa_offset: 4
>>
>> -0+38 00000010 0000003c FDE cie=00000000 pc=000001ce..000001d2
>> +0+38 00000010 0000003c FDE cie=00000000 pc=000001ae..000001b2
>>    DW_CFA_nop
>>    DW_CFA_nop
>>    DW_CFA_nop
>>
>> -0+4c 00000020 00000050 FDE cie=00000000 pc=00000160..00000190
>> +0+4c 00000020 00000050 FDE cie=00000000 pc=00000140..00000170
>>    DW_CFA_def_cfa_offset: 8
>> -  DW_CFA_advance_loc: 6 to 00000166
>> +  DW_CFA_advance_loc: 6 to 00000146
>>    DW_CFA_def_cfa_offset: 12
>> -  DW_CFA_advance_loc: 10 to 00000170
>> +  DW_CFA_advance_loc: 10 to 00000150
>>    DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
>>
>> -0+70 00000010 00000074 FDE cie=00000000 pc=00000190..000001b0
>> +0+70 00000010 00000074 FDE cie=00000000 pc=00000170..00000190
>>    DW_CFA_nop
>>    DW_CFA_nop
>>    DW_CFA_nop
>> -
>> -
>> -Displaying notes found in: .note.gnu.property
>> -  Owner                 Data size      Description
>> -  GNU                  0x0000000c      NT_GNU_PROPERTY_TYPE_0
>> -      Properties: x86 feature:
>> diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
>> index 27f47d7179..70585634bf 100644
>> --- a/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
>> +++ b/ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
>> @@ -8,36 +8,36 @@
>>
>>  Disassembly of section .plt:
>>
>> -0+160 <.plt>:
>> - +[a-f0-9]+:   ff 35 62 01 20 00       pushq  0x200162\(%rip\)        # 2002c8 <_GLOBAL_OFFSET_TABLE_\+0x8>
>> - +[a-f0-9]+:   ff 25 64 01 20 00       jmpq   \*0x200164\(%rip\)        # 2002d0 <_GLOBAL_OFFSET_TABLE_\+0x10>
>> +0+140 <.plt>:
>> + +[a-f0-9]+:   ff 35 4a 01 20 00       pushq  0x20014a\(%rip\)        # 200290 <_GLOBAL_OFFSET_TABLE_\+0x8>
>> + +[a-f0-9]+:   ff 25 4c 01 20 00       jmpq   \*0x20014c\(%rip\)        # 200298 <_GLOBAL_OFFSET_TABLE_\+0x10>
>>   +[a-f0-9]+:   0f 1f 40 00             nopl   0x0\(%rax\)
>>   +[a-f0-9]+:   f3 0f 1e fa             endbr64
>>   +[a-f0-9]+:   68 00 00 00 00          pushq  \$0x0
>> - +[a-f0-9]+:   e9 e2 ff ff ff          jmpq   160 <.plt>
>> + +[a-f0-9]+:   e9 e2 ff ff ff          jmpq   140 <.plt>
>>   +[a-f0-9]+:   66 90                   xchg   %ax,%ax
>>   +[a-f0-9]+:   f3 0f 1e fa             endbr64
>>   +[a-f0-9]+:   68 01 00 00 00          pushq  \$0x1
>> - +[a-f0-9]+:   e9 d2 ff ff ff          jmpq   160 <.plt>
>> + +[a-f0-9]+:   e9 d2 ff ff ff          jmpq   140 <.plt>
>>   +[a-f0-9]+:   66 90                   xchg   %ax,%ax
>>
>>  Disassembly of section .plt.sec:
>>
>> -0+190 <bar1@plt>:
>> +0+170 <bar1@plt>:
>>   +[a-f0-9]+:   f3 0f 1e fa             endbr64
>> - +[a-f0-9]+:   ff 25 3e 01 20 00       jmpq   \*0x20013e\(%rip\)        # 2002d8 <bar1>
>> + +[a-f0-9]+:   ff 25 26 01 20 00       jmpq   \*0x200126\(%rip\)        # 2002a0 <bar1>
>>   +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%rax,%rax,1\)
>>
>> -0+1a0 <bar2@plt>:
>> +0+180 <bar2@plt>:
>>   +[a-f0-9]+:   f3 0f 1e fa             endbr64
>> - +[a-f0-9]+:   ff 25 36 01 20 00       jmpq   \*0x200136\(%rip\)        # 2002e0 <bar2>
>> + +[a-f0-9]+:   ff 25 1e 01 20 00       jmpq   \*0x20011e\(%rip\)        # 2002a8 <bar2>
>>   +[a-f0-9]+:   66 0f 1f 44 00 00       nopw   0x0\(%rax,%rax,1\)
>>
>>  Disassembly of section .text:
>>
>> -0+1b0 <foo>:
>> +0+190 <foo>:
>>   +[a-f0-9]+:   48 83 ec 08             sub    \$0x8,%rsp
>> - +[a-f0-9]+:   e8 e7 ff ff ff          callq  1a0 <bar2@plt>
>> + +[a-f0-9]+:   e8 e7 ff ff ff          callq  180 <bar2@plt>
>>   +[a-f0-9]+:   48 83 c4 08             add    \$0x8,%rsp
>> - +[a-f0-9]+:   e9 ce ff ff ff          jmpq   190 <bar1@plt>
>> + +[a-f0-9]+:   e9 ce ff ff ff          jmpq   170 <bar1@plt>
>>  #pass
>> diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2a.d b/ld/testsuite/ld-x86-64/ibt-plt-2a.d
>> index 62d77835b6..0894354026 100644
>> --- a/ld/testsuite/ld-x86-64/ibt-plt-2a.d
>> +++ b/ld/testsuite/ld-x86-64/ibt-plt-2a.d
>> @@ -8,36 +8,36 @@
>>
>>  Disassembly of section .plt:
>>
>> -0+220 <.plt>:
>> - +[a-f0-9]+:   ff 35 ea 01 20 00       pushq  0x2001ea\(%rip\)        # 200410 <_GLOBAL_OFFSET_TABLE_\+0x8>
>> - +[a-f0-9]+:   f2 ff 25 eb 01 20 00    bnd jmpq \*0x2001eb\(%rip\)        # 200418 <_GLOBAL_OFFSET_TABLE_\+0x10>
>> +0+1f0 <.plt>:
>> + +[a-f0-9]+:   ff 35 ca 01 20 00       pushq  0x2001ca\(%rip\)        # 2003c0 <_GLOBAL_OFFSET_TABLE_\+0x8>
>> + +[a-f0-9]+:   f2 ff 25 cb 01 20 00    bnd jmpq \*0x2001cb\(%rip\)        # 2003c8 <_GLOBAL_OFFSET_TABLE_\+0x10>
>>   +[a-f0-9]+:   0f 1f 00                nopl   \(%rax\)
>>   +[a-f0-9]+:   f3 0f 1e fa             endbr64
>>   +[a-f0-9]+:   68 00 00 00 00          pushq  \$0x0
>> - +[a-f0-9]+:   f2 e9 e1 ff ff ff       bnd jmpq 220 <.plt>
>> + +[a-f0-9]+:   f2 e9 e1 ff ff ff       bnd jmpq 1f0 <.plt>
>>   +[a-f0-9]+:   90                      nop
>>   +[a-f0-9]+:   f3 0f 1e fa             endbr64
>>   +[a-f0-9]+:   68 01 00 00 00          pushq  \$0x1
>> - +[a-f0-9]+:   f2 e9 d1 ff ff ff       bnd jmpq 220 <.plt>
>> + +[a-f0-9]+:   f2 e9 d1 ff ff ff       bnd jmpq 1f0 <.plt>
>>   +[a-f0-9]+:   90                      nop
>>
>>  Disassembly of section .plt.sec:
>>
>> -0+250 <bar1@plt>:
>> +0+220 <bar1@plt>:
>>   +[a-f0-9]+:   f3 0f 1e fa             endbr64
>> - +[a-f0-9]+:   f2 ff 25 c5 01 20 00    bnd jmpq \*0x2001c5\(%rip\)        # 200420 <bar1>
>> + +[a-f0-9]+:   f2 ff 25 a5 01 20 00    bnd jmpq \*0x2001a5\(%rip\)        # 2003d0 <bar1>
>>   +[a-f0-9]+:   0f 1f 44 00 00          nopl   0x0\(%rax,%rax,1\)
>>
>> -0+260 <bar2@plt>:
>> +0+230 <bar2@plt>:
>>   +[a-f0-9]+:   f3 0f 1e fa             endbr64
>> - +[a-f0-9]+:   f2 ff 25 bd 01 20 00    bnd jmpq \*0x2001bd\(%rip\)        # 200428 <bar2>
>> + +[a-f0-9]+:   f2 ff 25 9d 01 20 00    bnd jmpq \*0x20019d\(%rip\)        # 2003d8 <bar2>
>>   +[a-f0-9]+:   0f 1f 44 00 00          nopl   0x0\(%rax,%rax,1\)
>>
>>  Disassembly of section .text:
>>
>> -0+270 <foo>:
>> +0+240 <foo>:
>>   +[a-f0-9]+:   48 83 ec 08             sub    \$0x8,%rsp
>> - +[a-f0-9]+:   e8 e7 ff ff ff          callq  260 <bar2@plt>
>> + +[a-f0-9]+:   e8 e7 ff ff ff          callq  230 <bar2@plt>
>>   +[a-f0-9]+:   48 83 c4 08             add    \$0x8,%rsp
>> - +[a-f0-9]+:   e9 ce ff ff ff          jmpq   250 <bar1@plt>
>> + +[a-f0-9]+:   e9 ce ff ff ff          jmpq   220 <bar1@plt>
>>  #pass
>> diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d b/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d
>> index b4ca256895..2f7505a70d 100644
>> --- a/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d
>> +++ b/ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d
>> @@ -18,27 +18,21 @@ Contents of the .eh_frame section:
>>    DW_CFA_nop
>>    DW_CFA_nop
>>
>> -0+18 00000014 0000001c FDE cie=00000000 pc=000001b0..000001c2
>> -  DW_CFA_advance_loc: 4 to 000001b4
>> +0+18 00000014 0000001c FDE cie=00000000 pc=00000190..000001a2
>> +  DW_CFA_advance_loc: 4 to 00000194
>>    DW_CFA_def_cfa_offset: 16
>> -  DW_CFA_advance_loc: 9 to 000001bd
>> +  DW_CFA_advance_loc: 9 to 0000019d
>>    DW_CFA_def_cfa_offset: 8
>>    DW_CFA_nop
>>
>> -0+30 00000020 00000034 FDE cie=00000000 pc=00000160..00000190
>> +0+30 00000020 00000034 FDE cie=00000000 pc=00000140..00000170
>>    DW_CFA_def_cfa_offset: 16
>> -  DW_CFA_advance_loc: 6 to 00000166
>> +  DW_CFA_advance_loc: 6 to 00000146
>>    DW_CFA_def_cfa_offset: 24
>> -  DW_CFA_advance_loc: 10 to 00000170
>> +  DW_CFA_advance_loc: 10 to 00000150
>>    DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit9; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
>>
>> -0+54 00000010 00000058 FDE cie=00000000 pc=00000190..000001b0
>> +0+54 00000010 00000058 FDE cie=00000000 pc=00000170..00000190
>>    DW_CFA_nop
>>    DW_CFA_nop
>>    DW_CFA_nop
>> -
>> -
>> -Displaying notes found in: .note.gnu.property
>> -  Owner                 Data size      Description
>> -  GNU                  0x0000000c      NT_GNU_PROPERTY_TYPE_0
>> -      Properties: x86 feature:
>> diff --git a/ld/testsuite/ld-x86-64/ibt-plt-2b.d b/ld/testsuite/ld-x86-64/ibt-plt-2b.d
>> index 4a670ee1b9..2bb59d0d83 100644
>> --- a/ld/testsuite/ld-x86-64/ibt-plt-2b.d
>> +++ b/ld/testsuite/ld-x86-64/ibt-plt-2b.d
>> @@ -18,31 +18,25 @@ Contents of the .eh_frame section:
>>    DW_CFA_nop
>>    DW_CFA_nop
>>
>> -0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000270..0000000000000282
>> -  DW_CFA_advance_loc: 4 to 0000000000000274
>> +0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000240..0000000000000252
>> +  DW_CFA_advance_loc: 4 to 0000000000000244
>>    DW_CFA_def_cfa_offset: 16
>> -  DW_CFA_advance_loc: 9 to 000000000000027d
>> +  DW_CFA_advance_loc: 9 to 000000000000024d
>>    DW_CFA_def_cfa_offset: 8
>>    DW_CFA_nop
>>
>> -0+30 0000000000000024 00000034 FDE cie=00000000 pc=0000000000000220..0000000000000250
>> +0+30 0000000000000024 00000034 FDE cie=00000000 pc=00000000000001f0..0000000000000220
>>    DW_CFA_def_cfa_offset: 16
>> -  DW_CFA_advance_loc: 6 to 0000000000000226
>> +  DW_CFA_advance_loc: 6 to 00000000000001f6
>>    DW_CFA_def_cfa_offset: 24
>> -  DW_CFA_advance_loc: 10 to 0000000000000230
>> +  DW_CFA_advance_loc: 10 to 0000000000000200
>>    DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit10; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
>>    DW_CFA_nop
>>    DW_CFA_nop
>>    DW_CFA_nop
>>    DW_CFA_nop
>>
>> -0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000250..0000000000000270
>> +0+58 0000000000000010 0000005c FDE cie=00000000 pc=0000000000000220..0000000000000240
>>    DW_CFA_nop
>>    DW_CFA_nop
>>    DW_CFA_nop
>> -
>> -
>> -Displaying notes found in: .note.gnu.property
>> -  Owner                 Data size      Description
>> -  GNU                  0x00000010      NT_GNU_PROPERTY_TYPE_0
>> -      Properties: x86 feature:
>> --
>> 2.17.1
>>
>
>
>
> --
> H.J.



-- 
H.J.


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