Ronald G Minnich rminnich@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