e7500 and gas and undefined and ...

Eric W. Biederman ebiederman at lnxi.com
Thu Oct 17 22:35:00 CEST 2002


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

> OK, here is a fun one. secondary.inc moved to separate compilation as
> secondary.S
> 
> It won't assemble:
> 
> secondary.s: Assembler messages:
> secondary.s:87: Error: subtraction of two symbols in different sections
> `gdt_end' {*UND* section} - `gdt' {*UND* section} at file address 155
> make: *** [secondary.o] Error 1
> 
> The problem code is:
> gdtaddr:
>         .word   gdt_end - gdt - 1 /* compute the table limit */
>         .long   gdt                /* we know the offset */

And it was:

gdtaddr:
        .word   gdt_limit       /* the table limit */
        .long   gdt             /* we know the offset */

And gdt_limit got rid of the problem.
And it is all defined in:
arch/i386/lib/c_start.S 

This is from my break up of linuxbios into two seperately compiled
pieces so I could use upx on the code that runs from ram.

There are some issues with all of the ports working if I merged it as
is so I was delaying merging that bit.

I believe if I make the compression optional I can get around
the worst of the kinks.  The challenge is keeping the p4dc6 port
that uses cache as ram working.

Eric



More information about the coreboot mailing list