Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Wed, 14 Feb 2018 17:29:08 +0200
From: Dmitry Golovin <dima@...ovin.in>
To: "musl@...ts.openwall.com" <musl@...ts.openwall.com>
Subject: Re: shmctl not found when compiling compiler-rt

Thank you!

DECLARE_REAL worked. It seems it was there, but was removed later: https://github.com/llvm-mirror/compiler-rt/commit/d4f4f7cd131af547f3d94219c1f486534fec2e60#diff-22e90027e43e7a82412a4f97c22b86e6L1137

But it seems that it is declared also here: https://github.com/llvm-mirror/compiler-rt/blob/master/lib/sanitizer_common/sanitizer_common_interceptors.inc#L4320 

So, probably the problem is that SANITIZER_INTERCEPT_SHMCTL is not enabled for some reason. I will investigate it and change the patch accordingly.

Thank you once again for your help!

Regards,
Dmitry

13.02.2018, 16:15, "Szabolcs Nagy" <nsz@...t70.net>:
> * Dmitry Golovin <dima@...ovin.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

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