diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc/sysdep.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/sysdep.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/sysdep.h b/sysdeps/unix/sysv/linux/powerpc/sysdep.h index c08e3d8060..d6d33bf7af 100644 --- a/sysdeps/unix/sysv/linux/powerpc/sysdep.h +++ b/sysdeps/unix/sysv/linux/powerpc/sysdep.h @@ -41,13 +41,21 @@ li 0,syscall; \ sc +#ifdef PIC +#define PSEUDO(name, syscall_name, args) \ + .text; \ + ENTRY (name) \ + DO_CALL (SYS_ify (syscall_name)); \ + bnslr; \ + b __syscall_error@plt +#else #define PSEUDO(name, syscall_name, args) \ .text; \ ENTRY (name) \ DO_CALL (SYS_ify (syscall_name)); \ - bnslr; \ + bnslr; \ b __syscall_error - +#endif #define ret /* Nothing (should be 'blr', but never reached). */ #endif /* ASSEMBLER */ |