Thanks for the typing tip. It turns out that I used x+0(SB) instead of x+0(FP) for some of the arguments to a functions. Now to test.

On May 18, 2008, at 8:02 AM, erik quanstrom wrote:

8l -T0x100000 -o 8.out boot.8 cpuid.8 floppy.8 gdt.8 halt.8 harddisk.8 interrupt.8 jmtrue.8 keyboard.8 memory.8 multitask.8 onlyin.8 pci.8 syscall.8 time.8 timer.8 tone.8 video.8 x86.8 ../ port/libpgosport.a initnonport: incompatible type signatures 4c81a129(gdt.8) and 97da8762(x86.8) for initgdt main: incompatible type signatures 4c81a129(timer.8) and 951b2e20(../port/libpgosport.a(main)) for inittimer
simplelang: np: not defined
simplelang: apm: not defined
simplelang: gdt: not defined

apoligies in advance for addressing the actual question.

the default CFLAGS were changed recently on sources. the -T flag was added to the defaults. this adds type signatures to .$O files. without -T type signatures are left blank. the linker expects either all the signatures for a particular symbol to match
or to be blank.

incompatable signatures happen when the same external symbol is declared with different types in different source files. the linker is picky. "uint" and "int" are not
compatable.

- erik




Reply via email to