x64 instruction scheduling.
Kalle Olavi Niemitalo
kon@iki.fi
Tue Sep 25 20:58:00 GMT 2012
phi gcc <phi.gcc@gmail.com> writes:
> I see prolog like this in some linux kernel functions
>
> 0xffffffff8102fba0 pushq %rbp
> 0xffffffff8102fba1 movq %rsp,%rbp
> 0xffffffff8102fba4 nopl 0x0(%rax,%rax,1) <==
> 0xffffffff8102fba9 movl %edi,%edi <==
> 0xffffffff8102fbab movl %esi,-0xa05000(%rdi)
Which function is that? The NOPs may be part of a scheme where Linux
modifies itself at run time. See arch/x86/kernel/alternative.c and
Documentation/static-keys.txt, for two such schemes.
Do you see similar NOPs in non-Linux code?
More information about the Gcc-help
mailing list