Always strip all the modules
authorH. Peter Anvin <hpa@linux.intel.com>
Thu, 17 Jan 2013 18:54:40 +0000 (10:54 -0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Thu, 17 Jan 2013 18:54:40 +0000 (10:54 -0800)
Always strip the modules; they are too big unstripped.  Specifically,
we generate unstripped *.elf files, and then convert them to
stripped *.c32 files.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
15 files changed:
com32/chain/Makefile
com32/cmenu/Makefile
com32/elflink/ldlinux/Makefile
com32/gfxboot/Makefile
com32/gpllib/Makefile
com32/hdt/Makefile
com32/lib/Makefile
com32/libutil/Makefile
com32/lua/src/Makefile
com32/mboot/Makefile
com32/menu/Makefile
com32/modules/Makefile
com32/sysdump/Makefile
mk/elf.mk
mk/lib.mk

index 9a298fa..ed37ffa 100644 (file)
@@ -20,7 +20,7 @@ OBJS = chain.o partiter.o utility.o options.o mangle.o
 
 all: chain.c32
 
-chain.c32: $(OBJS) $(C_LIBS)
+chain.elf: $(OBJS) $(C_LIBS)
        $(LD) $(LDFLAGS) -o $@ $^
 
 %.o: %.c
index 181937b..f827afd 100644 (file)
@@ -44,14 +44,15 @@ MENUS = $(LIBS) $(CMENUS) $(IMENUS)
 
 all:   menus
 
-libmenu/libmenu.c32: $(LIBMENU)
-       $(LD) -shared $(LDFLAGS) -o $@ $^
+libmenu/libmenu.elf: $(LIBMENU)
+       $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) \
+               -o $@ $^
 
 tidy dist:
-       rm -f *.o *.lo *.c32 *.lst *.elf .*.d */.*.d
+       rm -f *.o *.lo *.lst *.elf */*.o */*.elf .*.d */.*.d
 
 libclean:
