[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#751628: xserver-xorg-video-sisusb: Conflicting declarations of function SiSUSBRegInit to cause undefined behaviour



Package: xserver-xorg-video-sisusb
Version: 1:0.9.6-2
Usertags: goto-cc

During a rebuild of all Debian packages in a clean sid chroot (using cowbuilder
and pbuilder) the build failed with the following error. Please note that we
use our research compiler tool-chain (using tools from the cbmc package), which
permits extended reporting on type inconsistencies at link time.

[...]
  CCLD     sisusb_drv.la

error: conflicting function declarations "SiSUSBRegInit"
old definition in module sisusb_driver file ../../src/sisusb_dac.h line 48
void (struct _SiS_Private *, unsigned short int)
new definition in module sisusb_init file ../../src/sisusb_init.c line 194
void (struct _SiS_Private *SiS_Pr, unsigned long int BaseAddr)
Makefile:465: recipe for target 'sisusb_drv.la' failed
make[3]: *** [sisusb_drv.la] Error 64
make[3]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-xserver-xorg-video-sisusb/xserver-xorg-video-sisusb-0.9.6/build/src'
Makefile:429: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1

For any platform with sizeof(unsigned short int)<sizeof(unsigned long int) the
behaviour is undefined as several bytes of BaseAddr will take an arbitrary
value. Also, endianness will add further trouble.

Best,
Michael

Attachment: pgpYwXlK9Lkmm.pgp
Description: PGP signature


Reply to: