From: Ulrich Drepper Date: Fri, 6 Jun 2003 17:31:40 +0000 (+0000) Subject: New sequences for 5+ arg syscalls only needed for PIC. X-Git-Tag: glibc-2.16-ports-before-merge~1358 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1ca4471f970f0ef6ed4d6104efb3e09383c4868b;p=thirdparty%2Fglibc.git New sequences for 5+ arg syscalls only needed for PIC. --- diff --git a/sysdeps/unix/sysv/linux/arm/linuxthreads/sysdep-cancel.h b/sysdeps/unix/sysv/linux/arm/linuxthreads/sysdep-cancel.h index d2043aad91f..92d8460e26b 100644 --- a/sysdeps/unix/sysv/linux/arm/linuxthreads/sysdep-cancel.h +++ b/sysdeps/unix/sysv/linux/arm/linuxthreads/sysdep-cancel.h @@ -26,12 +26,14 @@ /* We push lr onto the stack, so we have to use ldmib instead of ldmia to find the saved arguments. */ -#undef DOARGS_5 -#undef DOARGS_6 -#undef DOARGS_7 -#define DOARGS_5 str r4, [sp, $-4]!; ldr r4, [sp, $8]; -#define DOARGS_6 mov ip, sp; stmfd sp!, {r4, r5}; ldmib ip, {r4, r5}; -#define DOARGS_7 mov ip, sp; stmfd sp!, {r4, r5, r6}; ldmib ip, {r4, r5, r6}; +# ifdef PIC +# undef DOARGS_5 +# undef DOARGS_6 +# undef DOARGS_7 +# define DOARGS_5 str r4, [sp, $-4]!; ldr r4, [sp, $8]; +# define DOARGS_6 mov ip, sp; stmfd sp!, {r4, r5}; ldmib ip, {r4, r5}; +# define DOARGS_7 mov ip, sp; stmfd sp!, {r4, r5, r6}; ldmib ip, {r4, r5, r6}; +# endif # undef PSEUDO_RET # define PSEUDO_RET \