Messages in this thread | | | From | Sedat Dilek <> | Date | Tue, 22 May 2018 14:17:45 +0200 | Subject | Re: Clang patch stacks for LTS kernels (v4.4 and v4.9) and status update |
| |
For the sake of completeness...
[ CLANG VERSION ]
# dpkg -l | grep clang-7 ii clang-7 1:7~svn332830-1~exp1+0~20180521091322.1776~1.gbp198359 amd64 C, C++ and Objective-C compiler
[ OBJDUMP native_save_fl() ]
$ objdump -d -S --start-address=0x$(grep native_save_fl System.map | sed -e "s/ \+.*//") vmlinux | less
vmlinux: file format elf64-x86-64
Disassembly of section .text:
ffffffff810633a0 <native_save_fl>: /* * Interrupt control: */
static inline __nostackprotector unsigned long native_save_fl(void) { ffffffff810633a0: 55 push %rbp ffffffff810633a1: 48 89 e5 mov %rsp,%rbp ffffffff810633a4: 50 push %rax /* * "=rm" is safe here, because "pop" adjusts the stack before * it evaluates its effective address -- this is part of the * documented behavior of the "pop" instruction. */ asm volatile("# __raw_save_flags\n\t" ffffffff810633a5: 9c pushfq ffffffff810633a6: 8f 45 f8 popq -0x8(%rbp) "pushf ; pop %0" : "=rm" (flags) : /* no input */ : "memory");
return flags; ffffffff810633a9: 48 8b 45 f8 mov -0x8(%rbp),%rax ffffffff810633ad: 48 83 c4 08 add $0x8,%rsp ffffffff810633b1: 5d pop %rbp ffffffff810633b2: c3 retq ffffffff810633b3: 0f 1f 00 nopl (%rax) ffffffff810633b6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) ffffffff810633bd: 00 00 00
ffffffff810633c0 <native_restore_fl>: }
static inline void native_restore_fl(unsigned long flags) { ...
- Sedat -
| |