[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/32296] New: sframe: wrong SFrame info for pltN and .plt.sec for
From: |
indu.bhagat at oracle dot com |
Subject: |
[Bug ld/32296] New: sframe: wrong SFrame info for pltN and .plt.sec for -z ibtplt |
Date: |
Mon, 21 Oct 2024 22:03:09 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=32296
Bug ID: 32296
Summary: sframe: wrong SFrame info for pltN and .plt.sec for -z
ibtplt
Product: binutils
Version: 2.43
Status: NEW
Severity: normal
Priority: P2
Component: ld
Assignee: unassigned at sourceware dot org
Reporter: indu.bhagat at oracle dot com
Target Milestone: ---
$ cat foo.s
.text
.p2align 4
.globl bar
.type bar, @function
bar:
.cfi_startproc
subq $8, %rsp
.cfi_def_cfa_offset 16
call bar@PLT
addq $8, %rsp
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.size bar, .-bar
.section .note.GNU-stack,"",@progbits
$ cat bar.s
.text
.p2align 4
.globl foo
.type foo, @function
foo:
.cfi_startproc
call bar@PLT
xorl %eax, %eax
ret
.p2align 4,,10
.p2align 3
.cfi_endproc
.size foo, .-foo
.section .note.GNU-stack,"",@progbits
$ as --gsframe -o foo.o foo.s
$ as --gsframe -o bar.o bar.s
$ ld -shared -z ibtplt -o pltsec.so foo.o bar.o
$ objdump -d pltsec.so
...
Disassembly of section .plt:
0000000000001000 <.plt>:
1000: ff 35 ea 2f 00 00 push 0x2fea(%rip) # 3ff0
<_GLOBAL_OFFSET_TABLE_+0x8>
1006: ff 25 ec 2f 00 00 jmp *0x2fec(%rip) # 3ff8
<_GLOBAL_OFFSET_TABLE_+0x10>
100c: 0f 1f 40 00 nopl 0x0(%rax)
1010: f3 0f 1e fa endbr64
1014: 68 00 00 00 00 push $0x0
1019: e9 e2 ff ff ff jmp 1000 <bar@plt-0x20>
101e: 66 90 xchg %ax,%ax
Disassembly of section .plt.sec:
0000000000001020 <bar@plt>:
1020: f3 0f 1e fa endbr64
1024: ff 25 d6 2f 00 00 jmp *0x2fd6(%rip) # 4000
<bar+0x2fd0>
102a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
$ objdump --sframe pltsec.so
func idx [0]: pc = 0x1000, size = 16 bytes
STARTPC CFA FP RA
0000000000001000 sp+16 u f
0000000000001006 sp+24 u f
func idx [1]: pc = 0x1010, size = 16 bytes
STARTPC[m] CFA FP RA
0000000000000000 sp+8 u f
000000000000000b sp+16 u f
func idx [2]: pc = 0x1020, size = 16 bytes
STARTPC CFA FP RA
0000000000001020 sp+16 u f
0000000000001026 sp+24 u f
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/32296] New: sframe: wrong SFrame info for pltN and .plt.sec for -z ibtplt,
indu.bhagat at oracle dot com <=