cond_syscall() and new ABI.

Anton Blanchard anton at samba.org
Wed Oct 13 05:39:02 EST 2004


> This (in linux/asm-ppc64/unistd.h) doesn't work with the new ABI:
> 
> /*
>  * "Conditional" syscalls
>  *
>  * What we want is __attribute__((weak,alias("sys_ni_syscall"))),
>  * but it doesn't work on all toolchains, so we just do it by hand
>  */
> #define cond_syscall(x) asm(".weak\t." #x "\n\t.set\t." #x ",.sys_ni_syscall");
> 
> Two options -- either we ditch older toolchains (before 2002-03-01
> probably), by switching to what we say in the comment, or we introduce
> an ifdef to choose whether to include the '.' in the symbol names...

http://ozlabs.org/ppc64-patches/

Has 5 remove -mminimal-toc patches which should fix this mess. The
syscall table is currently abusing the ABI, it would be nice to fix it.

If there are no complaints Id like to push this patchset once 2.6.10
opens.

Anton



More information about the Linuxppc64-dev mailing list