build problem for console_tx_al problem.

Eric W. Biederman ebiederman at lnxi.com
Wed Feb 12 02:07:00 CET 2003


"Ronald G. Minnich" <rminnich at lanl.gov> writes:

> 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'

It looks like serial.inc or whatever the lowlevel console include is not
included.  Why the reference have all become lower case is beyond me.
 
> 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. 

It looks like you put the .globl in another part and the fact that we are even
looking in linuxbios.a may be a problem.
 
> This looks like an outgrowth of the CONFIG_COMPRESS stuff; more as I learn 
> it.

The later failures yes but not the original.

Eric




More information about the coreboot mailing list