[erlang-questions] Erlang crypto_drv in R13B02/03 fails to load on amd64-Solaris2.10

Peter-Henry Mander <>
Tue Nov 24 12:03:42 CET 2009


$> /bin/file ./lib/crypto/priv/obj/i386-pc-solaris2.10/crypto_drv.o
./lib/crypto/priv/obj/i386-pc-solaris2.10/crypto_drv.o: ELF 64-bit LSB
relocatable AMD64 Version 1

The gcc.wrapper script is a belts-and-braces device to prevent any 32
bit stuff from seeping through. It may be excessive, but it is a
guarantee.

I'm going to experiment with a different machine, a Core2Quad with 4Gb
of RAM. The 4Gb falls within the 32 bit address range, not the 36 bits
required by the 64Gb we have installed in the original machine. I have
a nagging suspicion that the I'm observing a Solaris10 loader bug
(suggested by Wallentin Dahlberg), that will only be triggered when
more than 4Gb RAM is available. I'm betting that the Intel EM64T is
equivalent to AMD64, and that it behaves exactly the same. To prove
the point, I shall try to plug an extra 4Gb RAM (or more, if I can
afford it) to see if the Core2Quad changes behaviour when more than 32
bits addressing range is available.

Pete.

On Mon, Nov 23, 2009 at 8:46 PM, Per Hedeland <> wrote:
> Perhaps you need to take a step back here - what does
>
>  file .../priv/obj/i386-pc-solaris2.10/crypto_drv.o
>
> say? From my reading of the Solaris 'ld' man page, -64 shouldn't be
> needed - but it might possibly "mask" the mistake of trying to build a
> 64-bit shared object from a 32-bit "unshared" object.
>
> --Per
>


More information about the erlang-questions mailing list