Fixed jump_alias for non-PIC, and disabled it for PIC, since it
doesn't work for PIC right now. This fixes current crashing sigaction calls.
This commit is contained in:
parent
4a07ed8ef0
commit
d2937316a5
|
@ -38,13 +38,18 @@
|
|||
|
||||
/* adapt as necessary (a construct like this is used in glibc sources) */
|
||||
#define strong_alias(orig, alias) \
|
||||
asm(".globl " PSTR(alias) "\n\t.set " PSTR(alias) "," PSTR(orig))
|
||||
asm(".globl " PSTR(alias) "\n" \
|
||||
"\t.set " PSTR(alias) "," PSTR(orig))
|
||||
|
||||
/* strong_alias does not work on external symbols (.o format limitation?),
|
||||
* so for those, we need to use the pogo stick */
|
||||
#ifdef __i386__
|
||||
#if defined(__i386__) && !defined(__PIC__)
|
||||
/* FIXME: PIC */
|
||||
#define jump_alias(orig, alias) \
|
||||
asm(".globl " PSTR(alias) "\n\t" PSTR(alias) ":\n\tjmp " PSTR(orig))
|
||||
asm(".globl " PSTR(alias) "\n" \
|
||||
"\t.type " PSTR(alias) ",@function\n" \
|
||||
PSTR(alias) ":\n" \
|
||||
"\tjmp " PSTR(orig))
|
||||
#endif
|
||||
|
||||
/* get necessary libc symbols */
|
||||
|
|
Loading…
Reference in New Issue