tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
How to get __lwp_getprivate_fast()?
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
Home |
Main Index |
Thread Index |
Old Index