Hi Richard, > Unfortunately, even with this fixed, all Solaris/x86 tests now fail to > link: > > FAIL: libffi.call/closure_fn0.c -W -Wall -Wno-psabi -O0 (test for excess > errors) > Excess errors: > Undefined first referenced > symbol in file > ffi_closure_alloc /var/tmp//ccIpq3qc.o > ffi_type_float /var/tmp//ccIpq3qc.o > ffi_type_uint64 /var/tmp//ccIpq3qc.o > ffi_type_sint32 /var/tmp//ccIpq3qc.o > ffi_type_sint16 /var/tmp//ccIpq3qc.o > ffi_type_double /var/tmp//ccIpq3qc.o > ffi_prep_cif /var/tmp//ccIpq3qc.o > ld: fatal: symbol referencing errors
turned out to be easy, too: make_sunver.pl got passed a list of non-existant object files: .libs/src/prep_cif.o .libs/src/types.o .libs/src/raw_api.o .libs/src/java_raw_api.o .libs/src/closures.o Treating $(libffi_la_OBJECTS) and $(libffi_la_LIBADD) the same fixed this so all the symbols above got included in libffi.map-sun and all tests pass. Tested on i386-pc-solaris2.12, installed on mainline. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University 2016-03-03 Rainer Orth <r...@cebitec.uni-bielefeld.de> * Makefile.am (libffi.map-sun): Properly convert $(libffi_la_OBJECTS) to object names. * Makefile.in: Regenerate.
# HG changeset patch # Parent ce4aa09ea32c03f4d0ad44415ce066a861bda6c3 Fix passing object names to make_sunver.pl diff --git a/libffi/Makefile.am b/libffi/Makefile.am --- a/libffi/Makefile.am +++ b/libffi/Makefile.am @@ -215,8 +215,7 @@ libffi_version_dep = libffi.map-sun libffi.map-sun : libffi.map $(top_srcdir)/../contrib/make_sunver.pl \ $(libffi_la_OBJECTS) $(libffi_la_LIBADD) perl $(top_srcdir)/../contrib/make_sunver.pl libffi.map \ - $(libffi_la_OBJECTS:%.lo=.libs/%.o) \ - `echo $(libffi_la_LIBADD) | \ + `echo $(libffi_la_OBJECTS) $(libffi_la_LIBADD) | \ sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \ > $@ || (rm -f $@ ; exit 1) endif