[syslinux:elflink] Always strip all the modules

syslinux-bot for H. Peter Anvin hpa at linux.intel.com
Thu Jan 17 10:57:03 PST 2013


Commit-ID:  755ec12eac1030fc9dbffc9594386e07d0153b04
Gitweb:     http://www.syslinux.org/commit/755ec12eac1030fc9dbffc9594386e07d0153b04
Author:     H. Peter Anvin <hpa at linux.intel.com>
AuthorDate: Thu, 17 Jan 2013 10:54:40 -0800
Committer:  H. Peter Anvin <hpa at linux.intel.com>
CommitDate: Thu, 17 Jan 2013 10:54:40 -0800

Always strip all the modules

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 at linux.intel.com>

---
 com32/chain/Makefile           | 2 +-
 com32/cmenu/Makefile           | 9 +++++----
 com32/elflink/ldlinux/Makefile | 6 +++---
 com32/gfxboot/Makefile         | 2 +-
 com32/gpllib/Makefile          | 4 ++--
 com32/hdt/Makefile             | 2 +-
 com32/lib/Makefile             | 4 ++--
 com32/libutil/Makefile         | 5 +++--
 com32/lua/src/Makefile         | 7 ++++---
 com32/mboot/Makefile           | 2 +-
 com32/menu/Makefile            | 4 ++--
 com32/modules/Makefile         | 2 +-
 com32/sysdump/Makefile         | 2 +-
 mk/elf.mk                      | 6 +++++-
 mk/lib.mk                      | 3 +++
 15 files changed, 35 insertions(+), 25 deletions(-)

diff --git a/com32/chain/Makefile b/com32/chain/Makefile
index 9a298fa..ed37ffa 100644
--- a/com32/chain/Makefile
+++ b/com32/chain/Makefile
@@ -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
diff --git a/com32/cmenu/Makefile b/com32/cmenu/Makefile
index 181937b..f827afd 100644
--- a/com32/cmenu/Makefile
+++ b/com32/cmenu/Makefile
@@ -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
diff --git a/com32/elflink/ldlinux/Makefile b/com32/elflink/ldlinux/Makefile
index fa53226..b2d0cec 100644
--- a/com32/elflink/ldlinux/Makefile
+++ b/com32/elflink/ldlinux/Makefile
@@ -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
diff --git a/com32/gfxboot/Makefile b/com32/gfxboot/Makefile
index f2a7376..bd0bab1 100644
--- a/com32/gfxboot/Makefile
+++ b/com32/gfxboot/Makefile
@@ -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
diff --git a/com32/gpllib/Makefile b/com32/gpllib/Makefile
index 053e864..c704866 100644
--- a/com32/gpllib/Makefile
+++ b/com32/gpllib/Makefile
@@ -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 | \
diff --git a/com32/hdt/Makefile b/com32/hdt/Makefile
index d264b5b..42f5c0d 100644
--- a/com32/hdt/Makefile
+++ b/com32/hdt/Makefile
@@ -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:
diff --git a/com32/lib/Makefile b/com32/lib/Makefile
index 7806230..dd1ef7c 100644
--- a/com32/lib/Makefile
+++ b/com32/lib/Makefile
@@ -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 $@
diff --git a/com32/libutil/Makefile b/com32/libutil/Makefile
index fb437dc..42f69dc 100644
--- a/com32/libutil/Makefile
+++ b/com32/libutil/Makefile
@@ -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 $@
diff --git a/com32/lua/src/Makefile b/com32/lua/src/Makefile
index 01d1f81..d70d23e 100644
--- a/com32/lua/src/Makefile
+++ b/com32/lua/src/Makefile
@@ -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:
diff --git a/com32/mboot/Makefile b/com32/mboot/Makefile
index 02e9f49..6e010b1 100644
--- a/com32/mboot/Makefile
+++ b/com32/mboot/Makefile
@@ -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:
diff --git a/com32/menu/Makefile b/com32/menu/Makefile
index b771945..e62c6b8 100644
--- a/com32/menu/Makefile
+++ b/com32/menu/Makefile
@@ -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:
diff --git a/com32/modules/Makefile b/com32/modules/Makefile
index 9cf4da8..628fa5d 100644
--- a/com32/modules/Makefile
+++ b/com32/modules/Makefile
@@ -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:
diff --git a/com32/sysdump/Makefile b/com32/sysdump/Makefile
index 8763b3c..7d42ae0 100644
--- a/com32/sysdump/Makefile
+++ b/com32/sysdump/Makefile
@@ -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:
diff --git a/mk/elf.mk b/mk/elf.mk
index 160dadc..f759b70 100644
--- 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 $< $@
diff --git a/mk/lib.mk b/mk/lib.mk
index ea817e6..ca8e41b 100644
--- 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 $< $@


More information about the Syslinux-commits mailing list