- **bpf-util: rename from bpf-dlopen, unify version-specific symbol handling** - **cryptsetup: dlopen libcryptsetup in tokens** - **tree-wide: dlopen libpam in pam plugins** - **test-bus-marshal: dlopen() glib and libdbus instead of linking directly** - **lock-util: Simplify timeout for lock_generic_with_timeout()** - **color-util: simplify hsv_to_rgb, fix rgb_to_hsv negative-hue wrap** - **tree-wide: Use our own macros instead of fabs()/fmax()/fmin()** - **locale-util: dlopen() libintl instead of linking against it** - **home: Use log2u64() over log2()** - **meson: drop libdl, threads, and librt dependencies** - **libc: Use dlsym() from a constructor instead of weak symbols** - **libc: Make sure C23 versions of strtol(), sscanf() are not used**
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
#pragma once
|
||||
|
||||
/* Force glibc's stdio.h to route sscanf/fscanf to the old __isoc99_* siblings (GLIBC_2.7) rather
|
||||
* than the newer __isoc23_* ones (GLIBC_2.38). The only behavioural difference is "0b" prefix
|
||||
* support in %i conversions, which we don't use. We include features.h first so the macro is set
|
||||
* to its normal value, then override it before stdio.h's body evaluates __GLIBC_USE(C23_STRTOL).
|
||||
*
|
||||
* The macro was named __GLIBC_USE_C2X_STRTOL on glibc 2.38–2.39 and renamed to the C23 spelling
|
||||
* in glibc 2.40; clear both so this override works across that range. */
|
||||
|
||||
#include <features.h>
|
||||
#undef __GLIBC_USE_C2X_STRTOL
|
||||
#define __GLIBC_USE_C2X_STRTOL 0
|
||||
#undef __GLIBC_USE_C23_STRTOL
|
||||
#define __GLIBC_USE_C23_STRTOL 0
|
||||
|
||||
#include_next <stdio.h> /* IWYU pragma: export */
|
||||
@@ -0,0 +1,17 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
#pragma once
|
||||
|
||||
/* Force glibc's stdlib.h to leave strtol/strtoul/strtoll/strtoull as their original GLIBC_2.2.5
|
||||
* symbols rather than redirect to __isoc23_* (GLIBC_2.38). The only behavioural difference is
|
||||
* "0b" prefix support in base 0/2 parsing, which we don't use.
|
||||
*
|
||||
* The macro was named __GLIBC_USE_C2X_STRTOL on glibc 2.38–2.39 and renamed to the C23 spelling
|
||||
* in glibc 2.40; clear both so this override works across that range. */
|
||||
|
||||
#include <features.h>
|
||||
#undef __GLIBC_USE_C2X_STRTOL
|
||||
#define __GLIBC_USE_C2X_STRTOL 0
|
||||
#undef __GLIBC_USE_C23_STRTOL
|
||||
#define __GLIBC_USE_C23_STRTOL 0
|
||||
|
||||
#include_next <stdlib.h> /* IWYU pragma: export */
|
||||
Reference in New Issue
Block a user