February 28, 2019
https://issues.dlang.org/show_bug.cgi?id=19709

          Issue ID: 19709
           Summary: CRuntime_Musl is missing implementation for ARM
           Product: D
           Version: D2
          Hardware: Other
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: druntime
          Assignee: nobody@puremagic.com
          Reporter: andre@s-e-a-p.de

On Ubuntu 18.04 LTS (Windows subsystem for linux) I executed following
commands:

sudo apt-get update && sudo apt-get install build-essential cmake
curl -LO https://musl.cc/arm-linux-musleabihf-cross.tgz
tar -xvzf arm-linux-musleabihf-cross.tgz

curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.14.0/ldc2-1.14.0-linux-x86_64.tar.xz tar -xf ldc2-1.14.0-linux-x86_64.tar.xz

export
PATH=/home/user/arm-linux-musleabihf-cross/bin:/home/user/ldc2-1.14.0-linux-x86_64/bin:$PATH
export CC=arm-linux-musleabihf-gcc
ldc-build-runtime --dFlags="-w;-mtriple=arm-linux-musleabihf"


I get these errors: /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/signal.d(3485): Error: undefined identifier pthread_attr_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(392): Error: undefined identifier pthread_mutex_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(393): Error: undefined identifier pthread_once_t, did you mean function pthread_once? /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(446): Error: undefined identifier pthread_attr_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(447): Error: undefined identifier pthread_attr_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(448): Error: undefined identifier pthread_attr_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(449): Error: undefined identifier pthread_attr_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(450): Error: undefined identifier pthread_attr_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(451): Error: undefined identifier pthread_attr_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(717): Error: undefined identifier pthread_cond_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(718): Error: undefined identifier pthread_cond_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(719): Error: undefined identifier pthread_cond_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(719): Error: undefined identifier pthread_condattr_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(720): Error: undefined identifier pthread_cond_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(721): Error: undefined identifier pthread_cond_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(721): Error: undefined identifier pthread_mutex_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(722): Error: undefined identifier pthread_cond_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(722): Error: undefined identifier pthread_mutex_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(723): Error: undefined identifier pthread_condattr_t /home/user/ldc-build-runtime.tmp/ldc-src/runtime/druntime/src/core/sys/posix/pthread.d(724): Error: undefined identifier pthread_condattr_t

As far as I understand in core.sys.posix.signal the version CRuntime_Musl is only implemented for X86_64 but not for ARM.

What I do not understand, the static assert should be thrown, but it isn't thrown and the syntax errors are shown instead.

Could you implement the ARM version for CRuntime_Musl?

--