[Pixman] [PATCH 2/2] test: Add new thread-test program
Lennart Sorensen
lsorense at csclub.uwaterloo.ca
Mon Sep 30 11:14:59 PDT 2013
On Mon, Sep 30, 2013 at 07:46:22PM +0200, Søren Sandmann wrote:
> Lennart Sorensen <lsorense at csclub.uwaterloo.ca> writes:
>
> >> diff --git a/test/Makefile.am b/test/Makefile.am
> >> index 5d901d5..80f3537 100644
> >> --- a/test/Makefile.am
> >> +++ b/test/Makefile.am
> >> @@ -1,8 +1,8 @@
> >> include $(top_srcdir)/test/Makefile.sources
> >>
> >> -AM_CFLAGS = $(OPENMP_CFLAGS)
> >> -AM_LDFLAGS = $(OPENMP_CFLAGS) $(TESTPROGS_EXTRA_LDFLAGS)
> >> -LDADD = libutils.la $(top_builddir)/pixman/libpixman-1.la -lm $(PNG_LIBS)
> >> +AM_CFLAGS = $(OPENMP_CFLAGS) $(PTHREAD_CFLAGS)$
> > What is that trailing '$' for?
>
> It's just a typo; I'll fix before pushing.
>
> In your other mail, the thread-test was skipped because pthreads were
> not detected. Do you happen to know why? The first patch [1] that adds
> pthread detection had a bug where it doesn't export the PTHREAD_CFLAGS
> to the Makefiles, but that should at most cause build failures; it
> shouldn't cause thread-test to be skipped since HAVE_PTHREADS would
> still be defined.
>
>
> Søren
>
>
> [1] http://lists.freedesktop.org/archives/pixman/2013-September/002975.html
Here is the complete output:
root at rceng03:~/pixman-0.26.0.new# DEB_BUILD_OPTIONS=parallel=24 debian/rules clean
dh clean --with quilt,autoreconf --builddirectory=build/ --parallel
dh_testdir -O--builddirectory=build/ -O--parallel
dh_auto_clean -O--builddirectory=build/ -O--parallel
dh_quilt_unpatch -O--builddirectory=build/ -O--parallel
No patch removed
dh_autoreconf_clean -O--builddirectory=build/ -O--parallel
dh_clean -O--builddirectory=build/ -O--parallel
root at rceng03:~/pixman-0.26.0.new# DEB_BUILD_OPTIONS=parallel=24 debian/rules build
dh build --with quilt,autoreconf --builddirectory=build/ --parallel
dh_testdir -O--builddirectory=build/ -O--parallel
dh_quilt_patch -O--builddirectory=build/ -O--parallel
No patches in series
dh_autoreconf -O--builddirectory=build/ -O--parallel
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
configure.ac:69: installing `./config.guess'
configure.ac:69: installing `./config.sub'
demos/Makefile.am: installing `./depcomp'
debian/rules override_dh_auto_configure
make[1]: Entering directory `/root/pixman-0.26.0.new'
# also avoid loongson2f optimizations on mipsel, see 0.26.0-3
# changelog entry:
LS_CFLAGS=" " dh_auto_configure -- --disable-gtk \
--libdir=\${prefix}/lib/powerpc-linux-gnu
configure: WARNING: unrecognized options: --disable-maintainer-mode
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... powerpc-unknown-linux-gnu
checking host system type... powerpc-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking dependency style of gcc... none
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 805306365
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert powerpc-unknown-linux-gnu file names to powerpc-unknown-linux-gnu format... func_convert_file_noop
checking how to convert powerpc-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for getisax... no
checking whether byte ordering is bigendian... yes
checking for inline... inline
checking whether the compiler supports -Werror... yes
checking size of long... 4
checking whether __SUNPRO_C is declared... no
checking whether __amd64 is declared... no
checking whether the compiler supports -Wall... yes
checking whether the compiler supports -fno-strict-aliasing... yes
checking for perl... /usr/bin/perl
checking for gcc option to support OpenMP... -fopenmp
checking whether the compiler supports -fvisibility=hidden... yes
checking whether the compiler supports -xldscope=hidden... no
checking whether to use Loongson MMI assembler... no
checking whether to use MMX intrinsics... no
checking whether to use SSE2 intrinsics... no
checking whether to use VMX/Altivec intrinsics... yes
checking whether to use ARM SIMD assembler... no
checking whether to use ARM NEON assembler... no
checking whether to use ARM IWMMXT intrinsics... no
checking whether to use MIPS DSPr2 assembler... no
checking whether to use GNU-style inline assembler... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for posix_memalign... yes
checking for sigaction... yes
checking for alarm... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for mmap... yes
checking for mprotect... yes
checking for getpagesize... yes
checking fenv.h usability... yes
checking fenv.h presence... yes
checking for fenv.h... yes
checking for feenableexcept in -lm... yes
checking for gettimeofday... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for thread local storage (TLS) support... __thread
checking for __attribute__((constructor))... yes
checking for PNG... no
configure: creating ./config.status
config.status: creating pixman-1.pc
config.status: creating pixman-1-uninstalled.pc
config.status: creating Makefile
config.status: creating pixman/Makefile
config.status: creating pixman/pixman-version.h
config.status: creating demos/Makefile
config.status: creating test/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
configure: WARNING: unrecognized options: --disable-maintainer-mode
make[1]: Leaving directory `/root/pixman-0.26.0.new'
dh_auto_build -O--builddirectory=build/ -O--parallel
make[1]: Entering directory `/root/pixman-0.26.0.new/build'
make all-recursive
make[2]: Entering directory `/root/pixman-0.26.0.new/build'
Making all in pixman
make[3]: Entering directory `/root/pixman-0.26.0.new/build/pixman'
make all-am
make[4]: Entering directory `/root/pixman-0.26.0.new/build/pixman'
CC pixman.lo
CC pixman-access.lo
CC pixman-access-accessors.lo
CC pixman-bits-image.lo
CC pixman-combine32.lo
CC pixman-combine64.lo
CC pixman-conical-gradient.lo
CC pixman-cpu.lo
CC pixman-fast-path.lo
CC pixman-edge.lo
CC pixman-general.lo
CC pixman-edge-accessors.lo
CC pixman-image.lo
CC pixman-gradient-walker.lo
CC pixman-implementation.lo
CC pixman-linear-gradient.lo
CC pixman-matrix.lo
CC pixman-noop.lo
CC pixman-radial-gradient.lo
CC pixman-region16.lo
CC pixman-region32.lo
CC pixman-solid-fill.lo
CC pixman-timer.lo
CC pixman-trap.lo
CC pixman-utils.lo
CC libpixman_vmx_la-pixman-vmx.lo
CCLD libpixman-vmx.la
CCLD libpixman-1.la
make[4]: Leaving directory `/root/pixman-0.26.0.new/build/pixman'
make[3]: Leaving directory `/root/pixman-0.26.0.new/build/pixman'
Making all in demos
make[3]: Entering directory `/root/pixman-0.26.0.new/build/demos'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/root/pixman-0.26.0.new/build/demos'
Making all in test
make[3]: Entering directory `/root/pixman-0.26.0.new/build/test'
CC utils.lo
CC a1-trap-test.o
CC pdf-op-test.o
CC region-test.o
CC region-translate-test.o
CC fetch-test.o
CC oob-test.o
CC trap-crasher.o
CC alpha-loop.o
CC scaling-crash-test.o
CC thread-test.o
CC gradient-crash-test.o
CC region-contains-test.o
CC scaling-helpers-test.o
CC alphamap.o
CC stress-test.o
CC composite-traps-test.o
CC blitters-test.o
CC scaling-test.o
CC affine-test.o
CC composite.o
CC lowlevel-blt-bench.o
../../test/thread-test.c: In function 'main':
../../test/thread-test.c:7:5: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
../../test/thread-test.c:7:5: warning: incompatible implicit declaration of built-in function 'printf' [enabled by default]
../../test/lowlevel-blt-bench.c: In function 'bench_L':
../../test/lowlevel-blt-bench.c:151:18: warning: variable 'qx' set but not used [-Wunused-but-set-variable]
CCLD libutils.la
CCLD a1-trap-test
CCLD pdf-op-test
CCLD region-test
CCLD region-translate-test
CCLD oob-test
CCLD fetch-test
CCLD trap-crasher
CCLD scaling-crash-test
CCLD alpha-loop
CCLD thread-test
CCLD scaling-helpers-test
CCLD gradient-crash-test
CCLD region-contains-test
CCLD alphamap
CCLD stress-test
CCLD composite-traps-test
CCLD blitters-test
CCLD affine-test
CCLD scaling-test
CCLD composite
CCLD lowlevel-blt-bench
make[3]: Leaving directory `/root/pixman-0.26.0.new/build/test'
make[3]: Entering directory `/root/pixman-0.26.0.new/build'
make[3]: Leaving directory `/root/pixman-0.26.0.new/build'
make[2]: Leaving directory `/root/pixman-0.26.0.new/build'
make[1]: Leaving directory `/root/pixman-0.26.0.new/build'
dh_auto_test -O--builddirectory=build/ -O--parallel
make[1]: Entering directory `/root/pixman-0.26.0.new/build'
Making check in pixman
make[2]: Entering directory `/root/pixman-0.26.0.new/build/pixman'
make check-am
make[3]: Entering directory `/root/pixman-0.26.0.new/build/pixman'
make[3]: Nothing to be done for `check-am'.
make[3]: Leaving directory `/root/pixman-0.26.0.new/build/pixman'
make[2]: Leaving directory `/root/pixman-0.26.0.new/build/pixman'
Making check in demos
make[2]: Entering directory `/root/pixman-0.26.0.new/build/demos'
make[2]: Nothing to be done for `check'.
make[2]: Leaving directory `/root/pixman-0.26.0.new/build/demos'
Making check in test
make[2]: Entering directory `/root/pixman-0.26.0.new/build/test'
make check-TESTS
make[3]: Entering directory `/root/pixman-0.26.0.new/build/test'
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
Skipped thread-test - pthreads not supported
PASS: thread-test
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 20 tests passed
===================
make[3]: Leaving directory `/root/pixman-0.26.0.new/build/test'
make[2]: Leaving directory `/root/pixman-0.26.0.new/build/test'
make[2]: Entering directory `/root/pixman-0.26.0.new/build'
make[2]: Leaving directory `/root/pixman-0.26.0.new/build'
make[1]: Leaving directory `/root/pixman-0.26.0.new/build'
It would appear that my version of configure doesn't check for pthreads
(I am using 0.26.0 after all).
I don't see anything in 0.26.0 or even the git tree that would ever set
'HAVE_PTHREADS'.
Do you perhaps have something you didn't push yet? Or did I miss a
seperate patch?
--
Len Sorensen
More information about the Pixman
mailing list