* [FYI] objtool: .export_symbol…: data relocation to !ENDBR: stpcpy
@ 2024-08-01 15:28 Sebastian Andrzej Siewior
2024-08-02 9:35 ` Peter Zijlstra
0 siblings, 1 reply; 2+ messages in thread
From: Sebastian Andrzej Siewior @ 2024-08-01 15:28 UTC (permalink / raw)
To: x86, linux-kernel
Cc: Borislav Petkov, Dave Hansen, Ingo Molnar, Josh Poimboeuf,
Peter Zijlstra, Thomas Gleixner
Hi,
defconfig on x86-64 with gcc-14 I get this:
| vmlinux.o: warning: objtool: .export_symbol+0x26980: data relocation to !ENDBR: stpcpy+0x0
objdump ->
| 0000000000000110 <stpcpy>:
| 110: 66 66 2e 0f 1f 84 00 data16 cs nopw 0x0(%rax,%rax,1)
| 117: 00 00 00 00
| 11b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
| 120: f3 0f 1e fa endbr64
okay, no endbr64 on entry label.
| $ make lib/string.s
->
| .type stpcpy, @function
| stpcpy:
| .p2align 5
| endbr64
| .L30:
| # lib/string.c:193: while ((*dest++ = *src++) != '\0')
| movzbl (%rsi), %eax # MEM[(const char *)src_8 + -1B], _1
an alignment request after the function label before endbr64 which gets
expanded into NOP_11+NOP_5.
I don't see this with gcc-13.
Reported as https://gcc.gnu.org/PR116174
Sebastian
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [FYI] objtool: .export_symbol…: data relocation to !ENDBR: stpcpy
2024-08-01 15:28 [FYI] objtool: .export_symbol…: data relocation to !ENDBR: stpcpy Sebastian Andrzej Siewior
@ 2024-08-02 9:35 ` Peter Zijlstra
0 siblings, 0 replies; 2+ messages in thread
From: Peter Zijlstra @ 2024-08-02 9:35 UTC (permalink / raw)
To: Sebastian Andrzej Siewior
Cc: x86, linux-kernel, Borislav Petkov, Dave Hansen, Ingo Molnar,
Josh Poimboeuf, Thomas Gleixner
On Thu, Aug 01, 2024 at 05:28:36PM +0200, Sebastian Andrzej Siewior wrote:
> Hi,
>
> defconfig on x86-64 with gcc-14 I get this:
> | vmlinux.o: warning: objtool: .export_symbol+0x26980: data relocation to !ENDBR: stpcpy+0x0
>
> objdump ->
>
> | 0000000000000110 <stpcpy>:
> | 110: 66 66 2e 0f 1f 84 00 data16 cs nopw 0x0(%rax,%rax,1)
> | 117: 00 00 00 00
> | 11b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
> | 120: f3 0f 1e fa endbr64
>
> okay, no endbr64 on entry label.
>
> | $ make lib/string.s
> ->
> | .type stpcpy, @function
> | stpcpy:
> | .p2align 5
> | endbr64
> | .L30:
> | # lib/string.c:193: while ((*dest++ = *src++) != '\0')
> | movzbl (%rsi), %eax # MEM[(const char *)src_8 + -1B], _1
>
> an alignment request after the function label before endbr64 which gets
> expanded into NOP_11+NOP_5.
> I don't see this with gcc-13.
> Reported as https://gcc.gnu.org/PR116174
Fun, thanks for tracking that down!
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-08-02 9:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-01 15:28 [FYI] objtool: .export_symbol…: data relocation to !ENDBR: stpcpy Sebastian Andrzej Siewior
2024-08-02 9:35 ` Peter Zijlstra
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox