Bug 19709 – CRuntime_Musl is missing implementation for ARM
Status
RESOLVED
Resolution
FIXED
Severity
enhancement
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
Other
OS
Linux
Creation time
2019-02-28T19:15:44Z
Last change time
2019-06-14T20:40:04Z
Assigned to
No Owner
Creator
Andre
Comments
Comment #0 by andre — 2019-02-28T19:15:44Z
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?