mirror of
https://sourceware.org/git/glibc.git
synced 2025-10-28 23:34:53 +03:00
Implement C23 memalignment
Add the C23 memalignment function (query the alignment of a pointer) to glibc. Given how simple this operation is, it would make sense for compilers to inline calls to this function, but I'm treating that as a compiler matter (compilers should add it as a built-in function) rather than adding an inline version to glibc headers (although such an inline version would be reasonable as well). I've filed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122117 for this feature in GCC. Tested for x86_64 and x86.
This commit is contained in:
2
NEWS
2
NEWS
@@ -11,6 +11,8 @@ Major new features:
|
|||||||
|
|
||||||
* The ISO C23 memset_explicit function has been added.
|
* The ISO C23 memset_explicit function has been added.
|
||||||
|
|
||||||
|
* The ISO C23 memalignment function has been added.
|
||||||
|
|
||||||
Deprecated and removed features, and other changes affecting compatibility:
|
Deprecated and removed features, and other changes affecting compatibility:
|
||||||
|
|
||||||
* Support for dumped heaps has been removed - malloc_set_state() now always
|
* Support for dumped heaps has been removed - malloc_set_state() now always
|
||||||
|
|||||||
@@ -1135,6 +1135,61 @@ The @code{valloc} function is obsolete and @code{aligned_alloc} or
|
|||||||
@code{posix_memalign} should be used instead.
|
@code{posix_memalign} should be used instead.
|
||||||
@end deftypefun
|
@end deftypefun
|
||||||
|
|
||||||
|
You can determine the alignment of a pointer with the
|
||||||
|
@code{memalignment} function.
|
||||||
|
|
||||||
|
@deftypefun size_t memalignment (void *@var{p})
|
||||||
|
@standards{C23, stdlib.h}
|
||||||
|
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
||||||
|
|
||||||
|
This function, defined in C23, returns the alignment of @var{p}, as a
|
||||||
|
power of two. If @var{p} is a null pointer, it returns zero. C23
|
||||||
|
requires @var{p} to be a valid pointer to an object or a null pointer;
|
||||||
|
as a GNU extension, @theglibc{} supports this function on arbitrary
|
||||||
|
bit patterns of pointer type.
|
||||||
|
|
||||||
|
This function was added to the C23 standard to support unconventional
|
||||||
|
platforms where a pointer's low-order bits are unrelated to alignment.
|
||||||
|
For conventional platforms, one can instead cast the pointer to
|
||||||
|
@code{uintptr_t} and then test the low order bits:
|
||||||
|
this is portable to pre-C23 and is typically a bit faster.
|
||||||
|
|
||||||
|
For example, if you want to read an @code{int}
|
||||||
|
addressed by possibly-misaligned pointer @code{p},
|
||||||
|
the following pre-C23 code works on all conventional platforms:
|
||||||
|
|
||||||
|
@smallexample
|
||||||
|
int i;
|
||||||
|
if (((uintptr_t) p & (alignof (int) - 1)) != 0)
|
||||||
|
memcpy (&i, p, sizeof i);
|
||||||
|
else
|
||||||
|
i = *p;
|
||||||
|
@end smallexample
|
||||||
|
|
||||||
|
However, it might not work on unconventional platforms, where one
|
||||||
|
would need something like the following C23 code:
|
||||||
|
|
||||||
|
@smallexample
|
||||||
|
int i;
|
||||||
|
if (memalignment (p) < alignof (int))
|
||||||
|
memcpy (&i, p, sizeof i);
|
||||||
|
else
|
||||||
|
i = *p;
|
||||||
|
@end smallexample
|
||||||
|
|
||||||
|
However, for this particular case, performance does not improve if
|
||||||
|
different code is used for aligned and unaligned pointers,
|
||||||
|
and the following code is preferable:
|
||||||
|
|
||||||
|
@smallexample
|
||||||
|
int i;
|
||||||
|
memcpy (&i, p, sizeof i);
|
||||||
|
@end smallexample
|
||||||
|
|
||||||
|
The compiler will generate the most efficient way to access unaligned
|
||||||
|
data for the architecture, optimizing away the @code{memcpy} call.
|
||||||
|
@end deftypefun
|
||||||
|
|
||||||
@node Malloc Tunable Parameters
|
@node Malloc Tunable Parameters
|
||||||
@subsubsection Malloc Tunable Parameters
|
@subsubsection Malloc Tunable Parameters
|
||||||
|
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ routines := \
|
|||||||
mblen \
|
mblen \
|
||||||
mbstowcs \
|
mbstowcs \
|
||||||
mbtowc \
|
mbtowc \
|
||||||
|
memalignment \
|
||||||
mrand48 \
|
mrand48 \
|
||||||
mrand48_r \
|
mrand48_r \
|
||||||
nrand48 \
|
nrand48 \
|
||||||
@@ -299,6 +300,7 @@ tests := \
|
|||||||
tst-makecontext-align \
|
tst-makecontext-align \
|
||||||
tst-makecontext2 \
|
tst-makecontext2 \
|
||||||
tst-makecontext3 \
|
tst-makecontext3 \
|
||||||
|
tst-memalignment \
|
||||||
tst-on_exit \
|
tst-on_exit \
|
||||||
tst-qsort \
|
tst-qsort \
|
||||||
tst-qsort2 \
|
tst-qsort2 \
|
||||||
@@ -441,6 +443,8 @@ CFLAGS-tst-stdc_bit_width.c += -fno-builtin
|
|||||||
CFLAGS-tst-stdc_bit_floor.c += -fno-builtin
|
CFLAGS-tst-stdc_bit_floor.c += -fno-builtin
|
||||||
CFLAGS-tst-stdc_bit_ceil.c += -fno-builtin
|
CFLAGS-tst-stdc_bit_ceil.c += -fno-builtin
|
||||||
|
|
||||||
|
CFLAGS-tst-memalignment.c += -fno-builtin
|
||||||
|
|
||||||
ifeq ($(have-cxx-thread_local),yes)
|
ifeq ($(have-cxx-thread_local),yes)
|
||||||
CFLAGS-tst-quick_exit.o = -std=c++11
|
CFLAGS-tst-quick_exit.o = -std=c++11
|
||||||
LDLIBS-tst-quick_exit = -lstdc++
|
LDLIBS-tst-quick_exit = -lstdc++
|
||||||
|
|||||||
@@ -229,6 +229,9 @@ libc {
|
|||||||
ulabs;
|
ulabs;
|
||||||
ullabs;
|
ullabs;
|
||||||
}
|
}
|
||||||
|
GLIBC_2.43 {
|
||||||
|
memalignment;
|
||||||
|
}
|
||||||
GLIBC_PRIVATE {
|
GLIBC_PRIVATE {
|
||||||
# functions which have an additional interface since they are
|
# functions which have an additional interface since they are
|
||||||
# are cancelable.
|
# are cancelable.
|
||||||
|
|||||||
27
stdlib/memalignment.c
Normal file
27
stdlib/memalignment.c
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
/* Return the alignment of a pointer.
|
||||||
|
Copyright (C) 2025 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
/* Return the alignment of P. */
|
||||||
|
size_t
|
||||||
|
memalignment (const void *p)
|
||||||
|
{
|
||||||
|
size_t i = (size_t) p;
|
||||||
|
return i & -i;
|
||||||
|
}
|
||||||
@@ -1164,6 +1164,9 @@ extern int ttyslot (void) __THROW;
|
|||||||
/* Call function __FUNC exactly once, even if invoked from several threads.
|
/* Call function __FUNC exactly once, even if invoked from several threads.
|
||||||
All calls must be made with the same __FLAGS object. */
|
All calls must be made with the same __FLAGS object. */
|
||||||
extern void call_once (once_flag *__flag, void (*__func)(void));
|
extern void call_once (once_flag *__flag, void (*__func)(void));
|
||||||
|
|
||||||
|
/* Return the alignment of P. */
|
||||||
|
extern size_t memalignment (const void *__p);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <bits/stdlib-float.h>
|
#include <bits/stdlib-float.h>
|
||||||
|
|||||||
43
stdlib/tst-memalignment.c
Normal file
43
stdlib/tst-memalignment.c
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
/* Test memalignment.
|
||||||
|
Copyright (C) 2025 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <array_length.h>
|
||||||
|
#include <support/check.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
do_test (void)
|
||||||
|
{
|
||||||
|
void *null = NULL;
|
||||||
|
TEST_COMPARE (memalignment (NULL), 0);
|
||||||
|
TEST_COMPARE (memalignment (null), 0);
|
||||||
|
char ca[256];
|
||||||
|
array_foreach (p, ca)
|
||||||
|
TEST_VERIFY (memalignment (p) >= 1);
|
||||||
|
TEST_VERIFY (memalignment (&ca[0]) == 1 || memalignment (&ca[1]) == 1);
|
||||||
|
TEST_VERIFY (memalignment (&ca[0]) == 2 || memalignment (&ca[1]) == 2
|
||||||
|
|| memalignment (&ca[2]) == 2 || memalignment (&ca[3]) == 2);
|
||||||
|
long long int lla[256];
|
||||||
|
array_foreach (p, lla)
|
||||||
|
TEST_VERIFY (memalignment (p) >= _Alignof (long long int));
|
||||||
|
TEST_VERIFY (memalignment (&lla[0]) <= sizeof (long long int)
|
||||||
|
|| memalignment (&lla[1]) <= sizeof (long long int));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#include <support/test-driver.c>
|
||||||
@@ -2663,6 +2663,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.43 pthread_cancel F
|
GLIBC_2.43 pthread_cancel F
|
||||||
GLIBC_2.43 pthread_clockjoin_np F
|
GLIBC_2.43 pthread_clockjoin_np F
|
||||||
|
|||||||
@@ -2344,6 +2344,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.43 pthread_cancel F
|
GLIBC_2.43 pthread_cancel F
|
||||||
GLIBC_2.43 pthread_clockjoin_np F
|
GLIBC_2.43 pthread_clockjoin_np F
|
||||||
|
|||||||
@@ -2768,4 +2768,5 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
|
|||||||
@@ -3115,6 +3115,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2529,4 +2529,5 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
|
|||||||
@@ -2821,6 +2821,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2818,6 +2818,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2805,4 +2805,5 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
|
|||||||
@@ -2842,6 +2842,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -3025,6 +3025,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2289,4 +2289,5 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
|
|||||||
@@ -2801,6 +2801,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2968,6 +2968,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2854,4 +2854,5 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
|
|||||||
@@ -2851,4 +2851,5 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
|
|||||||
@@ -2931,6 +2931,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2929,6 +2929,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2937,6 +2937,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2839,6 +2839,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2279,4 +2279,5 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
|
|||||||
@@ -3158,6 +3158,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -3203,6 +3203,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2912,6 +2912,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2988,4 +2988,5 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
|
|||||||
@@ -2532,4 +2532,5 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
|
|||||||
@@ -2732,4 +2732,5 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
|
|||||||
@@ -3156,6 +3156,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2949,6 +2949,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2848,6 +2848,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2845,6 +2845,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -3179,6 +3179,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2815,6 +2815,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2764,6 +2764,7 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
GLIBC_2.5 __readlinkat_chk F
|
GLIBC_2.5 __readlinkat_chk F
|
||||||
GLIBC_2.5 inet6_opt_append F
|
GLIBC_2.5 inet6_opt_append F
|
||||||
|
|||||||
@@ -2783,4 +2783,5 @@ GLIBC_2.42 uimaxabs F
|
|||||||
GLIBC_2.42 ulabs F
|
GLIBC_2.42 ulabs F
|
||||||
GLIBC_2.42 ullabs F
|
GLIBC_2.42 ullabs F
|
||||||
GLIBC_2.43 __memset_explicit_chk F
|
GLIBC_2.43 __memset_explicit_chk F
|
||||||
|
GLIBC_2.43 memalignment F
|
||||||
GLIBC_2.43 memset_explicit F
|
GLIBC_2.43 memset_explicit F
|
||||||
|
|||||||
Reference in New Issue
Block a user