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


> 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]