MIPS: math-emu: Move various objects into an ar library.
authorRalf Baechle <ralf@linux-mips.org>
Thu, 24 Apr 2014 23:52:46 +0000 (01:52 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 23 May 2014 13:11:14 +0000 (15:11 +0200)
ieee754d.o contains only debug code and dp_sqrt.o and sp_sqrt.o contain
code which for MIPS I/II/III systems we don't want to link.  Again the
savings can be considerable for some systems:

$ mips-linux-size --totals ieee754d.o dp_sqrt.o sp_sqrt.o
   text    data     bss     dec     hex filename
   1624       0       0    1624     658 ieee754d.o
   2016       0       0    2016     7e0 dp_sqrt.o
    736       0       0     736     2e0 sp_sqrt.o
   4376       0       0    4376    1118 (TOTALS)

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/Kbuild
arch/mips/Makefile
arch/mips/math-emu/Makefile

index d2cfe45f332b419b5c463b78eb4f44a40e0386c4..cc39966ca63d55632cc72551fc2032d1d2d2f4b8 100644 (file)
@@ -16,7 +16,6 @@ obj- := $(platform-)
 
 obj-y += kernel/
 obj-y += mm/
-obj-y += math-emu/
 
 ifdef CONFIG_KVM
 obj-y += kvm/
index 1a5b4032cb662b4db660acebba0cacb7752a66f6..4852ae97e7df1a345895056aa176a868633b7b94 100644 (file)
@@ -251,6 +251,7 @@ OBJCOPYFLAGS                += --remove-section=.reginfo
 head-y := arch/mips/kernel/head.o
 
 libs-y                 += arch/mips/lib/
+libs-y                 += arch/mips/math-emu/
 
 # See arch/mips/Kbuild for content of core part of the kernel
 core-y += arch/mips/
index 363ce9bd82eabe931de9648df074420a89a916e5..016736ed304cf0bc79bea683dd0baf174496dd12 100644 (file)
@@ -2,11 +2,12 @@
 # Makefile for the Linux/MIPS kernel FPU emulation.
 #
 
-obj-y  := cp1emu.o ieee754d.o ieee754dp.o ieee754sp.o ieee754.o \
-          ieee754xcpt.o dp_div.o dp_mul.o dp_sub.o dp_add.o dp_fsp.o \
-          dp_cmp.o dp_simple.o dp_tint.o dp_fint.o dp_tlong.o dp_flong.o \
-          sp_div.o sp_mul.o sp_sub.o sp_add.o sp_fdp.o sp_cmp.o sp_simple.o \
-          sp_tint.o sp_fint.o sp_tlong.o sp_flong.o dp_sqrt.o sp_sqrt.o \
-          kernel_linkage.o dsemul.o
+obj-y  += cp1emu.o ieee754dp.o ieee754sp.o ieee754.o ieee754xcpt.o dp_div.o \
+          dp_mul.o dp_sub.o dp_add.o dp_fsp.o dp_cmp.o dp_simple.o dp_tint.o \
+          dp_fint.o dp_tlong.o dp_flong.o sp_div.o sp_mul.o sp_sub.o \
+          sp_add.o sp_fdp.o sp_cmp.o sp_simple.o sp_tint.o sp_fint.o \
+          sp_tlong.o sp_flong.o kernel_linkage.o dsemul.o
+
+lib-y  += ieee754d.o dp_sqrt.o sp_sqrt.o
 
 obj-$(CONFIG_DEBUG_FS) += me-debugfs.o