mirror of git://git.musl-libc.org/musl
new dlstart stage-2 chaining for x86_64 and x32
This commit is contained in:
parent
c16182680c
commit
12b0b7d8ea
|
@ -24,3 +24,8 @@
|
||||||
|
|
||||||
#define CRTJMP(pc,sp) __asm__ __volatile__( \
|
#define CRTJMP(pc,sp) __asm__ __volatile__( \
|
||||||
"mov %1,%%esp ; jmp *%0" : : "r"((uint64_t)(uintptr_t)pc), "r"(sp) : "memory" )
|
"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" )
|
||||||
|
|
|
@ -13,3 +13,8 @@
|
||||||
|
|
||||||
#define CRTJMP(pc,sp) __asm__ __volatile__( \
|
#define CRTJMP(pc,sp) __asm__ __volatile__( \
|
||||||
"mov %1,%%rsp ; jmp *%0" : : "r"(pc), "r"(sp) : "memory" )
|
"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…
Reference in New Issue