bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/22061] New: Missing unwind info for IBT PLT


From: hjl.tools at gmail dot com
Subject: [Bug ld/22061] New: Missing unwind info for IBT PLT
Date: Fri, 01 Sep 2017 11:13:14 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=22061

            Bug ID: 22061
           Summary: Missing unwind info for IBT PLT
           Product: binutils
           Version: 2.29
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: hjl.tools at gmail dot com
  Target Milestone: ---
            Target: i386

address@hidden ld]$ cat
/export/gnu/import/git/sources/binutils-gdb/ld/testsuite/ld-i386/ibt-plt-1.s
        .text
        .p2align 4,,15
        .globl  foo
        .type   foo, @function
foo:
.LFB0:
        .cfi_startproc
        pushl   %ebx
        .cfi_def_cfa_offset 8
        .cfi_offset 3, -8
        call    __x86.get_pc_thunk.bx
        addl    $_GLOBAL_OFFSET_TABLE_, %ebx
        subl    $8, %esp
        .cfi_def_cfa_offset 16
        call    address@hidden
        call    address@hidden
        addl    $8, %esp
        .cfi_def_cfa_offset 8
        popl    %ebx
        .cfi_restore 3
        .cfi_def_cfa_offset 4
        ret
        .cfi_endproc
.LFE0:
        .size   foo, .-foo
        .section        .note.GNU-stack,"",@progbits

        .section       
.text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat
        .globl  __x86.get_pc_thunk.bx
        .hidden __x86.get_pc_thunk.bx
        .type   __x86.get_pc_thunk.bx, @function
__x86.get_pc_thunk.bx:
.LFB1:
        .cfi_startproc
        movl    (%esp), %ebx
        ret
        .cfi_endproc
.LFE1:

        .section ".note.gnu.property", "a"
        .p2align 2
        .long 1f - 0f           /* name length */
        .long 5f - 2f           /* data length */
        .long 5                 /* note type */
0:      .asciz "GNU"            /* vendor name */
1:
        .p2align 2
2:      .long 0xc0000002        /* pr_type.  */
        .long 4f - 3f           /* pr_datasz.  */
3:
        .long 0x1
4:
        .p2align 2
5:

/export/build/gnu/binutils/build-x86_64-linux/ld/../gas/as-new  --32  -o
tmpdir/ibt-plt-1.o
/export/gnu/import/git/sources/binutils-gdb/ld/testsuite/ld-i386/ibt-plt-1.s
ld -z norelro 
-L/export/gnu/import/git/sources/binutils-gdb/ld/testsuite/ld-i386  -shared -m
elf_i386 --hash-style=sysv -o tmpdir/dump tmpdir/ibt-plt-1.o 
objdump -dw tmpdir/dump
readelf -wf tmpdir/dump 

tmpdir/dump:     file format elf32-i386


Disassembly of section .plt:

000001b0 <.plt>:
 1b0:   ff b3 04 00 00 00       pushl  0x4(%ebx)
 1b6:   ff a3 08 00 00 00       jmp    *0x8(%ebx)
 1bc:   0f 1f 40 00             nopl   0x0(%eax)
 1c0:   f3 0f 1e fb             endbr32 
 1c4:   68 00 00 00 00          push   $0x0
 1c9:   e9 e2 ff ff ff          jmp    1b0 <.plt>
 1ce:   66 90                   xchg   %ax,%ax
 1d0:   f3 0f 1e fb             endbr32 
 1d4:   68 08 00 00 00          push   $0x8
 1d9:   e9 d2 ff ff ff          jmp    1b0 <.plt>
 1de:   66 90                   xchg   %ax,%ax

Disassembly of section .plt.sec:

000001e0 <address@hidden>:
 1e0:   f3 0f 1e fb             endbr32 
 1e4:   ff a3 0c 00 00 00       jmp    *0xc(%ebx)
 1ea:   66 0f 1f 44 00 00       nopw   0x0(%eax,%eax,1)

000001f0 <address@hidden>:
 1f0:   f3 0f 1e fb             endbr32 
 1f4:   ff a3 10 00 00 00       jmp    *0x10(%ebx)
 1fa:   66 0f 1f 44 00 00       nopw   0x0(%eax,%eax,1)

Disassembly of section .text:

00000200 <foo>:
 200:   53                      push   %ebx
 201:   e8 18 00 00 00          call   21e <__x86.get_pc_thunk.bx>
 206:   81 c3 22 11 00 00       add    $0x1122,%ebx
 20c:   83 ec 08                sub    $0x8,%esp
 20f:   e8 dc ff ff ff          call   1f0 <address@hidden>
 214:   e8 c7 ff ff ff          call   1e0 <address@hidden>
 219:   83 c4 08                add    $0x8,%esp
 21c:   5b                      pop    %ebx
 21d:   c3                      ret    

0000021e <__x86.get_pc_thunk.bx>:
 21e:   8b 1c 24                mov    (%esp),%ebx
 221:   c3                      ret    
Contents of the .eh_frame section:

00000000 00000014 00000000 CIE
  Version:               1
  Augmentation:          "zR"
  Code alignment factor: 1
  Data alignment factor: -4
  Return address column: 8
  Augmentation data:     1b

  DW_CFA_def_cfa: r4 (esp) ofs 4
  DW_CFA_offset: r8 (eip) at cfa-4
  DW_CFA_nop
  DW_CFA_nop

00000018 0000001c 0000001c FDE cie=00000000 pc=00000200..0000021e
  DW_CFA_advance_loc: 1 to 00000201
  DW_CFA_def_cfa_offset: 8
  DW_CFA_offset: r3 (ebx) at cfa-8
  DW_CFA_advance_loc: 14 to 0000020f
  DW_CFA_def_cfa_offset: 16
  DW_CFA_advance_loc: 13 to 0000021c
  DW_CFA_def_cfa_offset: 8
  DW_CFA_advance_loc: 1 to 0000021d
  DW_CFA_restore: r3 (ebx)
  DW_CFA_def_cfa_offset: 4

00000038 00000010 0000003c FDE cie=00000000 pc=0000021e..00000222
  DW_CFA_nop
  DW_CFA_nop
  DW_CFA_nop

0000004c 00000020 00000050 FDE cie=00000000 pc=000001b0..000001e0
  DW_CFA_def_cfa_offset: 8
  DW_CFA_advance_loc: 6 to 000001b6
  DW_CFA_def_cfa_offset: 12
  DW_CFA_advance_loc: 10 to 000001c0
  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)

address@hidden ld]$ 

Unwind info is missing for section .plt.sec.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]