From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <9b492a4ca1babd2743c6e3c8d03047ff@quanstro.net> To: 9fans@9fans.net From: erik quanstrom Date: Sun, 18 May 2008 08:02:55 -0400 In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] Linker weirdness? (was: Assembler weirdness?) Topicbox-Message-UUID: ab0608e2-ead3-11e9-9d60-3106f5b1d025 > 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