summaryrefslogtreecommitdiffstats
path: root/arch/arm/pbl
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2012-07-27 06:03:12 +0800
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2012-08-03 18:09:15 +0800
commit53391b5a8dda0b8d33b5433db21e43c82cb5246d (patch)
tree5b2283cbb99f4f1b47e0809df53942663097d15e /arch/arm/pbl
parent78867e2bbd066df7d56e281e03a8cdbe82adf4e4 (diff)
downloadbarebox-53391b5a8dda0b8d33b5433db21e43c82cb5246d.tar.gz
barebox-53391b5a8dda0b8d33b5433db21e43c82cb5246d.tar.xz
pbl: discard unwind symbol if enable in barebox
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'arch/arm/pbl')
-rw-r--r--arch/arm/pbl/Makefile16
-rw-r--r--arch/arm/pbl/piggy.lzo.S6
-rw-r--r--arch/arm/pbl/zbarebox.lds.S4
3 files changed, 24 insertions, 2 deletions
diff --git a/arch/arm/pbl/Makefile b/arch/arm/pbl/Makefile
index 9b364bb35a..413591104f 100644
--- a/arch/arm/pbl/Makefile
+++ b/arch/arm/pbl/Makefile
@@ -1,7 +1,14 @@
+suffix_$(CONFIG_IMAGE_COMPRESSION_LZO) = lzo
+
OBJCOPYFLAGS_zbarebox.bin = -O binary
+piggy_o := piggy.$(suffix_y).o
+
+targets := zbarebox.lds zbarebox zbarebox.bin zbarebox.S \
+ $(piggy_o) piggy.$(suffix_y)
-targets := zbarebox.lds zbarebox zbarebox.bin zbarebox.S
+# Make sure files are removed during clean
+extra-y += piggy.gzip piggy.lzo piggy.lzma piggy.xzkern
$(obj)/zbarebox.bin: $(obj)/zbarebox FORCE
$(call if_changed,objcopy)
@@ -12,7 +19,7 @@ $(obj)/zbarebox.S: $(obj)/zbarebox FORCE
$(call if_changed,disasm)
LDFLAGS_zbarebox := -Map zbarebox.map
-zbarebox-common := $(barebox-pbl-common)
+zbarebox-common := $(barebox-pbl-common) $(obj)/$(piggy_o)
zbarebox-lds := $(obj)/zbarebox.lds
quiet_cmd_zbarebox__ ?= LD $@
@@ -23,3 +30,8 @@ quiet_cmd_zbarebox__ ?= LD $@
$(obj)/zbarebox: $(zbarebox-lds) $(zbarebox-common) FORCE
$(call if_changed,zbarebox__)
+
+$(obj)/piggy.$(suffix_y): $(obj)/../../../barebox.bin FORCE
+ $(call if_changed,$(suffix_y))
+
+$(obj)/$(piggy_o): $(obj)/piggy.$(suffix_y) FORCE
diff --git a/arch/arm/pbl/piggy.lzo.S b/arch/arm/pbl/piggy.lzo.S
new file mode 100644
index 0000000000..e0484c7d5c
--- /dev/null
+++ b/arch/arm/pbl/piggy.lzo.S
@@ -0,0 +1,6 @@
+ .section .piggydata,#alloc
+ .globl input_data
+input_data:
+ .incbin "arch/arm/pbl/piggy.lzo"
+ .globl input_data_end
+input_data_end:
diff --git a/arch/arm/pbl/zbarebox.lds.S b/arch/arm/pbl/zbarebox.lds.S
index b6e8028fd3..d58709030e 100644
--- a/arch/arm/pbl/zbarebox.lds.S
+++ b/arch/arm/pbl/zbarebox.lds.S
@@ -46,6 +46,10 @@ SECTIONS
__bare_init_end = .;
*(.text*)
}
+
+ /* Discard unwind if enable in barebox */
+ /DISCARD/ : { *(.ARM.ex*) }
+
BAREBOX_BARE_INIT_SIZE
. = ALIGN(4);