2016-03-07 12:31 GMT+09:00 Simon Glass <s...@chromium.org>: > Hi Masahiro, > > On 6 March 2016 at 20:07, Masahiro Yamada <yamada.masah...@socionext.com> > wrote: >> Hi Simon, >> >> >> 2016-03-07 11:45 GMT+09:00 Simon Glass <s...@chromium.org>: >>> This tool requires that the aliases node be the first node in the tree. But >>> when it is not, it does not handle things gracefully. In fact it crashes. >>> >>> Fix this, and add a more helpful error message. >>> >>> Signed-off-by: Simon Glass <s...@chromium.org> >>> Reported-by: Masahiro Yamada <yamada.masah...@socionext.com> >> >> >> I think this patch would diplay a clearer hint, >> but would not solve the root cause. >> >> >> >> fdtgrep still crashes with the following DTS: > > Crashes?
Yes. I applied your patch, but fdtgrep still would not work. Please try this. $ git clone git://git.denx.de/u-boot-uniphier.git $ cd u-boot-uniphier $ git checkout -b for-simon origin/for-simon $ make uniphier_ld20_defconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf # # configuration written to .config # $ make CROSS_COMPILE=aarch64-linux-gnu- scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config.h UPD include/config.h GEN include/autoconf.mk GEN include/autoconf.mk.dep GEN spl/include/autoconf.mk CHK include/config/uboot.release UPD include/config/uboot.release CHK include/generated/version_autogenerated.h UPD include/generated/version_autogenerated.h CHK include/generated/timestamp_autogenerated.h UPD include/generated/timestamp_autogenerated.h CC lib/asm-offsets.s CHK include/generated/generic-asm-offsets.h UPD include/generated/generic-asm-offsets.h CC arch/arm/lib/asm-offsets.s CHK include/generated/asm-offsets.h UPD include/generated/asm-offsets.h HOSTCC tools/gen_eth_addr HOSTCC tools/img2srec HOSTCC tools/mkenvimage.o HOSTCC tools/os_support.o WRAP tools/lib/crc32.c HOSTCC tools/lib/crc32.o HOSTLD tools/mkenvimage HOSTCC tools/aisimage.o HOSTCC tools/atmelimage.o WRAP tools/common/bootm.c HOSTCC tools/common/bootm.o HOSTCC tools/default_image.o WRAP tools/lib/fdtdec_common.c HOSTCC tools/lib/fdtdec_common.o WRAP tools/lib/fdtdec.c HOSTCC tools/lib/fdtdec.o HOSTCC tools/fit_common.o HOSTCC tools/fit_image.o HOSTCC tools/gpimage.o HOSTCC tools/gpimage-common.o WRAP tools/common/image-fit.c HOSTCC tools/common/image-fit.o HOSTCC tools/image-host.o WRAP tools/common/image.c HOSTCC tools/common/image.o HOSTCC tools/imagetool.o HOSTCC tools/imximage.o HOSTCC tools/kwbimage.o WRAP tools/lib/md5.c HOSTCC tools/lib/md5.o HOSTCC tools/lpc32xximage.o HOSTCC tools/mxsimage.o HOSTCC tools/omapimage.o HOSTCC tools/pblimage.o HOSTCC tools/pbl_crc32.o WRAP tools/lib/rc4.c HOSTCC tools/lib/rc4.o HOSTCC tools/rkcommon.o HOSTCC tools/rkimage.o HOSTCC tools/rksd.o HOSTCC tools/rkspi.o HOSTCC tools/socfpgaimage.o WRAP tools/lib/sha1.c HOSTCC tools/lib/sha1.o WRAP tools/lib/sha256.c HOSTCC tools/lib/sha256.o WRAP tools/common/hash.c HOSTCC tools/common/hash.o HOSTCC tools/ublimage.o HOSTCC tools/zynqimage.o WRAP tools/lib/libfdt/fdt.c HOSTCC tools/lib/libfdt/fdt.o WRAP tools/lib/libfdt/fdt_ro.c HOSTCC tools/lib/libfdt/fdt_ro.o WRAP tools/lib/libfdt/fdt_rw.c HOSTCC tools/lib/libfdt/fdt_rw.o WRAP tools/lib/libfdt/fdt_strerror.c HOSTCC tools/lib/libfdt/fdt_strerror.o WRAP tools/lib/libfdt/fdt_wip.c HOSTCC tools/lib/libfdt/fdt_wip.o WRAP tools/lib/libfdt/fdt_region.c HOSTCC tools/lib/libfdt/fdt_region.o HOSTCC tools/dumpimage.o HOSTLD tools/dumpimage HOSTCC tools/mkimage.o HOSTLD tools/mkimage HOSTCC tools/proftool HOSTCC tools/relocate-rela HOSTCC tools/fdtgrep.o HOSTLD tools/fdtgrep LD arch/arm/cpu/built-in.o CC arch/arm/cpu/armv8/cpu.o CC arch/arm/cpu/armv8/generic_timer.o CC arch/arm/cpu/armv8/cache_v8.o AS arch/arm/cpu/armv8/exceptions.o AS arch/arm/cpu/armv8/cache.o AS arch/arm/cpu/armv8/tlb.o AS arch/arm/cpu/armv8/transition.o CC arch/arm/cpu/armv8/fwcall.o LD arch/arm/cpu/armv8/built-in.o AS arch/arm/cpu/armv8/start.o AS arch/arm/lib/crt0_64.o AS arch/arm/lib/relocate_64.o CC arch/arm/lib/bootm-fdt.o CC arch/arm/lib/bootm.o CC arch/arm/lib/sections.o CC arch/arm/lib/stack.o AS arch/arm/lib/ccn504.o AS arch/arm/lib/gic_64.o CC arch/arm/lib/interrupts_64.o CC arch/arm/lib/reset.o CC arch/arm/lib/cache.o LD arch/arm/lib/built-in.o AR arch/arm/lib/lib.a CC arch/arm/mach-uniphier/board_early_init_f.o CC arch/arm/mach-uniphier/cpu_info.o CC arch/arm/mach-uniphier/print_misc_info.o CC arch/arm/mach-uniphier/dram_init.o CC arch/arm/mach-uniphier/board_common.o CC arch/arm/mach-uniphier/board_early_init_r.o CC arch/arm/mach-uniphier/board_late_init.o CC arch/arm/mach-uniphier/reset.o LD arch/arm/mach-uniphier/arm64/built-in.o CC arch/arm/mach-uniphier/boot-mode/boot-mode.o CC arch/arm/mach-uniphier/boot-mode/boot-mode-ld20.o CC arch/arm/mach-uniphier/boot-mode/cmd_pinmon.o LD arch/arm/mach-uniphier/boot-mode/built-in.o LD arch/arm/mach-uniphier/clk/built-in.o LD arch/arm/mach-uniphier/dram/built-in.o LD arch/arm/mach-uniphier/pinctrl/built-in.o CC arch/arm/mach-uniphier/boards.o CC arch/arm/mach-uniphier/soc_info.o CC arch/arm/mach-uniphier/micro-support-card.o LD arch/arm/mach-uniphier/built-in.o CC cmd/boot.o CC cmd/bootm.o CC cmd/help.o CC cmd/version.o CC cmd/source.o CC cmd/bdinfo.o CC cmd/console.o CC cmd/echo.o CC cmd/elf.o CC cmd/exit.o CC cmd/fat.o CC cmd/fdt.o CC cmd/flash.o CC cmd/gpio.o CC cmd/i2c.o CC cmd/itest.o CC cmd/load.o CC cmd/mem.o CC cmd/mmc.o CC cmd/nand.o CC cmd/net.o CC cmd/pcmcia.o CC cmd/setexpr.o CC cmd/time.o CC cmd/test.o CC cmd/usb.o CC cmd/nvedit.o CC cmd/disk.o LD cmd/built-in.o CC common/init/board_init.o LD common/init/built-in.o CC common/main.o CC common/exports.o CC common/hash.o CC common/cli_hush.o CC common/autoboot.o CC common/board_f.o CC common/board_r.o CC common/board_info.o CC common/bootm.o CC common/bootm_os.o CC common/env_attr.o CC common/env_callback.o CC common/env_flags.o CC common/env_mmc.o CC common/fdt_support.o CC common/usb.o CC common/usb_hub.o CC common/usb_storage.o CC common/flash.o CC common/splash.o CC common/env_common.o CC common/console.o CC common/dlmalloc.o CC common/malloc_simple.o CC common/image.o CC common/image-fdt.o CC common/memsize.o CC common/stdio.o CC common/cli_simple.o CC common/cli.o CC common/cli_readline.o CC common/command.o CC common/s_record.o CC common/xyzModem.o LD common/built-in.o CC disk/part.o CC disk/part_dos.o LD disk/built-in.o LD drivers/adc/built-in.o CC drivers/block/disk-uclass.o LD drivers/block/built-in.o CC drivers/clk/clk-uclass.o CC drivers/clk/clk_fixed_rate.o CC drivers/clk/uniphier/clk-uniphier-core.o CC drivers/clk/uniphier/clk-uniphier-mio.o LD drivers/clk/uniphier/built-in.o LD drivers/clk/built-in.o CC drivers/core/device.o CC drivers/core/lists.o CC drivers/core/root.o CC drivers/core/uclass.o CC drivers/core/util.o CC drivers/core/device-remove.o CC drivers/core/simple-bus.o CC drivers/core/dump.o LD drivers/core/built-in.o CC drivers/crypto/fsl/sec.o LD drivers/crypto/fsl/built-in.o LD drivers/crypto/rsa_mod_exp/built-in.o LD drivers/crypto/built-in.o LD drivers/dfu/built-in.o LD drivers/hwmon/built-in.o CC drivers/input/input.o CC drivers/input/key_matrix.o LD drivers/input/built-in.o LD drivers/memory/built-in.o CC drivers/misc/i2c_eeprom.o LD drivers/misc/built-in.o CC drivers/pcmcia/tqm8xx_pcmcia.o LD drivers/pcmcia/built-in.o CC drivers/pinctrl/pinctrl-uclass.o CC drivers/pinctrl/pinctrl-generic.o LD drivers/pinctrl/nxp/built-in.o LD drivers/pinctrl/uniphier/built-in.o LD drivers/pinctrl/built-in.o LD drivers/pwm/built-in.o CC drivers/rtc/date.o LD drivers/rtc/built-in.o LD drivers/soc/built-in.o LD drivers/sound/built-in.o LD drivers/thermal/built-in.o LD drivers/timer/built-in.o LD drivers/tpm/built-in.o LD drivers/twserial/built-in.o LD drivers/video/bridge/built-in.o LD drivers/video/built-in.o LD drivers/watchdog/built-in.o LD drivers/built-in.o LD drivers/dma/built-in.o CC drivers/gpio/gpio-uclass.o CC drivers/gpio/gpio-uniphier.o LD drivers/gpio/built-in.o CC drivers/i2c/i2c-uclass.o CC drivers/i2c/i2c-uniphier.o CC drivers/i2c/i2c-uniphier-f.o LD drivers/i2c/built-in.o CC drivers/mmc/mmc-uclass.o CC drivers/mmc/mmc.o CC drivers/mmc/uniphier-sd.o CC drivers/mmc/mmc_write.o LD drivers/mmc/built-in.o CC drivers/mtd/mtdcore.o CC drivers/mtd/mtd_uboot.o CC drivers/mtd/cfi_flash.o LD drivers/mtd/built-in.o CC drivers/mtd/nand/nand.o CC drivers/mtd/nand/nand_bbt.o CC drivers/mtd/nand/nand_ids.o CC drivers/mtd/nand/nand_util.o CC drivers/mtd/nand/nand_ecc.o CC drivers/mtd/nand/nand_base.o CC drivers/mtd/nand/nand_timings.o CC drivers/mtd/nand/denali.o LD drivers/mtd/nand/built-in.o LD drivers/mtd/onenand/built-in.o LD drivers/mtd/spi/built-in.o CC drivers/net/smc911x.o LD drivers/net/built-in.o LD drivers/net/phy/built-in.o LD drivers/pci/built-in.o LD drivers/power/built-in.o LD drivers/power/battery/built-in.o LD drivers/power/fuel_gauge/built-in.o LD drivers/power/mfd/built-in.o LD drivers/power/pmic/built-in.o LD drivers/power/regulator/built-in.o CC drivers/serial/serial-uclass.o CC drivers/serial/serial_uniphier.o LD drivers/serial/built-in.o CC drivers/spi/spi.o LD drivers/spi/built-in.o LD drivers/usb/dwc3/built-in.o LD drivers/usb/emul/built-in.o LD drivers/usb/eth/built-in.o LD drivers/usb/gadget/built-in.o LD drivers/usb/gadget/udc/built-in.o CC drivers/usb/host/xhci.o CC drivers/usb/host/xhci-mem.o CC drivers/usb/host/xhci-ring.o CC drivers/usb/host/xhci-uniphier.o LD drivers/usb/host/built-in.o LD drivers/usb/musb-new/built-in.o LD drivers/usb/musb/built-in.o LD drivers/usb/phy/built-in.o LD drivers/usb/ulpi/built-in.o CC fs/fs.o CC fs/fat/fat_write.o CC fs/fat/file.o LD fs/fat/built-in.o LD fs/built-in.o CC lib/libfdt/fdt.o CC lib/libfdt/fdt_ro.o CC lib/libfdt/fdt_rw.o CC lib/libfdt/fdt_strerror.o CC lib/libfdt/fdt_sw.o CC lib/libfdt/fdt_wip.o CC lib/libfdt/fdt_empty_tree.o CC lib/libfdt/fdt_addresses.o CC lib/libfdt/fdt_region.o LD lib/libfdt/built-in.o CC lib/zlib/zlib.o LD lib/zlib/built-in.o CC lib/crc7.o CC lib/crc8.o CC lib/crc16.o CC lib/fdtdec_common.o CC lib/fdtdec.o CC lib/gunzip.o CC lib/initcall.o CC lib/lmb.o CC lib/ldiv.o CC lib/net_utils.o CC lib/qsort.o CC lib/rc4.o CC lib/strmhz.o CC lib/list_sort.o CC lib/hashtable.o CC lib/errno.o CC lib/display_options.o CC lib/crc32.o CC lib/ctype.o CC lib/div64.o CC lib/hang.o CC lib/linux_compat.o CC lib/linux_string.o CC lib/membuff.o CC lib/slre.o CC lib/string.o CC lib/time.o CC lib/rand.o CC lib/vsprintf.o CC lib/panic.o CC lib/strto.o LD lib/built-in.o CC net/checksum.o CC net/arp.o CC net/bootp.o CC net/eth_legacy.o CC net/eth_common.o CC net/net.o CC net/nfs.o CC net/ping.o CC net/tftp.o LD net/built-in.o LD test/built-in.o CC test/dm/cmd_dm.o LD test/dm/built-in.o CC examples/standalone/stubs.o LD examples/standalone/libstubs.o CC examples/standalone/hello_world.o LD examples/standalone/hello_world CC examples/standalone/smc911x_eeprom.o LD examples/standalone/smc911x_eeprom OBJCOPY examples/standalone/hello_world.srec OBJCOPY examples/standalone/smc911x_eeprom.srec OBJCOPY examples/standalone/hello_world.bin OBJCOPY examples/standalone/smc911x_eeprom.bin LDS u-boot.lds LD u-boot OBJCOPY u-boot.srec OBJCOPY u-boot-nodtb.bin start=$(aarch64-linux-gnu-nm u-boot | grep __rel_dyn_start | cut -f 1 -d ' '); end=$(aarch64-linux-gnu-nm u-boot | grep __rel_dyn_end | cut -f 1 -d ' '); tools/relocate-rela u-boot-nodtb.bin 0x84000000 $start $end DTC arch/arm/dts/uniphier-ph1-ld20-ref.dtb DTC arch/arm/dts/uniphier-ph1-ld4-ref.dtb DTC arch/arm/dts/uniphier-ph1-ld6b-ref.dtb DTC arch/arm/dts/uniphier-ph1-pro4-ace.dtb DTC arch/arm/dts/uniphier-ph1-pro4-ref.dtb DTC arch/arm/dts/uniphier-ph1-pro4-sanji.dtb DTC arch/arm/dts/uniphier-ph1-pro5-4kbox.dtb DTC arch/arm/dts/uniphier-ph1-sld3-ref.dtb DTC arch/arm/dts/uniphier-ph1-sld8-ref.dtb DTC arch/arm/dts/uniphier-proxstream2-gentil.dtb DTC arch/arm/dts/uniphier-proxstream2-vodka.dtb SHIPPED dts/dt.dtb CAT u-boot-dtb.bin COPY u-boot.bin SYM u-boot.sym CFG u-boot.cfg LD spl/arch/arm/mach-uniphier/arm64/built-in.o LD spl/arch/arm/mach-uniphier/bcu/built-in.o CC spl/arch/arm/mach-uniphier/boot-mode/boot-mode.o CC spl/arch/arm/mach-uniphier/boot-mode/boot-mode-ld20.o CC spl/arch/arm/mach-uniphier/boot-mode/cmd_pinmon.o LD spl/arch/arm/mach-uniphier/boot-mode/built-in.o CC spl/arch/arm/mach-uniphier/dram/umc-ld20.o LD spl/arch/arm/mach-uniphier/dram/built-in.o LD spl/arch/arm/mach-uniphier/early-clk/built-in.o LD spl/arch/arm/mach-uniphier/early-pinctrl/built-in.o CC spl/arch/arm/mach-uniphier/init/init.o CC spl/arch/arm/mach-uniphier/init/init-ld20.o LD spl/arch/arm/mach-uniphier/init/built-in.o CC spl/arch/arm/mach-uniphier/memconf/memconf.o CC spl/arch/arm/mach-uniphier/memconf/memconf-pxs2.o LD spl/arch/arm/mach-uniphier/memconf/built-in.o LD spl/arch/arm/mach-uniphier/pll/built-in.o CC spl/arch/arm/mach-uniphier/sbc/sbc-savepin.o LD spl/arch/arm/mach-uniphier/sbc/built-in.o CC spl/arch/arm/mach-uniphier/boards.o CC spl/arch/arm/mach-uniphier/soc_info.o CC spl/arch/arm/mach-uniphier/micro-support-card.o LD spl/arch/arm/mach-uniphier/built-in.o CC spl/arch/arm/cpu/armv8/cpu.o CC spl/arch/arm/cpu/armv8/generic_timer.o CC spl/arch/arm/cpu/armv8/cache_v8.o AS spl/arch/arm/cpu/armv8/exceptions.o AS spl/arch/arm/cpu/armv8/cache.o AS spl/arch/arm/cpu/armv8/tlb.o AS spl/arch/arm/cpu/armv8/transition.o CC spl/arch/arm/cpu/armv8/fwcall.o LD spl/arch/arm/cpu/armv8/built-in.o AS spl/arch/arm/cpu/armv8/start.o LD spl/arch/arm/cpu/built-in.o AS spl/arch/arm/lib/crt0_64.o CC spl/arch/arm/lib/spl.o CC spl/arch/arm/lib/sections.o CC spl/arch/arm/lib/stack.o AS spl/arch/arm/lib/ccn504.o AS spl/arch/arm/lib/gic_64.o CC spl/arch/arm/lib/interrupts_64.o CC spl/arch/arm/lib/reset.o CC spl/arch/arm/lib/cache.o LD spl/arch/arm/lib/built-in.o AR spl/arch/arm/lib/lib.a CC spl/common/spl/spl.o CC spl/common/spl/spl_nor.o CC spl/common/spl/spl_nand.o CC spl/common/spl/spl_mmc.o LD spl/common/spl/built-in.o CC spl/common/init/board_init.o LD spl/common/init/built-in.o CC spl/common/env_common.o CC spl/common/console.o CC spl/common/dlmalloc.o CC spl/common/malloc_simple.o CC spl/common/image.o CC spl/common/image-fdt.o CC spl/common/memsize.o CC spl/common/stdio.o CC spl/common/cli_simple.o CC spl/common/cli.o CC spl/common/cli_readline.o CC spl/common/command.o CC spl/common/s_record.o CC spl/common/xyzModem.o LD spl/common/built-in.o CC spl/cmd/nvedit.o CC spl/cmd/disk.o LD spl/cmd/built-in.o CC spl/drivers/clk/clk-uclass.o CC spl/drivers/clk/clk_fixed_rate.o CC spl/drivers/clk/uniphier/clk-uniphier-core.o CC spl/drivers/clk/uniphier/clk-uniphier-mio.o LD spl/drivers/clk/uniphier/built-in.o LD spl/drivers/clk/built-in.o CC spl/drivers/core/device.o CC spl/drivers/core/lists.o CC spl/drivers/core/root.o CC spl/drivers/core/uclass.o CC spl/drivers/core/util.o CC spl/drivers/core/simple-bus.o CC spl/drivers/core/dump.o LD spl/drivers/core/built-in.o CC spl/drivers/mmc/mmc-uclass.o CC spl/drivers/mmc/mmc.o CC spl/drivers/mmc/uniphier-sd.o LD spl/drivers/mmc/built-in.o CC spl/drivers/mtd/nand/denali_spl.o LD spl/drivers/mtd/nand/built-in.o CC spl/drivers/pinctrl/pinctrl-uclass.o CC spl/drivers/pinctrl/pinctrl-generic.o LD spl/drivers/pinctrl/nxp/built-in.o LD spl/drivers/pinctrl/uniphier/built-in.o LD spl/drivers/pinctrl/built-in.o CC spl/drivers/serial/serial-uclass.o CC spl/drivers/serial/serial_uniphier.o LD spl/drivers/serial/built-in.o LD spl/drivers/built-in.o LD spl/dts/built-in.o LD spl/fs/built-in.o CC spl/lib/libfdt/fdt.o CC spl/lib/libfdt/fdt_ro.o CC spl/lib/libfdt/fdt_rw.o CC spl/lib/libfdt/fdt_strerror.o CC spl/lib/libfdt/fdt_sw.o CC spl/lib/libfdt/fdt_wip.o CC spl/lib/libfdt/fdt_empty_tree.o CC spl/lib/libfdt/fdt_addresses.o CC spl/lib/libfdt/fdt_region.o LD spl/lib/libfdt/built-in.o CC spl/lib/fdtdec_common.o CC spl/lib/fdtdec.o CC spl/lib/hashtable.o CC spl/lib/errno.o CC spl/lib/display_options.o CC spl/lib/crc32.o CC spl/lib/ctype.o CC spl/lib/div64.o CC spl/lib/hang.o CC spl/lib/linux_compat.o CC spl/lib/linux_string.o CC spl/lib/membuff.o CC spl/lib/slre.o CC spl/lib/string.o CC spl/lib/time.o CC spl/lib/rand.o CC spl/lib/vsprintf.o CC spl/lib/panic.o CC spl/lib/strto.o LD spl/lib/built-in.o LDS spl/u-boot-spl.lds LD spl/u-boot-spl OBJCOPY spl/u-boot-spl-nodtb.bin FDTGREP spl/u-boot-spl.dtb Error at 'fdt_find_regions': FDT_ERR_BADLAYOUT /aliases node must come before all other nodes Error: FDT_ERR_BADMAGIC make[1]: *** [spl/u-boot-spl.dtb] Error 1 make: *** [spl/u-boot-spl] Error 2 -- Best Regards Masahiro Yamada _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot