From: Stephen Warren <swar...@nvidia.com>

Commit 896bbb5 "fdt: avoid bad MAKEALL status" added logic to capture
the result code from dtc by echoing $? to stdout and capturing it using
$(). However, dtc emits some diagnostics to stderr and some to stdout.
The diagnostics send to stdout ended up getting captured via $() rather
than being echo'd to the user. This caused those diagnostics to be passed
to the exit command, which would then fail with the following cryptic
error message:

    /bin/sh: line 1: exit: too many arguments

Solve this by redirecting all dtc output to stderr so that $() does not
capture it. This allows the user to see the actual error message from dtc.

Cc: Wolfgang Denk <w...@denx.de>
Cc: Simon Glass <s...@chromium.org>
Cc: albert.u.b...@aribaud.net
Cc: Tom Warren <twar...@nvidia.com>
Signed-off-by: Stephen Warren <swar...@nvidia.com>
---
 dts/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dts/Makefile b/dts/Makefile
index 914e479..402dfe1 100644
--- a/dts/Makefile
+++ b/dts/Makefile
@@ -51,7 +51,7 @@ $(DT_BIN): $(TOPDIR)/board/$(VENDOR)/dts/$(DEVICE_TREE).dts
                { { $(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} - 2>&1 ; \
                    echo $$? >&3 ; } | \
                  grep -v '^DTC: dts->dtb  on file' ; \
-               } 3>&1 ) ; \
+               } 3>&1 1>&2 ) ; \
        exit $$rc
 
 process_lds = \
-- 
1.7.0.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to