-       rm -f libmenu/*.o libmenu/*.c32
+       rm -f libmenu/*.c32
 
 clean: tidy menuclean libclean
        rm -f *.lss *.c32 *.com
index fa53226..b2d0cec 100644 (file)
@@ -1,6 +1,6 @@
 ## -----------------------------------------------------------------------
 ##
-##   Copyright 2011 Intel Corporation - All Rights Reserved
+##   Copyright 2011-2013 Intel Corporation - All Rights Reserved
 ##
 ##   This program is free software; you can redistribute it and/or modify
 ##   it under the terms of the GNU General Public License as published by
@@ -21,10 +21,10 @@ BTARGET = ldlinux.c32
 
 all: $(BTARGET) ldlinux_lnx.a
 
-ldlinux.c32 : ldlinux.o cli.o readconfig.o refstr.o colors.o getadv.o \
+ldlinux.elf : ldlinux.o cli.o readconfig.o refstr.o colors.o getadv.o \
                adv.o execute.o chainboot.o kernel.o get_key.o \
                advwrite.o setadv.o eprintf.o loadhigh.o msg.o
-       $(LD) $(LDFLAGS) -soname $(@F) -o $@ $^ $(LIBS)
+       $(LD) $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^ $(LIBS)
 
 LNXCFLAGS += -D__export='__attribute__((visibility("default")))'
 LNXLIBOBJS = get_key.lo
index f2a7376..bd0bab1 100644 (file)
@@ -19,7 +19,7 @@ MODULES         = gfxboot.c32
 
 all: $(MODULES)
 
-gfxboot.c32 : gfxboot.o realmode_callback.o $(LIBS) $(C_LIBS)
+gfxboot.elf : gfxboot.o realmode_callback.o $(LIBS) $(C_LIBS)
        $(LD) $(LDFLAGS) -o $@ $^
 
 realmode_callback.o: realmode_callback.asm
index 053e864..c704866 100644 (file)
@@ -21,8 +21,8 @@ COM32DIR = $(AUXDIR)/com32
 
 all: libcom32gpl.c32
 
-libcom32gpl.c32 : $(LIBOBJS)
-       $(LD) -shared $(LDFLAGS) -soname $(@F) -o $@ $^
+libcom32gpl.elf : $(LIBOBJS)
+       $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^
 
 tidy dist clean:
        find . \( -name \*.o -o -name .\*.d -o -name \*.tmp \) -print0 | \
index d264b5b..42f5c0d 100644 (file)
@@ -52,7 +52,7 @@ QEMU                  ?= qemu-kvm
 
 all: $(MODULES) $(TESTFILES)
 
-hdt.c32 : $(OBJS) $(LIBS) $(C_LIBS)
+hdt.elf : $(OBJS) $(LIBS) $(C_LIBS)
        $(LD) $(LDFLAGS) -o $@ $^
 
 memtest:
index 7806230..dd1ef7c 100644 (file)
@@ -214,9 +214,9 @@ COM32DIR = $(AUXDIR)/com32
 
 all: libcom32.c32 libcom32min.a libcom32core.a
 
-libcom32.c32 : $(LIBOBJS)
+libcom32.elf : $(LIBOBJS)
        rm -f $@
-       $(LD) -shared $(LDFLAGS) -soname $(@F) -o $@ $^
+       $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^
 
 libcom32min.a : $(MINLIBOBJS)
        rm -f $@
index fb437dc..42f69dc 100644 (file)
@@ -41,8 +41,9 @@ LNXLIBOBJS = $(patsubst %.o,%.lo,$(LIBOBJS))
 
 all: libutil_com.c32 libutil_lnx.a
 
-libutil_com.c32: $(LIBOBJS)
-       $(LD) $(LDFLAGS) -soname $(@F) -o $@ $^
+.PRECIOUS: libutil_com.elf
+libutil_com.elf: $(LIBOBJS)
+       $(LD) $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^
 
 libutil_lnx.a: $(LNXLIBOBJS)
        rm -f $@
index 01d1f81..d70d23e 100644 (file)
@@ -50,10 +50,11 @@ CFLAGS += -DLUA_ANSI
 
 all: $(MODULES) $(TESTFILES)
 
-$(LIBLUA) : $(LIBLUA_OBJS)
-       $(LD) -shared $(LDFLAGS) -o $@ $^
+liblua.elf : $(LIBLUA_OBJS)
+       $(LD) $(LDFLAGS) -shared -soname $(patsubst %.elf,%.c32,$(@F)) \
+               -o $@ $^
 
-lua.c32 : $(OBJS) $(LIBLUA) $(C_LIBS)
+lua.elf : $(OBJS) $(LIBLUA) $(C_LIBS)
        $(LD) $(LDFLAGS) -o $@ $^
 
 tidy dist:
index 02e9f49..6e010b1 100644 (file)
@@ -28,7 +28,7 @@ OBJS = mboot.o map.o mem.o initvesa.o apm.o solaris.o syslinux.o
 
 all: $(MODULES) $(TESTFILES)
 
-mboot.c32 : $(OBJS) $(C_LIBS)
+mboot.elf : $(OBJS) $(C_LIBS)
        $(LD) $(LDFLAGS) -o $@ $^
 
 tidy dist:
index b771945..e62c6b8 100644 (file)
@@ -28,10 +28,10 @@ COMMONOBJS = menumain.o readconfig.o passwd.o drain.o printmsg.o colors.o \
 
 all: $(MODULES) $(TESTFILES)
 
-menu.c32 : menu.o $(COMMONOBJS) $(C_LIBS)
+menu.elf : menu.o $(COMMONOBJS) $(C_LIBS)
        $(LD) $(LDFLAGS) -o $@ $^
 
-vesamenu.c32 : vesamenu.o $(COMMONOBJS) $(C_LIBS)
+vesamenu.elf : vesamenu.o $(COMMONOBJS) $(C_LIBS)
        $(LD) $(LDFLAGS) -o $@ $^
 
 tidy dist:
index 9cf4da8..628fa5d 100644 (file)
@@ -35,7 +35,7 @@ all: $(MODULES) $(TESTFILES)
 dmitest.o: dmitest.c
        $(CC) $(CFLAGS) $(GPLINCLUDE) -c -o $@ $<
 
-dmitest.c32 :  dmi_utils.o dmitest.o $(C_LIBS)
+dmitest.elf : dmi_utils.o dmitest.o $(C_LIBS)
        $(LD) $(LDFLAGS) -o $@ $^
 
 tidy dist:
index 8763b3c..7d42ae0 100644 (file)
@@ -45,7 +45,7 @@ CFLAGS    += -DDATE='"$(DATE)"'
 
 all: $(MODULES) $(TESTFILES)
 
-sysdump.c32 : $(OBJS) $(LIBS) $(C_LIBS)
+sysdump.elf : $(OBJS) $(LIBS) $(C_LIBS)
        $(LD) $(LDFLAGS) -o $@ $^
 
 tidy dist:
index 160dadc..f759b70 100644 (file)
--- a/mk/elf.mk
+++ b/mk/elf.mk
@@ -81,5 +81,9 @@ C_LNXLIBS  = $(com32)/libutil/libutil_lnx.a \
 %.lnx: %.lo $(LNXLIBS) $(C_LNXLIBS)
        $(CC) $(LNXCFLAGS) -o $@ $^
 
-%.c32: %.o $(C_LIBS)
+.PRECIOUS: %.elf
+%.elf: %.o $(C_LIBS)
        $(LD) $(LDFLAGS) -o $@ $^
+
+%.c32: %.elf
+       $(OBJCOPY) --strip-debug --strip-unneeded $< $@
index ea817e6..ca8e41b 100644 (file)
--- a/mk/lib.mk
+++ b/mk/lib.mk
@@ -79,3 +79,6 @@ LDFLAGS       = -m elf_i386 --hash-style=gnu -T $(com32)/lib/elf32.ld
 
 .c.ls:
        $(CC) $(MAKEDEPS) $(CFLAGS) $(SOFLAGS) -S -o $@ $<
+
+%.c32: %.elf
+       $(OBJCOPY) --strip-debug --strip-unneeded $< $@