Package-Manager: portage-2.2.8-r1
RepoMan-Options: --force
This commit is contained in:
Mario Fetka
2014-10-15 15:55:08 +02:00
parent 1aa10fa499
commit b7c9510269
7 changed files with 262 additions and 13 deletions

View File

@@ -0,0 +1,92 @@
This patch has been reverted later on by
http://git.denx.de/?p=u-boot.git;a=commit;h=e3c52f2b8779469c843eb79282396f1a5ca3fef5
but we still need it to build the tools without having to configure
a full u-boot environment.
Signed-off-by: Markos Chandras <hwoarang@gentoo.org>
From: Mike Frysinger <vapier@gentoo.org>
Date: Sat, 10 Nov 2012 19:47:47 +0000 (+0000)
Subject: fw_env: fix building w/out a config.h
X-Git-Tag: v2013.01-rc3~19
X-Git-Url: http://git.denx.de/?p=u-boot.git;a=commitdiff_plain;h=92ace272d06cec1d7f1533bb9edf914fb5845fba;hp=7a546db2ffc6a713fb8009d8246c29da5420f6a7
fw_env: fix building w/out a config.h
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
---
diff --git a/tools/env/Makefile b/tools/env/Makefile
index 0e798e0..e6dc5f3 100644
--- a/tools/env/Makefile
+++ b/tools/env/Makefile
@@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
HOSTSRCS := $(SRCTREE)/lib/crc32.c fw_env.c fw_env_main.c
HOSTSRCS += $(SRCTREE)/lib/ctype.c $(SRCTREE)/lib/linux_string.c
HOSTSRCS += $(SRCTREE)/common/env_attr.c $(SRCTREE)/common/env_flags.c
-HEADERS := fw_env.h $(OBJTREE)/include/config.h
+HEADERS := fw_env.h
# Compile for a hosted environment on the target
HOSTCPPFLAGS = -idirafter $(SRCTREE)/include \
@@ -36,6 +36,15 @@ HOSTCPPFLAGS = -idirafter $(SRCTREE)/include \
-DUSE_HOSTCC \
-DTEXT_BASE=$(TEXT_BASE)
+# Pass CONFIG_xxx settings via the command line so that we can build w/out
+# a config.h file existing in the first place. Useful for generic builds.
+CONFIG_VARS_TO_PASS = \
+ ENV_OVERWRITE \
+ OVERWRITE_ETHADDR_ONCE \
+ ETHADDR
+HOSTCPPFLAGS += \
+ $(foreach x,$(CONFIG_VARS_TO_PASS),$(if $(CONFIG_$(x)),-DCONFIG_$(x)=$(CONFIG_$(x))))
+
ifeq ($(MTD_VERSION),old)
HOSTCPPFLAGS += -DMTD_OLD
endif
diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h
index a1a6807..19703c7 100644
--- a/tools/env/fw_env.h
+++ b/tools/env/fw_env.h
@@ -21,15 +21,6 @@
* MA 02111-1307 USA
*/
-/* Pull in the current config to define the default environment */
-#ifndef __ASSEMBLY__
-#define __ASSEMBLY__ /* get only #defines from config.h */
-#include <config.h>
-#undef __ASSEMBLY__
-#else
-#include <config.h>
-#endif
-
/*
* To build the utility with the static configuration
* comment out the next line.
@@ -52,22 +43,6 @@
#define DEVICE2_ENVSECTORS 2
#endif
-#ifndef CONFIG_BAUDRATE
-#define CONFIG_BAUDRATE 115200
-#endif
-
-#ifndef CONFIG_BOOTDELAY
-#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
-#endif
-
-#ifndef CONFIG_BOOTCOMMAND
-#define CONFIG_BOOTCOMMAND \
- "bootp; " \
- "setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} " \
- "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; " \
- "bootm"
-#endif
-
extern int fw_printenv(int argc, char *argv[]);
extern char *fw_getenv (char *name);
extern int fw_setenv (int argc, char *argv[]);

View File

@@ -0,0 +1,25 @@
We need to build u-boot tools without a board configuration for the target.
fw_env just uses config.h to define the default environment of the created
image, so it really isn't mandatory.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h
index aff471b..dfe7439 100644
--- a/tools/env/fw_env.h
+++ b/tools/env/fw_env.h
@@ -5,14 +5,6 @@
* SPDX-License-Identifier: GPL-2.0+
*/
-/* Pull in the current config to define the default environment */
-#ifndef __ASSEMBLY__
-#define __ASSEMBLY__ /* get only #defines from config.h */
-#include <config.h>
-#undef __ASSEMBLY__
-#else
-#include <config.h>
-#endif
/*
* To build the utility with the static configuration

View 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