Comments? This has been sitting in my tree for a while. Regards, Carl-Daniel
On 28.11.2007 01:04, Carl-Daniel Hailfinger wrote: > 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]> > > > Index: LinuxBIOSv3-filteroutduplicatedshared/arch/x86/Makefile > =================================================================== > --- LinuxBIOSv3-filteroutduplicatedshared/arch/x86/Makefile (Revision 529) > +++ LinuxBIOSv3-filteroutduplicatedshared/arch/x86/Makefile (Arbeitskopie) > @@ -198,11 +198,16 @@ > STAGE2_OBJ += $(obj)/util/x86emu/libx86emu.a $(LIBGCC_FILE_NAME) > endif > > -$(obj)/linuxbios.stage2.o $(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.o $(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.o $(STAGE2_OBJ) > + -o $(obj)/linuxbios.stage2.o $(STAGE2_OBJ_NEEDED) > $(Q)$(NM) $(obj)/linuxbios.stage2.o | sort -u > > $(obj)/linuxbios.stage2.map > > # > -- linuxbios mailing list linuxbios@linuxbios.org http://www.linuxbios.org/mailman/listinfo/linuxbios