Browse Source

new dlstart stage-2 chaining for x86_64 and x32

master
Rich Felker 11 years ago
parent
commit
12b0b7d8ea
  1. 5
      arch/x32/reloc.h
  2. 5
      arch/x86_64/reloc.h

5
arch/x32/reloc.h

@ -24,3 +24,8 @@
#define CRTJMP(pc,sp) __asm__ __volatile__( \
"mov %1,%%esp ; jmp *%0" : : "r"((uint64_t)(uintptr_t)pc), "r"(sp) : "memory" )
#define GETFUNCSYM(fp, sym, got) __asm__ ( \
".hidden " #sym "\n" \
" lea " #sym "(%%rip),%0\n" \
: "=r"(*fp) : : "memory" )

5
arch/x86_64/reloc.h

@ -13,3 +13,8 @@
#define CRTJMP(pc,sp) __asm__ __volatile__( \
"mov %1,%%rsp ; jmp *%0" : : "r"(pc), "r"(sp) : "memory" )
#define GETFUNCSYM(fp, sym, got) __asm__ ( \
".hidden " #sym "\n" \
" lea " #sym "(%%rip),%0\n" \
: "=r"(*fp) : : "memory" )

Loading…
Cancel
Save