From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: To: 9fans@9fans.net From: erik quanstrom Date: Tue, 22 Jul 2008 14:19:49 -0400 In-Reply-To: <0b6ee1c89e58c4e41f8810c5ba0c1cae@quanstro.net> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] Building new kernel. Topicbox-Message-UUID: ed7fd96e-ead3-11e9-9d60-3106f5b1d025 > this would be expected due to the pull which sets the mtimes of > new files to be older than the .8s. try "mk clean" before proceeding. i should explain that type signatures are 32-bit signatures in .$O files that define the type of external symbols. the c compiler sets the type signature to zero unless the -T flag is given. if both signatures are not zero, the linker checks to see that they match. thus if you try to link a.c with decl extern int fu; with b.c long fu it will work perfectly if the -T flag is not given (since there is a deep assumption in plan 9 that int == long). but i the -T flag is given, it will fail with a type signature error. - erik ---- minooka; cat a.c long fu; minooka; cat b.c #include #include extern int fu; void main(void) { print("%d\n", fu); } minooka; 8c a.c && 8c b.c && 8l a.8 b.8 && 8.out 0 minooka; 8c -T a.c && 8c b.c && 8l a.8 b.8 && 8.out 0 minooka; 8c a.c && 8c -T b.c && 8l a.8 b.8 && 8.out 0 minooka; 8c -T a.c && 8c -T b.c && 8l a.8 b.8 && 8.out main: incompatible type signatures 5ef20f47(a.8) and 4151d5bd(b.8) for fu