LinuxBIOS & binutils evilness
Stefan Reinauer
stepan at suse.de
Thu Aug 14 13:50:00 CEST 2003
* Jeff Noxon <jeff at planetfall.com> [030814 19:55]:
> 2.14.90.0.5 (Debian unstable) works for mkelfImage 2.5 but won't link
> LinuxBIOS.
do you have x86-64 support enabled in these binutils? This breaks
relocations 32->16bit.
> Here is my link error:
>
> crt0.o(.reset+0x1): In function `reset_vector':
> : relocation truncated to fit: R_386_PC16 _start_offset
> collect2: ld returned 1 exit status
src/cpu/i386/reset16.inc is the culprit. See the freebios2 tree
for a wild but working implementation of reset16.inc. The
"jmp _start" is there implemented as:
reset_vector:
/* jmp _start */
.byte 0xe9
.int _start - ( . + 2 )
This should also be changed in the old LinuxBIOS tree. It works fine.
Stefan
--
Architecture Team
SuSE Linux AG
More information about the coreboot
mailing list