Fixed multi-archness of the `demo' script.
[libobjid.git] / hook-x86_64.S
1 /* $Id$ */
2
3
4 #define TRAMPOLINE_SIZE 13
5
6 #include "hook-arch-asm.h"
7
8 sigaction_trampoline:
9 /* +0: */       lea     -0x20(%rdi), %eax
10 /* +3: */       sub     $0xd0, %rsp
11 /* +10: */      mov     %rsi, %rcx
12 /* +13: */
13                 .ifne   . - sigaction_trampoline - TRAMPOLINE_SIZE
14                 .err
15                 .endif
16                 jmp     *sigaction_orig_libc_cont(%rip)
17
18 sigaction_trampoline_jmpdir:
19 /* +0: */       mov     $0x0123456789abcdef,%rax
20                 .set    sigaction_trampoline_jmpdir_vec, . - 8
21                 /* Set it to `sigaction_trampoline' to define it as NULL,
22                    simple value `0' would be relative and thus not NULL.  */
23                 .set    sigaction_trampoline_jmpdir_base, sigaction_trampoline
24 /* +10: */      jmpq    *%rax
25 /* +12: */      nop
26 /* +13: */
27                 .ifne   . - sigaction_trampoline_jmpdir - TRAMPOLINE_SIZE
28                 .err
29                 .endif