I managed to build mpc8548 u-boot on FreeBSD with it's native powerpc cross tools. All went fine after a little changes.
But at final linking stage, I got those "start.o(.got2+0x1c): relocation truncated to fit: blah blah blah..." messages. so I looked at .lds and it's write * .resetvec RESET_VECTOR_ADDRESS :* * {* * *(.resetvec)* * } :text = 0xffff* * . = RESET_VECTOR_ADDRESS + 0x4;* * /** * * Make sure that the bss segment isn't linked at 0x0, otherwise its* * * address won't be updated during relocation fixups. Note that* * * this is a temporary fix. Code to dynamically the fixup the bss* * * location will be added in the future. When the bss relocation* * * fixup code is present this workaround should be removed.* * */* *#if (RESET_VECTOR_ADDRESS == 0xfffffffc)* * . |= 0x10;* *#endif* * __bss_start = .;* * .bss (NOLOAD) :* * {* * *(.sbss) *(.scommon)* * *(.dynbss)* * *(.bss)* * *(COMMON)* * } :bss* * . = ALIGN(4);* * _end = . ;* * PROVIDE (end = .);* Which cause my FreeBSD ld to do 64bit calculations, which lead to as in the map file * 0x0000000100000000 . = 0x100000000* * 0x0000000100000010 . = 0x10* * 0x0000000100000010 __bss_start = .* * ....blah blah blah...* I haven't read u-boot code yet, could anybody tells me what this perpose is. Is it safe to just put .=0x10 there instead of .|=0x10 ?
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot