/* $Id$ */ #define TRAMPOLINE_SIZE 13 #include "hook-arch-asm.h" sigaction_trampoline: /* +0: */ lea -0x20(%rdi), %eax /* +3: */ sub $0xd0, %rsp /* +10: */ mov %rsi, %rcx /* +13: */ .ifne . - sigaction_trampoline - TRAMPOLINE_SIZE .err .endif jmp *sigaction_orig_libc_cont(%rip) sigaction_trampoline_jmpdir: /* +0: */ mov $0x0123456789abcdef,%rax .set sigaction_trampoline_jmpdir_vec, . - 8 /* Set it to `sigaction_trampoline' to define it as NULL, simple value `0' would be relative and thus not NULL. */ .set sigaction_trampoline_jmpdir_base, sigaction_trampoline /* +10: */ jmpq *%rax /* +12: */ nop /* +13: */ .ifne . - sigaction_trampoline_jmpdir - TRAMPOLINE_SIZE .err .endif