Author: hailfinger
Date: 2007-12-06 17:03:32 +0100 (Thu, 06 Dec 2007)
New Revision: 540

Modified:
   LinuxBIOSv3/arch/x86/Makefile
Log:
To reduce code duplication, make sure STAGE2_OBJ does not contain
any object already mentioned in STAGE0_OBJ.
This saves 386 bytes in qemu stage2 (~240 bytes after LZMA compression).

Build tested and runtime tested in Qemu.

Signed-off-by: Carl-Daniel Hailfinger <[EMAIL PROTECTED]>
Acked-by: Peter Stuge <[EMAIL PROTECTED]>


Modified: LinuxBIOSv3/arch/x86/Makefile
===================================================================
--- LinuxBIOSv3/arch/x86/Makefile       2007-12-05 01:45:55 UTC (rev 539)
+++ LinuxBIOSv3/arch/x86/Makefile       2007-12-06 16:03:32 UTC (rev 540)
@@ -198,11 +198,16 @@
 STAGE2_OBJ += $(obj)/util/x86emu/libx86emu.a $(LIBGCC_FILE_NAME)
 endif
 
-$(obj)/linuxbios.stage2 $(obj)/linuxbios.stage2.map: $(obj)/stage0.init 
$(STAGE2_OBJ)
+# To reduce code duplication, always make sure STAGE2_OBJ does not contain
+# any object from STAGE0_OBJ.
+
+STAGE2_OBJ_NEEDED = $(filter-out $(STAGE0_OBJ), $(STAGE2_OBJ))
+
+$(obj)/linuxbios.stage2 $(obj)/linuxbios.stage2.map: $(obj)/stage0.init 
$(STAGE2_OBJ_NEEDED)
        $(Q)# leave a .o with full symbols in it for debugging.
        $(Q)printf "  LD      $(subst $(shell pwd)/,,$(@))\n"
        $(Q)$(LD) -R $(obj)/stage0.o -Ttext 0x1000 --entry=stage2 \
-                 -o $(obj)/linuxbios.stage2 $(STAGE2_OBJ)
+                 -o $(obj)/linuxbios.stage2 $(STAGE2_OBJ_NEEDED)
        $(Q)$(NM) $(obj)/linuxbios.stage2 | sort -u > 
$(obj)/linuxbios.stage2.map
 
 #


-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios

Reply via email to