[U-Boot] New Oxford Semiconductor board with assertion fail in linker

Paul Gortmaker paul.gortmaker at windriver.com
Tue Dec 20 03:19:10 CET 2011


On Mon, Dec 19, 2011 at 5:26 PM, Michael Kebe <michael.kebe at gmail.com> wrote:

> Here is the output from a bootup of the old U-Boot:

[...]

>
> U-Boot 1.1.2 (Jun 24 2011 - 09:41:57)

[...]

>
> However even if I try to build with these addresses, the linking
> crashes with even more assertion fails:

Everyone always feels that they need to do a big uprev in one
giant step.  That is not an insult in any way -- I've also done the
same thing.  But even if you get it compiled, are you ready to debug
silent-boot-death where you don't get a single byte out the UART?
The probability of this happening is relatively high, since your
origin tree is so old and predates the config.mk removal stuff.

I think in a case like this, you would be well served to start with smaller
steps, since your origin is so old.  Try moving it just to U-Boot-1_1_4 and
see if you can make that work.  THat will ensure your process, and your
toolchain and your install are OK.  Then maybe U-Boot-1_2_0 and then
next to v1.3.0, then v1.3.4, then v2008.10 and so on.

In doing so, you'll have a chance to test your images along the way,
and you'll eventually find the region in which the assertion failures
appear for the 1st time.  Sometimes you simply can't see the problems
by staring at the code; you really need to know at what point they
1st appeared.

Your patches should be largely portable, since they mostly create new
files, and should only make small changes to existing Makefiles, etc.
So the task is not too hard to attack incrementally.

Using "git rebase" and enabling "git rerere" in your .gitconfig will be
something you'll want to make use of.  Once you've got a definitive
"good" version, and a definitive "bad" version, you can even make
use of git bisect, as long as you remember to layer on your patches
at each bisection point before building.

It isn't an answer to your specific problem, but it is a process that
will get you there by yourself, at your own pace.  And once you have
a more concrete focus on what change caused your problem, then
when you do ask for help, you will most likely get better help.

Good luck!
Paul.

> --------------------
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12241
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12241
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12241
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12241
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12241
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12241
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12241
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12241
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12241
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12241
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12241
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12241
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12241
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld: BFD
> (crosstool-NG 1.13.2) 2.21.1 assertion fail
> /home/michael/tmp/x/.build/src/binutils-2.21.1a/bfd/elf32-arm.c:12478
> /bin/bash: line 1:  5198 Segmentation fault
> /home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld -pie -T
> u-boot.lds -Bstatic -Ttext 0x60d00000 $UNDEF_SYM
> arch/arm/cpu/arm1176/start.o --start-group api/libapi.o
> arch/arm/cpu/arm1176/libarm1176.o arch/arm/lib/libarm.o
> common/libcommon.o disk/libdisk.o
> drivers/bios_emulator/libatibiosemu.o drivers/block/libblock.o
> drivers/dma/libdma.o drivers/fpga/libfpga.o drivers/gpio/libgpio.o
> drivers/hwmon/libhwmon.o drivers/i2c/libi2c.o drivers/input/libinput.o
> drivers/misc/libmisc.o drivers/mmc/libmmc.o drivers/mtd/libmtd.o
> drivers/mtd/nand/libnand.o drivers/mtd/onenand/libonenand.o
> drivers/mtd/spi/libspi_flash.o drivers/mtd/ubi/libubi.o
> drivers/net/libnet.o drivers/net/phy/libphy.o drivers/pci/libpci.o
> drivers/pcmcia/libpcmcia.o drivers/power/libpower.o
> drivers/rtc/librtc.o drivers/serial/libserial.o drivers/spi/libspi.o
> drivers/twserial/libtws.o drivers/usb/eth/libusb_eth.o
> drivers/usb/gadget/libusb_gadget.o drivers/usb/host/libusb_host.o
> drivers/usb/musb/libusb_musb.o drivers/usb/phy/libusb_phy.o
> drivers/usb/ulpi/libusb_ulpi.o drivers/video/libvideo.o
> drivers/watchdog/libwatchdog.o fs/cramfs/libcramfs.o
> fs/ext2/libext2fs.o fs/fat/libfat.o fs/fdos/libfdos.o
> fs/jffs2/libjffs2.o fs/reiserfs/libreiserfs.o fs/ubifs/libubifs.o
> fs/yaffs2/libyaffs2.o lib/libfdt/libfdt.o lib/libgeneric.o
> lib/lzma/liblzma.o lib/lzo/liblzo.o lib/zlib/libz.o net/libnet.o
> post/libpost.o board/ox820/libox820.o --end-group
> /home/michael/medion/u-boot-medion-p89626/arch/arm/lib/eabi_compat.o
> -L /home/michael/x-tools/arm-unknown-eabi/lib/gcc/arm-unknown-eabi/4.4.6
> -lgcc -Map u-boot.map -o u-boot
> make: *** [u-boot] Error 139
> --------------------
>
> Regard,
> Michael
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot


More information about the U-Boot mailing list