[Ecls-list] fatal: relocation errors on Solaris x86 and OpenSolaris 64-bit.
Dr. David Kirkby
david.kirkby at onetel.net
Sun Nov 7 20:54:24 UTC 2010
On 11/ 6/10 12:14 AM, Juan Jose Garcia-Ripoll wrote:
> On Sat, Nov 6, 2010 at 12:26 AM, Dr. David Kirkby
> <david.kirkby at onetel.net>wrote:
>> BTW, could you make the activation/deactivation an option? Since it causes
>> no problems on 32-bit builds to my knowledge, it would be nice to be able to
>> enable the optimization. Otherwise it will cause a performance regression on
>> 32-bit builds.
> Regarding your question of how I found the problem, you actually gave me the
> answer when you mentioned the possibility that it would be a table of
> pointers. ECL currently has only one such tables, in the interpreter.
> As for the activation/deactivation, this is a too narrow problem to add a
> configuration option. We can simply change src/h/bytecodes.h so that it
> activates the flag back again in 32-bit builds
It's a shame it can't be configured, but I understand your reasons.
Unless I am mistaken, this problem is only seen with gcc. In which case, the
removal of the optimiser can be condition on __GNUC__ being defined.
The leaves only one other package (R) in Sage that is not building properly
64-bit on Solaris. R is less critical, as a failure of R to build only affects
that one package - not the whole of Sage. Whereas ECL was causing more serious
problems. Since R is not linked, but only called via a pexpect interface, it is
not as serious.
If Juanjo could point out the bit of code that actually causes the problem, I'd
be interested. I'd like to get this submitted as a bug to gcc, as the Sun
compiler can I believe work around this issue, moving the relevant code to a
section which is read-write, and not read-only.
More information about the ecl-devel