Hi all. I've been busy getting a custom PPC440GX board to boot U-Boot. I started with a U-Boot (version 1.3.2) based on the ALPR board and the ELDK 4.0 toolchain.
I got all that working and now I trying to move up to a newer version of U-Boot and a newer toolchain (specifically: U-Boot 2009.03 and ELDK 4.2). After some twiddling of defines in my config file I got following compiler error: make[1]: Entering directory `/data/projects/p3x440/we/u-boot-latest/board/prodrive/p3x440' ppc_4xx-gcc -g -Os -fPIC -ffixed-r14 -meabi -fno-strict-aliasing -D__KERNEL__ -DTEXT_BASE=0xFFFC0000 -I/data/projects/p3x440/we/u-boot-latest/include -fno-builtin -ffreestanding -nostdinc -isystem /data/tools/eldk-4.2/usr/bin/../lib/gcc/powerpc-linux/4.2.2/include -pipe -DCONFIG_PPC -D__powerpc__ -DCONFIG_4xx -ffixed-r2 -mstring -msoft-float -Wa,-m440 -mcpu=440 -DCONFIG_440=1 -Wall -Wstrict-prototypes -fno-stack-protector -c -o p3x440.o p3x440.c p3x440.c: In function 'last_stage_init': p3x440.c:88: warning: unused variable 'reg' {standard input}: Assembler messages: {standard input}:130: Error: unsupported relocation against uicb0sr {standard input}:135: Error: unsupported relocation against uicb0er {standard input}:137: Error: unsupported relocation against uicb0cr {standard input}:142: Error: unsupported relocation against uicb0pr {standard input}:147: Error: unsupported relocation against uicb0tr {standard input}:152: Error: unsupported relocation against uicb0vr make[1]: *** [p3x440.o] Error 1 make[1]: Leaving directory `/data/projects/p3x440/we/u-boot-latest/board/prodrive/p3x440' make: *** [board/prodrive/p3x440/libp3x440.a] Error 2 The offending piece of code is this: int last_stage_init(void) { unsigned short reg; /* * Configure LED's of both Marvell 88E1111 PHY's * * This has to be done after the 4xx ethernet driver is loaded, * so "last_stage_init()" is the right place. */ /* TODO: WE: Fix this. */ /* miiphy_read("ppc_4xx_eth0", CONFIG_PHY_ADDR, 0x18, ®); reg |= 0x0001; miiphy_write("ppc_4xx_eth0", CONFIG_PHY_ADDR, 0x18, reg); miiphy_read("ppc_4xx_eth1", CONFIG_PHY1_ADDR, 0x18, ®); reg |= 0x0001; miiphy_write("ppc_4xx_eth1", CONFIG_PHY1_ADDR, 0x18, reg); */ return 0; } I'm not really sure what went wrong here. Google tells me that this is usually related to incorrect assembler sequences. Am I missing some compiler settings? Thanks in advance! Met vriendelijke groet, Kind regards, Wouter Eckhardt Engineer wouter.eckha...@prodrive.nl tel. +31 40 2676187 Prodrive B.V. Postbus 28030 5602 JA Eindhoven Ekkersrijt 5025 5692 EB Son The Netherlands tel. +31 40 2676200 fax: +31 40 2676201 www.prodrive.nl Disclaimer: The information contained in this email, including any attachments is confidential and is for the sole use of the intended recipient(s). Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please notify the sender immediately by replying to this message and destroy all copies of this message and any attachments. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot