On Thu, May 31, 2012 at 12:10 AM, Jeremy Huddleston <[email protected]> wrote: > > On May 30, 2012, at 10:03 AM, Siarhei Siamashka <[email protected]> > wrote: > >> On Wed, May 30, 2012 at 7:15 PM, Jeremy Huddleston >> <[email protected]> wrote: >>> My tinderbox (yuffie) is building pixman master using clang-3.0 (from >>> MacPorts) for x86_64: >>> >>> http://tinderbox.x.org/builds/2012-05-30-0005/logs/pixman/#build >>> >>> I don't believe the changes were ever reverted. Perhaps there is an >>> additional issue that I'm not seeing. Are you seeing this if you use >>> configure.compiler=macports-clang-3.0? -2.9? >> >> That's interesting, your clang-3.0 is probably heavily patched. > > No, it's not. The only patches are a couple build fixes for Tiger and a > build fix cherry picked from 3.1. > >> For >> example, real clang-3.0 should still have the following bug in it: >> http://llvm.org/bugs/show_bug.cgi?id=11438 > > Yes, clang-3.0 has the bug, and pixman's configure script should be detecting > that and disabling the code path that tickles the bug. In my case, > config.log shows that the check is behaving correctly: > > configure:12684: checking whether to use MMX intrinsics > configure:12709: /opt/local/libexec/llvm-3.0/libexec/scan-build/ccc-analyzer > -c -mmmx -Winline -O0 -g3 -pipe -fdiagnostics-show-category=name -Wall > -fno-strict-aliasing -fvisibility=hidden > -I/Users/jeremy/src/freedesktop/jhbuild/build/include > -I/Users/jeremy/src/freedesktop/jhbuild/external/build/include conftest.c >&5 > fatal error: error in backend: Invalid operand for inline asm constraint 'K'! > configure:12709: $? = 1 > configure: failed program was: > … > configure:12735: result: no
Thanks, I see. But does it really make sense to do pixman build with optimizations disabled in tinderbox? Any time savings on the compilation stage (if that's the goal) are likely to be eclipsed by the increase of the time required for running 'make check'. A test build on my system shows the following: $ export CC=clang $ clang -v clang version 3.0 (tags/RELEASE_30/final) Target: x86_64-pc-linux-gnu Thread model: posix ------------------------------------------------- $ tar -xzf pixman-0.26.0.tar.gz $ cd pixman-0.26.0 $ export CFLAGS="-O0 -g3" $ ./configure --disable-mmx && time make check [snip] PASS: a1-trap-test PASS: pdf-op-test PASS: region-test PASS: region-translate-test PASS: fetch-test PASS: oob-test PASS: trap-crasher PASS: alpha-loop PASS: scaling-crash-test PASS: scaling-helpers-test PASS: gradient-crash-test region_contains test passed (checksum=D2BF8C73) PASS: region-contains-test PASS: alphamap PASS: stress-test composite traps test passed (checksum=E3112106) PASS: composite-traps-test blitters test passed (checksum=A364B5BF) PASS: blitters-test scaling test passed (checksum=80DF1CB2) PASS: scaling-test affine test passed (checksum=1EF2175A) PASS: affine-test PASS: composite =================== All 19 tests passed =================== make[2]: Leaving directory `/tmp/pixman-clang/pixman-0.26.0/test' make[1]: Leaving directory `/tmp/pixman-clang/pixman-0.26.0/test' make[1]: Entering directory `/tmp/pixman-clang/pixman-0.26.0' make[1]: Nothing to be done for `check-am'. make[1]: Leaving directory `/tmp/pixman-clang/pixman-0.26.0' real 8m58.844s user 8m48.680s sys 0m3.600s ------------------------------------------------- $ tar -xzf pixman-0.26.0.tar.gz $ cd pixman-0.26.0 $ export CFLAGS="-O2 -g3" $ ./configure --disable-mmx && time make check [snip] PASS: a1-trap-test PASS: pdf-op-test PASS: region-test PASS: region-translate-test PASS: fetch-test PASS: oob-test PASS: trap-crasher PASS: alpha-loop PASS: scaling-crash-test PASS: scaling-helpers-test PASS: gradient-crash-test region_contains test passed (checksum=D2BF8C73) PASS: region-contains-test PASS: alphamap PASS: stress-test composite traps test passed (checksum=E3112106) PASS: composite-traps-test blitters test passed (checksum=A364B5BF) PASS: blitters-test scaling test passed (checksum=80DF1CB2) PASS: scaling-test affine test failed! (checksum=8B5C5DC1, expected 1EF2175A) FAIL: affine-test PASS: composite ============================================= 1 of 19 tests failed Please report to [email protected] ============================================= make[2]: *** [check-TESTS] Error 1 make[2]: Leaving directory `/tmp/pixman-clang/pixman-0.26.0/test' make[1]: *** [check-am] Error 2 make[1]: Leaving directory `/tmp/pixman-clang/pixman-0.26.0/test' make: *** [check-recursive] Error 1 real 3m36.488s user 3m28.380s sys 0m4.420s Also enabling optimizations allows to catch clang optimizer bugs, while using -O0 hides them. -- Best regards, Siarhei Siamashka _______________________________________________ Pixman mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pixman
