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 79fc0c5f49
("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>
Reviewed-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Reviewed-by: Sonic Zhang <sonic.zhang@analog.com>
This commit is contained in:
parent
e5bf9878ea
commit
bdc7dc4595
14
tools/env/Makefile
vendored
14
tools/env/Makefile
vendored
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user