[all-commits] [llvm/llvm-project] 6f095b: sanitizer_common: Define FP_XSTATE_MAGIC1 for old ...
Tobias Burnus via All-commits
all-commits at lists.llvm.org
Thu May 5 03:07:43 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6f095babc2b7d564168c7afc5bf6afb2188fd6b4
https://github.com/llvm/llvm-project/commit/6f095babc2b7d564168c7afc5bf6afb2188fd6b4
Author: Tobias Burnus <tobias at codesourcery.com>
Date: 2022-05-05 (Thu, 05 May 2022)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
Log Message:
-----------
sanitizer_common: Define FP_XSTATE_MAGIC1 for old glibc
D116208 (commit 1298273e8206a8fc2) added FP_XSTATE_MAGIC1.
However, when building with glibc < 2.16 for backward-dependency
compatibility, it is not defined - and the build breaks.
Note: The define comes from Linux's asm/sigcontext.h but the
file uses signal.h which includes glibc's bits/sigcontext.h - which
is synced from the kernel's file but lags behind.
Solution: For backward compatility with ancient systems, define
FP_XSTATE_MAGIC1 if undefined.
//For the old systems, we were building with Linux kernel 3.19 but to support really old glibc systems, we build with a sysroot of glibc 2.12. While our kernel (and the users' kernels) have FP_XSTATE_MAGIC1, glibc 2.12 is too old. – With this patch, building the sanitizer libs works again. This showed up for us today as GCC mainline/13 has now synced the sanitizer libs.//
Reviewed By: #sanitizers, vitalybuka
Differential Revision: https://reviews.llvm.org/D124927
More information about the All-commits
mailing list