Package: 9base Version: 1:6-6 Usertags: goto-cc When building the package using our research compiler infrastructure that supports link-time type checking, we noticed the following conflicting declarations:
- troff/hytab.c: typedef unsigned char Uchar; Uchar bxh[26][13] = ... http://sources.debian.net/src/9base/1:6-6/troff/hytab.c#L8 - troff/n8.c: extern char bxh[26][13], ... http://sources.debian.net/src/9base/1:6-6/troff/n8.c#L313 where it is passed as argument to int dilook(int a, int b, char t[26][13]) with char being signed on several Debian architectures. The same holds for all the other variables declared in hytab.c. While the code may work perfectly ok on architectures with signed char (which includes the x86 ones), it would then seemingly be broken on those with unsigned char (including the ARM ports). This is due to the conversion to int at, which will result in i taking different bit patterns depending on the signedness of bxh and friends. http://sources.debian.net/src/9base/1:6-6/troff/n8.c#L350 Best, Michael
pgp4_wQUk4hEn.pgp
Description: PGP signature

