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