x86: Remove empty X86_FEATURE_1_AND property
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 17 Aug 2018 10:54:05 +0000 (03:54 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 17 Aug 2018 10:54:16 +0000 (03:54 -0700)
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.

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.

13 files changed:
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf-properties.c
bfd/elfxx-target.h
bfd/elfxx-x86.c
bfd/elfxx-x86.h
ld/ChangeLog
ld/testsuite/ld-i386/ibt-plt-2a.d
ld/testsuite/ld-i386/ibt-plt-2b.d
ld/testsuite/ld-x86-64/ibt-plt-2a-x32.d
ld/testsuite/ld-x86-64/ibt-plt-2a.d
ld/testsuite/ld-x86-64/ibt-plt-2b-x32.d
ld/testsuite/ld-x86-64/ibt-plt-2b.d

index 4c7468f5703a5e6c2e8abc361d1f459f8711e81c..4fbe0bf6bd645b16067214c9b60f850283defffd 100644 (file)
@@ -1,3 +1,18 @@
+2018-08-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       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.
+
 2018-08-16  Alan Modra  <amodra@gmail.com>
 
        * elf64-ppc.c: Correct ppc_stub_long_branch_notoc example.
index 530679f9c8ea23e9f03f7ddbd75dbc8ebdcdbe66..cf256f70e07da20231353b0cb3902972e4bf2827 100644 (file)
@@ -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 *);
 
index f58bdc0711e91c25b5fea98135017da3705d87f9..0d98ef1eec629b0cb1346c2a47636d7e4291ae89 100644 (file)
@@ -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);
index a86ea587a2343c2d6eadbe17bae873198193a502..0c4de8cc66e3d042c12fd29ad0b1c16d77facdbd 100644 (file)
 #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,
index 2d8f7b640b5b16be9e71c7e300402f4f22f05cc8..1a4c723969f37c65706d3200eec9a32158844236 100644 (file)
@@ -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;
+      }
+}
index 6a5609467d5e5c031264db7cc1cf563eb06e1ee6..964843822e32187720cfc630ef95f564a13c46b1 100644 (file)
@@ -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
index b833bf5a7c0610ac71410f44c5f074d7364ae180..b1b8cf5d1a670ed321154bf7ec5e1af59ae9ac43 100644 (file)
@@ -1,3 +1,13 @@
+2018-08-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       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.
+
 2018-08-12  H.J. Lu  <hongjiu.lu@intel.com>
 
        * testsuite/ld-x86-64/pr23486b.d: Swap pr23486a.s and pr23486a.s.
index 03c8e127a9e7e8112eb7ca22dfd625d28f380a7d..5825be43f4fb9811268d7a77c3596b6b2084a86b 100644 (file)
@@ -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
index d7b4e1e74cf1436d1da3b0ef73f60ce49d276a8b..0fa9a998f10a50afe5bee8ac1d0c545d451f219a 100644 (file)
@@ -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: 
index 27f47d7179523dbec5d0cbd24016d16c6434b9b5..70585634bf795cfa87e57e02805652584ead2bab 100644 (file)
@@ -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
index 62d77835b63f20f2dd93a84c80421f4cfa51de69..0894354026672693c99b2c67f4d16bb8a8d419ca 100644 (file)
@@ -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
index b4ca2568959083743b9ccc027b53cc13cd5991d8..2f7505a70d9d1135b98b567da962a74da48ad7c2 100644 (file)
@@ -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: 
index 4a670ee1b9636843e66bcfb91cb13f9d1363006f..2bb59d0d8365c0908cd4de0af5cfb0555b3585d8 100644 (file)
@@ -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: