x86: Remove empty X86_FEATURE_1_AND property
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.
This commit is contained in:
parent
2ecae92e23
commit
bfb1e8c15a
@ -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.
|
||||
|
@ -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 *);
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
10
ld/ChangeLog
10
ld/ChangeLog
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user