This is the mail archive of the libffi-discuss@sourceware.org mailing list for the libffi project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: of unexpected failures 131 with libffi-3.0.12


You need to run the testsuite like this...

$ make check RUNTESTFLAGS="CFLAGS_FOR_TARGET='blah blah blah'"

AG


On Sun, Feb 24, 2013 at 6:40 PM, Dennis Clarke <dclarke@blastwave.org> wrote:
>
>> On Sun, Feb 24, 2013 at 4:02 AM, Dennis Clarke <dclarke@blastwave.org>
>> wrote:
>> >
>> >
>> > Am pretty sure that these are all false positives :
>> >
>> >
>> >                 === libffi Summary ===
>> >
>> > # of unexpected failures        131
>> > # of unresolved testcases       131
>> > # of unsupported tests          11
>>
>> The even number of pass/fail suggests some kind of linking error.
>> What does testsuite/libffi.log say?
>
> * This is long and detailed.  Sorry.  With luck we can get a perfect
> * build and test run and then update http://www.moxielogic.org/wiki/index.php?title=Libffi_3.0.12
>
> Well I am stumped a bit here.  I looked into the Makefile's found and they
> all have the correct CFLAGS.
>
> Should I be looking for LD_MAGIC or some sort of CFLAGS_FOR_LD ?
>
> I figure there must be something missing here as all the tests are being
> created, or attempted to be created, as 32-bit objects. That won't work as
> the libffi produced in the compile is 64-bit.
>
> For the sake of being very pedantic, precise and full disclosure here is what
> I am doing :
>
> [1] go looking in my /usr/local/src dir for a release tarball
>
> $ ls $SRC/libffi*
> /usr/local/src/libffi-3.0.10.tar.gz  /usr/local/src/libffi-3.0.12.tar.gz
> /usr/local/src/libffi-3.0.11.tar.gz  /usr/local/src/libffi-3.0.9.tar.gz
>
> [2] maybe look at the sha1 or md5 or whatever seems to work
>
> $ mdigest -a sha1 $SRC/libffi-3.0.12*
> 463dcb4ae9aea4c52bba12b67fbe4d91ed1e21fd  /usr/local/src/libffi-3.0.12.tar.gz
>
> A google search on that brings up lots of good stuff :
>
> http://lists.debian.org/debian-devel-changes/2013/02/msg00494.html
>
> [3] extract that and move it into a dir for OS-rev and arch and sequence
>
> $ gzip -dc $SRC/libffi-3.0.12.tar.gz | tar -xf -
> $ mv libffi-3.0.12 libffi-3.0.12_SunOS5.10_sparcv9.002
> $ cd libffi-3.0.12_SunOS5.10_sparcv9.002
>
> Yup, this really is only try number 002
>
> [4] because I have been running into problems, give autoreconf a try
>
> $ autoreconf --verbose --force --install
> autoreconf: Entering directory `.'
> autoreconf: configure.ac: not using Gettext
> autoreconf: running: aclocal --force -I m4
> autoreconf: configure.ac: tracing
> autoreconf: running: libtoolize --copy --force
> libtoolize: putting auxiliary files in `.'.
> libtoolize: copying file `./ltmain.sh'
> libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
> libtoolize: copying file `m4/libtool.m4'
> libtoolize: copying file `m4/ltoptions.m4'
> libtoolize: copying file `m4/ltsugar.m4'
> libtoolize: copying file `m4/ltversion.m4'
> libtoolize: copying file `m4/lt~obsolete.m4'
> autoreconf: running: /usr/local/bin/autoconf --force
> autoreconf: running: /usr/local/bin/autoheader --force
> autoreconf: running: automake --add-missing --copy --force-missing
> autoreconf: Leaving directory `.'
>
> [5] maybe save the state of the environment for later. I may need it
>
> $ pwd
> /usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002
> $ env | sort > ../libffi-3.0.12_SunOS5.10_sparcv9.002.env
>
> [6] check to see if anything in the environment changed between the last build attempt and this one
>
> $ ls -lo ../libffi-3.0.12_SunOS5.10_sparcv9.*.env
> -rw-r--r--   1 dclarke     2196 Feb 24 08:52 ../libffi-3.0.12_SunOS5.10_sparcv9.001.env
> -rw-r--r--   1 dclarke     2135 Feb 24 23:07 ../libffi-3.0.12_SunOS5.10_sparcv9.002.env
>
> $ diff ../libffi-3.0.12_SunOS5.10_sparcv9.001.env ../libffi-3.0.12_SunOS5.10_sparcv9.002.env
> 37c37
> < PWD=/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.001
> ---
>> PWD=/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002
>
> nothing but my `pwd` .. perfect
>
>
> Some things that affect the build in the env are :
>
> AR=/usr/ccs/bin/ar
>
> AS=/usr/ccs/bin/as
>
> CC=/opt/solarisstudio12.3/bin/cc
>
> CFLAGS=-errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16
>
> CONFIG_SHELL=/bin/bash
>
> CPPFLAGS=-I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE
>
> CXX=/opt/solarisstudio12.3/bin/CC
>
> CXXFLAGS=-dalign -erroff=%none -errtags=yes -ftrap=%none -g -xcode=pic32 -m64 -mc -xunroll=1 -xbuiltin=%none -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -xdepend=no -xnolibmopt -xlinkopt=0 -xnolibmil -xregs=no%appl -xs
>
> GREP=/usr/xpg4/bin/grep
>
> LANG=C
>
> LC_ALL=C
>
> LC_COLLATE=C
>
> LC_CTYPE=C
>
> LC_MESSAGES=C
>
> LC_MONETARY=C
>
> LC_NUMERIC=C
>
> LC_TIME=C
>
> LD=/usr/ccs/bin/sparcv9/ld
>
> LD_OPTIONS=-R/usr/local/lib/$ISALIST:/usr/local/ssl/lib/$ISALIST:/usr/local/lib:/usr/local/ssl/lib -L/usr/local/lib/$ISALIST:/usr/local/ssl/lib/$ISALIST:/usr/local/lib:/usr/local/ssl/lib
>
> LD_RUN_PATH=/usr/local/lib/$ISALIST:/usr/local/ssl/lib/$ISALIST
>
> LIBTOOL=/usr/local/bin/libtool
>
> M4=/usr/local/bin/gm4
>
> MAKE=/usr/local/bin/gmake
>
> NM=/usr/ccs/bin/sparcv9/nm -p
>
> PAGER=/usr/xpg4/bin/more
>
> PATH=/usr/local/bin:/usr/local/sbin:/usr/local/ssl/bin:/usr/xpg6/bin:/usr/xpg4/bin:/usr/ccs/bin:/opt/solarisstudio12.3/bin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/dt/bin:/usr/openwin/bin:/opt/schily/bin:/usr/local/texlive/2012/bin/sparc-solaris
>
> PERL=/usr/local/bin/perl
>
> PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/ssl/lib/pkgconfig
>
> SED=/usr/local/bin/gsed
>
> TERM=vt100
>
> TZ=GMT0
>
> That odd looking thing in LD_OPTIONS or LD_RUN_PATH there "$ISALIST" is
> old and obsolete now.  It simply allows the run-time linker to locate a lib that
>  is correct for the current hardware we are running on.  Since no one in the
> world is left running a 32-bit Sparc system it serves little value to go looking
> for sun4m or even 32-bit sparcv8 libs.  Regardless, it works well and at some
> point I should drop it.  However, Oracle still releases a 32-bit set of openssl
> libs in /usr/sfw/lib and the only way to tell the linker that the 64-bit ssl libs
> are anywhere else, smartly, is with something like $ISALIST.
>
> Better yet, I built openssl 1.0.1e into /usr/loca/ssl a few days ago and so
> the $ISALIST really is becoming obsolete.  We can safely ignore it.
>
> [6] give configure a whirl :
>
> $ ./configure
> checking build system type... sparc-sun-solaris2.10
> checking host system type... sparc-sun-solaris2.10
> checking target system type... sparc-sun-solaris2.10
> continue configure in default builddir "./sparc-sun-solaris2.10"
> ....exec /bin/bash .././configure "--srcdir=.." "--enable-builddir=sparc-sun-solaris2.10" "solaris2.10"
> checking build system type... sparc-sun-solaris2.10
> checking host system type... sparc-sun-solaris2.10
> checking target system type... sparc-sun-solaris2.10
> checking for gsed... /usr/local/bin/gsed
> checking for a BSD-compatible install... ../install-sh -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... ../install-sh -c -d
> checking for gawk... gawk
> checking whether /usr/local/bin/gmake sets $(MAKE)... yes
> checking whether /usr/local/bin/gmake supports nested variables... yes
> checking for gcc... /opt/solarisstudio12.3/bin/cc
> 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... no
> checking whether /opt/solarisstudio12.3/bin/cc accepts -g... yes
> checking for /opt/solarisstudio12.3/bin/cc option to accept ISO C89... none needed
> checking for style of include used by /usr/local/bin/gmake... GNU
> checking dependency style of /opt/solarisstudio12.3/bin/cc... none
> checking dependency style of /opt/solarisstudio12.3/bin/cc... none
> checking whether /opt/solarisstudio12.3/bin/cc and cc understand -c and -o together... yes
> checking how to print strings... printf
> checking for a sed that does not truncate output... /usr/local/bin/gsed
> checking for grep that handles long lines and -e... /usr/xpg4/bin/grep
> checking for egrep... /usr/xpg4/bin/grep -E
> checking for fgrep... /usr/xpg4/bin/grep -F
> checking for non-GNU ld... /usr/ccs/bin/sparcv9/ld
> checking if the linker (/usr/ccs/bin/sparcv9/ld) is GNU ld... no
> checking for BSD- or MS-compatible name lister (nm)... /usr/ccs/bin/sparcv9/nm -p
> checking the name lister (/usr/ccs/bin/sparcv9/nm -p) interface... BSD nm
> checking whether ln -s works... yes
> checking the maximum length of command line arguments... 786240
> checking whether the shell understands some XSI constructs... yes
> checking whether the shell understands "+="... yes
> checking how to convert sparc-sun-solaris2.10 file names to sparc-sun-solaris2.10 format... func_convert_file_noop
> checking how to convert sparc-sun-solaris2.10 file names to toolchain format... func_convert_file_noop
> checking for /usr/ccs/bin/sparcv9/ld option to reload object files... -r
> checking for objdump... no
> 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 archiver @FILE support... no
> checking for strip... strip
> checking for ranlib... ranlib
> checking command to parse /usr/ccs/bin/sparcv9/nm -p output from /opt/solarisstudio12.3/bin/cc object... ok
> checking for sysroot... no
> checking for mt... mt
> checking if mt is a manifest tool... no
> checking how to run the C preprocessor... /opt/solarisstudio12.3/bin/cc -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 for /opt/solarisstudio12.3/bin/cc option to produce PIC... -KPIC -DPIC
> checking if /opt/solarisstudio12.3/bin/cc PIC flag -KPIC -DPIC works... yes
> checking if /opt/solarisstudio12.3/bin/cc static flag -Bstatic works... yes
> checking if /opt/solarisstudio12.3/bin/cc supports -c -o file.o... yes
> checking if /opt/solarisstudio12.3/bin/cc supports -c -o file.o... (cached) yes
> checking whether the /opt/solarisstudio12.3/bin/cc linker (/usr/ccs/bin/sparcv9/ld -64) supports shared libraries... yes
> checking dynamic linker characteristics... solaris2.10 ld.so
> checking how to hardcode library paths into programs... immediate
> checking whether stripping libraries is possible... no
> checking if libtool supports shared libraries... yes
> checking whether to build shared libraries... yes
> checking whether to build static libraries... yes
> checking size of size_t... 8
> checking for C compiler vendor... sun
> checking whether to enable maintainer-specific portions of Makefiles... no
> checking sys/mman.h usability... yes
> checking sys/mman.h presence... yes
> checking for sys/mman.h... yes
> checking for mmap... yes
> checking for sys/mman.h... (cached) yes
> checking for mmap... (cached) yes
> checking whether read-only mmap of a plain file works... yes
> checking whether mmap from /dev/zero works... yes
> checking for MAP_ANON(YMOUS)... yes
> checking whether mmap with MAP_ANON(YMOUS) works... yes
> checking for ANSI C header files... (cached) yes
> checking for memcpy... yes
> checking for size_t... yes
> checking for working alloca.h... yes
> checking for alloca... yes
> checking size of double... 8
> checking size of long double... 16
> checking whether byte ordering is bigendian... yes
> checking assembler .cfi pseudo-op support... no
> checking assembler and linker support unaligned pc related relocs... no
> checking assembler .register pseudo-op support... yes
> checking that generated files are newer than configure... done
> configure: creating ./config.status
> config.status: creating include/Makefile
> config.status: creating include/ffi.h
> config.status: creating Makefile
> config.status: creating testsuite/Makefile
> config.status: creating man/Makefile
> config.status: creating libffi.pc
> config.status: creating fficonfig.h
> config.status: linking ../src/sparc/ffitarget.h to include/ffitarget.h
> config.status: executing buildir commands
> config.status: create top_srcdir/Makefile guessed from local Makefile
> config.status: build in sparc-sun-solaris2.10 (HOST=)
> config.status: executing depfiles commands
> config.status: executing libtool commands
> config.status: executing include commands
> config.status: executing src commands
> $
>
>
> [7] run gmake
>
> $ which gmake
> /usr/local/bin/gmake
> $ gmake --version
> GNU Make 3.82
> Built for sparc-sun-solaris2.10
> Copyright (C) 2010  Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> $
> $ ptime gmake
> MAKE sparc-sun-solaris2.10 :        0 * all-all
> gmake[1]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
> /usr/local/bin/gmake "AR_FLAGS=" "CC_FOR_BUILD=" "CFLAGS=-errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16" "CXXFLAGS=-dalign -erroff=%none -errtags=yes -ftrap=%none -g -xcode=pic32 -m64 -mc -xunroll=1 -xbuiltin=%none -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -xdepend=no -xnolibmopt -xlinkopt=0 -xnolibmil -xregs=no%appl -xs" "CFLAGS_FOR_BUILD=" "CFLAGS_FOR_TARGET=" "INSTALL=../install-sh -c" "INSTALL_DATA=../install-sh -c -m 644" "INSTALL_PROGRAM=../install-sh -c" "INSTALL_SCRIPT=../install-sh -c" "JC1FLAGS=" "LDFLAGS=" "LIBCFLAGS=" "LIBCFLAGS_FOR_TARGET=" "MAKE=/usr/local/bin/gmake" "MAKEINFO=/bin/bash /usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/missing makeinfo " "PICFLAG=" "PICFLAG_FOR_TARGET=" "RUNTESTFLAGS=" "SHELL=/bin/bash" "exec_prefix=/usr/local" "infodir=
> /usr/local/share/info" "libdir=/usr/local/lib" "mandir=/usr/local/share/man" "prefix=/usr/local" "AR=/usr/ccs/bin/ar" "AS=/usr/ccs/bin/as" "CC=/opt/solarisstudio12.3/bin/cc" "CXX=/opt/solarisstudio12.3/bin/CC" "LD=/usr/ccs/bin/sparcv9/ld -64" "NM=/usr/ccs/bin/sparcv9/nm -p" "RANLIB=ranlib" "DESTDIR=" all-recursive
> gmake[2]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
> Making all in include
> gmake[3]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/include'
> gmake[3]: Nothing to be done for `all'.
> gmake[3]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/include'
> Making all in testsuite
> gmake[3]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite'
> gmake[3]: Nothing to be done for `all'.
> gmake[3]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite'
> Making all in man
> gmake[3]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/man'
> gmake[3]: Nothing to be done for `all'.
> gmake[3]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/man'
> gmake[3]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
> source='../src/prep_cif.c' object='src/prep_cif.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/bash ../depcomp \
> /bin/bash ./libtool  --tag=CC   --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I..  -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE  -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/prep_cif.lo ../src/prep_cif.c
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/prep_cif.c  -KPIC -DPIC -o src/.libs/prep_cif.o
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/prep_cif.c -o src/prep_cif.o >/dev/null 2>&1
> source='../src/types.c' object='src/types.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/bash ../depcomp \
> /bin/bash ./libtool  --tag=CC   --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I..  -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE  -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/types.lo ../src/types.c
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/types.c  -KPIC -DPIC -o src/.libs/types.o
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/types.c -o src/types.o >/dev/null 2>&1
> source='../src/raw_api.c' object='src/raw_api.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/bash ../depcomp \
> /bin/bash ./libtool  --tag=CC   --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I..  -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE  -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/raw_api.lo ../src/raw_api.c
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/raw_api.c  -KPIC -DPIC -o src/.libs/raw_api.o
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/raw_api.c -o src/raw_api.o >/dev/null 2>&1
> source='../src/java_raw_api.c' object='src/java_raw_api.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/bash ../depcomp \
> /bin/bash ./libtool  --tag=CC   --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I..  -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE  -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/java_raw_api.lo ../src/java_raw_api.c
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/java_raw_api.c  -KPIC -DPIC -o src/.libs/java_raw_api.o
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/java_raw_api.c -o src/java_raw_api.o >/dev/null 2>&1
> source='../src/closures.c' object='src/closures.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/bash ../depcomp \
> /bin/bash ./libtool  --tag=CC   --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I..  -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE  -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/closures.lo ../src/closures.c
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/closures.c  -KPIC -DPIC -o src/.libs/closures.o
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/closures.c -o src/closures.o >/dev/null 2>&1
> source='../src/sparc/ffi.c' object='src/sparc/ffi.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/bash ../depcomp \
> /bin/bash ./libtool  --tag=CC   --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I..  -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE  -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/sparc/ffi.lo ../src/sparc/ffi.c
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/sparc/ffi.c  -KPIC -DPIC -o src/sparc/.libs/ffi.o
> "../src/sparc/ffi.c", line 466: warning: argument #1 is incompatible with prototype:
>         prototype: pointer to void : "../src/sparc/ffi.c", line 372
>         argument : pointer to function(pointer to char, pointer to struct  {pointer to struct  {..} cif, pointer to void rvalue, pointer to pointer to void avalue}) returning int
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/sparc/ffi.c -o src/sparc/ffi.o >/dev/null 2>&1
> source='../src/sparc/v8.S' object='src/sparc/v8.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/bash ../depcomp \
> /bin/bash ./libtool    --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I..  -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -I. -I../include -Iinclude -I../src -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/sparc/v8.lo ../src/sparc/v8.S
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -I. -I../include -Iinclude -I../src -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/sparc/v8.S  -KPIC -DPIC -o src/sparc/.libs/v8.o
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -I. -I../include -Iinclude -I../src -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/sparc/v8.S -o src/sparc/v8.o >/dev/null 2>&1
> source='../src/sparc/v9.S' object='src/sparc/v9.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/bash ../depcomp \
> /bin/bash ./libtool    --mode=compile /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I..  -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -I. -I../include -Iinclude -I../src -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c -o src/sparc/v9.lo ../src/sparc/v9.S
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -I. -I../include -Iinclude -I../src -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/sparc/v9.S  -KPIC -DPIC -o src/sparc/.libs/v9.o
> libtool: compile:  /opt/solarisstudio12.3/bin/cc -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -I/usr/local/include -I/usr/local/ssl/include -D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE -I. -I../include -Iinclude -I../src -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -c ../src/sparc/v9.S -o src/sparc/v9.o >/dev/null 2>&1
> /bin/bash ./libtool  --tag=CC   --mode=link /opt/solarisstudio12.3/bin/cc  -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16   -o libffi_convenience.la  src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.lo src/closures.lo         src/sparc/ffi.lo src/sparc/v8.lo src/sparc/v9.lo
> libtool: link: /usr/ccs/bin/ar cru .libs/libffi_convenience.a src/.libs/prep_cif.o src/.libs/types.o src/.libs/raw_api.o src/.libs/java_raw_api.o src/.libs/closures.o src/sparc/.libs/ffi.o src/sparc/.libs/v8.o src/sparc/.libs/v9.o
> libtool: link: ranlib .libs/libffi_convenience.a
> libtool: link: ( cd ".libs" && rm -f "libffi_convenience.la" && ln -s "../libffi_convenience.la" "libffi_convenience.la" )
> /bin/bash ./libtool  --tag=CC   --mode=link /opt/solarisstudio12.3/bin/cc  -errfmt=error -erroff=%none -errshort=full -xstrconst -xildoff -m64 -xmemalign=8s -xnolibmil -Xa -xcode=pic32 -xregs=no%appl -xlibmieee -mc -g -xs -ftrap=%none -Qy -xbuiltin=%none -xdebugformat=dwarf -xunroll=1 -xtarget=ultraT2 -xcache=8/16/4:4096/64/16 -no-undefined -version-info `grep -v '^#' ../libtool-version`    -o libffi.la -rpath /usr/local/lib src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.lo src/closures.lo         src/sparc/ffi.lo src/sparc/v8.lo src/sparc/v9.lo
> libtool: link: /opt/solarisstudio12.3/bin/cc -G -z defs -h libffi.so.6 -o .libs/libffi.so.6.0.1  src/.libs/prep_cif.o src/.libs/types.o src/.libs/raw_api.o src/.libs/java_raw_api.o src/.libs/closures.o src/sparc/.libs/ffi.o src/sparc/.libs/v8.o src/sparc/.libs/v9.o   -lc  -m64 -mc -xtarget=ultraT2
> libtool: link: (cd ".libs" && rm -f "libffi.so.6" && ln -s "libffi.so.6.0.1" "libffi.so.6")
> libtool: link: (cd ".libs" && rm -f "libffi.so" && ln -s "libffi.so.6.0.1" "libffi.so")
> libtool: link: /usr/ccs/bin/ar cru .libs/libffi.a  src/prep_cif.o src/types.o src/raw_api.o src/java_raw_api.o src/closures.o src/sparc/ffi.o src/sparc/v8.o src/sparc/v9.o
> libtool: link: ranlib .libs/libffi.a
> libtool: link: ( cd ".libs" && rm -f "libffi.la" && ln -s "../libffi.la" "libffi.la" )
> gmake[3]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
> gmake[2]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
> gmake[1]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
>
> real        6.447
> user        4.284
> sys         2.324
> $
>
> [8] take a look at what we have in .libs
>
> $ ls -l sparc-sun-solaris2.10/.libs
> total 218
> -rw-r--r--   1 dclarke  other      79176 Feb 24 23:31 libffi.a
> lrwxrwxrwx   1 dclarke  other         12 Feb 24 23:31 libffi.la -> ../libffi.la
> -rw-r--r--   1 dclarke  other        910 Feb 24 23:31 libffi.lai
> lrwxrwxrwx   1 dclarke  other         15 Feb 24 23:31 libffi.so -> libffi.so.6.0.1
> lrwxrwxrwx   1 dclarke  other         15 Feb 24 23:31 libffi.so.6 -> libffi.so.6.0.1
> -rwxr-xr-x   1 dclarke  other      58032 Feb 24 23:31 libffi.so.6.0.1
> -rw-r--r--   1 dclarke  other      79240 Feb 24 23:31 libffi_convenience.a
> lrwxrwxrwx   1 dclarke  other         24 Feb 24 23:31 libffi_convenience.la -> ../libffi_convenience.la
>
> $ file sparc-sun-solaris2.10/.libs/libffi.so.6.0.1
> sparc-sun-solaris2.10/.libs/libffi.so.6.0.1: ELF 64-bit MSB dynamic lib SPARCV9 Version 1, UltraSPARC3 Extensions Required, dynamically linked, not stripped
> $
>
> $ elfdump -dev  sparc-sun-solaris2.10/.libs/libffi.so.6.0.1
>
> ELF Header
>   ei_magic:   { 0x7f, E, L, F }
>   ei_class:   ELFCLASS64          ei_data:       ELFDATA2MSB
>   ei_osabi:   ELFOSABI_SOLARIS    ei_abiversion: EAV_SUNW_CURRENT
>   e_machine:  EM_SPARCV9          e_version:     EV_CURRENT
>   e_type:     ET_DYN
>   e_flags:    [ EF_SPARCV9_TSO EF_SPARC_SUN_US1 EF_SPARC_SUN_US3 ]
>   e_entry:                     0  e_ehsize:     64  e_shstrndx:  28
>   e_shoff:                0xdb70  e_shentsize:  64  e_shnum:     29
>   e_phoff:                  0x40  e_phentsize:  56  e_phnum:     4
>
> Version Needed Section:  .SUNW_version
>      index  file                        version
>        [2]  libc.so.1                   SUNW_0.7
>
> Dynamic Section:  .dynamic
>      index  tag                value
>        [0]  NEEDED            0x39e               libc.so.1
>        [1]  INIT              0x4940
>        [2]  FINI              0x4950
>        [3]  SONAME            0x3b1               libffi.so.6
>        [4]  RUNPATH           0x3bd               /usr/local/lib/$ISALIST:/usr/local/ssl/lib/$ISALIST:/usr/local/lib:/usr/local/ssl/lib
>        [5]  RPATH             0x3bd               /usr/local/lib/$ISALIST:/usr/local/ssl/lib/$ISALIST:/usr/local/lib:/usr/local/ssl/lib
>        [6]  HASH              0x3b0
>        [7]  STRTAB            0xba8
>        [8]  STRSZ             0x613
>        [9]  SYMTAB            0x5c0
>       [10]  SYMENT            0x18
>       [11]  CHECKSUM          0x77
>       [12]  VERNEED           0x11c0
>       [13]  VERNEEDNUM        0x1
>       [14]  RELACOUNT         0x6
>       [15]  PLTRELSZ          0x210
>       [16]  PLTREL            0x7
>       [17]  JMPREL            0x1320
>       [18]  RELA              0x1260
>       [19]  RELASZ            0x2d0
>       [20]  RELAENT           0x18
>       [21]  REGISTER          0x21
>       [22]  FLAGS             0                   0
>       [23]  FLAGS_1           0                   0
>       [24]  SUNW_STRPAD       0x200
>       [25]  SUNW_LDMACH       0x2b                EM_SPARCV9
>       [26]  PLTGOT            0x104a00
>    [27-37]  NULL              0
> $
>
>
> Looks good but I see that my long winded RUNPATH/RPATH that points to ssl libs really isn't needed. Certainly the RPATH/RUNPATH pointing to /usr/local/lib is needed to avoid confusion with any system provided libs.
>
> Regardless, this is a good looking result.
>
> The testsuite however ... is not good :
>
> $ gmake check
> MAKE sparc-sun-solaris2.10 :        0 * check
> gmake[1]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
> Making check in include
> gmake[2]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/include'
> gmake[2]: Nothing to be done for `check'.
> gmake[2]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/include'
> Making check in testsuite
> gmake[2]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite'
> /usr/local/bin/gmake  check-DEJAGNU
> gmake[3]: Entering directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite'
> Making a new site.exp file ...
> srcdir='../../testsuite'; export srcdir; \
> EXPECT=`if [ -f ../../expect/expect ] ; then echo ../../expect/expect ; else echo expect ; fi`; export EXPECT; \
> if /bin/bash -c "`if [ -f ../../../dejagnu/runtest ] ; then echo ../../../dejagnu/runtest ; else echo runtest; fi` --version" > /dev/null 2>&1; then \
>   exit_status=0; l='libffi'; for tool in $l; do \
>     if `if [ -f ../../../dejagnu/runtest ] ; then echo ../../../dejagnu/runtest ; else echo runtest; fi`  --tool $tool --srcdir $srcdir ; \
>     then :; else exit_status=1; fi; \
>   done; \
> else echo "WARNING: could not find '`if [ -f ../../../dejagnu/runtest ] ; then echo ../../../dejagnu/runtest ; else echo runtest; fi`'" 1>&2; :;\
> fi; \
> exit $exit_status
> WARNING: Couldn't find the global config file.
> Test Run By dclarke on Sun Feb 24 23:35:54 2013
> Native configuration is sparc-sun-solaris2.10
>
>                 === libffi tests ===
>
> Schedule of variations:
>     unix
>
> Running target unix
> Using /usr/local/share/dejagnu/baseboards/unix.exp as board description file for target.
> Using /usr/local/share/dejagnu/config/unix.exp as generic interface file for target.
> Using ../../testsuite/config/default.exp as tool-and-target-specific interface file.
> Running ../../testsuite/libffi.call/call.exp ...
> FAIL: libffi.call/closure_fn0.c (test for excess errors)
> FAIL: libffi.call/closure_fn1.c (test for excess errors)
> FAIL: libffi.call/closure_fn2.c (test for excess errors)
> .
> .
> .
> FAIL: libffi.call/va_struct2.c (test for excess errors)
> FAIL: libffi.call/va_struct3.c (test for excess errors)
> Running ../../testsuite/libffi.special/special.exp ...
>
>                 === libffi Summary ===
>
> # of unexpected failures        131
> # of unresolved testcases       131
> # of unsupported tests          11
> gmake[3]: *** [check-DEJAGNU] Error 1
> gmake[3]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite'
> gmake[2]: *** [check-am] Error 2
> gmake[2]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite'
> gmake[1]: *** [check-recursive] Error 1
> gmake[1]: Leaving directory `/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10'
> gmake: *** [check] Error 2
> $
>
> The log file is pretty clear on the problem :
>
> Test Run By dclarke on Sun Feb 24 23:35:54 2013
> Native configuration is sparc-sun-solaris2.10
>
>                 === libffi tests ===
>
> Schedule of variations:
>     unix
>
> Running target unix
> Using /usr/local/share/dejagnu/baseboards/unix.exp as board description file for target.
> Using /usr/local/share/dejagnu/config/unix.exp as generic interface file for target.
> Using ../../testsuite/config/default.exp as tool-and-target-specific interface file.
> Running ../../testsuite/libffi.call/call.exp ...
> set_ld_library_path_env_vars: ld_library_path=:/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../.libs
> Executing on host: /opt/solarisstudio12.3/bin/cc ../../testsuite/libffi.call/closure_fn0.c    -I/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../include -I../../testsuite/../include  -I/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../include/.. -L/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../.libs  -lffi -lm   -o ./closure_fn0.exe    (timeout = 300)
> spawn /opt/solarisstudio12.3/bin/cc ../../testsuite/libffi.call/closure_fn0.c -I/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../include -I../../testsuite/../include -I/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../include/.. -L/usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../.libs -lffi -lm -o ./closure_fn0.exe
> ld: fatal: file /usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../.libs/libffi.so: wrong ELF class: ELFCLASS64
> ld: fatal: file processing errors. No output written to ./closure_fn0.exe
> compiler exited with status 1
> output is:
> ld: fatal: file /usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../.libs/libffi.so: wrong ELF class: ELFCLASS64
> ld: fatal: file processing errors. No output written to ./closure_fn0.exe
>
> FAIL: libffi.call/closure_fn0.c (test for excess errors)
> Excess errors:
> ld: fatal: file /usr/local/build/libffi-3.0.12_SunOS5.10_sparcv9.002/sparc-sun-solaris2.10/testsuite/../.libs/libffi.so: wrong ELF class: ELFCLASS64
> ld: fatal: file processing errors. No output written to ./closure_fn0.exe
>
> UNRESOLVED: libffi.call/closure_fn0.c compilation failed to produce executable
> .
> .
> .
> .
>
>
> So there we have it.  A good looking build but a bad looking testsuite.
>
> So the real question is, what needs to be changed where to get the testsuite to do correct compiles which link with the 64-bit lib?
>
> Perhaps we can make up a one line patch that fixes this in the release tarball ?
>
> Dennis


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]