On 9/26/12 5:47 PM, David Matthews wrote:
Well, I tried, along the same lines:
--build=x86_64-solaris and --build=amd64-solaris
CFLAGS='-m64 -O3 -I../libffi/include'
CXXFLAGS='-m64 -O3 -I../libffi/include'
CCASFLAGS='-m64 -O3'
.....
From the comment near the top of elfexport.cpp it seems that there is
an explicit inclusion of sys/elf_386.h if it is present:
// Solaris seems to put processor-specific constants in separate files
#ifdef HAVE_SYS_ELF_SPARC_H
#include <sys/elf_SPARC.h>
#endif
#ifdef HAVE_SYS_ELF_386_H
#include <sys/elf_386.h>
#endif
Does it work if you add
#include <sys/elf_amd64.h>
just after that (without any ifdef)? If so it would be easy for me to
fix.
make goes much further then. Here are the last 30 lines printed:
Making STRUCT
Created functor STRUCT
Created structure Struct
Making Conversions
Making CONVERSIONS
Created signature ForeignExceptionSig_Import
Created functor CONVERSIONS
Created structure Conversions
Making StructConversionals
Making STRUCT_CONVERSIONALS
Created functor STRUCT_CONVERSIONALS
Created structure StructConversionals
Created structure CInterface
/bin/sh ./libtool --tag=CC --mode=link gcc -DSOLARIS -Wall
-fno-strict-aliasing -m64 -O3 -I../libffi/include
-I../libffi/include -o poly polyexport.o libpolymain/libpolymain.la
libpolyml/libpolyml.la -lpthread -lgmp -lsocket -lnsl -lm -ldl -lstdc++
-lgcc_s -lgcc
libtool: link: gcc -DSOLARIS -Wall -fno-strict-aliasing -m64 -O3
-I../libffi/include -I../libffi/include -o .libs/poly polyexport.o
libpolymain/.libs/libpolymain.a -lstdc++ libpolyml/.libs/libpolyml.so
-L/usr/sfw/lib/amd64 -lpthread -lgmp -lsocket -lnsl -ldl
/usr/sfw/lib/amd64/libstdc++.so -lm -lgcc_s -lgcc
-R/home/bernard/local/polyml/i86pc-64/lib -R/usr/sfw/lib/amd64
ld: fatal: file polyexport.o: section .rel.data has invalid type [ SHT_REL ]
ld: fatal: file polyexport.o: section .rel.text has invalid type [ SHT_REL ]
ld: fatal: file polyexport.o: section .rel.data has invalid type [ SHT_REL ]
ld: fatal: file polyexport.o: section .rel.data has invalid type [ SHT_REL ]
ld: fatal: file polyexport.o: section .rel.data has invalid type [ SHT_REL ]
ld: fatal: file polyexport.o: section .rel.text has invalid type [ SHT_REL ]
ld: fatal: file polyexport.o: section .rel.data has invalid type [ SHT_REL ]
ld: warning: file /usr/sfw/lib/amd64/libstdc++.so: attempted multiple
inclusion of file
ld: fatal: file processing errors. No output written to .libs/poly
collect2: ld returned 1 exit status
gmake[2]: *** [poly] Error 1
gmake[2]: Leaving directory `/home/bernard/local/polyml.5.5'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/bernard/local/polyml.5.5'
gmake: *** [all] Error 2
Bernard.
_______________________________________________
polyml mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml