On Fri, Nov 29, 2024 at 08:04:18PM -0500, Christos Zoulas wrote:
> Module Name:  src
> Committed By: christos
> Date:         Sat Nov 30 01:04:16 UTC 2024
...
> Log Message:
> Create a new header lwp_private.h to contain _lwp_getprivate_fast,
> _lwp_gettcb_fast, _lwp_settcb and remove them from mcontext.h, so that:
> 1. we don't need special hacks to hide them
> 2. we can include <lwp.h> where needed to get the necessary prototypes
>    without redefining them locally.

I think this commit broke the compilation of lang/compiler-rt, which
now shows:

FAILED: 
lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_linux_libcdep.cpp.o
/scratch/lang/compiler-rt/work/.cwrapper/bin/c++ -DHAVE_RPC_XDR_H=0 
-I/scratch/lang/compiler-rt/work/compiler-rt-18.1.8.src/lib/sanitizer_common/.. 
-O2 -g -fstack-clash-protection -I/usr/pkg/include -I/usr/include 
-I/usr/pkg/include/python3.13 -Wall -Wno-unused-parameter -DNDEBUG -std=c++17 
-m64 -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables 
-fno-stack-protector -fvisibility=hidden -fno-lto -O3 -g -Wno-variadic-macros 
-nostdinc++ -Wno-format -fno-rtti -Wframe-larger-than=570 -MD -MT 
lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_linux_libcdep.cpp.o
 -MF 
lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_linux_libcdep.cpp.o.d
 -o 
lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_linux_libcdep.cpp.o
 -c 
/scratch/lang/compiler-rt/work/compiler-rt-18.1.8.src/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
/scratch/lang/compiler-rt/work/compiler-rt-18.1.8.src/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:
 In function 'tls_tcb* __sanitizer::ThreadSelfTlsTcb()':
/scratch/lang/compiler-rt/work/compiler-rt-18.1.8.src/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:452:27:
 error: '__lwp_getprivate_fast' was not declared in this scope; did you mean 
'_lwp_getprivate'?
  452 |   tcb = (struct tls_tcb *)__lwp_getprivate_fast();
      |                           ^~~~~~~~~~~~~~~~~~~~~
      |                           _lwp_getprivate


Adding an <lwp.h> include is not sufficient, build fails the same way
(I had misunderstood the commit message that that should work).

What is the proper fix for compiler-rt?
 Thomas

Reply via email to