LinuxBIOS & binutils evilness

Stefan Reinauer stepan at
Thu Aug 14 13:50:00 CEST 2003

* Jeff Noxon <jeff at> [030814 19:55]:
> (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/ is the culprit. See the freebios2 tree
for a wild but working implementation of The 
"jmp _start" is there implemented as:
        /* jmp _start */
        .byte  0xe9
        .int   _start - ( . + 2 )

This should also be changed in the old LinuxBIOS tree. It works fine.

Architecture Team
    SuSE Linux AG

More information about the coreboot mailing list