Date: Sat, 30 Apr 2011 11:46:16 +0200 From: Roman Divacky <rdivacky@freebsd.org> To: Hans Petter Selasky <hselasky@c2i.net> Cc: freebsd-multimedia@freebsd.org, current@freebsd.org Subject: Re: webcamd-0.1.26: does not build with clang Message-ID: <20110430094616.GA86210@freebsd.org> In-Reply-To: <201104301113.25392.hselasky@c2i.net> References: <72378267@bb.ipt.ru> <201104301113.25392.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
I just tested with new llvm/clang and it compiles ok. I hope there's going to be a new llvm/clang import in a few days so please try again after the import.. The port does not link though, because of some problems with linux_init_mod/linux_exit_mod. I didnt analyze it but I suspect this may be a bug in the code itself (C99 vs C89?) On Sat, Apr 30, 2011 at 11:13:25AM +0200, Hans Petter Selasky wrote: > On Friday 29 April 2011 13:04:52 Boris Samorodov wrote: > > Hi! > > > > The port builds with the system compiler but not with clang: > > ftp://ftp.bsam.ru/pub/tmp/webcamd.log.txt > > Hi, > > Edit the webcamd's port Makefile so that only one file is compiled at a time. > > MAKE_JOBS_SAFE= yes > > The following error code indicates a bug in the C-frontend of clang? > > Instruction does not dominate all uses! > %tmp164 = add i32 %i.0162, %tmp > %conv24 = trunc i32 %tmp164 to i16 > Instruction does not dominate all uses! > %conv24 = trunc i32 %tmp164 to i16 > %call28 = call fastcc i32 @dw210x_op_rw(%struct.usb_device* %tmp26, i8 > zeroext -75, i16 zeroext %conv24, i16 zeroext 0, i8* %1, i16 zeroext 2, i32 0) > Broken module found, compilation aborted! > Stack dump: > 0. Program arguments: /usr/bin/clang -cc1 -triple i386-undermydesk- > freebsd9.0 -emit-obj -disable-free -main-file-name dw2102.c -mrelocation-model > static -mdisable-fp-elim -relaxed-aliasing -masm-verbose -mconstructor-aliases > -target-cpu i486 -momit-leaf-frame-pointer -resource-dir > /usr/bin/../lib/clang/2.9 -include webcamd_global.h -D _GNU_SOURCE -D > CURR_FILE_NAME="dw2102" -D CONFIG_USB_GSPCA -D CONFIG_USB_GSPCA_SONIXB -D > CONFIG_USB_GSPCA_SONIXJ -D CONFIG_USB_GSPCA_ZC3XX -D CONFIG_DVB_AF9013 -D > CONFIG_MEDIA_TUNER_MXL5005S -D CONFIG_DVB_STV0288 -D CONFIG_DVB_MT312 -D > CONFIG_DVB_DS3000 -D CONFIG_DVB_STB0899 -D CONFIG_DVB_STB6100 -D > CONFIG_DVB_LNBP22 -D CONFIG_DVB_TUNER_DIB0070 -D CONFIG_DVB_DIB7000P -D > CONFIG_MEDIA_TUNER_MT2060 -D BITS_PER_LONG=32 -D LINUX -D CONFIG_INPUT -D > CONFIG_VIDEO_V4L1_COMPAT -D CONFIG_DVB_DIB3000MC -D CONFIG_VIDEO_PVRUSB2_DVB - > D CONFIG_I2C -D CONFIG_DVB_CORE -D CONFIG_AS102_USB -D CONFIG_FW_LOADER -D > HAVE_WEBCAMD -D DBUS_API_SUBJECT_TO_CHANGE -D HAVE_HAL -D CONFIG_DVB_AT76C651 > -D CONFIG_DVB_ATBM8830 -D CONFIG_DVB_AU8522 -D CONFIG_DVB_BCM3510 -D > CONFIG_DVB_CX22700 -D CONFIG_DVB_CX22702 -D CONFIG_DVB_CX24110 -D > CONFIG_DVB_CX24116 -D CONFIG_DVB_CX24123 -D CONFIG_DVB_DIB3000MB -D > CONFIG_DVB_DIB3000MC -D CONFIG_DVB_DIB3000MC -D CONFIG_DVB_DIB7000M -D > CONFIG_DVB_DIB7000P -D CONFIG_DVB_DIB8000 -D CONFIG_DVB_DRX397XD -D > CONFIG_DVB_EC100 -D CONFIG_DVB_ISL6405 -D CONFIG_DVB_ISL6421 -D > CONFIG_DVB_ISL6423 -D CONFIG_DVB_L64781 -D CONFIG_DVB_LGDT3304 -D > CONFIG_DVB_LGDT3305 -D CONFIG_DVB_LGDT330X -D CONFIG_DVB_LGS8GL5 -D > CONFIG_DVB_LGS8GXX -D CONFIG_DVB_LNBP21 -D CONFIG_DVB_LNBP22 -D > CONFIG_DVB_MB86A16 -D CONFIG_DVB_MT312 -D CONFIG_DVB_MT352 -D > CONFIG_DVB_NXT200X -D CONFIG_DVB_NXT6000 -D CONFIG_DVB_OR51132 -D > CONFIG_DVB_OR51211 -D CONFIG_DVB_PLL -D CONFIG_DVB_S5H1409 -D > CONFIG_DVB_S5H1411 -D CONFIG_DVB_S5H1420 -D CONFIG_DVB_S921 -D > CONFIG_DVB_SI21XX -D CONFIG_DVB_SP8870 -D CONFIG_DVB_SP887X -D > CONFIG_DVB_STB0899 -D CONFIG_DVB_STB6000 -D CONFIG_DVB_STB6100 -D > CONFIG_DVB_STV0288 -D CONFIG_DVB_STV0297 -D CONFIG_DVB_STV0299 -D > CONFIG_DVB_STV0900 -D CONFIG_DVB_STV090x -D CONFIG_DVB_STV6110 -D > CONFIG_DVB_STV6110x -D CONFIG_DVB_TDA10021 -D CONFIG_DVB_TDA10023 -D > CONFIG_DVB_TDA10048 -D CONFIG_DVB_TDA1004X -D CONFIG_DVB_TDA10086 -D > CONFIG_DVB_TDA665x -D CONFIG_DVB_TDA8083 -D CONFIG_DVB_TDA80XX -D > CONFIG_DVB_TDA8261 -D CONFIG_DVB_TDA826X -D CONFIG_DVB_TUA6100 -D > CONFIG_DVB_TUNER_CX24113 -D CONFIG_DVB_TUNER_DIB0090 -D > CONFIG_DVB_TUNER_ITD1000 -D CONFIG_DVB_VES1820 -D CONFIG_DVB_VES1X93 -D > CONFIG_DVB_ZL10036 -D CONFIG_DVB_ZL10039 -D CONFIG_DVB_ZL10353 -D > CONFIG_MEDIA_TUNER_MAX2165 -D CONFIG_MEDIA_TUNER_MC44S803 -D > CONFIG_MEDIA_TUNER_MC44S803 -D CONFIG_MEDIA_TUNER_MT2060 -D > CONFIG_MEDIA_TUNER_MT20XX -D CONFIG_MEDIA_TUNER_MT2131 -D > CONFIG_MEDIA_TUNER_MT2266 -D CONFIG_MEDIA_TUNER_MXL5005S -D > CONFIG_MEDIA_TUNER_MXL5007T -D CONFIG_MEDIA_TUNER_QT1010 -D > CONFIG_MEDIA_TUNER_SIMPLE -D CONFIG_MEDIA_TUNER_TDA18271 -D > CONFIG_MEDIA_TUNER_TDA18218 -D CONFIG_MEDIA_TUNER_TDA827X -D > CONFIG_MEDIA_TUNER_TDA8290 -D CONFIG_MEDIA_TUNER_TDA9887 -D > CONFIG_MEDIA_TUNER_TEA5761 -D CONFIG_MEDIA_TUNER_TEA5767 -D > CONFIG_MEDIA_TUNER_XC2028 -D CONFIG_MEDIA_TUNER_XC5000 -D > CONFIG_VIDEO_EM28XX_DVB -D CONFIG_VIDEO_SAA7134_DVB_MODULE -D CONFIG_IR_CORE - > D CONFIG_VIDEO_IR -I /usr/ports/multimedia/webcamd/work/webcamd-0.1.26/dummy - > I /usr/ports/multimedia/webcamd/work/webcamd-0.1.26/headers -I > /usr/ports/multimedia/webcamd/work/webcamd-0.1.26/v4l- > dvb/linux/drivers/media/video/gspca -I > /usr/ports/multimedia/webcamd/work/webcamd-0.1.26/v4l- > dvb/linux/drivers/media/video/hdpvr -I > /usr/ports/multimedia/webcamd/work/webcamd-0.1.26/v4l- > dvb/linux/drivers/media/common/tuners -I > /usr/ports/multimedia/webcamd/work/webcamd-0.1.26/v4l- > dvb/linux/drivers/media/dvb/dvb-core -I > /usr/ports/multimedia/webcamd/work/webcamd-0.1.26/v4l- > dvb/linux/drivers/media/dvb/frontends -I > /usr/ports/multimedia/webcamd/work/webcamd-0.1.26/v4l- > dvb/linux/drivers/media/dvb/dvb-usb -I > /usr/ports/multimedia/webcamd/work/webcamd-0.1.26/v4l-dvb/linux/include -I > /usr/ports/multimedia/webcamd/work/webcamd-0.1.26/v4l-dvb/linux -I > /usr/ports/multimedia/webcamd/work/webcamd-0.1.26 -I > /usr/ports/multimedia/webcamd/work/webcamd-0.1.26/v4l- > dvb/linux/drivers/media/dvb/ttpci -I /usr/local/include/hal -I > /usr/local/include/dbus-1.0 -I /usr/local/include/dbus-1.0/include -I > /usr/local/include -O2 -Wall -Wno-pointer-sign -std=gnu99 -ferror-limit 19 - > fmessage-length 0 -stack-protector 1 -fgnu-runtime -fdiagnostics-show-option - > o dw2102.o -x c /usr/ports/multimedia/webcamd/work/webcamd-0.1.26/v4l- > dvb/linux/drivers/media/dvb/dvb-usb/dw2102.c > 1. <eof> parser at end of file > 2. Code generation > 3. Running pass 'Function Pass Manager' on module > '/usr/ports/multimedia/webcamd/work/webcamd-0.1.26/v4l- > dvb/linux/drivers/media/dvb/dvb-usb/dw2102.c'. > 4. Running pass 'Module Verifier' on function '@dw2102_i2c_transfer' > clang: error: unable to execute command: Abort trap: 6 (core dumped) > clang: error: clang frontend command failed due to signal 1 (use -v to see > invocation) > > --HPS > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110430094616.GA86210>