mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-24 22:13:34 +08:00
uboot-tools: add patch to fix (no)stripping on non-ELF platforms
On Blackfin FLAT, stripping does not exist, but recent U-Boot versions nonetheless try to strip and fail if they cannot do so. This commit adds a U-Boot patch (submitted upstream) that solves this issue. Fixes: http://autobuild.buildroot.org/results/153/1530f8247d1652da5779994f298141b1572ce74f/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
f9a11a8fed
commit
11323613a8
61
package/uboot-tools/uboot-tools-02-nostrip.patch
Normal file
61
package/uboot-tools/uboot-tools-02-nostrip.patch
Normal file
@ -0,0 +1,61 @@
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user