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

Michael Kebe michael.kebe at gmail.com
Mon Dec 19 17:01:30 CET 2011


Hi,

I am trying to port support for a board from Oxford Semiconductor to
the current head of the git repository.
Medion released GPL Sources of their P89626 NAS [1].

In these sources there are using an old version 1.1.2 of U-Boot with
some modification a board from Oxford Semiconductor. The board is
called ox820.

I made a clone of the git repo [2] and modified the source to get the
compiliation working. The modifications I made, can be viewed here
[3].

When I am trying to build, I get this error from the linker (I also
tried the toolchain which is included in the download from Medion):

/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:  5991 Segmentation fault
/home/michael/x-tools/arm-unknown-eabi/bin/arm-unknown-eabi-ld -pie -T
u-boot.lds -Bstatic -Ttext "-1" $UNDEF_SYM
arch/arm/cpu/arm1136/start.o --start-group api/libapi.o
arch/arm/cpu/arm1136/libarm1136.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

Here is the code from binutils. The assertion fails in the line with
the BFD_ASSERT
	    case DT_PLTRELSZ:
	      s = bfd_get_section_by_name (output_bfd,
					   RELOC_SECTION (htab, ".plt"));
	      BFD_ASSERT (s != NULL);
	      dyn.d_un.d_val = s->size;
	      bfd_elf32_swap_dyn_out (output_bfd, &dyn, dyncon);
	      break;

What I am doing wrong? What is missing? Where should I look know? Is
this a bug in binutils?


Michael


[1] http://www1.medion.de/downloads/download.pl?lang=de&filename=gpl_source_md86407.exe&id=10636&type=software
[2] http://git.denx.de/u-boot.git/
[3] https://github.com/michaelkebe/u-boot-medion-p89626


More information about the U-Boot mailing list