www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 19709] New: CRuntime_Musl is missing implementation for ARM

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?

--
Feb 28 2019