Date: Wed, 3 Oct 2012 17:05:36 +0200 From: Juergen Lock <nox@jelal.kn-bremen.de> To: Volodymyr Kostyrko <c.kworr@gmail.com> Cc: freebsd-multimedia@FreeBSD.org, Juergen Lock <nox@jelal.kn-bremen.de> Subject: Re: vlc fails to build on pre-SSE2 processor Message-ID: <20121003150536.GA28264@triton8.kn-bremen.de> In-Reply-To: <506C3B71.5040908@gmail.com> References: <5050786D.30505@gmail.com> <201209122211.q8CMBiBe027101@triton8.kn-bremen.de> <5051AA36.9040304@gmail.com> <20120913184033.GA56740@triton8.kn-bremen.de> <506C3B71.5040908@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 03, 2012 at 04:19:45PM +0300, Volodymyr Kostyrko wrote: > 13.09.2012 21:40, Juergen Lock wrote: > >>> And if that's not it try a newer gcc version and if you're on > >>> 9-stable or head try clang too. (amd64 atm defaults to the base > >>> gcc 4.2, i386 to gcc 4.6 so try 4.6 or 4.7 respectively.) > >> > >> This one is: > >> CPU: AMD Athlon(tm) XP 2500+ (1833.95-MHz 686-class CPU) > >> Origin = "AuthenticAMD" Id = 0x6a0 Family = 6 Model = a Stepping = 0 > >> Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE> > >> AMD Features=0xc0400800<SYSCALL,MMX+,3DNow!+,3DNow!> > >> > >>> Good luck! :) > >> > >> Yes, as you suggest switching to clang works like a charm. > > > > Ok. Now as 8.x doesn't have clang in base and 9.0 clang has been > > reported to miscompile at least one file on amd64 it would be > > interesting to know if gcc 4.7 works as well, so can you test that > > too? And also which FreeBSD version is this on and was this base > > clang that worked? > > As far as I see this is some local gcc glitch. My processor was always > unloved and misinterpreted by gcc creators: > > # uname -a > FreeBSD limbo.xim.bz 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #0 r240453M: > Thu Sep 13 14:05:28 EEST 2012 > arcade@limbo.xim.bz:/usr/obj/usr/src/sys/MINIMALx32 i386 > > Built-in: > > # : | gcc -E -v -march=native - > ... > gcc version 4.2.1 20070831 patched [FreeBSD] > /usr/libexec/cc1 -E -quiet -v -D_LONGLONG - -march=athlon-4 > -mtune=athlon-4 > ... > > lang/gcc > > # : | gcc46 -E -v -march=native - > ... > gcc version 4.6.3 (FreeBSD Ports Collection) > COLLECT_GCC_OPTIONS='-E' '-v' '-march=native' > /usr/local/libexec/gcc46/gcc/i386-portbld-freebsd9.0/4.6.3/cc1 -E > -quiet -v - -march=athlon-4 -mno-cx16 -mno-sahf -mno-movbe -mno-aes > -mno-pclmul -mno-popcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop > -mno-bmi -mno-tbm -mno-avx -mno-sse4.2 -mno-sse4.1 --param > l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 > -mtune=athlon > ... > > Built-in clang: > > # : | clang -E -v -march=native -FreeBSD clang version 3.1 > (branches/release_31 156863) 20120523 > ... > "/usr/bin/clang" -cc1 -triple i386-unknown-freebsd9.0 -E -disable-free > -main-file-name - -mrelocation-model static -mdisable-fp-elim -masm-verb > ose -mconstructor-aliases -target-cpu athlon-xp > -momit-leaf-frame-pointer -v -resource-dir /usr/bin/../lib/clang/3.1 > -fmodule-cache-path /var/tmp/clang-module-cache -fdebug-compilation-dir > /usr/ports/lang/gcc47 -ferror-limit 19 -fmessage-length 144 > -mstackrealign -fgnu-runtime -fobjc-runtime-has-arc > -fobjc-runtime-has-weak -fobjc-dispatch-method=non-legacy > -fdiagnostics-show-option -fcolor-diagnostics -o - -x c - > ... > > I'm locally using CPUTYPE?=athlon-xp. However this doesn't helps just > for each time. > > lang/gcc47 fails copmilation with: > > /tmp/ports/usr/ports/lang/gcc47/work/build/./gcc/xgcc -shared-libgcc > -B/tmp/ports/usr/ports/lang/gcc47/work/build/./gcc -nostdinc++ -L/tmp/ports > /usr/ports/lang/gcc47/work/build/i386-portbld-freebsd9.1/libstdc++-v3/src -L/tmp/ports/usr/ports/lang/gcc47/work/build/i386-portbld-freebsd9.1/l > ibstdc++-v3/src/.libs -B/usr/local/i386-portbld-freebsd9.1/bin/ > -B/usr/local/i386-portbld-freebsd9.1/lib/ -isystem > /usr/local/i386-portbld-freeb > sd9.1/include -isystem /usr/local/i386-portbld-freebsd9.1/sys-include -x > c++-header -nostdinc++ -g -O2 -pipe -march=athlon-xp -I/usr/local/in > clude -fno-strict-aliasing > -I/tmp/ports/usr/ports/lang/gcc47/work/build/i386-portbld-freebsd9.1/libstdc++-v3/include/i386-portbld-freebsd9.1 > -I/ > tmp/ports/usr/ports/lang/gcc47/work/build/i386-portbld-freebsd9.1/libstdc++-v3/include > -I/tmp/ports/usr/ports/lang/gcc47/work/gcc-4.7-20120908/l > ibstdc++-v3/libsupc++ -O2 -g -std=gnu++0x > /tmp/ports/usr/ports/lang/gcc47/work/gcc-4.7-20120908/libstdc++-v3/include/precompiled/stdc++.h > \ > -o i386-portbld-freebsd9.1/bits/stdc++.h.gch/O2ggnu++0x.gch > In file included from > /tmp/ports/usr/ports/lang/gcc47/work/build/i386-portbld-freebsd9.1/libstdc++-v3/include/random:51:0, > from > /tmp/ports/usr/ports/lang/gcc47/work/build/i386-portbld-freebsd9.1/libstdc++-v3/include/bits/stl_algo.h:67, > from > /tmp/ports/usr/ports/lang/gcc47/work/build/i386-portbld-freebsd9.1/libstdc++-v3/include/algorithm:63, > from > /tmp/ports/usr/ports/lang/gcc47/work/gcc-4.7-20120908/libstdc++-v3/include/precompiled/stdc++.h:65: > /tmp/ports/usr/ports/lang/gcc47/work/build/i386-portbld-freebsd9.1/libstdc++-v3/include/bits/random.tcc: > In function '_RealType std::generate_ca > nonical(_UniformRandomNumberGenerator&)': > /tmp/ports/usr/ports/lang/gcc47/work/build/i386-portbld-freebsd9.1/libstdc++-v3/include/bits/random.tcc:2843:59: > in constexpr expansion of 'st > d::log(2.0e+0l)' > /tmp/ports/usr/ports/lang/gcc47/work/build/i386-portbld-freebsd9.1/libstdc++-v3/include/bits/random.tcc:2843:59: > internal compiler error: Illega > l instruction: 4 > Please submit a full bug report, > with preprocessed source if appropriate. > See <http://gcc.gnu.org/bugs.html> for instructions. > gmake[5]: *** [i386-portbld-freebsd9.1/bits/stdc++.h.gch/O2ggnu++0x.gch] > Error 1 > gmake[5]: Leaving directory > `/tmp/ports/usr/ports/lang/gcc47/work/build/i386-portbld-freebsd9.1/libstdc++-v3/include' > gmake[4]: *** [all-recursive] Error 1 > gmake[4]: Leaving directory > `/tmp/ports/usr/ports/lang/gcc47/work/build/i386-portbld-freebsd9.1/libstdc++-v3' > gmake[3]: *** [all] Error 2 > gmake[3]: Leaving directory > `/tmp/ports/usr/ports/lang/gcc47/work/build/i386-portbld-freebsd9.1/libstdc++-v3' > gmake[2]: *** [all-stage1-target-libstdc++-v3] Error 2 > gmake[2]: Leaving directory `/tmp/ports/usr/ports/lang/gcc47/work/build' > gmake[1]: *** [stage1-bubble] Error 2 > gmake[1]: Leaving directory `/tmp/ports/usr/ports/lang/gcc47/work/build' > gmake: *** [bootstrap-lean] Error 2 > *** [do-build] Error code 1 > > It seems that only code generated by stock gcc 4.2.1 works. I can build > other gcc only with this one. Anyway building vlc with any other gcc > flavor results in coredump. > > I'll assume this is my local glitch mostly related to gcc and nothing > should be done to port globally as this cpu are quite rare nowadays. Ok. Thanx for testing! Juergen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20121003150536.GA28264>