On Wed, Jan 6, 2016 at 11:28 AM, David Matthews <David.Matthews at prolingua.co.uk> wrote:
On 06/01/2016 15:44, Anthony Fox wrote:
When trying to build Poly/ML with
./configure --enabled-shared
I got
ld: illegal text-relocation to 'assign_word' in .libs/x86asmtemp.o from '_entryPointVector' in .libs/x86asmtemp.o for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [libpolyml.la] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
However, the build was successful with the default ./configure.
I don't know what is going on here. It looks as though Mac OS X is expecting some sort of relocation rather than an absolute address.
The error means that assign_word is not a position-independent symbol, so the reference to it from _entryPointVector requires a relocation. Anthony, when x86asmtemp.S was compiled, was -fPIC or a related flag passed to the compiler or assembler? (Full disclosure: I don't use, and don't even have access to, Mac OS X, so if I appear to be talking nonsense, that's probably because I am.)