build problem for console_tx_al problem.

Ronald G. Minnich rminnich at lanl.gov
Tue Feb 11 10:14:00 CET 2003


This is interesting but not fun. 

Consider the file:
./src/arch/i386/lib/console.inc

When I build now I get:
linuxbios_c.o: In function `_start':
linuxbios_c.o(.text+0x28): undefined reference to `console_tx_al'
linuxbios_c.o(.text+0x35): undefined reference to `console_tx_hex8'
linuxbios_c.o(.text+0x42): undefined reference to `console_tx_al'
linuxbios_c.o(.text+0x7b): undefined reference to `console_tx_al'
linuxbios_c.o(.text+0x88): undefined reference to `console_tx_hex8'
linuxbios_c.o(.text+0x95): undefined reference to `console_tx_al'
linuxbios_c.o(.text+0xa9): undefined reference to `console_tx_al'
linuxbios_c.o(.text+0xb6): undefined reference to `console_tx_hex8'
linuxbios_c.o(.text+0xc3): undefined reference to `console_tx_al'

OK, let's try this:
.globl console_tx_al
console_tx_al:	
	etc. etc.

Now when I build I get:

linuxbios.a(crt0.o): In function `_start':
crt0.o(.rom.text+0x27): multiple definition of `_start'
c_start.o(.text+0x0): first defined here

What the @@@@? 

Well, what happened, is that the .o was pulled out of linuxbios.a since a 
symbol in that .o was used. But _start was also defined in there, with the 
result that we get the multiple definition problem. 

This looks like an outgrowth of the CONFIG_COMPRESS stuff; more as I learn 
it.

ron




More information about the coreboot mailing list