Skip to content
Snippets Groups Projects
Commit d2937316 authored by Ove Kåven's avatar Ove Kåven Committed by Alexandre Julliard
Browse files

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.
parent 4a07ed8e
No related branches found
No related tags found
No related merge requests found
......@@ -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 */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment