62 lines
2.1 KiB
Diff
62 lines
2.1 KiB
Diff
|
From 17e0d6ddd1dc5d04b8032bde2f2076134b0c6dd7 Mon Sep 17 00:00:00 2001
|
||
|
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||
|
Date: Wed, 27 Aug 2014 14:21:32 +0200
|
||
|
Subject: [PATCH] tools/env: change stripping strategy to allow no-stripping
|
||
|
|
||
|
When building the U-Boot tools for non-ELF platforms (such as Blackfin
|
||
|
FLAT), since commit 79fc0c5f498c3982aa4740c273ab1a9255063d9c
|
||
|
("tools/env: cross-compile fw_printenv without setting HOSTCC"), the
|
||
|
build fails because it tries to strip a FLAT binary, which does not
|
||
|
make sense.
|
||
|
|
||
|
This commit solves this by changing the stripping logic in
|
||
|
tools/env/Makefile to be similar to the one in tools/Makefile. This
|
||
|
logic continues to apply strip to the final binary, but does not abort
|
||
|
the build if it fails, and does the stripping in place on the final
|
||
|
binary. This allows the logic to work fine if stripping doesn't work,
|
||
|
as it leaves the final binary untouched.
|
||
|
|
||
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||
|
Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
|
||
|
Cc: Sonic Zhang <sonic.zhang@analog.com>
|
||
|
---
|
||
|
An improved solution would be to be able to override STRIP completely
|
||
|
by setting it to /bin/true, but the main Makefile enforces STRIP =
|
||
|
$(CROSS_COMPILE)strip.
|
||
|
|
||
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||
|
---
|
||
|
tools/env/Makefile | 14 ++++++++------
|
||
|
1 file changed, 8 insertions(+), 6 deletions(-)
|
||
|
|
||
|
diff --git a/tools/env/Makefile b/tools/env/Makefile
|
||
|
index f5368bc..d047aa5 100644
|
||
|
--- a/tools/env/Makefile
|
||
|
+++ b/tools/env/Makefile
|
||
|
@@ -21,14 +21,16 @@ HOST_EXTRACFLAGS += -DMTD_OLD
|
||
|
endif
|
||
|
|
||
|
always := fw_printenv
|
||
|
-hostprogs-y := fw_printenv_unstripped
|
||
|
+hostprogs-y := fw_printenv
|
||
|
|
||
|
-fw_printenv_unstripped-objs := fw_env.o fw_env_main.o \
|
||
|
+fw_printenv-objs := fw_env.o fw_env_main.o \
|
||
|
crc32.o ctype.o linux_string.o \
|
||
|
env_attr.o env_flags.o aes.o
|
||
|
|
||
|
-quiet_cmd_strip = STRIP $@
|
||
|
- cmd_strip = $(STRIP) -o $@ $<
|
||
|
+quiet_cmd_crosstools_strip = STRIP $^
|
||
|
+ cmd_crosstools_strip = $(STRIP) $^; touch $@
|
||
|
|
||
|
-$(obj)/fw_printenv: $(obj)/fw_printenv_unstripped FORCE
|
||
|
- $(call if_changed,strip)
|
||
|
+$(obj)/.strip: $(obj)/fw_printenv
|
||
|
+ $(call cmd,crosstools_strip)
|
||
|
+
|
||
|
+always += .strip
|
||
|
--
|
||
|
2.0.0
|
||
|
|