Oh, now I read it again and I realize you try to compile compiler-rt and not musl. I'm so sorry for misunderstanding. I had a rough day.

PS: Sorry for spam

2018-02-13 15:36 GMT+01:00 Matúš Olekšák <oleksak.matus@gmail.com>:
I assumed it's the same problem a had last week on pure llvm environment and I discovered bug in compiler-rt detection which solves my patch.

2018-02-13 15:33 GMT+01:00 Dmitry Golovin <dima@golovin.in>:
Thank you for the patch, but I don't think it is relevant to this problem.

If you take a look at my build script, you'll see that I don't need it: https://github.com/tpimh/ngtc/blob/alpine/build.sh#L73

Regards,
Dmitry

13.02.2018, 16:31, "Matúš Olekšák" <oleksak.matus@gmail.com>:
> Try this patch to correctly link compiler-rt.
>
> 2018-02-13 15:15 GMT+01:00 Szabolcs Nagy <nsz@port70.net>:
>> * Dmitry Golovin <dima@golovin.in> [2018-02-13 15:34:34 +0200]:
>>> I'm trying to compile compiler-rt with musl and it used to be fine, but I can't succeed with recent versions of compiler-rt.
>>>
>>> The compilation fails because of the lack of real_shmctl while musl clearly has shmctl: http://git.musl-libc.org/cgit/musl/tree/src/ipc/shmctl.c
>>>
>>> Here is the complete output:
>>>
>>>     llvm/projects/compiler-rt/lib/msan/msan_interceptors.cc:1446:15: error: no member named 'real_shmctl' in namespace '__interception'; did you mean 'real_ioctl'?
>>>         int res = REAL(shmctl)(shmid, shmctl_ipc_stat, &ds);
>>>                   ^~~~~~~~~~~~
>>
>> there should be a
>>
>> DECLARE_REAL(int, shmctl, int shmid, int cmd, void *buf)
>>
>> in that file which defines __interception::real_shmctl.
>>
>>> To compile without glibc on linux using this patch:
>>> https://github.com/tpimh/ngtc/blob/alpine/patch/compiler-rt-01-sanitizer-nongnu.patch
>>>
>>> Regards,
>>> Dmitry