[erlang-questions] Elbrus 2K support

Alex Arnon alex.arnon@REDACTED
Fri Nov 4 10:52:47 CET 2016


Very very cool!!!

Do they still make SPARC compatible machines?
Where are Elbrus machines used? Have they achieved a wide distribution?

On Thu, Nov 3, 2016 at 2:47 PM, Max Lapshin <max.lapshin@REDACTED> wrote:

>
> Hi.
>
> We have successfully compiled erlang 19.0 under Elbrus 2K.  It is russian
> computer with VLIW architecture and transparent support for amd64
> instructions execution.
>
> $ uname -a
>
> Linux EL2S4-53-31 3.14.46-elbrus.314.1.14 #1 SMP Mon Sep 21 22:13:08 GMT
> 2015 e2k E2S EL2S4 GNU/Linux
>
>
> Right now we have tested how it works in amd64 emulation and had to make
> some trivial hacks for it to compile (patch in the end of email), because
> compiler is lcc:
>
> $ lcc -v
>
> lcc:1.20.09:Aug-27-2015:e2k-4c-linux
>
> Thread model: posix
>
> gcc version 4.4.0 compatible.
>
> Stackoverflow couldn't help us with compiling under elbrus, so I decided
> to make two dirty patches =)
>
>
> Erlang and thus our Flussonic can run on this architecture. Thank you for
> portable code!
>
>
>
>
>
> diff --git a/erts/emulator/beam/erl_bif_re.c b/erts/emulator/beam/erl_bif_
> re.c
> index ff7746c..e83c762 100644
> --- a/erts/emulator/beam/erl_bif_re.c
> +++ b/erts/emulator/beam/erl_bif_re.c
> @@ -31,7 +31,7 @@
>  #include "big.h"
>  #define ERLANG_INTEGRATION 1
>  #define PCRE_STATIC
> -#include "pcre.h"
> +#include "../pcre/pcre.h"
>
>  #define PCRE_DEFAULT_COMPILE_OPTS 0
>  #define PCRE_DEFAULT_EXEC_OPTS 0
> diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h
> index dfe82ca..872a7df 100644
> --- a/erts/emulator/beam/sys.h
> +++ b/erts/emulator/beam/sys.h
> @@ -235,7 +235,7 @@ __decl_noreturn void __noreturn erl_assert_error(const
> char* expr, const char *f
>   * Compile time assert
>   * (the actual compiler error msg can be a bit confusing)
>   */
> -#if ERTS_AT_LEAST_GCC_VSN__(3,1,1)
> +#if false && ERTS_AT_LEAST_GCC_VSN__(3,1,1)
>  # define ERTS_CT_ASSERT(e) \
>      do { \
>   enum { compile_time_assert__ = __builtin_choose_expr((e),0,(void)0) }; \
>
>
>
>
>
>
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20161104/aca88002/attachment.htm>


More information about the erlang-questions mailing list