sparc64: Kill .fixup section bloat.
authorDavid S. Miller <davem@davemloft.net>
Mon, 9 Feb 2009 06:00:55 +0000 (22:00 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 Feb 2009 06:00:55 +0000 (22:00 -0800)
commit40bdac7dbc161639a498697f34fbd1ee800e51f4
tree5eef654722ba36d2921cafd8440d5e346f0fbdb5
parent1c2f61d40b691789626489fa947a3e003c9a84be
sparc64: Kill .fixup section bloat.

This is an implementation of a suggestion made by Chris Torek:
--------------------
Something else I noticed in passing: the EX and EX_LD/EX_ST macros
scattered throughout the various .S files make a fair bit of .fixup
code, all of which does the same thing.  At the cost of one symbol
in copy_in_user.S, you could just have one common two-instruction
retl-and-mov-1 fixup that they all share.
--------------------

The following is with a defconfig build:

   text    data     bss     dec     hex filename
3972767  344024  584449 4901240  4ac978 vmlinux.orig
3968887  344024  584449 4897360  4aba50 vmlinux

Signed-off-by: David S. Miller <davem@davemloft.net>
15 files changed:
arch/sparc/kernel/head_64.S
arch/sparc/lib/GENbzero.S
arch/sparc/lib/GENcopy_from_user.S
arch/sparc/lib/GENcopy_to_user.S
arch/sparc/lib/NG2copy_from_user.S
arch/sparc/lib/NG2copy_to_user.S
arch/sparc/lib/NGbzero.S
arch/sparc/lib/NGcopy_from_user.S
arch/sparc/lib/NGcopy_to_user.S
arch/sparc/lib/U1copy_from_user.S
arch/sparc/lib/U1copy_to_user.S
arch/sparc/lib/U3copy_from_user.S
arch/sparc/lib/U3copy_to_user.S
arch/sparc/lib/bzero.S
arch/sparc/lib/copy_in_user.S