[coreboot] Building coreboot on 64-bit host

llandre r&d2 at dave-tech.it
Fri May 16 16:01:59 CEST 2008


>> I'm experiencing the problem shown below when trying to build coreboot 
>> release 3324 for Geode LX evaluation board db800 on 64-bit host.
>> It seems ld is not invoked properly.
> ..
>> Usage: /usr/bin/ld [options] file...
> ..
>> /usr/bin/ld: supported targets: elf64-x86-64 elf32-i386 a.out-i386-linux 
>> efi-app-ia32 elf64-little elf64-big elf32-little elf32-big srec 
>> symbolsrec tekhex binary ihex
> 
> It seems your ld will prefer/default to elf64-x86-64, and the options
> specified in the build scripts are possibly only available for
> elf32-i386.
> 
> Maybe --oformat elf32-i386 in the ld command line will help?

I changed the file src/config/Config.lb like this:

-----------------------------------------------------------
makerule coreboot
	depends	"crt0.o $(INIT-OBJECTS) $(COREBOOT_APC) $(COREBOOT_RAM_ROM) 
ldscript.ld"
	action	"$(CC) $(DISTRO_LFLAGS) -nostdlib -nostartfiles -static 
--oformat elf32-i386 -o $@ -T ldscript.ld crt0.o $(INIT-OBJECTS)"
	action	"$(CROSS_COMPILE)nm -n coreboot | sort > coreboot.map"
end
-----------------------------------------------------------

The file targets/amd/db800/db800/fallback/Makefile is generated accordingly:

-----------------------------------------------------------
coreboot: crt0.o $(INIT-OBJECTS) $(COREBOOT_APC) $(COREBOOT_RAM_ROM) 
ldscript.ld
	$(CC) $(DISTRO_LFLAGS) -nostdlib -nostartfiles -static --oformat 
elf32-i386 -o $@ -T ldscript.ld crt0.o $(INIT-OBJECTS)
	$(CROSS_COMPILE)nm -n coreboot | sort > coreboot.map
-----------------------------------------------------------

but linker still does not like it :(


-- 
llandre

DAVE Electronics System House - R&D Department
web:   http://www.dave.eu
email: r&d2 at dave-tech.it




More information about the coreboot mailing list