From: Andrew Morton arch/ppc64/kernel/built-in.o(.text+0xb88): In function `setup_system': arch/ppc64/kernel/setup.c:577: undefined reference to `.audit_syscall_exit' Kinda predictable :( Cc: David Woodhouse Signed-off-by: Andrew Morton --- arch/ppc64/kernel/entry.S | 11 +++++++++++ 1 files changed, 11 insertions(+) diff -puN arch/ppc64/kernel/entry.S~git-audit-ppc64-fix arch/ppc64/kernel/entry.S --- 25/arch/ppc64/kernel/entry.S~git-audit-ppc64-fix 2005-08-31 08:13:19.000000000 -0600 +++ 25-akpm/arch/ppc64/kernel/entry.S 2005-08-31 08:13:58.000000000 -0600 @@ -274,6 +274,7 @@ _GLOBAL(ppc64_rt_sigsuspend) b 70f _GLOBAL(ppc32_rt_sigsuspend) +#ifdef CONFIG_AUDIT bl .save_nvgprs bl .sys32_rt_sigsuspend 70: cmpdi 0,r3,0 @@ -290,6 +291,16 @@ _GLOBAL(ppc32_rt_sigsuspend) li r5,-4 /* It's always -EINTR */ bl .audit_syscall_exit b .ret_from_except +#else + bl .save_nvgprs + bl .sys32_rt_sigsuspend + /* If sigsuspend() returns zero, we are going into a signal handler */ +70: cmpdi 0,r3,0 + beq .ret_from_except + /* If it returned -EINTR, we need to return via syscall_exit to set + the SO bit in cr0 and potentially stop for ptrace. */ + b syscall_exit +#endif _GLOBAL(ppc_fork) bl .save_nvgprs _