--- linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h.orig 2003-05-27 20:25:22.000000000 -0400 +++ linuxthreads/sysdeps/unix/sysv/linux/arm/sysdep-cancel.h 2003-05-27 20:07:12.000000000 -0400 @@ -26,12 +26,14 @@ /* We push lr onto the stack, so we have to use ldmib instead of ldmia to find the saved arguments. */ +#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 /* PIC */ # undef PSEUDO_RET # define PSEUDO_RET