[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