fdt: send all dtc output to stderr
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 <wd@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: albert.u.boot@aribaud.net
Cc: Tom Warren <twarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
b8032734ee
commit
58e22f8a15
1 changed files with 1 additions and 1 deletions
|
@ -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 = \
|
||||
|
|
Loading…
Reference in a new issue