Question about PPC __put_user_asm/__get_user_asm

Graham Stoney greyham at
Tue Apr 4 16:40:14 EST 2000

Hi there,

I'm wondering if anyone can please point me to an explanation of the PCC
implementations of __put_user_asm/__get_user_asm in include/asm-ppc/uaccess.h.
In particular, I'm interested in the reason behind them changing .sections
behind the compiler's back, and whether some better approach could be taken to
achieve the same goal.

The reason I'm asking is because I'm trying to use gcc's -ffunction-sections
with ld's --gc-sections to eliminate dead code from my kernel link. This is
proving difficult because the aforementioned macros explicitly change back to
the .text section, which is incompatible with -ffunction-sections. I can hack
the macros to change back to section ".text.__FUNCTION__", but this suffers
from equivalent nastiness when -ffunction-sections isn't used.

Can anyone explain what the .fixup and __ex_table stuff in __put_user_asm/
__get_user_asm do?  I notice that other architectures don't require such

Graham Stoney
Principal Hardware/Software Engineer
Canon Information Systems Research Australia
Ph: +61 2 9805 2909  Fax: +61 2 9805 2929

** Sent via the linuxppc-dev mail list. See

More information about the Linuxppc-dev mailing list