64 bit Erlang on Opterons?

Mikael Pettersson <>
Thu Jul 29 21:15:50 CEST 2004


On Thu, 29 Jul 2004 08:18:21 -0700 (PDT), Eli Liang wrote:
>By the way, RTLD_NEXT is not a 1003.1 (2004) standard, so HiPE should make it optional anyways.  (See: http://www.opengroup.org/onlinepubs/009695399/)
...
>I would be interested in getting HiPE running on QNX Neutrino 6.2.1.  There is a port of Erlang/OTP R9C to this version of Neutrino... all except for HiPE.  (See: http://www.openqnx.com/Article229.html)
> 
>The issues with HiPE & QNX that the porting team identified there were:
>(1) dlopen doesn't include support for "RTLD_NEXT" in QNX
>(2) SA_ONSTACK and SIGSTKSZ are not defined in QNX
> 
>Also, as Vlad pointed out, there might be the same stack overflow problem on QNX as the circa 2001 problem that occurs under Windows.
> 
>Can the HiPE team make some comments on these issues?  Might there be workarounds in HiPE to the QNX deficiencies in (1) & (2) above?

HiPE support for x86/x86-64 requires that the environment
(OS and C library) never asynchronously executes any code
on the current (%esp) stack. In Unix terms, we require
sigaltstack semantics for signal handlers.

Our currently supported OS/libc combinations (Linux/glibc
and Solaris) don't guarantee this as-is, but can be coerced
to do so with (system-dependent) use of RTLD_NEXT and
SA_ONSTACK.

If QNX can be made to comply with these requirements,
then HiPE/x86 can support QNX. Otherwise it falls into
the same category as Windows: no known workarounds that
don't seriously sacrifice performance or memory usage.

/Mikael



More information about the erlang-questions mailing list