Re: [U-Boot] [PATCH] Strip dead code on omap3 devices

2011-04-20 Thread Charles Manning
On Wednesday 20 April 2011 15:51:56 Charles Manning wrote:
 Garbage collect code that isn't used.

 Saves a good few kbytes.


Sorry folks. THis patch is broken.

I'll submit another.

Charles
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] Strip dead code on omap3 devices

2011-04-19 Thread Charles Manning

Garbage collect code that isn't used.

Saves a good few kbytes.

Signed-off-by: Charles Manning cdhmann...@gmail.com
---
 Makefile  |2 +-
 arch/arm/config.mk|6 ++
 arch/arm/cpu/armv7/u-boot.lds |6 +++---
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 713dba1..1ba3e3a 100644
--- a/Makefile
+++ b/Makefile
@@ -368,7 +368,7 @@ $(obj)u-boot.dis:   $(obj)u-boot
 GEN_UBOOT = \
UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
sed  -n -e 
's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
-   cd $(LNDIR)  $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) $$UNDEF_SYM 
$(__OBJS) \
+   cd $(LNDIR)  $(LD) $(LDFLAGS) $(LDFLAGSFINAL) 
$(LDFLAGS_$(@F)) 
$$UNDEF_SYM $(__OBJS) \
--start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
-Map u-boot.map -o u-boot
 $(obj)u-boot:  depend \
diff --git a/arch/arm/config.mk b/arch/arm/config.mk
index fcc26a2..02cc9b2 100644
--- a/arch/arm/config.mk
+++ b/arch/arm/config.mk
@@ -67,3 +67,9 @@ LDSCRIPT := $(SRCTREE)/$(CPUDIR)/u-boot.lds
 ifndef CONFIG_NAND_SPL
 LDFLAGS_u-boot += -pie
 endif
+
+# Dead code stripping
+CFLAGS += -ffunction-sections
+CFLAGS += -fdata-sections
+LDFLAGS += --cref
+LDFLAGSFINAL += --cref --gc-sections
diff --git a/arch/arm/cpu/armv7/u-boot.lds b/arch/arm/cpu/armv7/u-boot.lds
index dbae54d..f1267b5 100644
--- a/arch/arm/cpu/armv7/u-boot.lds
+++ b/arch/arm/cpu/armv7/u-boot.lds
@@ -34,8 +34,8 @@ SECTIONS
. = ALIGN(4);
.text   :
{
-   arch/arm/cpu/armv7/start.o  (.text)
-   *(.text)
+   KEEP(arch/arm/cpu/armv7/start.o (.text*))
+   *(.text*)
}
 
. = ALIGN(4);
@@ -70,7 +70,7 @@ SECTIONS
 
.bss __rel_dyn_start (OVERLAY) : {
__bss_start = .;
-   *(.bss)
+   *(.bss*)
 . = ALIGN(4);
__bss_end__ = .;
}
-- 
1.7.1
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot