mirror of
git://sourceware.org/git/glibc.git
synced 2026-09-10 12:05:30 +08:00
Compare commits
68
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f8f3d451ba | ||
|
|
d9a8ff5c01 | ||
|
|
1c1f5103a9 | ||
|
|
049168237f | ||
|
|
0770e8b07c | ||
|
|
20b3e87176 | ||
|
|
72351055c6 | ||
|
|
8dad0ee453 | ||
|
|
f024355965 | ||
|
|
c4dac931ab | ||
|
|
76115597fe | ||
|
|
c29ca5d216 | ||
|
|
3ad1bbd8f9 | ||
|
|
138c43f018 | ||
|
|
713998bf00 | ||
|
|
2a35bab35b | ||
|
|
4964178b4d | ||
|
|
0afa34adb0 | ||
|
|
7d26579873 | ||
|
|
8017bcfc4d | ||
|
|
a388c4002d | ||
|
|
bc95068f5f | ||
|
|
1c9988e525 | ||
|
|
dae425b554 | ||
|
|
8759917de5 | ||
|
|
3a418da6a3 | ||
|
|
e64ae5a591 | ||
|
|
c9225a3e73 | ||
|
|
c46f7b2fd6 | ||
|
|
1d7d1a16b0 | ||
|
|
349297a4eb | ||
|
|
fdf10644d6 | ||
|
|
a6fa9a9594 | ||
|
|
fe0ccc9564 | ||
|
|
22f3d24a6b | ||
|
|
a13ebdbc7e | ||
|
|
446f708e4c | ||
|
|
ced45fd472 | ||
|
|
89cbf46693 | ||
|
|
18b97b03b7 | ||
|
|
a47b5b2b3e | ||
|
|
4070d808be | ||
|
|
2890b35cd3 | ||
|
|
e9517114ac | ||
|
|
1634cc11a5 | ||
|
|
d1d8d27164 | ||
|
|
8362e8ce10 | ||
|
|
ce1013a197 | ||
|
|
60cabd0464 | ||
|
|
02ffd413cf | ||
|
|
2695314378 | ||
|
|
dd9945c0ba | ||
|
|
5c6fca0c62 | ||
|
|
2be6cf2e75 | ||
|
|
305ce0b588 | ||
|
|
2ee41ba6ec | ||
|
|
fa4a40c7d4 | ||
|
|
9898ea58b5 | ||
|
|
c3ceb93dc4 | ||
|
|
911bd469f8 | ||
|
|
48f5a05a7a | ||
|
|
d6cb7ce0e9 | ||
|
|
140c760d71 | ||
|
|
856c426a75 | ||
|
|
144ba30208 | ||
|
|
022abaeacb | ||
|
|
45b58d6bd1 | ||
|
|
f02515d8a6 |
@@ -0,0 +1,2 @@
|
||||
For the GNU C Library Security Advisories, see the git master branch:
|
||||
https://sourceware.org/git/?p=glibc.git;a=tree;f=advisories;hb=HEAD
|
||||
+150
-24
@@ -8489,37 +8489,70 @@ sysdeps/s390/memchr-z900.S:
|
||||
sysdeps/s390/memset-z900.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/__longjmp.c:
|
||||
sysdeps/s390/s390-32/__longjmp.c:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/add_n.S:
|
||||
sysdeps/s390/s390-32/add_n.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/crti.S:
|
||||
sysdeps/s390/s390-32/addmul_1.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/crtn.S:
|
||||
sysdeps/s390/s390-32/dl-machine.h:
|
||||
Contributed by Carl Pederson & Martin Schwidefsky.
|
||||
|
||||
sysdeps/s390/s390-32/mul_1.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/dl-machine.h:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/s390x-mcount.h:
|
||||
sysdeps/s390/s390-32/s390-mcount.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com)
|
||||
|
||||
sysdeps/s390/setjmp.S:
|
||||
sysdeps/s390/s390-32/setjmp.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/start.S:
|
||||
sysdeps/s390/s390-32/start.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/strncpy-z900.S:
|
||||
sysdeps/s390/s390-32/strncpy-z900.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/sub_n.S:
|
||||
sysdeps/s390/s390-32/sub_n.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/sysdep.h:
|
||||
sysdeps/s390/s390-32/sysdep.h:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/s390-64/__longjmp.c:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/s390-64/add_n.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/s390-64/crti.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/s390-64/crtn.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/s390-64/dl-machine.h:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/s390-64/s390x-mcount.h:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com)
|
||||
|
||||
sysdeps/s390/s390-64/setjmp.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/s390-64/start.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/s390-64/strncpy-z900.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/s390-64/sub_n.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/s390-64/sysdep.h:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/s390/strcmp-z900.S:
|
||||
@@ -9580,37 +9613,130 @@ sysdeps/unix/sysv/linux/s390/bits/elfclass.h:
|
||||
sysdeps/unix/sysv/linux/s390/dl-procinfo.h:
|
||||
Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2006.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/____longjmp_chk.c:
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c:
|
||||
Contributed by Jakub Jelinek <jakub@redhat.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/clone.S:
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/clone.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/getcontext.S:
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/makecontext.c:
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/getutent.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/getutid.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/getutid_r.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/getutline.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/getutxent.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/login.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/login32.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/makecontext.c:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/register-dump.h:
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/setcontext.S:
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/swapcontext.S:
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/syscall.S:
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/syscall.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/sysdep.S:
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/sysdep.h:
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/vfork.S:
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/utmp-compat.h:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/utmpx-convert.h:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c:
|
||||
Contributed by Andreas Krebbel <Andreas.Krebbel@de.ibm.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-32/vfork.S:
|
||||
Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c:
|
||||
Contributed by Jakub Jelinek <jakub@redhat.com>.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-64/clone.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-64/makecontext.c:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-64/syscall.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h:
|
||||
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/s390-64/vfork.S:
|
||||
Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
|
||||
|
||||
sysdeps/unix/sysv/linux/s390/sigcontextinfo.h:
|
||||
|
||||
@@ -154,10 +154,30 @@ passed to 'configure'. For example:
|
||||
|
||||
NOTE: '--enable-cet' is only supported on x86_64 and x32.
|
||||
|
||||
'--enable-memory-tagging'
|
||||
Enable memory tagging support if the architecture supports it.
|
||||
When the GNU C Library is built with this option then the resulting
|
||||
library will be able to control the use of tagged memory when
|
||||
hardware support is present by use of the tunable
|
||||
'glibc.mem.tagging'. This includes the generation of tagged memory
|
||||
when using the 'malloc' APIs.
|
||||
|
||||
At present only AArch64 platforms with MTE provide this
|
||||
functionality, although the library will still operate (without
|
||||
memory tagging) on older versions of the architecture.
|
||||
|
||||
The default is to disable support for memory tagging.
|
||||
|
||||
'--disable-profile'
|
||||
Don't build libraries with profiling information. You may want to
|
||||
use this option if you don't plan to do profiling.
|
||||
|
||||
'--enable-static-nss'
|
||||
Compile static versions of the NSS (Name Service Switch) libraries.
|
||||
This is not recommended because it defeats the purpose of NSS; a
|
||||
program linked statically with the NSS libraries cannot be
|
||||
dynamically reconfigured to use a different name database.
|
||||
|
||||
'--enable-hardcoded-path-in-tests'
|
||||
By default, dynamic tests are linked to run with the installed C
|
||||
library. This option hardcodes the newly built C library path in
|
||||
|
||||
+21
-12
@@ -711,29 +711,25 @@ link-libc-static-tests = -Wl,--start-group $(common-objpfx)libc.a $(static-gnuli
|
||||
ifndef gnulib
|
||||
ifneq ($(have-cc-with-libunwind),yes)
|
||||
libunwind =
|
||||
ifeq ($(have-libgcc_s),yes)
|
||||
libgcc_s = -lgcc_s
|
||||
endif
|
||||
else
|
||||
libunwind = -lunwind $(libgcc-name)
|
||||
libgcc_s = $(libunwind)
|
||||
libunwind = -lunwind
|
||||
endif
|
||||
libgcc_eh := -Wl,--as-needed $(libgcc_s) -Wl,--no-as-needed
|
||||
libgcc_eh := -Wl,--as-needed -lgcc_s $(libunwind) -Wl,--no-as-needed
|
||||
gnulib-arch =
|
||||
gnulib = $(libgcc-name) $(gnulib-arch)
|
||||
gnulib-tests := $(libgcc-name) $(libgcc_eh)
|
||||
gnulib = -lgcc $(gnulib-arch)
|
||||
gnulib-tests := -lgcc $(libgcc_eh)
|
||||
gnulib-extralibdir = $(dir $(shell $(CC) -print-file-name=libgcc_s.so$(libgcc_s.so-version)))
|
||||
static-gnulib-arch =
|
||||
# By default, elf/static-stubs.o, instead of -lgcc_eh, is used to
|
||||
# statically link programs. When --disable-shared is used, we use
|
||||
# -lgcc_eh since elf/static-stubs.o isn't sufficient.
|
||||
ifeq (yes,$(build-shared))
|
||||
static-gnulib = $(libgcc-name) $(static-gnulib-arch)
|
||||
static-gnulib = -lgcc $(static-gnulib-arch)
|
||||
else
|
||||
static-gnulib = $(libgcc-name) $(libgcc_eh-name) $(static-gnulib-arch)
|
||||
static-gnulib = -lgcc -lgcc_eh $(static-gnulib-arch)
|
||||
endif
|
||||
static-gnulib-tests := $(libgcc-name) $(libgcc_eh-name) $(libunwind)
|
||||
libc.so-gnulib := $(libgcc-name)
|
||||
static-gnulib-tests := -lgcc -lgcc_eh $(libunwind)
|
||||
libc.so-gnulib := -lgcc
|
||||
endif
|
||||
+preinit = $(addprefix $(csu-objpfx),crti.o)
|
||||
+postinit = $(addprefix $(csu-objpfx),crtn.o)
|
||||
@@ -1456,6 +1452,19 @@ endif
|
||||
sysd-rules-targets := $(sort $(foreach p,$(sysd-rules-patterns),\
|
||||
$(firstword $(subst :, ,$p))))
|
||||
|
||||
# $(libpthread-routines-var) and $(librt-routines-var) are the make
|
||||
# variable to which pthread routines need to be added to land in the
|
||||
# right library.
|
||||
ifeq ($(pthread-in-libc),yes)
|
||||
libpthread-routines-var = routines
|
||||
librt-routines-var = routines
|
||||
libanl-routines-var = routines
|
||||
else
|
||||
libpthread-routines-var = libpthread-routines
|
||||
librt-routines-var = librt-routines
|
||||
libanl-routines-var = libanl-routines
|
||||
endif
|
||||
|
||||
# A sysdeps Makeconfig fragment may set libc-reentrant to yes.
|
||||
ifeq (yes,$(libc-reentrant))
|
||||
defines += -D_LIBC_REENTRANT
|
||||
|
||||
@@ -594,35 +594,7 @@ define summarize-tests
|
||||
@grep -E '^[A-Z]+:' $(objpfx)$1 | grep -E -v '^(PASS|XFAIL):' || true
|
||||
@echo " === Summary of results$2 ==="
|
||||
@sed -e '/:.*/!d' -e 's/:.*//' < $(objpfx)$1 | sort | uniq -c
|
||||
@{ \
|
||||
grep -E '^[A-Z]+:' $(objpfx)$1 | \
|
||||
grep -E -v '^(X?PASS|XFAIL|UNSUPPORTED):' | \
|
||||
( \
|
||||
if ! test -f $(..)allowed-failures.txt; then \
|
||||
read -r _; exit $$(( $$? == 0 )); \
|
||||
fi; \
|
||||
status=0; \
|
||||
while IFS= read -r line; do \
|
||||
case "$$line" in \
|
||||
FAIL:*) \
|
||||
name=$${line#FAIL: }; \
|
||||
escaped_name=`printf '%s' "$$name" | sed 's/[.+]/\\&/g'`; \
|
||||
if grep -Eq -- "^$${escaped_name}[[:space:]]*#" \
|
||||
$(..)allowed-failures.txt; then \
|
||||
echo "Ignoring allowed FAIL: $${name}"; \
|
||||
continue; \
|
||||
fi; \
|
||||
echo "Unallowed FAIL: $${name}"; \
|
||||
status=1; \
|
||||
;; \
|
||||
*) \
|
||||
status=1; \
|
||||
;; \
|
||||
esac; \
|
||||
done; \
|
||||
exit $$status; \
|
||||
); \
|
||||
}
|
||||
@! grep -E '^[A-Z]+:' $(objpfx)$1 | grep -E -q -v '^(X?PASS|XFAIL|UNSUPPORTED):'
|
||||
endef
|
||||
|
||||
# The intention here is to do ONE install of our build into the
|
||||
|
||||
@@ -565,8 +565,7 @@ $(LINK.o) -shared -static-libgcc $(sysdep-LDFLAGS) $(rtld-LDFLAGS) \
|
||||
-B$(csu-objpfx) $(load-map-file) \
|
||||
$(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \
|
||||
$(link-test-modules-rpath-link) \
|
||||
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link) \
|
||||
$(libgcc_eh)
|
||||
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link)
|
||||
endef
|
||||
|
||||
# This macro is similar to build-shlib but it does not define a soname
|
||||
|
||||
@@ -5,83 +5,19 @@ See the end for copying conditions.
|
||||
Please send GNU C library bug reports via <https://sourceware.org/bugzilla/>
|
||||
using `glibc' in the "product" field.
|
||||
|
||||
Version 2.44
|
||||
Version 2.43.1
|
||||
|
||||
Major new features:
|
||||
The following bugs are resolved with this release:
|
||||
|
||||
* A new tunable, glibc.elf.thp, is added to map read-only segments with
|
||||
Transparent Huge Pages (THP) if THP isn't disable in kernel. When
|
||||
glibc.elf.thp is set to 1, malloc uses the actual kernel THP mode
|
||||
instead of defaulting to madvise mode and madvise_thp will stop issuing
|
||||
MADV_HUGEPAGE if kernel THP mode is always.
|
||||
|
||||
* THP page size in malloc is capped to MAX_THP_PAGESIZE. If THP page
|
||||
size is above MAX_THP_PAGESIZE, THP in malloc is disabled.
|
||||
|
||||
* Additional optimized and correctly rounded mathematical functions have
|
||||
been imported from the CORE-MATH project, in particular cosh, sinh, and
|
||||
tanh.
|
||||
|
||||
* The SVID handling for cosh and sinh were moved to compat symbols, allowing
|
||||
improvements in performance.
|
||||
|
||||
* New locale added: hrx_BR (Hunsrik language spoken in Brazil).
|
||||
|
||||
* Static PIE is now supported for arm-*-linux-gnueabi. It requires toolchain
|
||||
support to correctly set the expected linker options.
|
||||
|
||||
* On AArch64 targets that support Guarded Control Stack extension all GCS
|
||||
operations (including status, write on shadow stack, and push to shadow
|
||||
stack) are locked after enabling GCS with ENFORCED or OVERRIDE GCS policy.
|
||||
When a GCS operation is locked, a program cannot change this operation
|
||||
status via prctl syscall. This prevents disabling or corrupting GCS
|
||||
shadow stack during runtime.
|
||||
|
||||
Deprecated and removed features, and other changes affecting compatibility:
|
||||
|
||||
* Although malloc and related functions currently return pointers
|
||||
aligned to alignof (max_align_t), the documentation now says future
|
||||
versions of glibc may relax alignment requirements for small allocations.
|
||||
For example, a future malloc (1) might return a pointer with odd
|
||||
alignment, because no object of size 1 can have a fundamental
|
||||
alignment greater than 1.
|
||||
|
||||
* The s390-linux-gnu (31bit) configuration is no longer supported.
|
||||
|
||||
* The --enable-memory-tagging configure option has been removed.
|
||||
The corresponding AArch64-specific functionality that was previously
|
||||
activated by this flag has been removed as well.
|
||||
|
||||
* The --enable-static-nss configure option has been removed. It had no
|
||||
effect on the build since the NSS reorganization in glibc 2.33; its only
|
||||
remaining behavior was to suppress the link-time warnings on the NSS
|
||||
interface functions in libc.a, which are now emitted unconditionally.
|
||||
|
||||
Changes to build and runtime requirements:
|
||||
|
||||
[Add changes to build and runtime requirements here]
|
||||
|
||||
Security related changes:
|
||||
|
||||
The following CVEs were fixed in this release, details of which can be
|
||||
found in the advisories directory of the release tarball:
|
||||
|
||||
GLIBC-SA-2026-0005:
|
||||
gethostbyaddr and gethostbyaddr_r may incorrectly handle DNS
|
||||
response (CVE-2026-4437)
|
||||
|
||||
GLIBC-SA-2026-0006:
|
||||
gethostbyaddr and gethostbyaddr_r return invalid DNS hostnames
|
||||
(CVE-2026-4438)
|
||||
|
||||
GLIBC-SA-2026-0007:
|
||||
iconv crash due to assertion failure with untrusted input
|
||||
(CVE-2026-4046)
|
||||
|
||||
The following bugs were resolved with this release:
|
||||
|
||||
[The release manager will add the list generated by
|
||||
scripts/list-fixed-bugs.py just before the release.]
|
||||
[33623] [ldbl-128ibm] roundl, ceill, truncl, floorl bad sign of zero
|
||||
results
|
||||
[33848] build: Build fails at openat2.h, redefinition of 'struct
|
||||
open_how'
|
||||
[33904] build: error: '__vasprintf_chk' undeclared here
|
||||
[34507] nptl: Pretty-printer tests FAIL instead of UNSUPPORTED when
|
||||
cross-testing without python3 on target
|
||||
[34509] libc: [m68k] Regression: Perl locks up after upgrading glibc
|
||||
to 2.43
|
||||
|
||||
Version 2.43
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ The GNU C Library supports these configurations for using Linux kernels:
|
||||
or1k-*-linux-gnu
|
||||
powerpc-*-linux-gnu Hardware or software floating point, BE only.
|
||||
powerpc64*-*-linux-gnu Big-endian and little-endian.
|
||||
s390-*-linux-gnu
|
||||
s390x-*-linux-gnu
|
||||
riscv32-*-linux-gnu
|
||||
riscv64-*-linux-gnu
|
||||
@@ -62,10 +63,9 @@ following the bug-reporting instructions below. Please be sure to check
|
||||
the manual in the current development sources to see if your problem has
|
||||
already been corrected.
|
||||
|
||||
Please see https://sourceware.org/glibc/wiki/Bugzilla%20Procedures for bug
|
||||
reporting information. We are now using the Bugzilla system to track all
|
||||
bug reports. This web page gives detailed information on how to report
|
||||
bugs properly.
|
||||
Please see https://www.gnu.org/software/libc/bugs.html for bug reporting
|
||||
information. We are now using the Bugzilla system to track all bug reports.
|
||||
This web page gives detailed information on how to report bugs properly.
|
||||
|
||||
The GNU C Library is free software. See the file COPYING.LIB for copying
|
||||
conditions, and LICENSES for notices about a few contributions that require
|
||||
|
||||
@@ -288,8 +288,7 @@ $(addprefix $(objpfx),$(binaries-malloc-check-tests)): %-malloc-check: %.o \
|
||||
endif
|
||||
|
||||
ifneq "$(strip $(binaries-malloc-hugetlb1-tests))" ""
|
||||
$(addprefix $(objpfx),$(binaries-malloc-hugetlb1-tests)): \
|
||||
%-malloc-hugetlb1: %-malloc-hugetlb1.o \
|
||||
$(addprefix $(objpfx),$(binaries-malloc-hugetlb1-tests)): %-malloc-hugetlb1: %.o \
|
||||
$(link-extra-libs-tests) \
|
||||
$(sort $(filter $(common-objpfx)lib%,$(link-libc))) \
|
||||
$(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
|
||||
@@ -297,8 +296,7 @@ $(addprefix $(objpfx),$(binaries-malloc-hugetlb1-tests)): \
|
||||
endif
|
||||
|
||||
ifneq "$(strip $(binaries-malloc-hugetlb2-tests))" ""
|
||||
$(addprefix $(objpfx),$(binaries-malloc-hugetlb2-tests)): \
|
||||
%-malloc-hugetlb2: %-malloc-hugetlb2.o \
|
||||
$(addprefix $(objpfx),$(binaries-malloc-hugetlb2-tests)): %-malloc-hugetlb2: %.o \
|
||||
$(link-extra-libs-tests) \
|
||||
$(sort $(filter $(common-objpfx)lib%,$(link-libc))) \
|
||||
$(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
|
||||
@@ -350,39 +348,21 @@ $(1)-malloc-check-ENV = MALLOC_CHECK_=3 \
|
||||
endef
|
||||
$(foreach t,$(tests-malloc-check),$(eval $(call malloc-check-ENVS,$(t))))
|
||||
|
||||
# Generate environment variable GLIBC_TUNABLES to be appended to
|
||||
# the test environment, appending tunables specifically added for
|
||||
# each test to the ambient GLIBC_TUNABLES environment variable.
|
||||
# The *-TUNABLES-only can be used by a test to override any ambient
|
||||
# tunables.
|
||||
define test-tun-joined
|
||||
$(subst $(empty) ,:,$(strip $($*-TUNABLES)))
|
||||
endef
|
||||
define test-tunables-all
|
||||
$(if $($*-TUNABLES),$(if $(GLIBC_TUNABLES),GLIBC_TUNABLES=$(GLIBC_TUNABLES):$(test-tun-joined),GLIBC_TUNABLES=$(test-tun-joined)),)
|
||||
endef
|
||||
define test-tunables-only
|
||||
GLIBC_TUNABLES=$(subst $(empty) ,:,$(strip $($*-TUNABLES-only)))
|
||||
endef
|
||||
define test-tunables
|
||||
$(if $($*-TUNABLES-only),$(test-tunables-only),$(test-tunables-all))
|
||||
endef
|
||||
|
||||
# All malloc-hugetlb1 tests will be run with GLIBC_TUNABLES=glibc.malloc.hugetlb=1
|
||||
define malloc-hugetlb1-ENVS
|
||||
$(1)-malloc-hugetlb1-TUNABLES += glibc.malloc.hugetlb=1
|
||||
$(1)-malloc-hugetlb1-ENV += GLIBC_TUNABLES=glibc.malloc.hugetlb=1
|
||||
endef
|
||||
$(foreach t,$(tests-malloc-hugetlb1),$(eval $(call malloc-hugetlb1-ENVS,$(t))))
|
||||
|
||||
# All malloc-hugetlb2 tests will be run with GLIBC_TUNABLE=glibc.malloc.hugetlb=2
|
||||
define malloc-hugetlb2-ENVS
|
||||
$(1)-malloc-hugetlb2-TUNABLES += glibc.malloc.hugetlb=2
|
||||
$(1)-malloc-hugetlb2-ENV += GLIBC_TUNABLES=glibc.malloc.hugetlb=2
|
||||
endef
|
||||
$(foreach t,$(tests-malloc-hugetlb2),$(eval $(call malloc-hugetlb2-ENVS,$(t))))
|
||||
|
||||
# All malloc-largetcache tests will be run with GLIBC_TUNABLE=glibc.malloc.tcache_max=1048576
|
||||
define malloc-largetcache-ENVS
|
||||
$(1)-malloc-largetcache-TUNABLES += glibc.malloc.tcache_max=1048576
|
||||
$(1)-malloc-largetcache-ENV += GLIBC_TUNABLES=glibc.malloc.tcache_max=1048576
|
||||
endef
|
||||
$(foreach t,$(tests-malloc-largetcache),$(eval $(call malloc-largetcache-ENVS,$(t))))
|
||||
|
||||
@@ -392,13 +372,13 @@ $(1)-mcheck-ENV = LD_PRELOAD=$(common-objpfx)/malloc/libc_malloc_debug.so
|
||||
endef
|
||||
$(foreach t,$(tests-mcheck),$(eval $(call mcheck-ENVS,$(t))))
|
||||
|
||||
ifneq "$(strip $(tests) $(tests-container) $(tests-internal) $(xtests) $(test-srcs))" ""
|
||||
|
||||
ifneq "$(strip $(tests) $(tests-internal) $(xtests) $(test-srcs))" ""
|
||||
# These are the implicit rules for making test outputs
|
||||
# from the test programs and whatever input files are present.
|
||||
|
||||
define make-test-out
|
||||
$(if $($*-ENV-only),$(test-wrapper-env-only) $($*-ENV-only) $(test-tunables),\
|
||||
$(test-wrapper-env) $(run-program-env) $($*-ENV) $(test-tunables)) \
|
||||
$(if $($*-ENV-only),$(test-wrapper-env-only) $($*-ENV-only),\
|
||||
$(test-wrapper-env) $(run-program-env) $($*-ENV)) \
|
||||
$(host-test-program-cmd) $($*-ARGS)
|
||||
endef
|
||||
$(objpfx)%.out: %.input $(objpfx)%
|
||||
@@ -414,7 +394,7 @@ $(objpfx)%.out: /dev/null $(objpfx)% # Make it 2nd arg for canned sequence.
|
||||
# tests-container.
|
||||
$(tests-container:%=$(objpfx)%.out): $(objpfx)%.out : $(if $(wildcard $(objpfx)%.files),$(objpfx)%.files,/dev/null) $(objpfx)%
|
||||
$(test-wrapper-env) $(run-program-env) $(test-via-rtld-prefix) \
|
||||
$(common-objpfx)support/test-container env $(run-program-env) $($*-ENV) $(test-tunables) \
|
||||
$(common-objpfx)support/test-container env $(run-program-env) $($*-ENV) \
|
||||
$(host-test-program-cmd) $($*-ARGS) > $@; \
|
||||
$(evaluate-test)
|
||||
|
||||
@@ -451,8 +431,9 @@ py-env := PYTHONPATH=$(py-const-dir):$(..)scripts:$${PYTHONPATH}
|
||||
# The pretty printer files and test_common_printers.py must be present for all.
|
||||
$(tests-printers-out): $(objpfx)%.out: $(objpfx)% %.py %.c $(pretty-printers) \
|
||||
$(..)scripts/test_printers_common.py
|
||||
$(test-wrapper-env) $(py-env) \
|
||||
$(PYTHON) $*.py $*.c $(objpfx)$* $(pretty-printers) > $@; \
|
||||
$(test-wrapper-env) $(py-env) sh -c \
|
||||
'command -v $(firstword $(PYTHON)) > /dev/null 2>&1 || exit 77; \
|
||||
exec $(PYTHON) $*.py $*.c $(objpfx)$* $(pretty-printers)' > $@; \
|
||||
$(evaluate-test)
|
||||
endif
|
||||
|
||||
|
||||
+1
-1
@@ -170,7 +170,7 @@ the bug, the fix, or the mailing list discussions.
|
||||
## CVE assignment
|
||||
|
||||
Security bugs flagged with `security+` should have [CVE
|
||||
identifiers](https://www.cve.org/About/Overview). Please reach out to the glibc
|
||||
identifiers](http://cve.mitre.org/about/). Please reach out to the glibc
|
||||
security team using the documented [security
|
||||
process](https://sourceware.org/glibc/security.html) and they work on getting a
|
||||
CVE number.
|
||||
|
||||
+15
-560
@@ -36,22 +36,8 @@ gnulib:
|
||||
# Merged from gnulib 2025-10-29 (gnulib commit 1790ef25d8)
|
||||
include/intprops.h
|
||||
include/intprops-internal.h
|
||||
# Merged from gnulib 2026-02-16
|
||||
include/assure.h
|
||||
include/flexmember.h
|
||||
include/hash.h
|
||||
include/next-prime.h
|
||||
include/xalloc-oversized.h
|
||||
# Merged from gnulib 2021-09-21
|
||||
include/regex.h
|
||||
# Merged from gnulib 2026-02-16
|
||||
io/cycle-check.c
|
||||
io/cycle-check.h
|
||||
io/dev-ino.h
|
||||
io/fts-cycle.c
|
||||
io/fts-common.c
|
||||
io/i-ring.c
|
||||
io/same-inode.h
|
||||
locale/programs/3level.h
|
||||
# Merged from gnulib 2014-6-23
|
||||
malloc/obstack.c
|
||||
@@ -61,9 +47,7 @@ gnulib:
|
||||
misc/error.c
|
||||
misc/error.h
|
||||
misc/getpass.c
|
||||
misc/hash.c
|
||||
misc/mkdtemp.c
|
||||
misc/next-prime.c
|
||||
# Merged from gnulib 2021-09-21
|
||||
misc/sys/cdefs.h
|
||||
posix/fnmatch_loop.c
|
||||
@@ -113,8 +97,6 @@ gnulib:
|
||||
stdlib/setenv.c
|
||||
stdlib/strtoll.c
|
||||
stdlib/strtoul.c
|
||||
stdlib/tst-stdc_rotate_left.c
|
||||
stdlib/tst-stdc_rotate_right.c
|
||||
# Merged from gnulib 2014-6-26, needs merge back
|
||||
string/memchr.c
|
||||
string/memcmp.c
|
||||
@@ -152,7 +134,9 @@ gnulib:
|
||||
time/strptime.c
|
||||
time/timegm.c
|
||||
|
||||
# Synced with GNU gettext 1.0 (2026-05-18), through gettext commit 2ebbdd0e2.
|
||||
# The last merge was 2014-12-11 and merged gettext 0.19.3 into glibc with a
|
||||
# patch submitted to the gettext mailing list for changes that could be merged
|
||||
# back.
|
||||
#
|
||||
# This commit was omitted from the merge as it does not appear to be compatible
|
||||
# with how glibc expects things to work:
|
||||
@@ -169,7 +153,6 @@ gettext:
|
||||
intl/dcngettext.c
|
||||
intl/dgettext.c
|
||||
intl/dngettext.c
|
||||
intl/eval-plural.h
|
||||
intl/explodename.c
|
||||
intl/finddomain.c
|
||||
intl/gettext.c
|
||||
@@ -200,7 +183,7 @@ linux:
|
||||
# The following files are shared with the upstream Unicode project and must be
|
||||
# updated regularly to stay in sync with the upstream unicode releases.
|
||||
#
|
||||
# Merged from Unicode 17.0.0 release (2025 September 9)
|
||||
# Merged from Unicode 16.0.0 release.
|
||||
unicode:
|
||||
localedata/unicode-gen/UnicodeData.txt
|
||||
localedata/unicode-gen/unicode-license.txt
|
||||
@@ -211,9 +194,8 @@ unicode:
|
||||
# The following files are shared with the upstream tzcode project and must be
|
||||
# updated regularly to stay in sync with the upstream releases.
|
||||
#
|
||||
# Currently synced to TZDB 2026b, distributed at:
|
||||
# https://github.com/eggert/tz/releases/tag/2026b
|
||||
# https://data.iana.org/time-zones/releases/tzdb-2026b.tar.lz
|
||||
# Currently synced to TZDB 2024b, announced and distributed here:
|
||||
# https://github.com/eggert/tz/releases/tag/2024b
|
||||
tzcode:
|
||||
timezone/private.h
|
||||
timezone/tzfile.h
|
||||
@@ -258,41 +240,35 @@ tzdata:
|
||||
# FLT_EVAL_METHOD equal to 2 (i386). Additionally, extra optimizations
|
||||
# are applied to share the internal data table across different
|
||||
# implementations.
|
||||
#
|
||||
#
|
||||
# The project is distribute here:
|
||||
# https://gitlab.inria.fr/core-math/core-math/
|
||||
core-math:
|
||||
# src/binary64/acosh/acosh.c, revision 887cab6f
|
||||
# src/binary64/acosh/acosh.c, revision 1bd85b89
|
||||
sysdeps/ieee754/dbl-64/e_acosh.c
|
||||
# src/binary64/atanh/atanh.c, revision 532e37dc
|
||||
# src/binary64/atanh/atanh.c, revision c423b9a3
|
||||
sysdeps/ieee754/dbl-64/e_atanh.c
|
||||
# src/binary64/cosh/cosh.c, revision 5d0c89d5
|
||||
sysdeps/ieee754/dbl-64/e_cosh.c
|
||||
# src/binary64/tgamma/tgamma.c, revision 0f185e23
|
||||
sysdeps/ieee754/dbl-64/e_gamma_r.c
|
||||
# src/binary64/lgamma/lgamma.c, revision 0413bb7e
|
||||
sysdeps/ieee754/dbl-64/e_lgamma_r.c
|
||||
# src/binary64/sinh/sinh.c, revision 8127b7ac
|
||||
sysdeps/ieee754/dbl-64/e_sinh.c
|
||||
# src/binary64/asinh/asinh.c, revision cd653cf7
|
||||
sysdeps/ieee754/dbl-64/s_asinh.c
|
||||
# src/binary64/erf/erf.c, revision 384ed01d
|
||||
sysdeps/ieee754/dbl-64/s_erf.c
|
||||
# src/binary64/erfc/erfc.c, revision 55e9869e
|
||||
sysdeps/ieee754/dbl-64/s_erfc.c
|
||||
# src/binary64/tanh/tanh.c, revision 8ea8ea35
|
||||
sysdeps/ieee754/dbl-64/s_tanh.c
|
||||
# src/binary32/acos/acosf.c, revision 56dd347
|
||||
sysdeps/ieee754/flt-32/e_acosf.c
|
||||
# src/binary32/acosh/acoshf.c, revision d0b9ddd
|
||||
sysdeps/ieee754/flt-32/e_acoshf.c
|
||||
# file src/binary32/cosh/coshf.c, revision de59ecfb
|
||||
sysdeps/ieee754/flt-32/e_coshf.c
|
||||
# src/binary32/tgamma/tgammaf.c, revision 8ea8ea35
|
||||
# src/binary32/tgamma/tgammaf.c, revision a48e352
|
||||
sysdeps/ieee754/flt-32/e_gammaf_r.c
|
||||
# src/binary32/lgamma/lgammaf.c, revision 8ea8ea35
|
||||
# src/binary32/lgamma/lgammaf.c, revision bc385c2
|
||||
sysdeps/ieee754/flt-32/e_lgammaf_r.c
|
||||
# src/binary32/log10/log10f.c, revision ebff4c43
|
||||
# src/binary32/log10/log10f.c, revision bc385c2
|
||||
sysdeps/ieee754/flt-32/e_log10f.c
|
||||
# src/binary32/sinh/sinhf.c, revision bbfabd99
|
||||
sysdeps/ieee754/flt-32/e_sinhf.c
|
||||
@@ -318,11 +294,11 @@ core-math:
|
||||
sysdeps/ieee754/flt-32/s_exp2m1f.c
|
||||
# src/binary32/expm1/expm1f.c, revision bc385c2
|
||||
sysdeps/ieee754/flt-32/s_expm1f.c
|
||||
# src/binary32/log10p1/log10p1f.c revision eb28456b
|
||||
# src/binary32/log10p1/log10p1f.c revision bc385c2
|
||||
sysdeps/ieee754/flt-32/s_log10p1f.c
|
||||
# src/binary32/log1p/log1pf.c revision 24ef43a1
|
||||
# src/binary32/log1p/log1pf.c revision bc385c2
|
||||
sysdeps/ieee754/flt-32/s_log1pf.c
|
||||
# src/binary32/log2p1/log2p1f.c revision 3fbe16be
|
||||
# src/binary32/log2p1/log2p1f.c revision bc385c2
|
||||
sysdeps/ieee754/flt-32/s_log2p1f.c
|
||||
# src/binary32/sinpi/sinpif.c, revision bbfabd99d
|
||||
sysdeps/ieee754/flt-32/s_sinpif.c
|
||||
@@ -332,524 +308,3 @@ core-math:
|
||||
sysdeps/ieee754/flt-32/s_tanhf.c
|
||||
# src/binary32/tanpi/tanpif.c, revision 3bbf907
|
||||
sysdeps/ieee754/flt-32/s_tanpif.c
|
||||
|
||||
# The following files are imported from the Arm Optimized-Routines project,
|
||||
# with adjustments made to follow glibc code style and integrate with
|
||||
# glibc-specific infrastructure where needed.
|
||||
#
|
||||
# The project is distributed here:
|
||||
# https://github.com/ARM-software/optimized-routines/
|
||||
arm-optimized-routines:
|
||||
# Math routines
|
||||
# math/math_config.h, revision 712aa21
|
||||
sysdeps/ieee754/flt-32/math_config.h
|
||||
# math/math_config.h, revision 712aa21
|
||||
sysdeps/ieee754/dbl-64/math_config.h
|
||||
# math/math_err.c, revision 189dfef
|
||||
sysdeps/ieee754/dbl-64/math_err.c
|
||||
# math/math_errf.c, revision 189dfef
|
||||
sysdeps/ieee754/flt-32/math_errf.c
|
||||
# math/cosf.c, revision aec783d
|
||||
sysdeps/ieee754/flt-32/s_cosf.c
|
||||
# math/exp2f.c, revision 712aa21
|
||||
sysdeps/ieee754/flt-32/e_exp2f.c
|
||||
# math/exp2f_data.c, revision 189dfef
|
||||
sysdeps/ieee754/flt-32/e_exp2f_data.c
|
||||
# math/expf.c, revision 712aa21
|
||||
sysdeps/ieee754/flt-32/e_expf.c
|
||||
# math/log2f.c, revision 712aa21
|
||||
sysdeps/ieee754/flt-32/e_log2f.c
|
||||
# math/log2f_data.c, revision 189dfef
|
||||
sysdeps/ieee754/flt-32/e_log2f_data.c
|
||||
# math/logf.c, revision 712aa21
|
||||
sysdeps/ieee754/flt-32/e_logf.c
|
||||
# math/logf_data.c, revision c0136f1
|
||||
sysdeps/ieee754/flt-32/e_logf_data.c
|
||||
# math/powf.c, revision 712aa21
|
||||
sysdeps/ieee754/flt-32/e_powf.c
|
||||
# math/powf_log2_data.c, revision 189dfef
|
||||
sysdeps/ieee754/flt-32/e_powf_log2_data.c
|
||||
# math/sincosf.c, revision af29d39
|
||||
sysdeps/ieee754/flt-32/s_sincosf.c
|
||||
# math/sincosf.h, revision aed553c
|
||||
sysdeps/ieee754/flt-32/s_sincosf.h
|
||||
# math/sincosf_data.c, revision 189dfef
|
||||
sysdeps/ieee754/flt-32/s_sincosf_data.c
|
||||
# math/sinf.c, revision aec783d
|
||||
sysdeps/ieee754/flt-32/s_sinf.c
|
||||
# math/exp.c, revision 712aa21
|
||||
sysdeps/ieee754/dbl-64/e_exp.c
|
||||
# math/exp10.c, revision 712aa21
|
||||
sysdeps/ieee754/dbl-64/e_exp10.c
|
||||
# math/exp2.c, revision 712aa21
|
||||
sysdeps/ieee754/dbl-64/e_exp2.c
|
||||
# math/exp_data.c, revision c013701
|
||||
sysdeps/ieee754/dbl-64/e_exp_data.c
|
||||
# math/log.c, revision 712aa21
|
||||
sysdeps/ieee754/dbl-64/e_log.c
|
||||
# math/log2.c, revision 712aa21
|
||||
sysdeps/ieee754/dbl-64/e_log2.c
|
||||
# math/log2_data.c, revision 189dfef
|
||||
sysdeps/ieee754/dbl-64/e_log2_data.c
|
||||
# math/log_data.c, revision 189dfef
|
||||
sysdeps/ieee754/dbl-64/e_log_data.c
|
||||
# math/pow.c, revision 712aa21
|
||||
sysdeps/ieee754/dbl-64/e_pow.c
|
||||
# math/pow_log_data.c, revision 189dfef
|
||||
sysdeps/ieee754/dbl-64/e_pow_log_data.c
|
||||
# Mathvec routines
|
||||
# math/math_config.h, revision 712aa21
|
||||
sysdeps/aarch64/fpu/vecmath_config.h
|
||||
# math/aarch64/v_erf_data.c, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/erf_data.c
|
||||
# math/aarch64/v_erfc_data.c, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/erfc_data.c
|
||||
# math/aarch64/v_erfcf_data.c, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/erfcf_data.c
|
||||
# math/aarch64/v_erff_data.c, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/erff_data.c
|
||||
# math/aarch64/v_exp_data.c, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/v_exp_data.c
|
||||
# math/aarch64/v_exp_tail_data.c, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/v_exp_tail_data.c
|
||||
# math/aarch64/v_log10_data.c, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/v_log10_data.c
|
||||
# math/aarch64/v_log2_data.c, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/v_log2_data.c
|
||||
# math/aarch64/v_log_data.c, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/v_log_data.c
|
||||
# math/aarch64/v_pow_exp_data.c, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/v_pow_exp_data.c
|
||||
# math/aarch64/v_pow_log_data.c, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/v_pow_log_data.c
|
||||
# math/aarch64/v_powf_data.c, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/v_powf_data.c
|
||||
# math/aarch64/sve/acos.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/acos.c
|
||||
# math/aarch64/sve/acosf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/acosf.c
|
||||
# math/aarch64/sve/acosh.c, revision 8b665af
|
||||
sysdeps/aarch64/fpu/sve/acosh.c
|
||||
# math/aarch64/sve/acoshf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/acoshf.c
|
||||
# math/aarch64/sve/acospi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/acospi.c
|
||||
# math/aarch64/sve/acospif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/acospif.c
|
||||
# math/aarch64/sve/asin.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/asin.c
|
||||
# math/aarch64/sve/asinf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/asinf.c
|
||||
# math/aarch64/sve/asinh.c, revision 9bf4cfc
|
||||
sysdeps/aarch64/fpu/sve/asinh.c
|
||||
# math/aarch64/sve/asinhf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/asinhf.c
|
||||
# math/aarch64/sve/asinpi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/asinpi.c
|
||||
# math/aarch64/sve/asinpif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/asinpif.c
|
||||
# math/aarch64/sve/atan.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/atan.c
|
||||
# math/aarch64/sve/atan2.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/atan2.c
|
||||
# math/aarch64/sve/atan2f.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/atan2f.c
|
||||
# math/aarch64/sve/atan2pi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/atan2pi.c
|
||||
# math/aarch64/sve/atan2pif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/atan2pif.c
|
||||
# math/aarch64/sve/atanf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/atanf.c
|
||||
# math/aarch64/sve/atanh.c, revision 29c7342
|
||||
sysdeps/aarch64/fpu/sve/atanh.c
|
||||
# math/aarch64/sve/atanhf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/atanhf.c
|
||||
# math/aarch64/sve/atanpi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/atanpi.c
|
||||
# math/aarch64/sve/atanpif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/atanpif.c
|
||||
# math/aarch64/sve/cbrt.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/cbrt.c
|
||||
# math/aarch64/sve/cbrtf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/cbrtf.c
|
||||
# math/aarch64/sve/cos.c, revision 99cbbad
|
||||
sysdeps/aarch64/fpu/sve/cos.c
|
||||
# math/aarch64/sve/cosf.c, revision 25aa012
|
||||
sysdeps/aarch64/fpu/sve/cosf.c
|
||||
# math/aarch64/sve/cosh.c, revision 242a017
|
||||
sysdeps/aarch64/fpu/sve/cosh.c
|
||||
# math/aarch64/sve/coshf.c, revision 2fff60c
|
||||
sysdeps/aarch64/fpu/sve/coshf.c
|
||||
# math/aarch64/sve/cospi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/cospi.c
|
||||
# math/aarch64/sve/cospif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/cospif.c
|
||||
# math/aarch64/sve/erf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/erf.c
|
||||
# math/aarch64/sve/erfc.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/erfc.c
|
||||
# math/aarch64/sve/erfcf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/erfcf.c
|
||||
# math/aarch64/sve/erff.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/erff.c
|
||||
# math/aarch64/sve/exp.c, revision d664b69
|
||||
sysdeps/aarch64/fpu/sve/exp.c
|
||||
# math/aarch64/sve/exp10.c, revision d664b69
|
||||
sysdeps/aarch64/fpu/sve/exp10.c
|
||||
# math/aarch64/sve/exp10f.c, revision d664b69
|
||||
sysdeps/aarch64/fpu/sve/exp10f.c
|
||||
# math/aarch64/sve/exp10m1.c, revision d664b69
|
||||
sysdeps/aarch64/fpu/sve/exp10m1.c
|
||||
# math/aarch64/sve/exp10m1f.c, revision d664b69
|
||||
sysdeps/aarch64/fpu/sve/exp10m1f.c
|
||||
# math/aarch64/sve/exp2.c, revision d664b69
|
||||
sysdeps/aarch64/fpu/sve/exp2.c
|
||||
# math/aarch64/sve/exp2f.c, revision d664b69
|
||||
sysdeps/aarch64/fpu/sve/exp2f.c
|
||||
# math/aarch64/sve/exp2m1.c, revision d664b69
|
||||
sysdeps/aarch64/fpu/sve/exp2m1.c
|
||||
# math/aarch64/sve/exp2m1f.c, revision d664b69
|
||||
sysdeps/aarch64/fpu/sve/exp2m1f.c
|
||||
# math/aarch64/sve/expf.c, revision 47044a5
|
||||
sysdeps/aarch64/fpu/sve/expf.c
|
||||
# math/aarch64/sve/expm1.c, revision d664b69
|
||||
sysdeps/aarch64/fpu/sve/expm1.c
|
||||
# math/aarch64/sve/expm1f.c, revision d664b69
|
||||
sysdeps/aarch64/fpu/sve/expm1f.c
|
||||
# math/aarch64/sve/hypot.c, revision 74d699d
|
||||
sysdeps/aarch64/fpu/sve/hypot.c
|
||||
# math/aarch64/sve/hypotf.c, revision 74d699d
|
||||
sysdeps/aarch64/fpu/sve/hypotf.c
|
||||
# math/aarch64/sve/log.c, revision 91b052e
|
||||
sysdeps/aarch64/fpu/sve/log.c
|
||||
# math/aarch64/sve/log10.c, revision 91b052e
|
||||
sysdeps/aarch64/fpu/sve/log10.c
|
||||
# math/aarch64/sve/log10f.c, revision 8ca4cc0
|
||||
sysdeps/aarch64/fpu/sve/log10f.c
|
||||
# math/aarch64/sve/log10p1.c, revision 166744d
|
||||
sysdeps/aarch64/fpu/sve/log10p1.c
|
||||
# math/aarch64/sve/log10p1f.c, revision 8124d30
|
||||
sysdeps/aarch64/fpu/sve/log10p1f.c
|
||||
# math/aarch64/sve/log1p.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/log1p.c
|
||||
# math/aarch64/sve/log1pf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/log1pf.c
|
||||
# math/aarch64/sve/log2.c, revision 91b052e
|
||||
sysdeps/aarch64/fpu/sve/log2.c
|
||||
# math/aarch64/sve/log2f.c, revision 8ca4cc0
|
||||
sysdeps/aarch64/fpu/sve/log2f.c
|
||||
# math/aarch64/sve/log2p1.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/log2p1.c
|
||||
# math/aarch64/sve/log2p1f.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/log2p1f.c
|
||||
# math/aarch64/sve/logf.c, revision 8ca4cc0
|
||||
sysdeps/aarch64/fpu/sve/logf.c
|
||||
# math/aarch64/sve/pow.c, revision 2c38e83
|
||||
sysdeps/aarch64/fpu/sve/pow.c
|
||||
# math/aarch64/sve/powf.c, revision 2c38e83
|
||||
sysdeps/aarch64/fpu/sve/powf.c
|
||||
# math/aarch64/sve/powr.c, revision 30da949
|
||||
sysdeps/aarch64/fpu/sve/powr.c
|
||||
# math/aarch64/sve/powrf.c, revision e2bca42
|
||||
sysdeps/aarch64/fpu/sve/powrf.c
|
||||
# math/aarch64/sve/rsqrt.c, revision 4fc7374
|
||||
sysdeps/aarch64/fpu/sve/rsqrt.c
|
||||
# math/aarch64/sve/rsqrtf.c, revision b1bc8ba
|
||||
sysdeps/aarch64/fpu/sve/rsqrtf.c
|
||||
# math/aarch64/sve/sin.c, revision 99cbbad
|
||||
sysdeps/aarch64/fpu/sve/sin.c
|
||||
# math/aarch64/sve/sinf.c, revision 25aa012
|
||||
sysdeps/aarch64/fpu/sve/sinf.c
|
||||
# math/aarch64/sve/sinh.c, revision 242a017
|
||||
sysdeps/aarch64/fpu/sve/sinh.c
|
||||
# math/aarch64/sve/sinhf.c, revision 2fff60c
|
||||
sysdeps/aarch64/fpu/sve/sinhf.c
|
||||
# math/aarch64/sve/sinpi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/sinpi.c
|
||||
# math/aarch64/sve/sinpif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/sinpif.c
|
||||
# math/aarch64/sve/tan.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/tan.c
|
||||
# math/aarch64/sve/tanf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/tanf.c
|
||||
# math/aarch64/sve/tanh.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/tanh.c
|
||||
# math/aarch64/sve/tanhf.c, revision 2fff60c
|
||||
sysdeps/aarch64/fpu/sve/tanhf.c
|
||||
# math/aarch64/sve/tanpi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/tanpi.c
|
||||
# math/aarch64/sve/tanpif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/sve/tanpif.c
|
||||
# math/aarch64/sve/sv_exp_special_inline.h, revision d664b69
|
||||
sysdeps/aarch64/fpu/sve/sv_exp_special_inline.h
|
||||
# math/aarch64/sve/sv_expf_inline.h, revision ba35b32
|
||||
sysdeps/aarch64/fpu/sve/sv_expf_inline.h
|
||||
# math/aarch64/sve/sv_expf_special_inline.h, revision d664b69
|
||||
sysdeps/aarch64/fpu/sve/sv_expf_special_inline.h
|
||||
# math/aarch64/sve/sv_expm1f_inline.h, revision 78cd003
|
||||
sysdeps/aarch64/fpu/sve/sv_expm1f_inline.h
|
||||
# math/aarch64/sve/sv_log1p_inline.h, revision 7d08237
|
||||
sysdeps/aarch64/fpu/sve/sv_log1p_inline.h
|
||||
# math/aarch64/sve/sv_log1pf_inline.h, revision a386525
|
||||
sysdeps/aarch64/fpu/sve/sv_log1pf_inline.h
|
||||
# math/aarch64/sve/sv_pow_inline.h, revision 30da949
|
||||
sysdeps/aarch64/fpu/sve/sv_pow_inline.h
|
||||
# math/aarch64/sve/sv_powf_inline.h, revision 30da949
|
||||
sysdeps/aarch64/fpu/sve/sv_powf_inline.h
|
||||
# math/aarch64/sve/sv_poly_f32.h, revision 5d5e6e6
|
||||
sysdeps/aarch64/fpu/sve/poly_sve_f32.h
|
||||
# math/aarch64/sve/sv_poly_f64.h, revision 5d5e6e6
|
||||
sysdeps/aarch64/fpu/sve/poly_sve_f64.h
|
||||
# math/aarch64/sve/sv_poly_generic.h, revision 5d5e6e6
|
||||
sysdeps/aarch64/fpu/sve/poly_sve_generic.h
|
||||
# math/aarch64/sve/sv_math.h, revision 7361ef6
|
||||
sysdeps/aarch64/fpu/sve/sv_math.h
|
||||
# math/aarch64/sve/sv_trig_fallback.h, revision 99cbbad
|
||||
sysdeps/aarch64/fpu/sve/sv_trig_fallback.h
|
||||
# math/aarch64/sve/sv_trigf_fallback.h, revision 25aa012
|
||||
sysdeps/aarch64/fpu/sve/sv_trigf_fallback.h
|
||||
# math/aarch64/advsimd/acos.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/acos.c
|
||||
# math/aarch64/advsimd/acosf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/acosf.c
|
||||
# math/aarch64/advsimd/acosh.c, revision 188e75a
|
||||
sysdeps/aarch64/fpu/advsimd/acosh.c
|
||||
# math/aarch64/advsimd/acoshf.c, revision af3851e
|
||||
sysdeps/aarch64/fpu/advsimd/acoshf.c
|
||||
# math/aarch64/advsimd/acospi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/acospi.c
|
||||
# math/aarch64/advsimd/acospif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/acospif.c
|
||||
# math/aarch64/advsimd/asin.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/asin.c
|
||||
# math/aarch64/advsimd/asinf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/asinf.c
|
||||
# math/aarch64/advsimd/asinh.c, revision bac1b4f
|
||||
sysdeps/aarch64/fpu/advsimd/asinh.c
|
||||
# math/aarch64/advsimd/asinhf.c, revision af3851e
|
||||
sysdeps/aarch64/fpu/advsimd/asinhf.c
|
||||
# math/aarch64/advsimd/asinpi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/asinpi.c
|
||||
# math/aarch64/advsimd/asinpif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/asinpif.c
|
||||
# math/aarch64/advsimd/atan.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/atan.c
|
||||
# math/aarch64/advsimd/atan2.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/atan2.c
|
||||
# math/aarch64/advsimd/atan2f.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/atan2f.c
|
||||
# math/aarch64/advsimd/atan2pi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/atan2pi.c
|
||||
# math/aarch64/advsimd/atan2pif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/atan2pif.c
|
||||
# math/aarch64/advsimd/atanf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/atanf.c
|
||||
# math/aarch64/advsimd/atanh.c, revision 281cb3a
|
||||
sysdeps/aarch64/fpu/advsimd/atanh.c
|
||||
# math/aarch64/advsimd/atanhf.c, revision d852158
|
||||
sysdeps/aarch64/fpu/advsimd/atanhf.c
|
||||
# math/aarch64/advsimd/atanpi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/atanpi.c
|
||||
# math/aarch64/advsimd/atanpif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/atanpif.c
|
||||
# math/aarch64/advsimd/cbrt.c, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/advsimd/cbrt.c
|
||||
# math/aarch64/advsimd/cbrtf.c, revision 6c74650
|
||||
sysdeps/aarch64/fpu/advsimd/cbrtf.c
|
||||
# math/aarch64/advsimd/cos.c, revision 677a12b
|
||||
sysdeps/aarch64/fpu/advsimd/cos.c
|
||||
# math/aarch64/advsimd/cosf.c, revision 15c35d9
|
||||
sysdeps/aarch64/fpu/advsimd/cosf.c
|
||||
# math/aarch64/advsimd/cosh.c, revision 447bbaa
|
||||
sysdeps/aarch64/fpu/advsimd/cosh.c
|
||||
# math/aarch64/advsimd/coshf.c, revision 45237ba
|
||||
sysdeps/aarch64/fpu/advsimd/coshf.c
|
||||
# math/aarch64/advsimd/cospi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/cospi.c
|
||||
# math/aarch64/advsimd/cospif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/cospif.c
|
||||
# math/aarch64/advsimd/erf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/erf.c
|
||||
# math/aarch64/advsimd/erfc.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/erfc.c
|
||||
# math/aarch64/advsimd/erfcf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/erfcf.c
|
||||
# math/aarch64/advsimd/erff.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/erff.c
|
||||
# math/aarch64/advsimd/exp.c, revision dce5dab
|
||||
sysdeps/aarch64/fpu/advsimd/exp.c
|
||||
# math/aarch64/advsimd/exp10.c, revision dce5dab
|
||||
sysdeps/aarch64/fpu/advsimd/exp10.c
|
||||
# math/aarch64/advsimd/exp10f.c, revision 69d38dd
|
||||
sysdeps/aarch64/fpu/advsimd/exp10f.c
|
||||
# math/aarch64/advsimd/exp10m1.c, revision dce5dab
|
||||
sysdeps/aarch64/fpu/advsimd/exp10m1.c
|
||||
# math/aarch64/advsimd/exp10m1f.c, revision a5092e8
|
||||
sysdeps/aarch64/fpu/advsimd/exp10m1f.c
|
||||
# math/aarch64/advsimd/exp2.c, revision dce5dab
|
||||
sysdeps/aarch64/fpu/advsimd/exp2.c
|
||||
# math/aarch64/advsimd/exp2f.c, revision 69d38dd
|
||||
sysdeps/aarch64/fpu/advsimd/exp2f.c
|
||||
# math/aarch64/advsimd/exp2m1.c, revision dce5dab
|
||||
sysdeps/aarch64/fpu/advsimd/exp2m1.c
|
||||
# math/aarch64/advsimd/exp2m1f.c, revision a5092e8
|
||||
sysdeps/aarch64/fpu/advsimd/exp2m1f.c
|
||||
# math/aarch64/advsimd/expf.c, revision 69d38dd
|
||||
sysdeps/aarch64/fpu/advsimd/expf.c
|
||||
# math/aarch64/advsimd/expm1.c, revision dce5dab
|
||||
sysdeps/aarch64/fpu/advsimd/expm1.c
|
||||
# math/aarch64/advsimd/expm1f.c, revision a5092e8
|
||||
sysdeps/aarch64/fpu/advsimd/expm1f.c
|
||||
# math/aarch64/advsimd/hypot.c, revision 09f8d05
|
||||
sysdeps/aarch64/fpu/advsimd/hypot.c
|
||||
# math/aarch64/advsimd/hypotf.c, revision 99dff4f
|
||||
sysdeps/aarch64/fpu/advsimd/hypotf.c
|
||||
# math/aarch64/advsimd/log.c, revision 0345857
|
||||
sysdeps/aarch64/fpu/advsimd/log.c
|
||||
# math/aarch64/advsimd/log10.c, revision 77aff35
|
||||
sysdeps/aarch64/fpu/advsimd/log10.c
|
||||
# math/aarch64/advsimd/log10f.c, revision ff1596f
|
||||
sysdeps/aarch64/fpu/advsimd/log10f.c
|
||||
# math/aarch64/advsimd/log10p1.c, revision 7fc8510
|
||||
sysdeps/aarch64/fpu/advsimd/log10p1.c
|
||||
# math/aarch64/advsimd/log10p1f.c, revision 58cd796
|
||||
sysdeps/aarch64/fpu/advsimd/log10p1f.c
|
||||
# math/aarch64/advsimd/log1p.c, revision 355a985
|
||||
sysdeps/aarch64/fpu/advsimd/log1p.c
|
||||
# math/aarch64/advsimd/log1pf.c, revision 5cf8408
|
||||
sysdeps/aarch64/fpu/advsimd/log1pf.c
|
||||
# math/aarch64/advsimd/log2.c, revision b8deb33
|
||||
sysdeps/aarch64/fpu/advsimd/log2.c
|
||||
# math/aarch64/advsimd/log2f.c, revision b98f80d
|
||||
sysdeps/aarch64/fpu/advsimd/log2f.c
|
||||
# math/aarch64/advsimd/log2p1.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/log2p1.c
|
||||
# math/aarch64/advsimd/log2p1f.c, revision 58cd796
|
||||
sysdeps/aarch64/fpu/advsimd/log2p1f.c
|
||||
# math/aarch64/advsimd/logf.c, revision 1b15b12
|
||||
sysdeps/aarch64/fpu/advsimd/logf.c
|
||||
# math/aarch64/advsimd/finite_pow.h, revision 30da949
|
||||
sysdeps/aarch64/fpu/advsimd/finite_pow.h
|
||||
# math/pow_common.h, revision 30da949
|
||||
sysdeps/aarch64/fpu/pow_common.h
|
||||
# math/powf_common.h, revision 30da949
|
||||
sysdeps/aarch64/fpu/powf_common.h
|
||||
# math/aarch64/advsimd/pow.c, revision 30da949
|
||||
sysdeps/aarch64/fpu/advsimd/pow.c
|
||||
# math/aarch64/advsimd/powf.c, revision 30da949
|
||||
sysdeps/aarch64/fpu/advsimd/powf.c
|
||||
# math/aarch64/advsimd/powr.c, revision 30da949
|
||||
sysdeps/aarch64/fpu/advsimd/powr.c
|
||||
# math/aarch64/advsimd/powrf.c, revision e2bca42
|
||||
sysdeps/aarch64/fpu/advsimd/powrf.c
|
||||
# math/aarch64/advsimd/rsqrt.c, revision 0945eab
|
||||
sysdeps/aarch64/fpu/advsimd/rsqrt.c
|
||||
# math/aarch64/advsimd/rsqrtf.c, revision 88e9cc9
|
||||
sysdeps/aarch64/fpu/advsimd/rsqrtf.c
|
||||
# math/aarch64/advsimd/sin.c, revision 677a12b
|
||||
sysdeps/aarch64/fpu/advsimd/sin.c
|
||||
# math/aarch64/advsimd/sinf.c, revision 15c35d9
|
||||
sysdeps/aarch64/fpu/advsimd/sinf.c
|
||||
# math/aarch64/advsimd/sinh.c, revision 447bbaa
|
||||
sysdeps/aarch64/fpu/advsimd/sinh.c
|
||||
# math/aarch64/advsimd/sinhf.c, revision 45237ba
|
||||
sysdeps/aarch64/fpu/advsimd/sinhf.c
|
||||
# math/aarch64/advsimd/sinpi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/sinpi.c
|
||||
# math/aarch64/advsimd/sinpif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/sinpif.c
|
||||
# math/aarch64/advsimd/tan.c, revision a8bbb87
|
||||
sysdeps/aarch64/fpu/advsimd/tan.c
|
||||
# math/aarch64/advsimd/tanf.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/tanf.c
|
||||
# math/aarch64/advsimd/tanh.c, revision 447bbaa
|
||||
sysdeps/aarch64/fpu/advsimd/tanh.c
|
||||
# math/aarch64/advsimd/tanhf.c, revision 45237ba
|
||||
sysdeps/aarch64/fpu/advsimd/tanhf.c
|
||||
# math/aarch64/advsimd/tanpi.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/tanpi.c
|
||||
# math/aarch64/advsimd/tanpif.c, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/tanpif.c
|
||||
# math/aarch64/advsimd/v_exp_special_case_inline.h, revision dce5dab
|
||||
sysdeps/aarch64/fpu/advsimd/v_exp_special_case_inline.h
|
||||
# math/aarch64/advsimd/v_expf_inline.h, revision 747e0e1
|
||||
sysdeps/aarch64/fpu/advsimd/v_expf_inline.h
|
||||
# math/aarch64/advsimd/v_expf_special_inline.h, revision a5092e8
|
||||
sysdeps/aarch64/fpu/advsimd/v_expf_special_inline.h
|
||||
# math/aarch64/advsimd/v_expm1_inline.h, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/advsimd/v_expm1_inline.h
|
||||
# math/aarch64/advsimd/v_expm1f_inline.h, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/advsimd/v_expm1f_inline.h
|
||||
# math/aarch64/advsimd/v_log1p_inline.h, revision 1aad38d
|
||||
sysdeps/aarch64/fpu/advsimd/v_log1p_inline.h
|
||||
# math/aarch64/advsimd/v_log1pf_inline.h, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/advsimd/v_log1pf_inline.h
|
||||
# math/aarch64/advsimd/v_pow_inline.h, revision efde0c7
|
||||
sysdeps/aarch64/fpu/advsimd/v_pow_inline.h
|
||||
# math/aarch64/advsimd/v_powf_inline.h, revision 5b06a16
|
||||
sysdeps/aarch64/fpu/advsimd/v_powf_inline.h
|
||||
# math/aarch64/advsimd/v_powrf_inline.h, revision 30da949
|
||||
sysdeps/aarch64/fpu/advsimd/v_powrf_inline.h
|
||||
# math/aarch64/advsimd/v_poly_f32.h, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/advsimd/poly_advsimd_f32.h
|
||||
# math/aarch64/advsimd/v_poly_f64.h, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/advsimd/poly_advsimd_f64.h
|
||||
# math/poly_generic.h, revision 0a6ab6d
|
||||
sysdeps/aarch64/fpu/advsimd/poly_generic.h
|
||||
# math/aarch64/advsimd/v_math.h, revision 1829557
|
||||
sysdeps/aarch64/fpu/advsimd/v_math.h
|
||||
# math/aarch64/advsimd/v_trig_fallback.h, revision 677a12b
|
||||
sysdeps/aarch64/fpu/advsimd/v_trig_fallback.h
|
||||
# math/aarch64/advsimd/v_trigf_fallback.h, revision 15c35d9
|
||||
sysdeps/aarch64/fpu/advsimd/v_trigf_fallback.h
|
||||
# String routines
|
||||
# string/aarch64/__mtag_tag_region.S, revision 41e5ae5
|
||||
sysdeps/aarch64/__mtag_tag_region.S
|
||||
# string/aarch64/__mtag_tag_zero_region.S, revision 41e5ae5
|
||||
sysdeps/aarch64/__mtag_tag_zero_region.S
|
||||
# string/aarch64/memchr-mte.S, revision 41e5ae5
|
||||
sysdeps/aarch64/memchr.S
|
||||
# string/aarch64/memcmp.S, revision 41e5ae5
|
||||
sysdeps/aarch64/memcmp.S
|
||||
# string/aarch64/memcpy-advsimd.S, revision 41e5ae5
|
||||
sysdeps/aarch64/memcpy.S
|
||||
# string/aarch64/memcpy-mops.S, revision 41e5ae5
|
||||
sysdeps/aarch64/multiarch/memcpy_mops.S
|
||||
# string/aarch64/memcpy-sve.S, revision 71e3640
|
||||
sysdeps/aarch64/multiarch/memcpy_sve.S
|
||||
# string/aarch64/memmove-mops.S, revision 41e5ae5
|
||||
sysdeps/aarch64/multiarch/memmove_mops.S
|
||||
# string/aarch64/memrchr.S, revision 41e5ae5
|
||||
sysdeps/aarch64/memrchr.S
|
||||
# string/aarch64/memset-mops.S, revision 41e5ae5
|
||||
sysdeps/aarch64/multiarch/memset_mops.S
|
||||
# string/aarch64/memset-sve.S, revision 0f71101
|
||||
sysdeps/aarch64/multiarch/memset_sve_zva64.S
|
||||
# string/aarch64/memset.S, revision 098df8c
|
||||
sysdeps/aarch64/memset.S
|
||||
# string/aarch64/stpcpy.S, revision 189dfef
|
||||
sysdeps/aarch64/stpcpy.S
|
||||
# string/aarch64/strchr-mte.S, revision 41e5ae5
|
||||
sysdeps/aarch64/strchr.S
|
||||
# string/aarch64/strchrnul-mte.S, revision 41e5ae5
|
||||
sysdeps/aarch64/strchrnul.S
|
||||
# string/aarch64/strcmp.S, revision 41e5ae5
|
||||
sysdeps/aarch64/strcmp.S
|
||||
# string/aarch64/strcpy.S, revision 41e5ae5
|
||||
sysdeps/aarch64/strcpy.S
|
||||
# string/aarch64/strlen-mte.S, revision 41e5ae5
|
||||
sysdeps/aarch64/strlen.S
|
||||
# string/aarch64/strncmp.S, revision 41e5ae5
|
||||
sysdeps/aarch64/strncmp.S
|
||||
# string/aarch64/strnlen.S, revision 41e5ae5
|
||||
sysdeps/aarch64/strnlen.S
|
||||
# string/aarch64/strrchr-mte.S, revision 41e5ae5
|
||||
sysdeps/aarch64/strrchr.S
|
||||
# string/arm/memchr.S, revision 1eb5d7c
|
||||
sysdeps/arm/armv6t2/memchr.S
|
||||
# string/arm/memcpy.S, revision 1eb5d7c
|
||||
sysdeps/arm/armv7/multiarch/memcpy_impl.S
|
||||
# string/arm/strcmp.S, revision 1eb5d7c
|
||||
sysdeps/arm/armv7/strcmp.S
|
||||
# string/arm/strlen-armv6t2.S, revision 1eb5d7c
|
||||
sysdeps/arm/armv6t2/strlen.S
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
printf: incorrect output for integers with thousands separator and width field
|
||||
|
||||
When the printf family of functions is called with a format specifier
|
||||
that uses an <apostrophe> (enable grouping) and a minimum width
|
||||
specifier, the resulting output could be larger than reasonably expected
|
||||
by a caller that computed a tight bound on the buffer size. The
|
||||
resulting larger than expected output could result in a buffer overflow
|
||||
in the printf family of functions.
|
||||
|
||||
CVE-Id: CVE-2023-25139
|
||||
Public-Date: 2023-02-02
|
||||
Vulnerable-Commit: e88b9f0e5cc50cab57a299dc7efe1a4eb385161d (2.37)
|
||||
Fix-Commit: c980549cc6a1c03c23cc2fe3e7b0fe626a0364b0 (2.38)
|
||||
Fix-Commit: 07b9521fc6369d000216b96562ff7c0ed32a16c4 (2.37-4)
|
||||
@@ -1,15 +0,0 @@
|
||||
getaddrinfo: Stack read overflow in no-aaaa mode
|
||||
|
||||
If the system is configured in no-aaaa mode via /etc/resolv.conf,
|
||||
getaddrinfo is called for the AF_UNSPEC address family, and a DNS
|
||||
response is received over TCP that is larger than 2048 bytes,
|
||||
getaddrinfo may potentially disclose stack contents via the returned
|
||||
address data, or crash.
|
||||
|
||||
CVE-Id: CVE-2023-4527
|
||||
Public-Date: 2023-09-12
|
||||
Vulnerable-Commit: f282cdbe7f436c75864e5640a409a10485e9abb2 (2.36)
|
||||
Fix-Commit: bd77dd7e73e3530203be1c52c8a29d08270cb25d (2.39)
|
||||
Fix-Commit: 4ea972b7edd7e36610e8cde18bf7a8149d7bac4f (2.36-113)
|
||||
Fix-Commit: b7529346025a130fee483d42178b5c118da971bb (2.37-38)
|
||||
Fix-Commit: b25508dd774b617f99419bdc3cf2ace4560cd2d6 (2.38-19)
|
||||
@@ -1,15 +0,0 @@
|
||||
getaddrinfo: Potential use-after-free
|
||||
|
||||
When an NSS plugin only implements the _gethostbyname2_r and
|
||||
_getcanonname_r callbacks, getaddrinfo could use memory that was freed
|
||||
during buffer resizing, potentially causing a crash or read or write to
|
||||
arbitrary memory.
|
||||
|
||||
CVE-Id: CVE-2023-4806
|
||||
Public-Date: 2023-09-12
|
||||
Fix-Commit: 973fe93a5675c42798b2161c6f29c01b0e243994 (2.39)
|
||||
Fix-Commit: e09ee267c03e3150c2c9ba28625ab130705a485e (2.34-420)
|
||||
Fix-Commit: e3ccb230a961b4797510e6a1f5f21fd9021853e7 (2.35-270)
|
||||
Fix-Commit: a9728f798ec7f05454c95637ee6581afaa9b487d (2.36-115)
|
||||
Fix-Commit: 6529a7466c935f36e9006b854d6f4e1d4876f942 (2.37-39)
|
||||
Fix-Commit: 00ae4f10b504bc4564e9f22f00907093f1ab9338 (2.38-20)
|
||||
@@ -1,16 +0,0 @@
|
||||
tunables: local privilege escalation through buffer overflow
|
||||
|
||||
If a tunable of the form NAME=NAME=VAL is passed in the environment of a
|
||||
setuid program and NAME is valid, it may result in a buffer overflow,
|
||||
which could be exploited to achieve escalated privileges. This flaw was
|
||||
introduced in glibc 2.34.
|
||||
|
||||
CVE-Id: CVE-2023-4911
|
||||
Public-Date: 2023-10-03
|
||||
Vulnerable-Commit: 2ed18c5b534d9e92fc006202a5af0df6b72e7aca (2.34)
|
||||
Fix-Commit: 1056e5b4c3f2d90ed2b4a55f96add28da2f4c8fa (2.39)
|
||||
Fix-Commit: dcc367f148bc92e7f3778a125f7a416b093964d9 (2.34-423)
|
||||
Fix-Commit: c84018a05aec80f5ee6f682db0da1130b0196aef (2.35-274)
|
||||
Fix-Commit: 22955ad85186ee05834e47e665056148ca07699c (2.36-118)
|
||||
Fix-Commit: b4e23c75aea756b4bddc4abcf27a1c6dca8b6bd3 (2.37-45)
|
||||
Fix-Commit: 750a45a783906a19591fb8ff6b7841470f1f5701 (2.38-27)
|
||||
@@ -1,18 +0,0 @@
|
||||
getaddrinfo: DoS due to memory leak
|
||||
|
||||
The fix for CVE-2023-4806 introduced a memory leak when an application
|
||||
calls getaddrinfo for AF_INET6 with AI_CANONNAME, AI_ALL and AI_V4MAPPED
|
||||
flags set.
|
||||
|
||||
CVE-Id: CVE-2023-5156
|
||||
Public-Date: 2023-09-25
|
||||
Vulnerable-Commit: e09ee267c03e3150c2c9ba28625ab130705a485e (2.34-420)
|
||||
Vulnerable-Commit: e3ccb230a961b4797510e6a1f5f21fd9021853e7 (2.35-270)
|
||||
Vulnerable-Commit: a9728f798ec7f05454c95637ee6581afaa9b487d (2.36-115)
|
||||
Vulnerable-Commit: 6529a7466c935f36e9006b854d6f4e1d4876f942 (2.37-39)
|
||||
Vulnerable-Commit: 00ae4f10b504bc4564e9f22f00907093f1ab9338 (2.38-20)
|
||||
Fix-Commit: 8006457ab7e1cd556b919f477348a96fe88f2e49 (2.34-421)
|
||||
Fix-Commit: 17092c0311f954e6f3c010f73ce3a78c24ac279a (2.35-272)
|
||||
Fix-Commit: 856bac55f98dc840e7c27cfa82262b933385de90 (2.36-116)
|
||||
Fix-Commit: 4473d1b87d04b25cdd0e0354814eeaa421328268 (2.37-42)
|
||||
Fix-Commit: 5ee59ca371b99984232d7584fe2b1a758b4421d3 (2.38-24)
|
||||
@@ -1,15 +0,0 @@
|
||||
syslog: Heap buffer overflow in __vsyslog_internal
|
||||
|
||||
__vsyslog_internal did not handle a case where printing a SYSLOG_HEADER
|
||||
containing a long program name failed to update the required buffer
|
||||
size, leading to the allocation and overflow of a too-small buffer on
|
||||
the heap.
|
||||
|
||||
CVE-Id: CVE-2023-6246
|
||||
Public-Date: 2024-01-30
|
||||
Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37)
|
||||
Fix-Commit: 6bd0e4efcc78f3c0115e5ea9739a1642807450da (2.39)
|
||||
Fix-Commit: 23514c72b780f3da097ecf33a793b7ba9c2070d2 (2.38-42)
|
||||
Fix-Commit: 97a4292aa4a2642e251472b878d0ec4c46a0e59a (2.37-57)
|
||||
Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16)
|
||||
Fix-Commit: d1a83b6767f68b3cb5b4b4ea2617254acd040c82 (2.36-126)
|
||||
@@ -1,15 +0,0 @@
|
||||
syslog: Heap buffer overflow in __vsyslog_internal
|
||||
|
||||
__vsyslog_internal used the return value of snprintf/vsnprintf to
|
||||
calculate buffer sizes for memory allocation. If these functions (for
|
||||
any reason) failed and returned -1, the resulting buffer would be too
|
||||
small to hold output.
|
||||
|
||||
CVE-Id: CVE-2023-6779
|
||||
Public-Date: 2024-01-30
|
||||
Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37)
|
||||
Fix-Commit: 7e5a0c286da33159d47d0122007aac016f3e02cd (2.39)
|
||||
Fix-Commit: d0338312aace5bbfef85e03055e1212dd0e49578 (2.38-43)
|
||||
Fix-Commit: 67062eccd9a65d7fda9976a56aeaaf6c25a80214 (2.37-58)
|
||||
Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16)
|
||||
Fix-Commit: 2bc9d7c002bdac38b5c2a3f11b78e309d7765b83 (2.36-127)
|
||||
@@ -1,13 +0,0 @@
|
||||
syslog: Integer overflow in __vsyslog_internal
|
||||
|
||||
__vsyslog_internal calculated a buffer size by adding two integers, but
|
||||
did not first check if the addition would overflow.
|
||||
|
||||
CVE-Id: CVE-2023-6780
|
||||
Public-Date: 2024-01-30
|
||||
Vulnerable-Commit: 52a5be0df411ef3ff45c10c7c308cb92993d15b1 (2.37)
|
||||
Fix-Commit: ddf542da94caf97ff43cc2875c88749880b7259b (2.39)
|
||||
Fix-Commit: d37c2b20a4787463d192b32041c3406c2bd91de0 (2.38-44)
|
||||
Fix-Commit: 2b58cba076e912961ceaa5fa58588e4b10f791c0 (2.37-59)
|
||||
Vulnerable-Commit: b0e7888d1fa2dbd2d9e1645ec8c796abf78880b9 (2.36-16)
|
||||
Fix-Commit: b9b7d6a27aa0632f334352fa400771115b3c69b7 (2.36-128)
|
||||
@@ -1,28 +0,0 @@
|
||||
ISO-2022-CN-EXT: fix out-of-bound writes when writing escape sequence
|
||||
|
||||
The iconv() function in the GNU C Library versions 2.39 and older may
|
||||
overflow the output buffer passed to it by up to 4 bytes when converting
|
||||
strings to the ISO-2022-CN-EXT character set, which may be used to
|
||||
crash an application or overwrite a neighbouring variable.
|
||||
|
||||
ISO-2022-CN-EXT uses escape sequences to indicate character set changes
|
||||
(as specified by RFC 1922). While the SOdesignation has the expected
|
||||
bounds checks, neither SS2designation nor SS3designation have its;
|
||||
allowing a write overflow of 1, 2, or 3 bytes with fixed values:
|
||||
'$+I', '$+J', '$+K', '$+L', '$+M', or '$*H'.
|
||||
|
||||
CVE-Id: CVE-2024-2961
|
||||
Public-Date: 2024-04-17
|
||||
Vulnerable-Commit: 755104edc75c53f4a0e7440334e944ad3c6b32fc (2.1.93-169)
|
||||
Fix-Commit: f9dc609e06b1136bb0408be9605ce7973a767ada (2.40)
|
||||
Fix-Commit: 31da30f23cddd36db29d5b6a1c7619361b271fb4 (2.39-31)
|
||||
Fix-Commit: e1135387deded5d73924f6ca20c72a35dc8e1bda (2.38-66)
|
||||
Fix-Commit: 89ce64b269a897a7780e4c73a7412016381c6ecf (2.37-89)
|
||||
Fix-Commit: 4ed98540a7fd19f458287e783ae59c41e64df7b5 (2.36-164)
|
||||
Fix-Commit: 36280d1ce5e245aabefb877fe4d3c6cff95dabfa (2.35-315)
|
||||
Fix-Commit: a8b0561db4b9847ebfbfec20075697d5492a363c (2.34-459)
|
||||
Fix-Commit: ed4f16ff6bed3037266f1fa682ebd32a18fce29c (2.33-263)
|
||||
Fix-Commit: 682ad4c8623e611a971839990ceef00346289cc9 (2.32-140)
|
||||
Fix-Commit: 3703c32a8d304c1ee12126134ce69be965f38000 (2.31-154)
|
||||
|
||||
Reported-By: Charles Fol
|
||||
@@ -1,22 +0,0 @@
|
||||
nscd: Stack-based buffer overflow in netgroup cache
|
||||
|
||||
If the Name Service Cache Daemon's (nscd) fixed size cache is exhausted
|
||||
by client requests then a subsequent client request for netgroup data
|
||||
may result in a stack-based buffer overflow. This flaw was introduced
|
||||
in glibc 2.15 when the cache was added to nscd.
|
||||
|
||||
This vulnerability is only present in the nscd binary.
|
||||
|
||||
CVE-Id: CVE-2024-33599
|
||||
Public-Date: 2024-04-23
|
||||
Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15)
|
||||
Fix-Commit: 69c58d5ef9f584ea198bd00f7964d364d0e6b921 (2.31-155)
|
||||
Fix-Commit: a77064893bfe8a701770e2f53a4d33805bc47a5a (2.32-141)
|
||||
Fix-Commit: 5c75001a96abcd50cbdb74df24c3f013188d076e (2.33-264)
|
||||
Fix-Commit: 52f73e5c4e29b14e79167272297977f360ae1e97 (2.34-460)
|
||||
Fix-Commit: 7a95873543ce225376faf13bb71c43dea6d24f86 (2.35-316)
|
||||
Fix-Commit: caa3151ca460bdd9330adeedd68c3112d97bffe4 (2.36-165)
|
||||
Fix-Commit: f75c298e747b2b8b41b1c2f551c011a52c41bfd1 (2.37-91)
|
||||
Fix-Commit: 5968aebb86164034b8f8421b4abab2f837a5bdaf (2.38-72)
|
||||
Fix-Commit: 1263d583d2e28afb8be53f8d6922f0842036f35d (2.39-35)
|
||||
Fix-Commit: 87801a8fd06db1d654eea3e4f7626ff476a9bdaa (2.40)
|
||||
@@ -1,32 +0,0 @@
|
||||
nscd: Null pointer crash after notfound response
|
||||
|
||||
If the Name Service Cache Daemon's (nscd) cache fails to add a not-found
|
||||
netgroup response to the cache, the client request can result in a null
|
||||
pointer dereference. This flaw was introduced in glibc 2.15 when the
|
||||
cache was added to nscd.
|
||||
|
||||
This vulnerability is only present in the nscd binary.
|
||||
|
||||
CVE-Id: CVE-2024-33600
|
||||
Public-Date: 2024-04-24
|
||||
Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15)
|
||||
Fix-Commit: b048a482f088e53144d26a61c390bed0210f49f2 (2.40)
|
||||
Fix-Commit: 7835b00dbce53c3c87bbbb1754a95fb5e58187aa (2.40)
|
||||
Fix-Commit: c99f886de54446cd4447db6b44be93dabbdc2f8b (2.39-37)
|
||||
Fix-Commit: 5a508e0b508c8ad53bd0d2fb48fd71b242626341 (2.39-36)
|
||||
Fix-Commit: 2ae9446c1b7a3064743b4a51c0bbae668ee43e4c (2.38-74)
|
||||
Fix-Commit: 541ea5172aa658c4bd5c6c6d6fd13903c3d5bb0a (2.38-73)
|
||||
Fix-Commit: a8070b31043c7585c36ba68a74298c4f7af075c3 (2.37-93)
|
||||
Fix-Commit: 5eea50c4402e39588de98aa1d4469a79774703d4 (2.37-92)
|
||||
Fix-Commit: f205b3af56740e3b014915b1bd3b162afe3407ef (2.36-167)
|
||||
Fix-Commit: c34f470a615b136170abd16142da5dd0c024f7d1 (2.36-166)
|
||||
Fix-Commit: bafadc589fbe21ae330e8c2af74db9da44a17660 (2.35-318)
|
||||
Fix-Commit: 4370bef52b0f3f3652c6aa13d7a9bb3ac079746d (2.35-317)
|
||||
Fix-Commit: 1f94122289a9bf7dba573f5d60327aaa2b85cf2e (2.34-462)
|
||||
Fix-Commit: 966d6ac9e40222b84bb21674cc4f83c8d72a5a26 (2.34-461)
|
||||
Fix-Commit: e3eef1b8fbdd3a7917af466ca9c4b7477251ca79 (2.33-266)
|
||||
Fix-Commit: f20a8d696b13c6261b52a6434899121f8b19d5a7 (2.33-265)
|
||||
Fix-Commit: be602180146de37582a3da3a0caa4b719645de9c (2.32-143)
|
||||
Fix-Commit: 394eae338199078b7961b051c191539870742d7b (2.32-142)
|
||||
Fix-Commit: 8d7949183760170c61e55def723c1d8050187874 (2.31-157)
|
||||
Fix-Commit: 304ce5fe466c4762b21b36c26926a4657b59b53e (2.31-156)
|
||||
@@ -1,28 +0,0 @@
|
||||
nscd: netgroup cache may terminate daemon on memory allocation failure
|
||||
|
||||
The Name Service Cache Daemon's (nscd) netgroup cache uses xmalloc or
|
||||
xrealloc and these functions may terminate the process due to a memory
|
||||
allocation failure resulting in a denial of service to the clients. The
|
||||
flaw was introduced in glibc 2.15 when the cache was added to nscd.
|
||||
|
||||
This vulnerability is only present in the nscd binary.
|
||||
|
||||
Subsequent refactoring of the netgroup cache only added more uses of
|
||||
xmalloc and xrealloc. Uses of xmalloc and xrealloc in other parts of
|
||||
nscd only occur during startup of the daemon and so are not affected by
|
||||
client requests that could trigger an out of memory followed by
|
||||
termination.
|
||||
|
||||
CVE-Id: CVE-2024-33601
|
||||
Public-Date: 2024-04-24
|
||||
Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15)
|
||||
Fix-Commit: c04a21e050d64a1193a6daab872bca2528bda44b (2.40)
|
||||
Fix-Commit: a9a8d3eebb145779a18d90e3966009a1daa63cd8 (2.39-38)
|
||||
Fix-Commit: 71af8ca864345d39b746d5cee84b94b430fad5db (2.38-75)
|
||||
Fix-Commit: 6e106dc214d6a033a4e945d1c6cf58061f1c5f1f (2.37-94)
|
||||
Fix-Commit: b6742463694b1dfdd5120b91ee21cf05d15ec2e2 (2.36-168)
|
||||
Fix-Commit: 7a5864cac60e06000394128a5a2817b03542f5a3 (2.35-319)
|
||||
Fix-Commit: 86f1d5f4129c373ac6fb6df5bcf38273838843cb (2.34-463)
|
||||
Fix-Commit: 4d27d4b9a188786fc6a56745506cec2acfc51f83 (2.33-267)
|
||||
Fix-Commit: 3ed195a8ec89da281e3c4bf887a13d281b72d8f4 (2.32-144)
|
||||
Fix-Commit: bbf5a58ccb55679217f94de706164d15372fbbc0 (2.31-158)
|
||||
@@ -1,26 +0,0 @@
|
||||
nscd: netgroup cache assumes NSS callback uses in-buffer strings
|
||||
|
||||
The Name Service Cache Daemon's (nscd) netgroup cache can corrupt memory
|
||||
when the NSS callback does not store all strings in the provided buffer.
|
||||
The flaw was introduced in glibc 2.15 when the cache was added to nscd.
|
||||
|
||||
This vulnerability is only present in the nscd binary.
|
||||
|
||||
There is no guarantee from the NSS callback API that the returned
|
||||
strings are all within the buffer. However, the netgroup cache code
|
||||
assumes that the NSS callback uses in-buffer strings and if it doesn't
|
||||
the buffer resizing logic could lead to potential memory corruption.
|
||||
|
||||
CVE-Id: CVE-2024-33602
|
||||
Public-Date: 2024-04-24
|
||||
Vulnerable-Commit: 684ae515993269277448150a1ca70db3b94aa5bd (2.15)
|
||||
Fix-Commit: c04a21e050d64a1193a6daab872bca2528bda44b (2.40)
|
||||
Fix-Commit: a9a8d3eebb145779a18d90e3966009a1daa63cd8 (2.39-38)
|
||||
Fix-Commit: 71af8ca864345d39b746d5cee84b94b430fad5db (2.38-75)
|
||||
Fix-Commit: 6e106dc214d6a033a4e945d1c6cf58061f1c5f1f (2.37-94)
|
||||
Fix-Commit: b6742463694b1dfdd5120b91ee21cf05d15ec2e2 (2.36-168)
|
||||
Fix-Commit: 7a5864cac60e06000394128a5a2817b03542f5a3 (2.35-319)
|
||||
Fix-Commit: 86f1d5f4129c373ac6fb6df5bcf38273838843cb (2.34-463)
|
||||
Fix-Commit: 4d27d4b9a188786fc6a56745506cec2acfc51f83 (2.33-267)
|
||||
Fix-Commit: 3ed195a8ec89da281e3c4bf887a13d281b72d8f4 (2.32-144)
|
||||
Fix-Commit: bbf5a58ccb55679217f94de706164d15372fbbc0 (2.31-158)
|
||||
@@ -1,40 +0,0 @@
|
||||
assert: Buffer overflow when printing assertion failure message
|
||||
|
||||
When the assert() function fails, it does not allocate enough space for the
|
||||
assertion failure message string and size information, which may lead to a
|
||||
buffer overflow if the message string size aligns to page size.
|
||||
|
||||
This bug can be triggered when an assertion in a program fails. The assertion
|
||||
failure message is allocated to allow developers to see this failure in core
|
||||
dumps and it typically includes, in addition to the invariant assertion
|
||||
string and function name, the name of the program. If the name of the failing
|
||||
program is user controlled, for example on a local system, this could allow an
|
||||
attacker to control the assertion failure to trigger this buffer overflow.
|
||||
|
||||
The only viable vector for exploitation of this bug is local, if a setuid
|
||||
program exists that has an existing bug that results in an assertion failure.
|
||||
No such program has been discovered at the time of publishing this advisory,
|
||||
but the presence of custom setuid programs, although strongly discouraged as a
|
||||
security practice, cannot be discounted.
|
||||
|
||||
CVE-Id: CVE-2025-0395
|
||||
Public-Date: 2025-01-22
|
||||
Vulnerable-Commit: f8a3b5bf8fa1d0c43d2458e03cc109a04fdef194 (2.13-175)
|
||||
Fix-Commit: 68ee0f704cb81e9ad0a78c644a83e1e9cd2ee578 (2.41)
|
||||
Fix-Commit: cdb9ba84191ce72e86346fb8b1d906e7cd930ea2 (2.42)
|
||||
Fix-Commit: 69fda28279b497bd405fdd442a6d8e4d3d5f681b (2.41-7)
|
||||
Fix-Commit: 7d4b6bcae91f29d7b4daf15bab06b66cf1d2217c (2.40-66)
|
||||
Fix-Commit: d6c156c326999f144cb5b73d29982108d549ad8a (2.40-71)
|
||||
Fix-Commit: 808a84a8b81468b517a4d721fdc62069cb8c211f (2.39-146)
|
||||
Fix-Commit: f6d48470aef9264d2d56f4c4533eb76db7f9c2e4 (2.39-150)
|
||||
Fix-Commit: c32fd59314c343db88c3ea4a203870481d33c3d2 (2.38-122)
|
||||
Fix-Commit: f984e2d7e8299726891a1a497a3c36cd5542a0bf (2.38-124)
|
||||
Fix-Commit: a3d7865b098a3a67c44f7812208d9ce4718873ba (2.37-143)
|
||||
Fix-Commit: b989519fe1683c204ac24ec92830e3fe3bfaccad (2.37-146)
|
||||
Fix-Commit: 7971add7ee4171fdd8dfd17e7c04c4ed77a18845 (2.36-216)
|
||||
Fix-Commit: 0487893d5c5bc6710d83d7c3152d888a0339559e (2.36-219)
|
||||
Fix-Commit: 8b5d4be762419c4f6176261c6fea40ac559b88dc (2.35-370)
|
||||
Fix-Commit: 8b3d09dc0d350191985f9d291cc30ce96f034b49 (2.35-373)
|
||||
Fix-Commit: df4e1f4a5096b385c9bcc94424cf2eaa227b3761 (2.34-500)
|
||||
Fix-Commit: 31eb872cb21449832ab47ad5db83281d240e1d03 (2.34-503)
|
||||
Reported-By: Qualys Security Advisory
|
||||
@@ -1,23 +0,0 @@
|
||||
elf: static setuid binary dlopen may incorrectly search LD_LIBRARY_PATH
|
||||
|
||||
A statically linked setuid binary that calls dlopen (including internal
|
||||
dlopen calls after setlocale or calls to NSS functions such as getaddrinfo)
|
||||
may incorrectly search LD_LIBRARY_PATH to determine which library to load,
|
||||
leading to the execution of library code that is attacker controlled.
|
||||
|
||||
The only viable vector for exploitation of this bug is local, if a static
|
||||
setuid program exists, and that program calls dlopen, then it may search
|
||||
LD_LIBRARY_PATH to locate the SONAME to load. No such program has been
|
||||
discovered at the time of publishing this advisory, but the presence of
|
||||
custom setuid programs, although strongly discouraged as a security
|
||||
practice, cannot be discounted.
|
||||
|
||||
CVE-Id: CVE-2025-4802
|
||||
Public-Date: 2025-05-16
|
||||
Vulnerable-Commit: 10e93d968716ab82931d593bada121c17c0a4b93 (2.27)
|
||||
Fix-Commit: 5451fa962cd0a90a0e2ec1d8910a559ace02bba0 (2.39)
|
||||
Fix-Commit: 3be3728df2f1912c80abd3288bc6e3a25ad679e4 (2.38-132)
|
||||
Fix-Commit: 7403ede2d7752e59e0c47d5d33d73c2bf850e7be (2.37-154)
|
||||
Fix-Commit: 2ef7850279b2931caf6d6d6743ebaa91839e1cf7 (2.36-227)
|
||||
Fix-Commit: 621c65ccf12ddd415ceeb2234423bd1acd0fabb3 (2.35-387)
|
||||
Fix-Commit: 35018c0fd20eac9ceaf60060fed2745b3177359d (2.34-517)
|
||||
@@ -1,30 +0,0 @@
|
||||
power10: strcmp fails to save and restore nonvolatile vector registers
|
||||
|
||||
The Power 10 implementation of strcmp in
|
||||
sysdeps/powerpc/powerpc64/le/power10/strcmp.S failed to save/restore
|
||||
nonvolatile vector registers in the 32-byte aligned loop path. This
|
||||
results in callers reading content from those registers in a different
|
||||
context, potentially altering program logic.
|
||||
|
||||
There could be a program context where a user controlled string could
|
||||
leak through strcmp into program code, thus altering its logic. There
|
||||
is also a potential for sensitive strings passed into strcmp leaking
|
||||
through the clobbered registers into parts of the calling program that
|
||||
should otherwise not have had access to those strings.
|
||||
|
||||
The impact of this flaw is limited to applications running on Power 10
|
||||
hardware that use the nonvolatile vector registers, i.e. v20 to v31
|
||||
assuming that they have been treated in accordance with the OpenPower
|
||||
psABI. It is possible to work around the issue for those specific
|
||||
applications by setting the glibc.cpu.hwcaps tunable to "-arch_3_1" like
|
||||
so:
|
||||
|
||||
export GLIBC_TUNABLES=glibc.cpu.hwcaps=-arch_3_1
|
||||
|
||||
CVE-Id: CVE-2025-5702
|
||||
Public-Date: 2025-06-04
|
||||
Vulnerable-Commit: 3367d8e180848030d1646f088759f02b8dfe0d6f (2.39)
|
||||
Fix-Commit: 15808c77b35319e67ee0dc8f984a9a1a434701bc (2.42)
|
||||
Fix-Commit: 0c76c951620f9e12df2a89b2c684878b55bb6795 (2.41-60)
|
||||
Fix-Commit: 7e12550b8e3a11764a4a9090ce6bd3fc23fc8a8e (2.40-139)
|
||||
Fix-Commit: 06a70769fd0b2e1f2a3085ad50ab620282bd77b3 (2.39-209)
|
||||
@@ -1,29 +0,0 @@
|
||||
power10: strncmp fails to save and restore nonvolatile vector registers
|
||||
|
||||
The Power 10 implementation of strncmp in
|
||||
sysdeps/powerpc/powerpc64/le/power10/strncmp.S failed to save/restore
|
||||
nonvolatile vector registers in the 32-byte aligned loop path. This
|
||||
results in callers reading content from those registers in a different
|
||||
context, potentially altering program logic.
|
||||
|
||||
There could be a program context where a user controlled string could
|
||||
leak through strncmp into program code, thus altering its logic. There
|
||||
is also a potential for sensitive strings passed into strncmp leaking
|
||||
through the clobbered registers into parts of the calling program that
|
||||
should otherwise not have had access to those strings.
|
||||
|
||||
The impact of this flaw is limited to applications running on Power 10
|
||||
hardware that use the nonvolatile vector registers, i.e. v20 to v31
|
||||
assuming that they have been treated in accordance with the OpenPower
|
||||
psABI. It is possible to work around the issue for those specific
|
||||
applications by setting the glibc.cpu.hwcaps tunable to "-arch_3_1" like
|
||||
so:
|
||||
|
||||
export GLIBC_TUNABLES=glibc.cpu.hwcaps=-arch_3_1
|
||||
|
||||
CVE-Id: CVE-2025-5745
|
||||
Public-Date: 2025-06-05
|
||||
Vulnerable-Commit: 23f0d81608d0ca6379894ef81670cf30af7fd081 (2.40)
|
||||
Fix-Commit: 63c60101ce7c5eac42be90f698ba02099b41b965 (2.42)
|
||||
Fix-Commit: 84bdbf8a6f2fdafd3661489dbb7f79835a52da82 (2.41-57)
|
||||
Fix-Commit: 42a5a940c974d02540c8da26d6374c744d148cb9 (2.40-136)
|
||||
@@ -1,14 +0,0 @@
|
||||
posix: Fix double-free after allocation failure in regcomp
|
||||
|
||||
The regcomp function in the GNU C library version from 2.4 to 2.41 is
|
||||
subject to a double free if some previous allocation fails. It can be
|
||||
accomplished either by a malloc failure or by using an interposed
|
||||
malloc that injects random malloc failures. The double free can allow
|
||||
buffer manipulation depending of how the regex is constructed.
|
||||
This issue affects all architectures and ABIs supported by the GNU C
|
||||
library.
|
||||
|
||||
CVE-Id: CVE-2025-8058
|
||||
Public-Date: 2025-07-22
|
||||
Vulnerable-Commit: 963d8d782fc98fb6dc3a66f0068795f9920c269d (2.3.3-1596)
|
||||
Fix-Commit: 7ea06e994093fa0bcca0d0ee2c1db271d8d7885d (2.42)
|
||||
@@ -1,41 +0,0 @@
|
||||
Integer overflow in memalign leads to heap corruption
|
||||
|
||||
Passing too large an alignment to the memalign suite of functions
|
||||
(memalign, posix_memalign, aligned_alloc) in the GNU C Library version
|
||||
2.30 to 2.42 may result in an integer overflow, which could consequently
|
||||
result in a heap corruption.
|
||||
|
||||
Note that the attacker must have control over both, the size as well as
|
||||
the alignment arguments of the memalign function to be able to exploit
|
||||
this. The size parameter must be close enough to PTRDIFF_MAX so as to
|
||||
overflow size_t along with the large alignment argument. This limits
|
||||
the malicious inputs for the alignment for memalign to the range [1<<62
|
||||
+ 1, 1<<63] and exactly 1<<63 for posix_memalign and aligned_alloc.
|
||||
|
||||
Typically the alignment argument passed to such functions is a known
|
||||
constrained quantity (e.g. page size, block size, struct sizes) and is
|
||||
not attacker controlled, because of which this may not be easily
|
||||
exploitable in practice. An application bug could potentially result in
|
||||
the input alignment being too large, e.g. due to a different buffer
|
||||
overflow or integer overflow in the application or its dependent
|
||||
libraries, but that is again an uncommon usage pattern given typical
|
||||
sources of alignments.
|
||||
|
||||
CVE-Id: CVE-2026-0861
|
||||
Public-Date: 2026-01-14
|
||||
Vulnerable-Commit: 9bf8e29ca136094f73f69f725f15c51facc97206 (2.30)
|
||||
Fix-Commit: c9188d333717d3ceb7e3020011651f424f749f93 (2.43)
|
||||
Fix-Commit: 7f19ef14fbce095d4c77395e258320cad2ea2b28 (2.30-153)
|
||||
Fix-Commit: f18446d7b4a423090ee5e328c36b3c2a0f26041c (2.31-166)
|
||||
Fix-Commit: 8aef9e7a7af9565c0324b4ecb38b30dfa3782fd8 (2.32-151)
|
||||
Fix-Commit: 011293b4fd748cdd6f95874ba2b6aba9a3df8bff (2.33-275)
|
||||
Fix-Commit: 2c77e52108a58956c9f674b36e1f59a4e3fdcf4d (2.34-525)
|
||||
Fix-Commit: 499d1ccafccfe64df1b88deea2fa84d8180e8e8f (2.35-399)
|
||||
Fix-Commit: fb6b8822175769b5794fb6ea04f2895483a29b61 (2.36-244)
|
||||
Fix-Commit: 7b913d41a07836def826f2164c52541a9835f324 (2.37-172)
|
||||
Fix-Commit: 744b63026a29f7eedbbc8e3a01a7f48a6eb0a085 (2.38-212)
|
||||
Fix-Commit: fb22fd3f5b415dd4cd6f7b5741c2f0412374e242 (2.39-286)
|
||||
Fix-Commit: bfc4dd9e526eacf3017dd8864ba0848e9d045dd4 (2.40-216)
|
||||
Fix-Commit: 1e2c1ea4307197ccece0cda574bcfebf9080894c (2.41-121)
|
||||
Fix-Commit: b0ec8fb689df862171f0f78994a3bdeb51313545 (2.42-49)
|
||||
Reported-by: Igor Morgenstern, Aisle Research
|
||||
@@ -1,36 +0,0 @@
|
||||
getnetbyaddr and getnetbyaddr_r leak stack contents to DNS resovler
|
||||
|
||||
Calling getnetbyaddr or getnetbyaddr_r with a configured nsswitch.conf
|
||||
that specifies the library's DNS backend for networks and queries for a
|
||||
zero-valued network in the GNU C Library version 2.0 to version 2.42
|
||||
can leak stack contents to the configured DNS resolver.
|
||||
|
||||
A defect in the _nss_dns_getnetbyaddr_r function which implements
|
||||
getnetbyaddr and getnetbyaddr_r in the dns-based network database can
|
||||
pass stack contents unmodified to the configured DNS resolver as part of
|
||||
the network DNS query when the network queried is the default network
|
||||
i.e. net == 0x0. This stack contents leaking in the query is considered
|
||||
a loss of confidentiality for the host making the query. Typically it
|
||||
is rare to call these APIs with a net value of zero, and if an attacker
|
||||
can control the net value it can only leak adjacent stack, and so loss
|
||||
of confidentiality is spatially limited. The leak might be used to
|
||||
accelerate an ASLR bypass by knowing pointer values, but also requires
|
||||
network adjacent access to snoop between the application and the
|
||||
DNS server; making the attack complexity higher.
|
||||
|
||||
CVE-Id: CVE-2026-0915
|
||||
Public-Date: 2026-01-15
|
||||
Vulnerable-Commit: 5f0e6fc702296840d2daa39f83f6cb1e40073d58 (1.92-1)
|
||||
Fix-Commit: e56ff82d5034ec66c6a78f517af6faa427f65b0b (2.43)
|
||||
Fix-Commit: 453e6b8dbab935257eb0802b0c97bca6b67ba30e (2.42-50)
|
||||
Fix-Commit: 15c9839a0b853f552b4ed9047841b6223f3c104d (2.41-122)
|
||||
Fix-Commit: 329c775788b2c9ff3da774ccf59fba7b6b8ff08e (2.40-217)
|
||||
Fix-Commit: 831f63b94ceb92fb14c0d1a7ddad35a0d1404c71 (2.39-287)
|
||||
Fix-Commit: 49125ffc8e1674dc2a100dfdc5b78796f22e16f2 (2.38-213)
|
||||
Fix-Commit: ddcaed5dfb05b2c1a6ea842fd6b643501365450a (2.37-173)
|
||||
Fix-Commit: a6bf47887f24b2b394acb301a3189fda04bd4d4d (2.36-245)
|
||||
Fix-Commit: 66f0cb057c9b4fb1249a5fec6ef4a63511a37899 (2.35-400)
|
||||
Fix-Commit: 96863dee262225cfb79f9fe45e06fd188319c7b8 (2.34-526)
|
||||
Fix-Commit: d210011f1536c8322157cbb4fe4229b35c834c08 (2.33-276)
|
||||
Fix-Commit: 1bc1832cfc74c2a601220969f36e789a5e9f0ebe (2.32-152)
|
||||
Reported-by: Igor Morgenstern, Aisle Research
|
||||
@@ -1,36 +0,0 @@
|
||||
wordexp with WRDE_REUSE and WRDE_APPEND may return uninitialized memory
|
||||
|
||||
Calling wordexp with WRDE_REUSE in conjunction with WRDE_APPEND in the
|
||||
GNU C Library version 2.0 to version 2.42 may cause the interface to
|
||||
return uninitialized memory in the we_wordv member, which on subsequent
|
||||
calls to wordfree may abort the process.
|
||||
|
||||
The implementation of WRDE_REUSE in conjunction with WRDE_APPEND fails
|
||||
to clear the we_wordc member of the structure, and as such, when new
|
||||
words are added internally, a leading we_wordc count number of entries
|
||||
are skipped since they are assumed initialized. These skipped entries
|
||||
are not initialized, but are the contents of a realloc-expanded array of
|
||||
pointers. If the caller inspects the we_wordv array, it will
|
||||
dereference invalid pointers and crash. If the caller calls wordfree,
|
||||
the malloc implementation may detect the invalid pointers and abort the
|
||||
process. Calls to wordexp using WRDE_REUSE and WRDE_APPEND have never
|
||||
worked correctly and thus the existence of applications that make use of
|
||||
this feature is unlikely.
|
||||
|
||||
CVE-Id: CVE-2025-15281
|
||||
Public-Date: 2026-01-20
|
||||
Vulnerable-Commit: 8f2ece695d8822e9ecc63ecd157e90bf17a6fe65 (1.93-260)
|
||||
Fix-Commit: 80cc58ea2de214f85b0a1d902a3b668ad2ecb302 (2.43)
|
||||
Fix-Commit: cbf39c26b25801e9bc88499b4fd361ac172d4125 (2.42-51)
|
||||
Fix-Commit: fb4db64a04ad6c96cd1fbb7e02eb59323b1f2ac2 (2.41-123)
|
||||
Fix-Commit: 9fe8576664d43b87ca19401fb6a975e217e47623 (2.40-218)
|
||||
Fix-Commit: ce65d944e38a20cb70af2a48a4b8aa5d8fabe1cc (2.39-288)
|
||||
Fix-Commit: d5409a1be010699794264162c551ba60f05ee6c3 (2.38-214)
|
||||
Fix-Commit: ff2b172803f6bbd897755d2ce83ec4323a1a15b3 (2.37-174)
|
||||
Fix-Commit: e97cfe2293ed097eb3d0b4c18274d22855e65130 (2.36-246)
|
||||
Fix-Commit: bb59339d02faebac534a87eea50c83c948f35b77 (2.35-401)
|
||||
Fix-Commit: 2b656ff94d72f93c84d8da2e7c76456c1994f02e (2.34-527)
|
||||
Fix-Commit: 1d8ed2067a8a5d162a07670d0d063429679f17a0 (2.33-277)
|
||||
Fix-Commit: 3a56c4ee4ea49b8f2391a2d8d6220013c4160a79 (2.32-153)
|
||||
Fix-Commit: 28eb5caf895ced5d895cb02757e109004a2d33e5 (2.31-167)
|
||||
Reported-by: Vitaly Simonovich
|
||||
@@ -1,30 +0,0 @@
|
||||
nscd client crash on x86_64 under high nscd load
|
||||
|
||||
Calling NSS-backed functions that support caching via nscd may call the
|
||||
nscd client side code and in the GNU C Library version 2.36 under high
|
||||
load on x86_64 systems, the client may call memcmp on inputs that are
|
||||
concurrently modified by other processes or threads and crash.
|
||||
|
||||
The nscd client in the GNU C Library uses the memcmp function with
|
||||
inputs that may be concurrently modified by another thread, potentially
|
||||
resulting in spurious cache misses, which in itself is not a security
|
||||
issue. However in the GNU C Library version 2.36 an optimized
|
||||
implementation of memcmp was introduced for x86_64 which could crash
|
||||
when invoked with such undefined behaviour, turning this into a
|
||||
potential crash of the nscd client and the application that uses it.
|
||||
This implementation was backported to the 2.35 branch, making the nscd
|
||||
client in that branch vulnerable as well. Subsequently, the fix for
|
||||
this issue was backported to all vulnerable branches in the GNU C
|
||||
Library repository.
|
||||
|
||||
It is advised that distributions that may have cherry-picked the memcpy
|
||||
SSE2 optimization in their copy of the GNU C Library, also apply the fix
|
||||
to avoid the potential crash in the nscd client.
|
||||
|
||||
CVE-Id: CVE-2026-3904
|
||||
Public-Date: 2026-03-11
|
||||
Vulnerable-Commit: 8804157ad9da39631703b92315460808eac86b0c (2.36)
|
||||
Vulnerable-Commit: 5a8df6485c584e2b0e957ec6b9070437a724911a (2.35-89)
|
||||
Fix-Commit: b712be52645282c706a5faa038242504feb06db5 (2.37)
|
||||
Fix-Commit: 93967a2a7bbdcedb73e0b246713580c7c84d001e (2.36-84)
|
||||
Fix-Commit: 6bcd5d8e3668d52388a6e0580611749f93e6871f (2.35-230)
|
||||
@@ -1,37 +0,0 @@
|
||||
gethostbyaddr and gethostbyaddr_r may incorrectly handle DNS response
|
||||
|
||||
Calling gethostbyaddr or gethostbyaddr_r with a configured nsswitch.conf
|
||||
that specifies the library's DNS backend in the GNU C Library version
|
||||
2.34 to version 2.43 could, with a crafted response from the configured
|
||||
DNS server, result in a violation of the DNS specification that causes
|
||||
the application to treat a non-answer section of the DNS response as a
|
||||
valid answer.
|
||||
|
||||
A defect in the getanswer_ptr function, which implements the iteration
|
||||
and extraction of the answer from the DNS response, can cause it to
|
||||
incorrectly transition from the answer section to the next section while
|
||||
still treating it as an answer to the question. This can happen when
|
||||
the answer contains only skipped records, and the subsequent section
|
||||
contains a semantically invalid T_PTR record. This is considered a
|
||||
security issue because it is a violation of the DNS specification that
|
||||
leads to incorrect behaviour that could result in the wrong hostname
|
||||
being returned to the caller. At the time of publication, no known
|
||||
affected DNS server returns results that would be incorrectly
|
||||
interpreted by the library. An attacker would either need to be network
|
||||
adjacent or have compromised the DNS server to use this defect to hide
|
||||
returned reverse DNS results from intrusion detection systems. Even
|
||||
then, the inbound connection from the attacker, or the outbound
|
||||
connection from the application, would be visible to the intrusion
|
||||
detection system. At best, the defect can be used to obfuscate and
|
||||
delay analysis of the evolving threat.
|
||||
|
||||
CVE-Id: CVE-2026-4437
|
||||
Public-Date: 2026-03-20
|
||||
Vulnerable-Commit: 32e5db37684ffcbc6ae34fcc6cdcf28670506baa (2.34-323)
|
||||
Vulnerable-Commit: def97e7f71a07517810f7263213d607e08ad21f1 (2.35-188)
|
||||
Vulnerable-Commit: 77f523c473878ec0051582ef15161c6982879095 (2.36-30)
|
||||
Vulnerable-Commit: e32547d661a43da63368e488b6cfa9c53b4dcf92 (2.37)
|
||||
Fix-Commit: 5c6fca0c62ce5bd6e68e259f138097756cbafd4d (2.43-16)
|
||||
Fix-Commit: 9f5f18aab40ec6b61fa49a007615e6077e9a979b (2.44)
|
||||
Reported-by: Antonio Maini (0rbitingZer0) - 0rbitingZer0@proton.me
|
||||
Reported-by: Kevin Farrell
|
||||
@@ -1,27 +0,0 @@
|
||||
gethostbyaddr and gethostbyaddr_r return invalid DNS hostnames
|
||||
|
||||
Calling gethostbyaddr or gethostbyaddr_r with a configured nsswitch.conf
|
||||
that specifies the library's DNS backend in the GNU C library version
|
||||
2.34 to version 2.43 could result in an invalid DNS hostname being
|
||||
returned to the caller in violation of the DNS specification.
|
||||
|
||||
A defect in the getanswer_ptr function, which implements the iteration
|
||||
and extraction of the answer from a DNS response, can cause it to accept
|
||||
an invalid DNS hostname that can contain shell metacharacters. An
|
||||
application that uses the returned hostname in a shell, without guarding
|
||||
for shell expansion, may be subject to shell injection attacks. At the
|
||||
time of publication, no known affected DNS server returns results with
|
||||
shell metacharacters in the results. An attacker would either need to
|
||||
be network adjacent or have compromised the DNS server to use this
|
||||
defect for shell injection. No known vulnerable application has been
|
||||
identified.
|
||||
|
||||
CVE-Id: CVE-2026-4438
|
||||
Public-Date: 2026-03-20
|
||||
Vulnerable-Commit: 32e5db37684ffcbc6ae34fcc6cdcf28670506baa (2.34-323)
|
||||
Vulnerable-Commit: def97e7f71a07517810f7263213d607e08ad21f1 (2.35-188)
|
||||
Vulnerable-Commit: 77f523c473878ec0051582ef15161c6982879095 (2.36-30)
|
||||
Vulnerable-Commit: e32547d661a43da63368e488b6cfa9c53b4dcf92 (2.37)
|
||||
Fix-Commit: dd9945c0ba40d2dbc9eb7c99291ba6b69bd66718 (2.43-17)
|
||||
Fix-Commit: e10977481f4db4b2a3ce34fa4c3a1e26651ae312 (2.44)
|
||||
Reported-by: Antonio Maini (0rbitingZer0) - 0rbitingZer0@proton.me
|
||||
@@ -1,15 +0,0 @@
|
||||
iconv crash due to assertion failure with untrusted input
|
||||
|
||||
The iconv() function in the GNU C Library versions 2.43 and earlier may
|
||||
crash due to an assertion failure when converting inputs from the
|
||||
IBM1390 or IBM1399 character sets, which may be used to remotely crash
|
||||
an application.
|
||||
|
||||
This vulnerability can be trivially mitigated by removing the IBM1390
|
||||
and IBM1399 character sets from systems that do not need them.
|
||||
|
||||
CVE-Id: CVE-2026-4046
|
||||
Public-Date: 2026-03-12
|
||||
Vulnerable-Commit: 0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (2.3.3-1501)
|
||||
Fix-Commit: d6f08d1cf027f4eb2ba289a6cc66853722d4badc (2.44)
|
||||
Reported-by: Rocket Ma
|
||||
@@ -1,22 +0,0 @@
|
||||
REJECTED: Static buffer overflow in deprecated nis_local_principal
|
||||
|
||||
REJECTED: CVE-2026-5358 is rejected for two reasons. Firstly it has been
|
||||
discovered that no NIS+ client or server was ever released for any
|
||||
Linux-based OS distributions and as such this makes the API provisional
|
||||
and unused. Secondly it has been discovered that the NIS+ cold start
|
||||
cache (/var/nis/NIS_COLD_START) cannot be bypassed and as such the API
|
||||
can only be called with a trusted server from the pre-populated cache.
|
||||
The use of a trusted server means no trust boundary is crossed and this
|
||||
is therefore considered a normal bug.
|
||||
|
||||
NIS+ support in the GNU C Library was never officially supported even
|
||||
though an incomplete implementation of the APIs was made pulibc. To the
|
||||
best knowledge of the glibc security team no open-source NIS+ server
|
||||
implementations were ever released for use with this API. Applications
|
||||
should not use any of the NIS+ APIs and should move to modern identity
|
||||
and access management services.
|
||||
|
||||
CVE-Id: CVE-2026-5358
|
||||
Public-Date: 2026-04-10
|
||||
Rejected-Date: 2026-04-33
|
||||
Reported-by: Rahul Hoysala
|
||||
@@ -1,23 +0,0 @@
|
||||
scanf %mc off-by-one heap buffer overflow
|
||||
|
||||
Calling the scanf family of functions with a %mc (malloc'd character
|
||||
match) in the GNU C Library version 2.7 to version 2.43 with a format
|
||||
width specifier with an explicit width greater than 1024 could result in
|
||||
a one byte heap buffer overflow.
|
||||
|
||||
The bug is in the buffer growth formula in __vfscanf_internal, which
|
||||
under-allocates by one byte during realloc expansion, allowing a
|
||||
controlled single-byte overwrite past the end of the heap buffer.
|
||||
|
||||
The impact is limited by the fact that to execute the overwrite you need
|
||||
both user controlled input data and a specific choice of maximum width
|
||||
that yields a smaller than needed allocation. The latter point has to
|
||||
take into account malloc's particular chunk size rounding process. The
|
||||
"%[width]mc" format specifier does not appear to have notable use in
|
||||
major Linux-based OS distributions, due to which the real world impact
|
||||
may be limited to bespoke use cases.
|
||||
|
||||
CVE-Id: CVE-2026-5450
|
||||
Public-Date: 2026-03-19
|
||||
Vulnerable-Commit: 874aa52349cc111d1f6ea5dff24bb14c306714e0 (2.7)
|
||||
Reported-by: Rocket Ma
|
||||
@@ -1,24 +0,0 @@
|
||||
Potential buffer under-read in ungetwc
|
||||
|
||||
Calling the ungetwc function on a FILE stream with wide characters
|
||||
encoded in a character set that has overlaps between its single byte and
|
||||
multi-byte character encodings, in the GNU C Library version 2.43 or
|
||||
earlier, may result in an attempt to read bytes before an allocated
|
||||
buffer, potentially resulting in unintentional disclosure of neighboring
|
||||
data in the heap, or a program crash.
|
||||
|
||||
A bug in the wide character pushback implementation
|
||||
(_IO_wdefault_pbackfail in libio/wgenops.c) causes ungetwc() to operate
|
||||
on the regular character buffer (fp->_IO_read_ptr) instead of the actual
|
||||
wide-stream read pointer (fp->_wide_data->_IO_read_ptr). The program
|
||||
crash may happen in cases where fp->_IO_read_ptr is not initialized and
|
||||
hence points to NULL. The buffer under-read requires a special situation
|
||||
where the input character encoding is such that there are overlaps
|
||||
between single byte representations and multibyte representations in
|
||||
that encoding, resulting in spurious matches. The spurious match case
|
||||
is not possible in the standard Unicode character sets.
|
||||
|
||||
CVE-Id: CVE-2026-5928
|
||||
Public-Date: 2026-03-17
|
||||
Reported-by: Rocket Ma
|
||||
Vulnerable-Commit: d64b6ad07585b8a37e5fecc9a47fcee766d52ede (2.1.1-89)
|
||||
@@ -1,24 +0,0 @@
|
||||
Potential buffer overflow in ns_sprintrrf TSIG handling path
|
||||
|
||||
The deprecated functions ns_printrrf, ns_printrr and fp_nquery in the
|
||||
GNU C Library version 2.2 and newer fail to enforce the caller-supplied
|
||||
buffer length, and can result in an out-of-bounds write when printing
|
||||
TSIG records.
|
||||
|
||||
A defect in the TSIG case handling within ns_sprintrrf performs a
|
||||
formatted write using sprintf without checking the remaining buffer
|
||||
length, and may write up to 6 bytes past the end of the buffer. If the
|
||||
library is compiled with assertions, and the out-of-bounds write doesn't
|
||||
terminate the process, then a subsequent check for "len <= *buflen" will
|
||||
trigger an assertion failure.
|
||||
|
||||
These functions are for application debugging only and hence not in the
|
||||
path of code executed by the DNS resolver. Further, they have been
|
||||
deprecated since version 2.34 (2021-08-02) and should not be used by any
|
||||
new applications. Applications should consider porting away from these
|
||||
interfaces since they may be removed in future versions.
|
||||
|
||||
CVE-Id: CVE-2026-5435
|
||||
Public-Date: 2026-04-02
|
||||
Vulnerable-Commit: b43b13ac2544b11f35be301d1589b51a8473e32b (2.2)
|
||||
Reported-by: shinobu
|
||||
@@ -1,18 +0,0 @@
|
||||
Buffer overread in ns_printrrf with corrupted RDATA field
|
||||
|
||||
The deprecated functions ns_printrrf, ns_printrr and fp_nquery in the
|
||||
GNU C Library version 2.0.1 to version 2.43 fail to validate the RDATA
|
||||
content against the RDATA length in a DNS response when processing A6,
|
||||
CERT, LOC, TKEY or TSIG records, which may allow an attacker to craft a
|
||||
DNS response, causing a target application to crash or read
|
||||
uninitialized memory.
|
||||
|
||||
These functions are for application debugging only and hence not in the
|
||||
path of code executed by the DNS resolver. Further, they have been
|
||||
deprecated since version 2.34 and should not be used by any new
|
||||
applications. Applications should consider porting away from these
|
||||
interfaces since they may be removed in future versions.
|
||||
|
||||
CVE-Id: CVE-2026-6238
|
||||
Public-Date: 2026-04-11
|
||||
Vulnerable-Commit: ee188d555b8c32ad9704a7440cab400af967292f (1.90)
|
||||
@@ -1,20 +0,0 @@
|
||||
Potential stack-based buffer clash during tilde expansion in wordexp
|
||||
|
||||
Calling wordexp with a tilde (~) followed by an overly long username
|
||||
in the GNU C Library version 2.2.3 to 2.43 may lead to a stack buffer
|
||||
clash.
|
||||
|
||||
When expanding paths that begin with a tilde (~) followed by a username, the
|
||||
internal parse_tilde function extracts the username to determine the user's
|
||||
home directory. The implementation allocates memory for this username directly
|
||||
on the stack using the strndupa macro. Because the size of this allocation
|
||||
was determined by the length of the user-supplied input without any bounds
|
||||
checks, passing an excessively long username e.g. thousands of characters,
|
||||
forces the thread to exhaust its stack space. Thus if an application passes
|
||||
untrusted, attacker-controlled input to the wordexp function, an attacker
|
||||
can trigger a stack clash.
|
||||
|
||||
CVE-Id: CVE-2026-6791
|
||||
Public-Date: 2026-06-22
|
||||
Vulnerable-Commit: 344af000e1d6e9c7882b9bc48e71cb3f1b5fc03c (2.2.3-114)
|
||||
Reported-by: storm
|
||||
@@ -1,92 +0,0 @@
|
||||
GNU C Library Security Advisory Format
|
||||
======================================
|
||||
|
||||
Security advisories in this directory follow a simple git commit log
|
||||
format, with a heading and free-format description augmented with tags
|
||||
to allow parsing key information. References to code changes are
|
||||
specific to the glibc repository and follow a specific format:
|
||||
|
||||
Tag-name: <commit-ref> (release-version)
|
||||
|
||||
The <commit-ref> indicates a specific commit in the repository. The
|
||||
release-version indicates the publicly consumable release in which this
|
||||
commit is known to exist. The release-version is derived from the
|
||||
git-describe format, (i.e. stripped out from glibc-2.34.NNN-gxxxx) and
|
||||
is of the form 2.34-NNN. If the -NNN suffix is absent, it means that
|
||||
the change is in that release tarball, otherwise the change is on the
|
||||
release/2.YY/master branch and not in any released tarball.
|
||||
|
||||
The following tags are currently being used:
|
||||
|
||||
CVE-Id:
|
||||
This is the CVE-Id assigned under the CVE Program
|
||||
(https://www.cve.org/).
|
||||
|
||||
Public-Date:
|
||||
The date this issue became publicly known.
|
||||
|
||||
Rejected-Date:
|
||||
The most recent date the assigned advisory was rejected. If the advisory
|
||||
is ever published again the Rejected-Date tag should be removed.
|
||||
|
||||
Vulnerable-Commit:
|
||||
The commit that introduced this vulnerability. There could be multiple
|
||||
entries, one for each release branch in the glibc repository; the
|
||||
release-version portion of this tag should tell you which branch this is
|
||||
on.
|
||||
|
||||
Fix-Commit:
|
||||
The commit that fixed this vulnerability. There could be multiple
|
||||
entries for each release branch in the glibc repository, indicating that
|
||||
all of those commits contributed to fixing that issue in each of those
|
||||
branches.
|
||||
|
||||
Reported-By:
|
||||
The entity that reported this issue. There could be multiple entries, one for
|
||||
each reporter.
|
||||
|
||||
Adding an Advisory
|
||||
------------------
|
||||
|
||||
An advisory for a CVE needs to be added on the master branch in two steps:
|
||||
|
||||
1. Add the text of the advisory without any Fix-Commit tags along with
|
||||
the fix for the CVE. Add the Vulnerable-Commit tag, if applicable.
|
||||
The advisories directory does not exist in release branches, so keep
|
||||
the advisory text commit distinct from the code changes, to ease
|
||||
backports. Ask for the GLIBC-SA advisory number from the security
|
||||
team.
|
||||
|
||||
2. Finish all backports on release branches and then back on the msater
|
||||
branch, add all commit refs to the advisory using the Fix-Commit
|
||||
tags. Don't bother adding the release-version subscript since the
|
||||
next step will overwrite it.
|
||||
|
||||
3. Run the process-advisories.sh script in the scripts directory on the
|
||||
advisory:
|
||||
|
||||
scripts/process-advisories.sh update GLIBC-SA-YYYY-NNNN
|
||||
|
||||
(replace YYYY-NNNN with the actual advisory number).
|
||||
|
||||
4. Verify the updated advisory and push the result.
|
||||
|
||||
Rejecting an Advisory
|
||||
---------------------
|
||||
|
||||
Rejecting an advisory on the master branch can be done in one step:
|
||||
|
||||
1. Mark the advisory as rejected. Add the text "REJECTED: " as a prefix
|
||||
to any short-form description. Add a new paragraph that starts with
|
||||
"REJECTED: " and explains the reason for the rejection including
|
||||
justification for why it no longer has security impact. Lastly add
|
||||
a Rejected-Date tag to the advisory.
|
||||
|
||||
Getting a NEWS snippet from advisories
|
||||
--------------------------------------
|
||||
|
||||
Run:
|
||||
|
||||
scripts/process-advisories.sh news
|
||||
|
||||
and copy the content into the NEWS file.
|
||||
@@ -36,7 +36,6 @@ routines := \
|
||||
tests := \
|
||||
test-assert \
|
||||
test-assert-2 \
|
||||
test-assert-c++-variadic \
|
||||
test-assert-c99 \
|
||||
test-assert-gnu99 \
|
||||
test-assert-perr \
|
||||
@@ -50,15 +49,12 @@ CFLAGS-test-assert-c99.c += -std=c99
|
||||
CFLAGS-test-assert-gnu99.c += -std=gnu99
|
||||
|
||||
ifeq ($(have-cxx-thread_local),yes)
|
||||
CFLAGS-test-assert-c++-variadic.o = $(test-config-cxxflags-stdcxx26)
|
||||
LDLIBS-test-assert-c++-variadic = -lstdc++
|
||||
CFLAGS-tst-assert-c++.o = -std=c++11
|
||||
LDLIBS-tst-assert-c++ = -lstdc++
|
||||
CFLAGS-tst-assert-g++.o = -std=gnu++11
|
||||
LDLIBS-tst-assert-g++ = -lstdc++
|
||||
else
|
||||
tests-unsupported += \
|
||||
test-assert-c++-variadic \
|
||||
tst-assert-c++ \
|
||||
tst-assert-g++ \
|
||||
# tests-unsupported
|
||||
|
||||
+9
-19
@@ -52,12 +52,13 @@
|
||||
comma in the initializer list, can be passed to assert. This
|
||||
depends on support for variadic macros (added in C99 and GCC 2.95),
|
||||
and on support for _Bool (added in C99 and GCC 3.0) in order to
|
||||
validate that only a single expression is passed as an argument. */
|
||||
#if ((__GLIBC_USE (ISOC23) \
|
||||
&& (defined __GNUC__ \
|
||||
? __GNUC_PREREQ (3, 0) \
|
||||
: defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) \
|
||||
|| (defined __cplusplus && __cplusplus > 202302L))
|
||||
validate that only a single expression is passed as an argument,
|
||||
and is currently implemented only for C. */
|
||||
#if (__GLIBC_USE (ISOC23) \
|
||||
&& (defined __GNUC__ \
|
||||
? __GNUC_PREREQ (3, 0) \
|
||||
: defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) \
|
||||
&& !defined __cplusplus)
|
||||
# define __ASSERT_VARIADIC 1
|
||||
#else
|
||||
# define __ASSERT_VARIADIC 0
|
||||
@@ -107,7 +108,7 @@ extern void __assert (const char *__assertion, const char *__file, int __line)
|
||||
__THROW __attribute__ ((__noreturn__)) __COLD;
|
||||
|
||||
|
||||
# if __ASSERT_VARIADIC && !defined __cplusplus
|
||||
# if __ASSERT_VARIADIC
|
||||
/* This function is not defined and is not called outside of an
|
||||
unevaluated sizeof, but serves to verify that the argument to
|
||||
assert is a single expression. */
|
||||
@@ -130,22 +131,11 @@ __END_DECLS
|
||||
# define __ASSERT_FILE __FILE__
|
||||
# define __ASSERT_LINE __LINE__
|
||||
# endif
|
||||
# if __ASSERT_VARIADIC
|
||||
/* The first test of __VA_ARGS__ evaluates it without converting scoped
|
||||
enumeration values to bool, and the second test checks that it is a
|
||||
single expression without evaluating it. */
|
||||
# define assert(...) \
|
||||
((__VA_ARGS__) \
|
||||
? void (1 ? 1 : bool (__VA_ARGS__)) \
|
||||
: __assert_fail (#__VA_ARGS__, __ASSERT_FILE, __ASSERT_LINE, \
|
||||
__ASSERT_FUNCTION))
|
||||
# else
|
||||
# define assert(expr) \
|
||||
# define assert(expr) \
|
||||
(static_cast <bool> (expr) \
|
||||
? void (0) \
|
||||
: __assert_fail (#expr, __ASSERT_FILE, __ASSERT_LINE, \
|
||||
__ASSERT_FUNCTION))
|
||||
# endif
|
||||
# elif !defined __GNUC__ || defined __STRICT_ANSI__
|
||||
# if __ASSERT_VARIADIC
|
||||
# define assert(...) \
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
/* Test assert as a variadic macro for C++ code snippets.
|
||||
Copyright The GNU Toolchain Authors.
|
||||
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/>. */
|
||||
|
||||
/* This test requires C++26, and is compiled with -std=c++26
|
||||
if GCC version supports that, and no additional options
|
||||
otherwise. */
|
||||
#if defined __cplusplus && __cplusplus > 202302L
|
||||
|
||||
#undef NDEBUG
|
||||
#include <assert.h>
|
||||
|
||||
template <typename T1, typename T2>
|
||||
bool
|
||||
foo ()
|
||||
{ return true; }
|
||||
|
||||
struct C
|
||||
{
|
||||
C (int p, int r) : x (p + r) {}
|
||||
|
||||
int x;
|
||||
};
|
||||
|
||||
int
|
||||
func ()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void
|
||||
test_enabled ()
|
||||
{
|
||||
{
|
||||
assert (foo <int, float> ());
|
||||
}
|
||||
|
||||
{
|
||||
assert (C {1, 2}.x > 0);
|
||||
}
|
||||
|
||||
{
|
||||
int x = 10, y = 20;
|
||||
assert ([x, y] { return x < y; } ());
|
||||
}
|
||||
|
||||
{
|
||||
/* Ill-formed, not an assigment expression. */
|
||||
// assert (func (), func ());
|
||||
assert ((func (), func ()));
|
||||
}
|
||||
}
|
||||
|
||||
/* GCC PR118629 fixed the handling of assert inside requires clause. */
|
||||
#if __GNUC_PREREQ (14, 3) || defined __clang__
|
||||
|
||||
template <typename Ts>
|
||||
constexpr bool
|
||||
assert_works ()
|
||||
{
|
||||
return requires (Ts ts) {
|
||||
assert (ts);
|
||||
};
|
||||
}
|
||||
|
||||
enum OE { oe };
|
||||
enum TE : int { te };
|
||||
enum class SE : int { se };
|
||||
|
||||
static_assert ( assert_works <OE> ());
|
||||
static_assert ( assert_works <TE> ());
|
||||
static_assert (!assert_works <SE> ());
|
||||
|
||||
#endif /* __GNUC_PREREQ (14, 3) || defined __clang__ */
|
||||
|
||||
#define NDEBUG
|
||||
#include <assert.h>
|
||||
|
||||
static void
|
||||
test_disabled ()
|
||||
{
|
||||
/* Assert is variadic, but ignores arguments */
|
||||
assert(1, 2);
|
||||
assert(+, 1, -, 2, *, 30);
|
||||
}
|
||||
|
||||
static int
|
||||
do_test ()
|
||||
{
|
||||
test_enabled ();
|
||||
test_disabled ();
|
||||
return 0;
|
||||
}
|
||||
|
||||
#else
|
||||
#include <support/test-driver.h>
|
||||
|
||||
static int
|
||||
do_test ()
|
||||
{
|
||||
return EXIT_UNSUPPORTED;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#include <support/test-driver.c>
|
||||
@@ -22,11 +22,6 @@
|
||||
#include <assert.h>
|
||||
|
||||
#if __GNUC_PREREQ (5, 0)
|
||||
template <typename> struct is_void { static const bool value = false; };
|
||||
template <> struct is_void <void> { static const bool value = true; };
|
||||
|
||||
static_assert(is_void <decltype (assert (""))>::value, "type is void");
|
||||
|
||||
/* The C++ standard requires that if the assert argument is a constant
|
||||
subexpression, then the assert itself is one, too. */
|
||||
constexpr int
|
||||
@@ -68,15 +63,6 @@ struct bool_and_int
|
||||
template <class T> bool operator!= (T) const; /* No definition. */
|
||||
};
|
||||
|
||||
/* Scoped enumerations are not contextually convertible to bool. */
|
||||
enum class E { e1 = 1 };
|
||||
|
||||
int&
|
||||
preincrement (int& i)
|
||||
{
|
||||
return ++i;
|
||||
}
|
||||
|
||||
static int
|
||||
do_test ()
|
||||
{
|
||||
@@ -90,30 +76,8 @@ do_test ()
|
||||
assert (value);
|
||||
}
|
||||
|
||||
{
|
||||
assert ([] { return true; } ());
|
||||
}
|
||||
|
||||
{
|
||||
assert (bool (E::e1));
|
||||
/* Ill-formed, E::e1 is not contextually convertible to bool. */
|
||||
// assert (E::e1);
|
||||
}
|
||||
|
||||
{
|
||||
int i = 0;
|
||||
assert (preincrement (i) > 0);
|
||||
if (i != 1)
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#define NDEBUG
|
||||
#include <assert.h>
|
||||
|
||||
static_assert(is_void <decltype (assert (""))>::value, "type is void with NDEBUG");
|
||||
|
||||
#else
|
||||
#include <support/test-driver.h>
|
||||
|
||||
|
||||
+1
-1
@@ -447,7 +447,7 @@ bench-deps := bench-skeleton.c bench-timing.h Makefile
|
||||
|
||||
run-bench = $(test-wrapper-env) \
|
||||
$(run-program-env) \
|
||||
$($*-ENV) $(test-tunables) $(test-via-rtld-prefix) $${run}
|
||||
$($*-ENV) $(test-via-rtld-prefix) $${run}
|
||||
|
||||
timing-type := $(objpfx)bench-timing-type
|
||||
extra-objs += bench-timing-type.o
|
||||
|
||||
+400
-1002
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python3
|
||||
#!/usr/bin/python
|
||||
# Copyright (C) 2015-2026 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
#
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python3
|
||||
#!/usr/bin/python
|
||||
# Copyright (C) 2017-2026 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
#
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python3
|
||||
#!/usr/bin/python
|
||||
# Copyright (C) 2015-2026 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
#
|
||||
|
||||
+300
-1001
File diff suppressed because it is too large
Load Diff
+200
-1002
File diff suppressed because it is too large
Load Diff
@@ -99,17 +99,6 @@
|
||||
#define __DECL_SIMD_powf64x
|
||||
#define __DECL_SIMD_powf128x
|
||||
|
||||
#define __DECL_SIMD_powr
|
||||
#define __DECL_SIMD_powrf
|
||||
#define __DECL_SIMD_powrl
|
||||
#define __DECL_SIMD_powrf16
|
||||
#define __DECL_SIMD_powrf32
|
||||
#define __DECL_SIMD_powrf64
|
||||
#define __DECL_SIMD_powrf128
|
||||
#define __DECL_SIMD_powrf32x
|
||||
#define __DECL_SIMD_powrf64x
|
||||
#define __DECL_SIMD_powrf128x
|
||||
|
||||
#define __DECL_SIMD_acos
|
||||
#define __DECL_SIMD_acosf
|
||||
#define __DECL_SIMD_acosl
|
||||
|
||||
+8
-11
@@ -32,6 +32,9 @@
|
||||
/* Define if _Unwind_Find_FDE should be exported from glibc. */
|
||||
#undef EXPORT_UNWIND_FIND_FDE
|
||||
|
||||
/* Define if static NSS modules are wanted. */
|
||||
#undef DO_STATIC_NSS
|
||||
|
||||
/* Assume that the compiler supports __builtin_expect.
|
||||
This macro is necessary for proper compilation of code
|
||||
shared between GNU libc and GNU gettext projects. */
|
||||
@@ -167,9 +170,6 @@
|
||||
/* Mach specific: define if the `vm_set_size_limit' RPC is available. */
|
||||
#undef HAVE_MACH_VM_SET_SIZE_LIMIT
|
||||
|
||||
/* Mach specific: define if the `task_max_priority' RPC is available. */
|
||||
#undef HAVE_MACH_TASK_MAX_PRIORITY
|
||||
|
||||
/* Mach/i386 specific: define if the `i386_io_perm_*' RPCs are available. */
|
||||
#undef HAVE_I386_IO_PERM_MODIFY
|
||||
|
||||
@@ -182,6 +182,9 @@
|
||||
/* Define if inlined system calls are available. */
|
||||
#undef HAVE_INLINED_SYSCALLS
|
||||
|
||||
/* Define if memory tagging support should be enabled. */
|
||||
#undef USE_MTAG
|
||||
|
||||
/* Package description. */
|
||||
#undef PKGVERSION
|
||||
|
||||
@@ -213,11 +216,8 @@
|
||||
multiple symbol versions for one symbol. */
|
||||
#define SYMVER_NEEDS_ALIAS 0
|
||||
|
||||
/* Define to 1 if libpthread is provided by nptl. */
|
||||
#define __PTHREAD_NPTL 0
|
||||
|
||||
/* Define to 1 if libpthread is provided by htl. */
|
||||
#define __PTHREAD_HTL 0
|
||||
/* Define to 1 if libpthread actually resides in libc. */
|
||||
#define PTHREAD_IN_LIBC 0
|
||||
|
||||
/* An integer used to scale the timeout of test programs. */
|
||||
#define TIMEOUTFACTOR 1
|
||||
@@ -228,9 +228,6 @@
|
||||
/* Set to 1 if 64 bit atomics are supported. */
|
||||
#undef HAVE_64B_ATOMICS
|
||||
|
||||
/* Define to 1 if compiler runtime provides __sfp_handle_exceptions */
|
||||
#undef HAVE_SFP_HANDLE_EXCEPTIONS
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@ no-fortify-source = @no_fortify_source@
|
||||
have-selinux = @have_selinux@
|
||||
have-libaudit = @have_libaudit@
|
||||
have-libcap = @have_libcap@
|
||||
have-cc-with-libunwind = @libc_cv_cc_with_libunwind@
|
||||
bind-now = @bindnow@
|
||||
have-cxx-thread_local = @libc_cv_cxx_thread_local@
|
||||
have-loop-to-function = @libc_cv_cc_loop_to_function@
|
||||
@@ -78,15 +79,19 @@ multi-arch = @multi_arch@
|
||||
|
||||
mach-interface-list = @mach_interface_list@
|
||||
|
||||
memory-tagging = @memory_tagging@
|
||||
|
||||
# Configuration options.
|
||||
build-shared = @shared@
|
||||
build-profile = @profile@
|
||||
build-static-nss = @static_nss@
|
||||
cross-compiling = @cross_compiling@
|
||||
force-install = @force_install@
|
||||
build-nscd = @build_nscd@
|
||||
use-nscd = @use_nscd@
|
||||
build-hardcoded-path-in-tests= @hardcoded_path_in_tests@
|
||||
build-pt-chown = @build_pt_chown@
|
||||
pthread-in-libc = @pthread_in_libc@
|
||||
man-pages-version = @man_pages_version@
|
||||
|
||||
# Build tools.
|
||||
|
||||
@@ -612,10 +612,12 @@ ac_unique_file="include/features.h"
|
||||
enable_option_checking=no
|
||||
ac_subst_vars='LTLIBOBJS
|
||||
LIBOBJS
|
||||
pthread_in_libc
|
||||
RELEASE
|
||||
VERSION
|
||||
mach_interface_list
|
||||
DEFINES
|
||||
static_nss
|
||||
profile
|
||||
libc_cv_multidir
|
||||
test_enable_cet
|
||||
@@ -702,6 +704,7 @@ INSTALL_PROGRAM
|
||||
base_machine
|
||||
build_pt_chown
|
||||
build_nscd
|
||||
memory_tagging
|
||||
enable_werror
|
||||
force_install
|
||||
bindnow
|
||||
@@ -803,11 +806,13 @@ enable_hardcoded_path_in_tests
|
||||
enable_hidden_plt
|
||||
enable_bind_now
|
||||
enable_stack_protector
|
||||
enable_static_nss
|
||||
enable_force_install
|
||||
enable_maintainer_mode
|
||||
enable_kernel
|
||||
enable_werror
|
||||
enable_multi_arch
|
||||
enable_memory_tagging
|
||||
enable_systemtap
|
||||
enable_build_nscd
|
||||
enable_nscd
|
||||
@@ -1475,6 +1480,7 @@ Optional Features:
|
||||
--enable-stack-protector=[yes|no|all|strong]
|
||||
Use -fstack-protector[-all|-strong] to detect glibc
|
||||
buffer overflows
|
||||
--enable-static-nss build static NSS modules [default=no]
|
||||
--disable-force-install don't force installation of files from this package,
|
||||
even if they are older than the installed files
|
||||
--enable-maintainer-mode
|
||||
@@ -1485,6 +1491,8 @@ Optional Features:
|
||||
--disable-werror do not build with -Werror
|
||||
--enable-multi-arch enable single DSO with optimizations for multiple
|
||||
architectures
|
||||
--enable-memory-tagging enable memory tagging if supported by the
|
||||
architecture [default=no]
|
||||
--enable-systemtap enable systemtap static probe points [default=no]
|
||||
--disable-build-nscd disable building and installing the nscd daemon
|
||||
--disable-nscd library functions will not contact the nscd daemon
|
||||
@@ -4611,6 +4619,21 @@ all|yes|no|strong) ;;
|
||||
*) as_fn_error $? "Not a valid argument for --enable-stack-protector: \"$enable_stack_protector\"" "$LINENO" 5;;
|
||||
esac
|
||||
|
||||
# Check whether --enable-static-nss was given.
|
||||
if test ${enable_static_nss+y}
|
||||
then :
|
||||
enableval=$enable_static_nss; static_nss=$enableval
|
||||
else case e in #(
|
||||
e) static_nss=no ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if test x"$static_nss" = xyes || test x"$shared" = xno; then
|
||||
static_nss=yes
|
||||
printf "%s\n" "#define DO_STATIC_NSS 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
# Check whether --enable-force-install was given.
|
||||
if test ${enable_force_install+y}
|
||||
then :
|
||||
@@ -4668,6 +4691,26 @@ esac
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --enable-memory-tagging was given.
|
||||
if test ${enable_memory_tagging+y}
|
||||
then :
|
||||
enableval=$enable_memory_tagging; memory_tagging=$enableval
|
||||
else case e in #(
|
||||
e) memory_tagging=no ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if test "$memory_tagging" = yes; then
|
||||
# Only enable this on architectures that support it.
|
||||
case $host_cpu in
|
||||
aarch64)
|
||||
printf "%s\n" "#define USE_MTAG 1" >>confdefs.h
|
||||
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --enable-systemtap was given.
|
||||
if test ${enable_systemtap+y}
|
||||
then :
|
||||
@@ -7026,17 +7069,18 @@ if test $libc_cv_have_sdata_section = yes; then
|
||||
|
||||
fi
|
||||
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler links with libunwind" >&5
|
||||
printf %s "checking whether the compiler links with libunwind... " >&6; }
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libunwind-support in compiler" >&5
|
||||
printf %s "checking for libunwind-support in compiler... " >&6; }
|
||||
if test ${libc_cv_cc_with_libunwind+y}
|
||||
then :
|
||||
printf %s "(cached) " >&6
|
||||
else case e in #(
|
||||
e) cat > conftest.c <<EOF
|
||||
e)
|
||||
cat > conftest.c <<EOF
|
||||
int main (void) { return 0; }
|
||||
EOF
|
||||
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
|
||||
conftest.c -v 2>&1 >/dev/null | grep 'libunwind.a' >/dev/null; then
|
||||
conftest.c -v 2>&1 >/dev/null | grep ' -lunwind ' >/dev/null; then
|
||||
libc_cv_cc_with_libunwind=yes
|
||||
else
|
||||
libc_cv_cc_with_libunwind=no
|
||||
@@ -7051,8 +7095,6 @@ if test $libc_cv_cc_with_libunwind = yes; then
|
||||
printf "%s\n" "#define HAVE_CC_WITH_LIBUNWIND 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
config_vars="$config_vars
|
||||
have-cc-with-libunwind = $libc_cv_cc_with_libunwind"
|
||||
|
||||
ASFLAGS_config=
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether --noexecstack is desirable for .S files" >&5
|
||||
@@ -7395,6 +7437,47 @@ printf "%s\n" "$libc_cv_fpie" >&6; }
|
||||
|
||||
|
||||
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wno-discarded-qualifiers" >&5
|
||||
printf %s "checking for -Wno-discarded-qualifiers... " >&6; }
|
||||
if test ${libc_cv_cflags_wno_discarded_qualifiers+y}
|
||||
then :
|
||||
printf %s "(cached) " >&6
|
||||
else case e in #(
|
||||
e) if { ac_try='${CC-cc} -Werror -Wno-discarded-qualifiers -xc /dev/null -S -o /dev/null'
|
||||
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }
|
||||
then :
|
||||
libc_cv_cflags_wno_discarded_qualifiers=-Wno-discarded-qualifiers
|
||||
else case e in #(
|
||||
e) libc_cv_cflags_wno_discarded_qualifiers= ;;
|
||||
esac
|
||||
fi
|
||||
if test -z "$libc_cv_cflags_wno_discarded_qualifiers"; then
|
||||
if { ac_try='${CC-cc} -Werror -Wno-incompatible-pointer-types-discards-qualifiers -xc /dev/null -S -o /dev/null'
|
||||
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }
|
||||
then :
|
||||
libc_cv_cflags_wno_incompatible_pointer_type_discards_qualifiers=-Wno-incompatible-pointer-types-discards-qualifiers
|
||||
else case e in #(
|
||||
e) libc_cv_cflags_wno_incompatible_pointer_type_discards_qualifiers= ;;
|
||||
esac
|
||||
fi
|
||||
libc_cv_cflags_wno_discarded_qualifiers=$libc_cv_cflags_wno_incompatible_pointer_type_discards_qualifiers
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cflags_wno_discarded_qualifiers" >&5
|
||||
printf "%s\n" "$libc_cv_cflags_wno_discarded_qualifiers" >&6; }
|
||||
config_vars="$config_vars
|
||||
config-cflags-wno-discarded-qualifiers = $libc_cv_cflags_wno_discarded_qualifiers"
|
||||
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GLOB_DAT reloc" >&5
|
||||
printf %s "checking for GLOB_DAT reloc... " >&6; }
|
||||
if test ${libc_cv_has_glob_dat+y}
|
||||
@@ -8261,40 +8344,6 @@ CXX="$saved_CXX"
|
||||
config_vars="$config_vars
|
||||
test-config-cxxflags-finput-charset-ascii = $libc_cv_test_cxxflags_finput_charset_ascii"
|
||||
|
||||
|
||||
|
||||
saved_CXX="$CXX"
|
||||
CXX="$TEST_CXX"
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $CXX -std=c++26 in testing" >&5
|
||||
printf %s "checking $CXX -std=c++26 in testing... " >&6; }
|
||||
if test ${libc_cv_test_cxxflags_stdcxx26+y}
|
||||
then :
|
||||
printf %s "(cached) " >&6
|
||||
else case e in #(
|
||||
e) if { ac_try='${CXX-c++} -Werror -std=c++26 -xc++ /dev/null -S -o /dev/null'
|
||||
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }
|
||||
then :
|
||||
libc_cv_test_cxxflags_stdcxx26="-std=c++26"
|
||||
else case e in #(
|
||||
e) libc_cv_test_cxxflags_stdcxx26=
|
||||
;;
|
||||
esac
|
||||
fi ;;
|
||||
esac
|
||||
fi
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_test_cxxflags_stdcxx26" >&5
|
||||
printf "%s\n" "$libc_cv_test_cxxflags_stdcxx26" >&6; }
|
||||
|
||||
CXX="$saved_CXX"
|
||||
|
||||
|
||||
config_vars="$config_vars
|
||||
test-config-cxxflags-stdcxx26 = $libc_cv_test_cxxflags_stdcxx26"
|
||||
|
||||
conftest_code="
|
||||
extern int not_exist (void);
|
||||
|
||||
@@ -8921,6 +8970,7 @@ libc_cv_sysconfdir=$sysconfdir
|
||||
libc_cv_localstatedir=$localstatedir
|
||||
libc_cv_gcc_unwind_find_fde=no
|
||||
libc_cv_idn=no
|
||||
pthread_in_libc=yes
|
||||
abort_in_ld=no
|
||||
|
||||
# Iterate over all the sysdep directories we will use, running their
|
||||
@@ -9318,122 +9368,6 @@ printf "%s\n" "$libc_cv_have_libgcc_s" >&6; }
|
||||
config_vars="$config_vars
|
||||
have-libgcc_s = $libc_cv_have_libgcc_s"
|
||||
|
||||
# Check which runtime library compiler uses
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the usable compiler runtime library" >&5
|
||||
printf %s "checking for the usable compiler runtime library... " >&6; }
|
||||
if test ${libc_cv_runtime_library+y}
|
||||
then :
|
||||
printf %s "(cached) " >&6
|
||||
else case e in #(
|
||||
e) libc_cv_libgcc_usable=no
|
||||
libgcc_name=`${CC-cc} $CFLAGS $CPPFLAGS -print-libgcc-file-name | sed 's:.*/::'`
|
||||
case "$libgcc_name" in
|
||||
libgcc*)
|
||||
libc_cv_libgcc=-lgcc
|
||||
libc_cv_libgcc_eh=-lgcc_eh
|
||||
libc_cv_runtime_library=libgcc
|
||||
;;
|
||||
libclang_rt*)
|
||||
libc_cv_libgcc=-lclang_rt.builtins
|
||||
libc_cv_libgcc_eh=
|
||||
libc_cv_runtime_library=compiler-rt
|
||||
;;
|
||||
*) { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
|
||||
printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
|
||||
as_fn_error $? "non supported compiler runtime library
|
||||
See 'config.log' for more details" "$LINENO" 5; } ;;
|
||||
esac ;;
|
||||
esac
|
||||
fi
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_runtime_library" >&5
|
||||
printf "%s\n" "$libc_cv_runtime_library" >&6; }
|
||||
config_vars="$config_vars
|
||||
libgcc-name = $libc_cv_libgcc"
|
||||
config_vars="$config_vars
|
||||
libgcc_eh-name = $libc_cv_libgcc_eh"
|
||||
|
||||
# Check if compiler runtime library provides __sfp_handle_exceptions
|
||||
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __sfp_handle_exceptions support" >&5
|
||||
printf %s "checking for __sfp_handle_exceptions support... " >&6; }
|
||||
if test ${libc_cv_sfp_handle_exceptions+y}
|
||||
then :
|
||||
printf %s "(cached) " >&6
|
||||
else case e in #(
|
||||
e)
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
void __sfp_handle_exceptions (int); __sfp_handle_exceptions (0)
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"
|
||||
then :
|
||||
libc_cv_sfp_handle_exceptions=yes
|
||||
else case e in #(
|
||||
e) libc_cv_sfp_handle_exceptions=no ;;
|
||||
esac
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_sfp_handle_exceptions" >&5
|
||||
printf "%s\n" "$libc_cv_sfp_handle_exceptions" >&6; }
|
||||
if test "$TEST_CC" = "$CC"; then
|
||||
libc_cv_test_sfp_handle_exceptions=$libc_cv_sfp_handle_exceptions
|
||||
else
|
||||
|
||||
saved_CC="$CC"
|
||||
CC="$TEST_CC"
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __sfp_handle_exceptions support in testing" >&5
|
||||
printf %s "checking for __sfp_handle_exceptions support in testing... " >&6; }
|
||||
if test ${libc_cv_test_sfp_handle_exceptions+y}
|
||||
then :
|
||||
printf %s "(cached) " >&6
|
||||
else case e in #(
|
||||
e)
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
void __sfp_handle_exceptions (int); __sfp_handle_exceptions (0)
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"
|
||||
then :
|
||||
libc_cv_test_sfp_handle_exceptions=yes
|
||||
else case e in #(
|
||||
e) libc_cv_test_sfp_handle_exceptions=no ;;
|
||||
esac
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_test_sfp_handle_exceptions" >&5
|
||||
printf "%s\n" "$libc_cv_test_sfp_handle_exceptions" >&6; }
|
||||
|
||||
CC="$saved_CC"
|
||||
|
||||
fi
|
||||
|
||||
if test $libc_cv_sfp_handle_exceptions = yes; then
|
||||
printf "%s\n" "#define HAVE_SFP_HANDLE_EXCEPTIONS 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
# Support configure.ac under sysdeps.
|
||||
|
||||
|
||||
@@ -9577,11 +9511,18 @@ libc_cv_multidir=`${CC-cc} $CFLAGS $CPPFLAGS -print-multi-directory`
|
||||
|
||||
|
||||
|
||||
|
||||
VERSION=`sed -n -e 's/^#define VERSION "\([^"]*\)"/\1/p' < $srcdir/version.h`
|
||||
RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
|
||||
|
||||
|
||||
|
||||
if test "$pthread_in_libc" = yes; then
|
||||
printf "%s\n" "#define PTHREAD_IN_LIBC 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
|
||||
# Some symbols that might be auto-generated by the compiler are redefined
|
||||
# to internal alias (for instance mempcpy to __mempcpy). However, if fortify
|
||||
# is enabled, the fortify wrapper is define before the alias re-defined and
|
||||
|
||||
+55
-48
@@ -272,6 +272,19 @@ all|yes|no|strong) ;;
|
||||
*) AC_MSG_ERROR([Not a valid argument for --enable-stack-protector: "$enable_stack_protector"]);;
|
||||
esac
|
||||
|
||||
dnl On some platforms we cannot use dynamic loading. We must provide
|
||||
dnl static NSS modules.
|
||||
AC_ARG_ENABLE([static-nss],
|
||||
AS_HELP_STRING([--enable-static-nss],
|
||||
[build static NSS modules @<:@default=no@:>@]),
|
||||
[static_nss=$enableval],
|
||||
[static_nss=no])
|
||||
dnl Enable static NSS also if we build no shared objects.
|
||||
if test x"$static_nss" = xyes || test x"$shared" = xno; then
|
||||
static_nss=yes
|
||||
AC_DEFINE(DO_STATIC_NSS)
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE([force-install],
|
||||
AS_HELP_STRING([--disable-force-install],
|
||||
[don't force installation of files from this package, even if they are older than the installed files]),
|
||||
@@ -315,6 +328,21 @@ AC_ARG_ENABLE([multi-arch],
|
||||
[multi_arch=$enableval],
|
||||
[multi_arch=default])
|
||||
|
||||
AC_ARG_ENABLE([memory-tagging],
|
||||
AS_HELP_STRING([--enable-memory-tagging],
|
||||
[enable memory tagging if supported by the architecture @<:@default=no@:>@]),
|
||||
[memory_tagging=$enableval],
|
||||
[memory_tagging=no])
|
||||
if test "$memory_tagging" = yes; then
|
||||
# Only enable this on architectures that support it.
|
||||
case $host_cpu in
|
||||
aarch64)
|
||||
AC_DEFINE(USE_MTAG)
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
AC_SUBST(memory_tagging)
|
||||
|
||||
AC_ARG_ENABLE([systemtap],
|
||||
[AS_HELP_STRING([--enable-systemtap],
|
||||
[enable systemtap static probe points @<:@default=no@:>@])],
|
||||
@@ -1261,13 +1289,13 @@ if test $libc_cv_have_sdata_section = yes; then
|
||||
AC_DEFINE(HAVE_SDATA_SECTION)
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK(whether the compiler links with libunwind,
|
||||
libc_cv_cc_with_libunwind, [dnl
|
||||
cat > conftest.c <<EOF
|
||||
AC_CACHE_CHECK(for libunwind-support in compiler,
|
||||
libc_cv_cc_with_libunwind, [
|
||||
cat > conftest.c <<EOF
|
||||
int main (void) { return 0; }
|
||||
EOF
|
||||
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -static -o conftest \
|
||||
conftest.c -v 2>&1 >/dev/null | grep 'libunwind.a' >/dev/null; then
|
||||
conftest.c -v 2>&1 >/dev/null | grep ' -lunwind ' >/dev/null; then
|
||||
libc_cv_cc_with_libunwind=yes
|
||||
else
|
||||
libc_cv_cc_with_libunwind=no
|
||||
@@ -1277,7 +1305,6 @@ AC_SUBST(libc_cv_cc_with_libunwind)
|
||||
if test $libc_cv_cc_with_libunwind = yes; then
|
||||
AC_DEFINE(HAVE_CC_WITH_LIBUNWIND)
|
||||
fi
|
||||
LIBC_CONFIG_VAR([have-cc-with-libunwind], [$libc_cv_cc_with_libunwind])
|
||||
|
||||
ASFLAGS_config=
|
||||
AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
|
||||
@@ -1343,6 +1370,22 @@ LIBC_TRY_CC_OPTION([-fpie], [libc_cv_fpie=yes], [libc_cv_fpie=no])
|
||||
|
||||
AC_SUBST(libc_cv_fpie)
|
||||
|
||||
dnl Check how to suppress C23-qualifier-generic const warnings. GCC has
|
||||
dnl -Wno-discarded-qualifiers, while clang -Wno-incompatible-pointer-types-discards-qualifiers
|
||||
AC_CACHE_CHECK(for -Wno-discarded-qualifiers, libc_cv_cflags_wno_discarded_qualifiers, [dnl
|
||||
LIBC_TRY_CC_OPTION([-Werror -Wno-discarded-qualifiers],
|
||||
[libc_cv_cflags_wno_discarded_qualifiers=-Wno-discarded-qualifiers],
|
||||
[libc_cv_cflags_wno_discarded_qualifiers=])
|
||||
if test -z "$libc_cv_cflags_wno_discarded_qualifiers"; then
|
||||
LIBC_TRY_CC_OPTION([-Werror -Wno-incompatible-pointer-types-discards-qualifiers],
|
||||
[libc_cv_cflags_wno_incompatible_pointer_type_discards_qualifiers=-Wno-incompatible-pointer-types-discards-qualifiers],
|
||||
[libc_cv_cflags_wno_incompatible_pointer_type_discards_qualifiers=])
|
||||
libc_cv_cflags_wno_discarded_qualifiers=$libc_cv_cflags_wno_incompatible_pointer_type_discards_qualifiers
|
||||
fi
|
||||
])
|
||||
LIBC_CONFIG_VAR([config-cflags-wno-discarded-qualifiers],
|
||||
[$libc_cv_cflags_wno_discarded_qualifiers])
|
||||
|
||||
AC_CACHE_CHECK(for GLOB_DAT reloc,
|
||||
libc_cv_has_glob_dat, [dnl
|
||||
cat > conftest.c <<EOF
|
||||
@@ -1653,16 +1696,6 @@ LIBC_TRY_TEST_CXX_OPTION([$CXX -finput-charset=ascii],
|
||||
LIBC_CONFIG_VAR(test-config-cxxflags-finput-charset-ascii,
|
||||
$libc_cv_test_cxxflags_finput_charset_ascii)
|
||||
|
||||
dnl Check if TEST_CXX supports -std=c++26.
|
||||
LIBC_TRY_TEST_CXX_OPTION([$CXX -std=c++26],
|
||||
[-Werror -std=c++26],
|
||||
libc_cv_test_cxxflags_stdcxx26,
|
||||
[libc_cv_test_cxxflags_stdcxx26="-std=c++26"],
|
||||
[libc_cv_test_cxxflags_stdcxx26=]
|
||||
)
|
||||
LIBC_CONFIG_VAR(test-config-cxxflags-stdcxx26,
|
||||
$libc_cv_test_cxxflags_stdcxx26)
|
||||
|
||||
conftest_code="
|
||||
extern int not_exist (void);
|
||||
|
||||
@@ -1905,6 +1938,7 @@ libc_cv_sysconfdir=$sysconfdir
|
||||
libc_cv_localstatedir=$localstatedir
|
||||
libc_cv_gcc_unwind_find_fde=no
|
||||
libc_cv_idn=no
|
||||
pthread_in_libc=yes
|
||||
abort_in_ld=no
|
||||
|
||||
# Iterate over all the sysdep directories we will use, running their
|
||||
@@ -2100,39 +2134,6 @@ AC_CACHE_CHECK([whether $CC can link against -lgcc_s], libc_cv_have_libgcc_s, [d
|
||||
LIBS="$old_LIBS"])
|
||||
LIBC_CONFIG_VAR([have-libgcc_s], [$libc_cv_have_libgcc_s])
|
||||
|
||||
# Check which runtime library compiler uses
|
||||
AC_CACHE_CHECK([for the usable compiler runtime library], [libc_cv_runtime_library], [dnl
|
||||
libc_cv_libgcc_usable=no
|
||||
libgcc_name=`${CC-cc} $CFLAGS $CPPFLAGS -print-libgcc-file-name | sed 's:.*/::'`
|
||||
case "$libgcc_name" in
|
||||
libgcc*)
|
||||
libc_cv_libgcc=-lgcc
|
||||
libc_cv_libgcc_eh=-lgcc_eh
|
||||
libc_cv_runtime_library=libgcc
|
||||
;;
|
||||
libclang_rt*)
|
||||
libc_cv_libgcc=-lclang_rt.builtins
|
||||
libc_cv_libgcc_eh=
|
||||
libc_cv_runtime_library=compiler-rt
|
||||
;;
|
||||
*) AC_MSG_FAILURE([non supported compiler runtime library]) ;;
|
||||
esac])
|
||||
LIBC_CONFIG_VAR([libgcc-name], [$libc_cv_libgcc])
|
||||
LIBC_CONFIG_VAR([libgcc_eh-name], [$libc_cv_libgcc_eh])
|
||||
|
||||
# Check if compiler runtime library provides __sfp_handle_exceptions
|
||||
LIBC_TRY_CC_AND_TEST_LINK([for __sfp_handle_exceptions support],
|
||||
[void __sfp_handle_exceptions (int); __sfp_handle_exceptions (0)],
|
||||
libc_cv_sfp_handle_exceptions,
|
||||
[libc_cv_sfp_handle_exceptions=yes],
|
||||
[libc_cv_sfp_handle_exceptions=no],
|
||||
libc_cv_test_sfp_handle_exceptions,
|
||||
[libc_cv_test_sfp_handle_exceptions=yes],
|
||||
[libc_cv_test_sfp_handle_exceptions=no])
|
||||
if test $libc_cv_sfp_handle_exceptions = yes; then
|
||||
AC_DEFINE([HAVE_SFP_HANDLE_EXCEPTIONS])
|
||||
fi
|
||||
|
||||
# Support configure.ac under sysdeps.
|
||||
AC_SUBST(libc_cv_test_cc_mprefer_vector_width)
|
||||
AC_SUBST(test_enable_cet)
|
||||
@@ -2187,6 +2188,7 @@ libc_cv_multidir=`${CC-cc} $CFLAGS $CPPFLAGS -print-multi-directory`
|
||||
AC_SUBST(libc_cv_multidir)
|
||||
|
||||
AC_SUBST(profile)
|
||||
AC_SUBST(static_nss)
|
||||
|
||||
AC_SUBST(DEFINES)
|
||||
|
||||
@@ -2198,6 +2200,11 @@ RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h`
|
||||
AC_SUBST(VERSION)
|
||||
AC_SUBST(RELEASE)
|
||||
|
||||
if test "$pthread_in_libc" = yes; then
|
||||
AC_DEFINE(PTHREAD_IN_LIBC)
|
||||
fi
|
||||
AC_SUBST(pthread_in_libc)
|
||||
|
||||
# Some symbols that might be auto-generated by the compiler are redefined
|
||||
# to internal alias (for instance mempcpy to __mempcpy). However, if fortify
|
||||
# is enabled, the fortify wrapper is define before the alias re-defined and
|
||||
|
||||
@@ -16,7 +16,7 @@ function int toupper (int)
|
||||
function int isblank (int)
|
||||
#endif
|
||||
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
function int isascii (int)
|
||||
function int toascii (int)
|
||||
|
||||
@@ -25,7 +25,7 @@ function int _toupper (int)
|
||||
function int _tolower (int)
|
||||
#endif
|
||||
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
type locale_t
|
||||
|
||||
function int isalnum_l (int, locale_t)
|
||||
|
||||
@@ -3,12 +3,12 @@ type DIR
|
||||
|
||||
type {struct dirent}
|
||||
|
||||
# if !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX && !defined POSIX2008
|
||||
element {struct dirent} ino_t d_ino
|
||||
# endif
|
||||
element {struct dirent} char d_name []
|
||||
|
||||
# if !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX && !defined POSIX2008
|
||||
type ino_t
|
||||
#endif
|
||||
|
||||
@@ -17,7 +17,7 @@ function {DIR*} opendir (const char*)
|
||||
function {struct dirent*} readdir (DIR*)
|
||||
function int readdir_r (DIR*, struct dirent*, struct dirent**)
|
||||
function void rewinddir (DIR*)
|
||||
# if !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX && !defined POSIX2008
|
||||
function void seekdir (DIR*, long int)
|
||||
function {long int} telldir (DIR*)
|
||||
# endif
|
||||
@@ -25,7 +25,7 @@ function {long int} telldir (DIR*)
|
||||
allow d_*
|
||||
allow *_t
|
||||
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
function int alphasort (const struct dirent**, const struct dirent**)
|
||||
function int dirfd (DIR*)
|
||||
function int scandir (const char*, struct dirent***, int(*)(const struct dirent*), int(*)(const struct dirent**,const struct dirent **))
|
||||
|
||||
@@ -122,7 +122,7 @@ macro-int-constant EWOULDBLOCK {int} > 0
|
||||
# endif
|
||||
macro-int-constant EXDEV {int} > 0
|
||||
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
macro-int-constant ENOTRECOVERABLE {int} > 0
|
||||
macro-int-constant EOWNERDEAD {int} > 0
|
||||
# endif
|
||||
|
||||
@@ -62,12 +62,12 @@ constant S_IWOTH
|
||||
constant S_IXOTH
|
||||
constant S_ISUID
|
||||
constant S_ISGID
|
||||
#if !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined POSIX2008
|
||||
constant S_ISVTX
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
constant POSIX_FADV_NORMAL
|
||||
constant POSIX_FADV_SEQUENTIAL
|
||||
constant POSIX_FADV_RANDOM
|
||||
@@ -96,15 +96,15 @@ type pid_t
|
||||
function int creat (const char*, mode_t)
|
||||
function int fcntl (int, int, ...)
|
||||
function int open (const char*, int, ...)
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function int openat (int, const char*, int, ...)
|
||||
#endif
|
||||
#if defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
function int posix_fadvise (int, off_t, off_t, int)
|
||||
function int posix_fallocate (int, off_t, off_t)
|
||||
#endif
|
||||
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
// Bug 18228: O_TTY_INIT, O_EXEC, O_SEARCH missing.
|
||||
xfail-constant O_TTY_INIT
|
||||
constant O_CLOEXEC
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024 && !defined XPG4
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined XPG4
|
||||
macro MM_HARD
|
||||
constant MM_HARD
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ constant FNM_NOMATCH
|
||||
constant FNM_PATHNAME
|
||||
constant FNM_PERIOD
|
||||
constant FNM_NOESCAPE
|
||||
#if !defined POSIX && !defined XOPEN2K8 && !defined XOPEN2K24 && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
|
||||
constant FNM_NOSYS
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
# ifndef XPG4
|
||||
type {struct FTW}
|
||||
element {struct FTW} int base
|
||||
|
||||
@@ -19,7 +19,7 @@ constant GLOB_NOSORT
|
||||
constant GLOB_ABORTED
|
||||
constant GLOB_NOMATCH
|
||||
constant GLOB_NOSPACE
|
||||
# if !defined XOPEN2K8 && !defined XOPEN2K24 && !defined POSIX2008 && !defined POSIX2024 && !defined POSIX
|
||||
# if !defined XOPEN2K8 && !defined POSIX2008 && !defined POSIX
|
||||
constant GLOB_NOSYS
|
||||
# endif
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ element {struct group} {char**} gr_mem
|
||||
# ifndef POSIX
|
||||
type gid_t
|
||||
# endif
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
type size_t
|
||||
# endif
|
||||
|
||||
@@ -19,7 +19,7 @@ function {struct group*} getgrgid (gid_t)
|
||||
function {struct group*} getgrnam (const char*)
|
||||
function int getgrgid_r (gid_t, struct group*, char *, size_t, struct group**)
|
||||
function int getgrnam_r (const char *, struct group *, char *, size_t, struct group**)
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function {struct group*} getgrent (void)
|
||||
function void endgrent (void)
|
||||
function void setgrent (void)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX
|
||||
type iconv_t
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
type size_t
|
||||
# endif
|
||||
|
||||
|
||||
@@ -61,12 +61,12 @@ constant NOSTR
|
||||
# endif
|
||||
|
||||
type nl_item
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
type locale_t
|
||||
# endif
|
||||
|
||||
function {char*} nl_langinfo (nl_item)
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
function {char*} nl_langinfo_l (nl_item, locale_t)
|
||||
# endif
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024 && !defined XPG4
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined XPG4
|
||||
function {char*} basename (char*)
|
||||
function {char*} dirname (char*)
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ macro-int-constant UINT_MAX {unsigned int} >= 4294967295U
|
||||
macro-int-constant LONG_MAX {long int} >= 2147483647L
|
||||
macro-int-constant LONG_MIN {long int} <= -2147483647L
|
||||
macro-int-constant ULONG_MAX {unsigned long int} >= 4294967295UL
|
||||
#if defined ISO99 || defined ISO11 || defined ISO23 || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined ISO99 || defined ISO11 || defined ISO23 || defined XOPEN2K8 || defined POSIX2008
|
||||
macro-int-constant LLONG_MIN {long long int} <= -9223372036854775807ll
|
||||
macro-int-constant LLONG_MAX {long long int} >= 9223372036854775807ll
|
||||
macro-int-constant ULLONG_MAX {unsigned long long int} >= 18446744073709551615ull
|
||||
@@ -37,7 +37,7 @@ allow ATEXIT_MAX
|
||||
#endif
|
||||
allow CHILD_MAX
|
||||
allow DELAYTIMER_MAX
|
||||
#if !defined POSIX && !defined POSIX2008 && !defined POSIX2024 && !defined XPG4
|
||||
#if !defined POSIX && !defined POSIX2008 && !defined XPG4
|
||||
allow IOV_MAX
|
||||
#endif
|
||||
allow LOGIN_NAME_MAX
|
||||
@@ -45,7 +45,7 @@ allow MQ_OPEN_MAX
|
||||
allow MQ_PRIO_MAX
|
||||
allow OPEN_MAX
|
||||
allow PAGESIZE
|
||||
#if !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined POSIX && !defined POSIX2008
|
||||
allow PAGE_SIZE
|
||||
#endif
|
||||
allow PTHREAD_DESTRUCTOR_ITERATIONS
|
||||
@@ -160,11 +160,11 @@ macro-constant _POSIX2_COLL_WEIGHTS_MAX == 2
|
||||
macro-constant _POSIX2_EXPR_NEST_MAX == 32
|
||||
macro-constant _POSIX2_LINE_MAX == 2048
|
||||
macro-constant _POSIX2_RE_DUP_MAX == 255
|
||||
#if !defined POSIX && !defined POSIX2008 && !defined POSIX2024 && !defined XPG4
|
||||
#if !defined POSIX && !defined POSIX2008 && !defined XPG4
|
||||
optional-constant _XOPEN_IOV_MAX == 16
|
||||
#endif
|
||||
|
||||
#if !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined POSIX && !defined POSIX2008
|
||||
constant WORD_BIT >= 16
|
||||
constant LONG_BIT >= 32
|
||||
#endif
|
||||
@@ -175,16 +175,16 @@ optional-constant CHARCLASS_NAME_MAX >= 14
|
||||
#endif
|
||||
#if !defined POSIX
|
||||
optional-constant NL_ARGMAX >= 9
|
||||
# if !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX2008
|
||||
optional-constant NL_LANGMAX >= 14
|
||||
# endif
|
||||
optional-constant NL_MSGMAX >= 32767
|
||||
# if !defined XOPEN2K8 && !defined XOPEN2K24 && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined XOPEN2K8 && !defined POSIX2008
|
||||
optional-constant NL_NMAX
|
||||
# endif
|
||||
optional-constant NL_SETMAX >= 255
|
||||
optional-constant NL_TEXTMAX
|
||||
# if !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX2008
|
||||
optional-constant NZERO >= 20
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -38,7 +38,7 @@ macro-int-constant LC_MONETARY
|
||||
macro-int-constant LC_NUMERIC
|
||||
macro-int-constant LC_TIME
|
||||
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
constant LC_GLOBAL_LOCALE
|
||||
|
||||
macro LC_COLLATE_MASK
|
||||
@@ -54,7 +54,7 @@ type locale_t
|
||||
|
||||
function {struct lconv*} localeconv (void)
|
||||
function {char*} setlocale (int, const char*)
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function locale_t duplocale (locale_t)
|
||||
function void freelocale (locale_t)
|
||||
function locale_t newlocale (int, const char*, locale_t)
|
||||
@@ -65,6 +65,6 @@ allow LC_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
|
||||
allow *_t
|
||||
#endif
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
allow LC_*_MASK
|
||||
#endif
|
||||
|
||||
@@ -21,7 +21,7 @@ type double_t
|
||||
function int isnan (double)
|
||||
# endif
|
||||
|
||||
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX2008
|
||||
constant M_E
|
||||
constant M_LOG2E
|
||||
constant M_LOG10E
|
||||
@@ -104,7 +104,7 @@ function double gamma (double)
|
||||
#endif
|
||||
#if !defined ISO && !defined POSIX
|
||||
function double hypot (double, double)
|
||||
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
function double j0 (double)
|
||||
function double j1 (double)
|
||||
function double jn (int, double)
|
||||
@@ -113,7 +113,7 @@ function double lgamma (double)
|
||||
# if !defined XPG4 && !defined XPG42 && !defined UNIX98
|
||||
function double tgamma (double)
|
||||
# endif
|
||||
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
function double y0 (double)
|
||||
function double y1 (double)
|
||||
function double yn (int, double)
|
||||
@@ -157,7 +157,7 @@ function double nan (const char*)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
// variable signgam
|
||||
allow signgam
|
||||
# endif
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX
|
||||
type size_t
|
||||
type ssize_t
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
type locale_t
|
||||
# endif
|
||||
|
||||
function ssize_t strfmon (char*, size_t, const char*, ...)
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
function ssize_t strfmon_l (char*, size_t, locale_t, const char*, ...)
|
||||
# endif
|
||||
|
||||
|
||||
@@ -24,12 +24,12 @@ function ssize_t mq_receive (mqd_t, char*, size_t, unsigned int*)
|
||||
function int mq_send (mqd_t, const char*, size_t, unsigned int)
|
||||
function int mq_setattr (mqd_t, const struct mq_attr*, struct mq_attr*)
|
||||
function int mq_unlink (const char*)
|
||||
#if defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
optional-function ssize_t mq_timedreceive (mqd_t, char*, size_t, unsigned int*, const struct timespec*)
|
||||
optional-function int mq_timedsend (mqd_t, const char*, size_t, unsigned int, const struct timespec*)
|
||||
#endif
|
||||
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
type pthread_attr_t
|
||||
type size_t
|
||||
type ssize_t
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024 && !defined XPG4
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined XPG4
|
||||
type datum
|
||||
element datum {void*} dptr
|
||||
element datum size_t dsize
|
||||
|
||||
@@ -35,7 +35,7 @@ element {struct servent} {char*} s_proto
|
||||
|
||||
macro IPPORT_RESERVED
|
||||
|
||||
#if !defined XOPEN2K8 && !defined XOPEN2K24 && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined XOPEN2K8 && !defined POSIX2008
|
||||
// variable int h_errno
|
||||
allow h_errno
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#if defined XOPEN2K || defined POSIX2008 || defined POSIX2024 || defined XOPEN2K8 || defined XOPEN2K24
|
||||
#if defined XOPEN2K || defined POSIX2008 || defined XOPEN2K8
|
||||
macro TCP_NODELAY
|
||||
|
||||
allow TCP_*
|
||||
|
||||
@@ -25,7 +25,7 @@ constant PTHREAD_MUTEX_NORMAL
|
||||
constant PTHREAD_MUTEX_RECURSIVE
|
||||
macro PTHREAD_RWLOCK_INITIALIZER
|
||||
# endif
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
constant PTHREAD_MUTEX_ROBUST
|
||||
constant PTHREAD_MUTEX_STALLED
|
||||
# endif
|
||||
@@ -107,7 +107,7 @@ function int pthread_create (pthread_t*, const pthread_attr_t*, void *(*) (void*
|
||||
function int pthread_detach (pthread_t)
|
||||
function int pthread_equal (pthread_t, pthread_t)
|
||||
function void pthread_exit (void*)
|
||||
# if !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX && !defined POSIX2008
|
||||
function int pthread_getconcurrency (void)
|
||||
# endif
|
||||
# if !defined POSIX && !defined UNIX98
|
||||
@@ -164,12 +164,12 @@ function int pthread_rwlockattr_setpshared (pthread_rwlockattr_t*, int)
|
||||
function pthread_t pthread_self (void)
|
||||
function int pthread_setcancelstate (int, int*)
|
||||
function int pthread_setcanceltype (int, int*)
|
||||
# if !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX && !defined POSIX2008
|
||||
function int pthread_setconcurrency (int)
|
||||
# endif
|
||||
function int pthread_setschedparam (pthread_t, int, const struct sched_param*)
|
||||
function int pthread_setspecific (pthread_key_t, const void*)
|
||||
# if !defined POSIX && !defined UNIX98 && !defined XOPEN2K && !defined XOPEN2K8 && !defined XOPEN2K24 && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX && !defined UNIX98 && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
||||
function int pthread_sigmask (int, const sigset_t*, sigset_t*)
|
||||
# endif
|
||||
# if !defined POSIX && !defined UNIX98
|
||||
@@ -180,7 +180,7 @@ function int pthread_spin_trylock (pthread_spinlock_t*)
|
||||
function int pthread_spin_unlock (pthread_spinlock_t*)
|
||||
# endif
|
||||
function void pthread_testcancel (void)
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
function int pthread_mutex_consistent (pthread_mutex_t *)
|
||||
function int pthread_mutexattr_getrobust (const pthread_mutexattr_t*, int*)
|
||||
function int pthread_mutexattr_setrobust (pthread_mutexattr_t*, int)
|
||||
|
||||
@@ -14,7 +14,7 @@ element {struct passwd} {char*} pw_shell
|
||||
# ifndef POSIX
|
||||
type uid_t
|
||||
type gid_t
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
type size_t
|
||||
# endif
|
||||
# endif
|
||||
@@ -23,7 +23,7 @@ function {struct passwd*} getpwnam (const char*)
|
||||
function {struct passwd*} getpwuid (uid_t)
|
||||
function int getpwnam_r (const char*, struct passwd*, char*, size_t, struct passwd**)
|
||||
function int getpwuid_r (uid_t, struct passwd*, char*, size_t, struct passwd**)
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function void endpwent (void)
|
||||
function {struct passwd*} getpwent (void)
|
||||
function void setpwent (void)
|
||||
|
||||
@@ -29,7 +29,7 @@ constant REG_BADBR
|
||||
constant REG_ERANGE
|
||||
constant REG_ESPACE
|
||||
constant REG_BADRPT
|
||||
# if !defined POSIX && !defined XOPEN2K8 && !defined XOPEN2K24 && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
|
||||
constant REG_ENOSYS
|
||||
# endif
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ optional-element {struct sched_param} {struct timespec} sched_ss_init_budget
|
||||
optional-element {struct sched_param} int sched_ss_max_repl
|
||||
# endif
|
||||
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
type pid_t
|
||||
type time_t
|
||||
type {struct timespec}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
type ENTRY
|
||||
type {struct entry}
|
||||
element {struct entry} {char*} key
|
||||
|
||||
@@ -17,7 +17,7 @@ function int sem_unlink (const char*)
|
||||
function int sem_wait (sem_t*)
|
||||
|
||||
allow-header fcntl.h
|
||||
# if !defined POSIX2008 && !defined POSIX2024 && !defined XOPEN2K8 && !defined XOPEN2K24
|
||||
# if !defined POSIX2008 && !defined XOPEN2K8
|
||||
allow-header sys/types.h
|
||||
# endif
|
||||
// Consider addition of this permission in POSIX.1:2008 as a bug fix,
|
||||
|
||||
@@ -6,7 +6,7 @@ type sigjmp_buf
|
||||
function void longjmp (jmp_buf, int)
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
|
||||
function void siglongjmp (sigjmp_buf, int)
|
||||
# if !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX && !defined POSIX2008
|
||||
function void _longjmp (jmp_buf, int)
|
||||
# endif
|
||||
#endif
|
||||
@@ -14,7 +14,7 @@ function void _longjmp (jmp_buf, int)
|
||||
macro-function int setjmp (jmp_buf)
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
|
||||
macro-function int sigsetjmp (sigjmp_buf, int)
|
||||
# if !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX && !defined POSIX2008
|
||||
macro-function int _setjmp (jmp_buf)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+17
-17
@@ -1,6 +1,6 @@
|
||||
macro-constant SIG_DFL {void(*)(int)}
|
||||
macro-constant SIG_ERR {void(*)(int)}
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
macro-constant SIG_HOLD {void(*)(int)}
|
||||
#endif
|
||||
macro-constant SIG_IGN {void(*)(int)}
|
||||
@@ -15,7 +15,7 @@ type pid_t
|
||||
# define pid_t __pid_t
|
||||
# define uid_t __uid_t
|
||||
#endif
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
type size_t
|
||||
type pthread_t
|
||||
type uid_t
|
||||
@@ -35,7 +35,7 @@ element {struct timespec} __time_t tv_sec
|
||||
xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec
|
||||
#endif
|
||||
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
element {union sigval} int sival_int
|
||||
element {union sigval} {void*} sival_ptr
|
||||
|
||||
@@ -90,7 +90,7 @@ macro-int-constant SIGPOLL {int} > 0
|
||||
macro-int-constant SIGPROF {int} > 0
|
||||
macro-int-constant SIGSYS {int} > 0
|
||||
# endif
|
||||
# if !defined POSIX && !defined XPG4 && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX && !defined XPG4 && !defined POSIX2008
|
||||
macro-int-constant SIGTRAP {int} > 0
|
||||
# endif
|
||||
# if !defined POSIX && !defined XPG4
|
||||
@@ -116,7 +116,7 @@ constant SA_SIGINFO
|
||||
constant SIG_BLOCK
|
||||
constant SIG_UNBLOCK
|
||||
constant SIG_SETMASK
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
constant SA_ONSTACK
|
||||
# endif
|
||||
# if !defined XPG4 && !defined POSIX
|
||||
@@ -126,7 +126,7 @@ constant SA_RESTART
|
||||
xfail[i386-gnu|x86_64-gnu]-constant SA_NOCLDWAIT
|
||||
constant SA_NODEFER
|
||||
# endif
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
constant SS_ONSTACK
|
||||
constant SS_DISABLE
|
||||
constant MINSIGSTKSZ
|
||||
@@ -148,7 +148,7 @@ element stack_t {void*} ss_sp
|
||||
element stack_t size_t ss_size
|
||||
element stack_t int ss_flags
|
||||
|
||||
# if !defined XOPEN2K8 && !defined XOPEN2K24 && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined XOPEN2K8 && !defined POSIX2008
|
||||
type {struct sigstack}
|
||||
|
||||
element {struct sigstack} int ss_onstack
|
||||
@@ -160,7 +160,7 @@ element {struct sigstack} {void*} ss_sp
|
||||
type siginfo_t
|
||||
|
||||
element siginfo_t int si_signo
|
||||
# if !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX && !defined POSIX2008
|
||||
element siginfo_t int si_errno
|
||||
# endif
|
||||
element siginfo_t int si_code
|
||||
@@ -212,7 +212,7 @@ constant POLL_ERR
|
||||
constant POLL_PRI
|
||||
constant POLL_HUP
|
||||
# endif
|
||||
# if !defined POSIX && !defined XPG4 && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX && !defined XPG4 && !defined POSIX2008
|
||||
constant TRAP_BRKPT
|
||||
constant TRAP_TRACE
|
||||
# endif
|
||||
@@ -224,11 +224,11 @@ constant SI_ASYNCIO
|
||||
constant SI_MESGQ
|
||||
# endif
|
||||
|
||||
# if !defined XPG4 && !defined XOPEN2K8 && !defined XOPEN2K24 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined XPG4 && !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008
|
||||
function void (*bsd_signal (int, void(*)(int)))(int)
|
||||
# endif
|
||||
function int kill (pid_t, int)
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function int killpg (pid_t, int)
|
||||
# endif
|
||||
# if !defined XPG4 && !defined XPG42
|
||||
@@ -237,19 +237,19 @@ function int pthread_sigmask (int, const sigset_t*, sigset_t*)
|
||||
# endif
|
||||
function int sigaction (int, const struct sigaction*, struct sigaction*)
|
||||
function int sigaddset (sigset_t*, int)
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function int sigaltstack (const stack_t*, stack_t*)
|
||||
# endif
|
||||
function int sigdelset (sigset_t*, int)
|
||||
function int sigemptyset (sigset_t*)
|
||||
function int sigfillset (sigset_t*)
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function int sighold (int)
|
||||
function int sigignore (int)
|
||||
function int siginterrupt (int, int)
|
||||
# endif
|
||||
function int sigismember (const sigset_t*, int)
|
||||
#if !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function int sigpause (int)
|
||||
# endif
|
||||
function int sigpending (sigset_t*)
|
||||
@@ -257,7 +257,7 @@ function int sigprocmask (int, const sigset_t*, sigset_t*)
|
||||
# if !defined XPG4 && !defined XPG42
|
||||
function int sigqueue (pid_t, int, const union sigval)
|
||||
# endif
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function int sigrelse (int)
|
||||
function void (*sigset (int, void(*)(int)))(int)
|
||||
# endif
|
||||
@@ -272,7 +272,7 @@ function int sigtimedwait (const sigset_t*, siginfo_t*, const struct timespec*)
|
||||
function int sigwait (const sigset_t*, int*)
|
||||
function int sigwaitinfo (const sigset_t*, siginfo_t*)
|
||||
# endif
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
function void psiginfo (const siginfo_t*, const char*)
|
||||
function void psignal (int, const char*)
|
||||
# endif
|
||||
@@ -301,7 +301,7 @@ allow ILL_*
|
||||
allow POLL_*
|
||||
allow SEGV_*
|
||||
# endif
|
||||
# if !defined POSIX && !defined XPG4 && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX && !defined XPG4 && !defined POSIX2008
|
||||
allow SS_*
|
||||
allow SV_*
|
||||
allow TRAP_*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
|
||||
type posix_spawnattr_t
|
||||
type posix_spawn_file_actions_t
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
type mode_t
|
||||
type pid_t
|
||||
type sigset_t
|
||||
@@ -29,10 +29,6 @@ function int posix_spawnattr_setpgroup (posix_spawnattr_t*, pid_t)
|
||||
function int posix_spawnattr_setschedparam (posix_spawnattr_t*, const struct sched_param*)
|
||||
function int posix_spawnattr_setschedpolicy (posix_spawnattr_t*, int)
|
||||
function int posix_spawnattr_setsigmask (posix_spawnattr_t*, const sigset_t*)
|
||||
#if defined XOPEN2K24 || defined POSIX2024
|
||||
function int posix_spawn_file_actions_addchdir (posix_spawn_file_actions_t*, const char *)
|
||||
function int posix_spawn_file_actions_addfchdir (posix_spawn_file_actions_t*, int)
|
||||
#endif
|
||||
function int posix_spawn_file_actions_addclose (posix_spawn_file_actions_t*, int)
|
||||
function int posix_spawn_file_actions_adddup2 (posix_spawn_file_actions_t*, int, int)
|
||||
function int posix_spawn_file_actions_addopen (posix_spawn_file_actions_t*, int, const char *, int, mode_t)
|
||||
|
||||
@@ -5,7 +5,7 @@ macro va_start
|
||||
macro va_arg
|
||||
macro va_end
|
||||
|
||||
#if defined ISO99 || defined ISO11 || defined ISO23 || defined XOPEN2K || defined POSIX2008 || defined POSIX2024 || defined XOPEN2K8 || defined XOPEN2K24
|
||||
#if defined ISO99 || defined ISO11 || defined ISO23 || defined XOPEN2K || defined POSIX2008 || defined XOPEN2K8
|
||||
macro va_copy
|
||||
#endif
|
||||
|
||||
|
||||
+17
-17
@@ -8,7 +8,7 @@ macro-int-constant _IONBF
|
||||
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
|
||||
constant L_ctermid
|
||||
# if !defined XOPEN2K && !defined XOPEN2K8 && !defined XOPEN2K24 && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
||||
# ifdef POSIX
|
||||
optional-constant L_cuserid
|
||||
# else
|
||||
@@ -28,7 +28,7 @@ macro-int-constant EOF < 0
|
||||
|
||||
macro-constant NULL == 0
|
||||
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
constant P_tmpdir
|
||||
#endif
|
||||
|
||||
@@ -44,7 +44,7 @@ type va_list
|
||||
#define va_list __gnuc_va_list
|
||||
#endif
|
||||
type size_t
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
type off_t
|
||||
type ssize_t
|
||||
#endif
|
||||
@@ -56,7 +56,7 @@ function {char*} ctermid (char*)
|
||||
function {char*} cuserid (char*)
|
||||
# endif
|
||||
#endif
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function int dprintf (int, const char*, ...)
|
||||
#endif
|
||||
function int fclose (FILE*)
|
||||
@@ -72,10 +72,10 @@ function {char*} fgets (char*, int, FILE*)
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
|
||||
function int fileno (FILE*)
|
||||
#endif
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
function void flockfile (FILE*)
|
||||
#endif
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function {FILE*} fmemopen (void*, size_t, const char*)
|
||||
#endif
|
||||
function {FILE*} fopen (const char*, const char*)
|
||||
@@ -86,26 +86,26 @@ function size_t fread (void*, size_t, size_t, FILE*)
|
||||
function {FILE*} freopen (const char*, const char*, FILE*)
|
||||
function int fscanf (FILE*, const char*, ...)
|
||||
function int fseek (FILE*, long int, int)
|
||||
#if defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
function int fseeko (FILE*, off_t, int)
|
||||
#endif
|
||||
function int fsetpos (FILE*, const fpos_t*)
|
||||
function {long int} ftell (FILE*)
|
||||
#if defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
function off_t ftello (FILE*)
|
||||
#endif
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
function int ftrylockfile (FILE*)
|
||||
function void funlockfile (FILE*)
|
||||
#endif
|
||||
function size_t fwrite (const void*, size_t, size_t, FILE*)
|
||||
function int getc (FILE*)
|
||||
function int getchar (void)
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
function int getc_unlocked (FILE*)
|
||||
function int getchar_unlocked (void)
|
||||
#endif
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function ssize_t getdelim (char**, size_t*, int, FILE*)
|
||||
function ssize_t getline (char**, size_t*, FILE*)
|
||||
#endif
|
||||
@@ -118,7 +118,7 @@ function {char*} gets (char*)
|
||||
#if defined XPG4 || defined XPG42 || defined UNIX98
|
||||
function int getw (FILE*)
|
||||
#endif
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function {FILE*} open_memstream (char**, size_t*)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
|
||||
@@ -131,7 +131,7 @@ function {FILE*} popen (const char*, const char*)
|
||||
function int printf (const char*, ...)
|
||||
function int putc (int, FILE*)
|
||||
function int putchar (int)
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
function int putc_unlocked (int, FILE*)
|
||||
function int putchar_unlocked (int)
|
||||
#endif
|
||||
@@ -141,7 +141,7 @@ function int putw (int, FILE*)
|
||||
#endif
|
||||
function int remove (const char*)
|
||||
function int rename (const char*, const char*)
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function int renameat (int, const char*, int, const char*)
|
||||
#endif
|
||||
function void rewind (FILE*)
|
||||
@@ -153,13 +153,13 @@ function int snprintf (char*, size_t, const char*, ...)
|
||||
#endif
|
||||
function int sprintf (char *, const char *, ...)
|
||||
function int sscanf (const char*, const char*, ...)
|
||||
#if defined XPG4 || defined XPG42 || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24
|
||||
#if defined XPG4 || defined XPG42 || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8
|
||||
function {char*} tempnam (const char*, const char*)
|
||||
#endif
|
||||
function {FILE*} tmpfile (void)
|
||||
function {char*} tmpnam (char*)
|
||||
function int ungetc (int, FILE*)
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function int vdprintf (int, const char*, va_list)
|
||||
#endif
|
||||
function int vfprintf (FILE*, const char*, va_list)
|
||||
@@ -179,7 +179,7 @@ function int vsscanf (const char*, const char*, va_list)
|
||||
#endif
|
||||
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
|
||||
#if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined XOPEN2K24 && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined POSIX && !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
|
||||
variable {char*} optarg
|
||||
variable int opterr
|
||||
variable int optind
|
||||
|
||||
+24
-24
@@ -12,7 +12,7 @@ macro-constant NULL == 0
|
||||
macro-int-constant RAND_MAX >= 32767
|
||||
macro MB_CUR_MAX
|
||||
|
||||
#if defined ISO99 || defined ISO11 || defined ISO23 || defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined ISO99 || defined ISO11 || defined ISO23 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
type lldiv_t
|
||||
element lldiv_t {long long} quot
|
||||
element lldiv_t {long long} rem
|
||||
@@ -35,7 +35,7 @@ macro WTERMSIG
|
||||
#if !defined ISO && !defined XPG4 && !defined XPG42 && !defined UNIX98 && !defined POSIX
|
||||
function void _Exit (int)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function long a64l (const char*)
|
||||
#endif
|
||||
function void abort (void)
|
||||
@@ -56,13 +56,13 @@ function {long long} atoll (const char*)
|
||||
function {void*} bsearch (const void*, const void*, size_t, size_t, int(*)(const void*, const void*))
|
||||
function {void*} calloc (size_t, size_t)
|
||||
function div_t div (int, int)
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
function double drand48 (void)
|
||||
#endif
|
||||
#if defined XPG42 || defined UNIX98 || defined XOPEN2K
|
||||
function {char*} ecvt (double, int, int*, int*)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
function double erand48 (unsigned short int[3])
|
||||
#endif
|
||||
function void exit (int)
|
||||
@@ -77,18 +77,18 @@ function {char*} getenv (const char*)
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX
|
||||
function int getsubopt (char**, char *const*, char**)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function int grantpt (int)
|
||||
function {char*} initstate (unsigned int, char*, size_t)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
function {long int} jrand48 (unsigned short int[3])
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function {char*} l64a (long)
|
||||
#endif
|
||||
function {long int} labs (long int)
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
function void lcong48 (unsigned short int[7])
|
||||
#endif
|
||||
function ldiv_t ldiv (long int, long int)
|
||||
@@ -96,36 +96,36 @@ function ldiv_t ldiv (long int, long int)
|
||||
function {long long} llabs (long long)
|
||||
function lldiv_t lldiv (long long, long long)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
function {long int} lrand48 (void)
|
||||
#endif
|
||||
function {void*} malloc (size_t)
|
||||
function int mblen (const char*, size_t)
|
||||
function size_t mbstowcs (wchar_t*, const char*, size_t)
|
||||
function int mbtowc (wchar_t*, const char*, size_t)
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function {char*} mkdtemp (char*)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined XOPEN2K8 && !defined XOPEN2K24 && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
|
||||
function {char*} mktemp (char*)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX
|
||||
function int mkstemp (char*)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
function {long int} mrand48 (void)
|
||||
function {long int} nrand48 (unsigned short int[3])
|
||||
#endif
|
||||
#if defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
function int posix_memalign (void**, size_t, size_t)
|
||||
#endif
|
||||
#if defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24
|
||||
#if defined XOPEN2K || defined XOPEN2K8
|
||||
function int posix_openpt (int)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function {char*} ptsname (int)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
function int putenv (char*)
|
||||
#endif
|
||||
function void qsort (void*, size_t, size_t, int(*)(const void*, const void*))
|
||||
@@ -133,30 +133,30 @@ function void qsort (void*, size_t, size_t, int(*)(const void*, const void*))
|
||||
function void quick_exit (int)
|
||||
#endif
|
||||
function int rand (void)
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
function int rand_r (unsigned int*)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function long random (void)
|
||||
#endif
|
||||
function {void*} realloc (void*, size_t)
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function {char*} realpath (const char*, char*)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
function {unsigned short int*} seed48 (unsigned short int[3])
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
|
||||
function int setenv (const char*, const char*, int)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function {char*} setstate (char*)
|
||||
#endif
|
||||
function void srand (unsigned int)
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
function void srand48 (long int)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function void srandom (unsigned)
|
||||
#endif
|
||||
function double strtod (const char*, char**)
|
||||
@@ -174,7 +174,7 @@ function int system (const char*)
|
||||
#if defined XPG42 || defined UNIX98
|
||||
function int ttyslot (void)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function int unlockpt (int)
|
||||
#endif
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
|
||||
|
||||
+11
-11
@@ -1,11 +1,11 @@
|
||||
macro-constant NULL == 0
|
||||
|
||||
type size_t
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
type locale_t
|
||||
#endif
|
||||
|
||||
#if !defined ISO && !defined ISO99 & !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 & !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
function {void*} memccpy (void*, const void*, int, size_t)
|
||||
#endif
|
||||
function {void*} memchr (const void*, int, size_t)
|
||||
@@ -13,7 +13,7 @@ function int memcmp (const void*, const void*, size_t)
|
||||
function {void*} memcpy (void*, const void*, size_t)
|
||||
function {void*} memmove (void*, const void*, size_t)
|
||||
function {void*} memset (void*, int, size_t)
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function {char*} stpcpy (char*, const char*)
|
||||
function {char*} stpncpy (char*, const char*, size_t)
|
||||
|
||||
@@ -22,42 +22,42 @@ function {char*} strcat (char*, const char*)
|
||||
function {char*} strchr (const char*, int)
|
||||
function int strcmp (const char*, const char*)
|
||||
function int strcoll (const char*, const char*)
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function int strcoll_l (const char*, const char*, locale_t)
|
||||
#endif
|
||||
function {char*} strcpy (char*, const char*)
|
||||
function size_t strcspn (const char*, const char*)
|
||||
#if !defined ISO && !defined ISO99 & !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 & !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined POSIX && !defined POSIX2008
|
||||
function {char*} strdup (const char*)
|
||||
#endif
|
||||
function {char*} strerror (int)
|
||||
#if defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
function int strerror_r (int, char*, size_t)
|
||||
#endif
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function {char*} strerror_l (int, locale_t)
|
||||
#endif
|
||||
function size_t strlen (const char*)
|
||||
function {char*} strncat (char*, const char*, size_t)
|
||||
function int strncmp (const char*, const char*, size_t)
|
||||
function {char*} strncpy (char*, const char*, size_t)
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function {char*} strndup (const char*, size_t)
|
||||
function size_t strnlen (const char*, size_t)
|
||||
#endif
|
||||
function {char*} strpbrk (const char*, const char*)
|
||||
function {char*} strrchr (const char*, int)
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function {char*} strsignal (int)
|
||||
#endif
|
||||
function size_t strspn (const char*, const char*)
|
||||
function {char*} strstr (const char*, const char*)
|
||||
function {char*} strtok (char*, const char*)
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
|
||||
function {char*} strtok_r (char*, const char*, char**)
|
||||
#endif
|
||||
function size_t strxfrm (char*, const char*, size_t)
|
||||
#if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
#if defined XOPEN2K8 || defined POSIX2008
|
||||
function size_t strxfrm_l (char*, const char*, size_t, locale_t)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined XPG4
|
||||
# if !defined XOPEN2K8 && !defined XOPEN2K24 && !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined XOPEN2K8 && !defined POSIX2008
|
||||
function int bcmp (const void*, const void*, size_t)
|
||||
function void bcopy (const void*, void*, size_t)
|
||||
function void bzero (void*, size_t)
|
||||
function {char*} index (const char*, int)
|
||||
function {char*} rindex (const char*, int)
|
||||
# endif
|
||||
# if !defined POSIX2008 && !defined POSIX2024
|
||||
# if !defined POSIX2008
|
||||
function int ffs (int)
|
||||
# endif
|
||||
function int strcasecmp (const char*, const char*)
|
||||
function int strncasecmp (const char*, const char*, size_t)
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
function int strcasecmp_l (const char*, const char*, locale_t)
|
||||
function int strncasecmp_l (const char*, const char*, size_t, locale_t)
|
||||
# endif
|
||||
|
||||
type size_t
|
||||
# if defined XOPEN2K8 || defined XOPEN2K24 || defined POSIX2008 || defined POSIX2024
|
||||
# if defined XOPEN2K8 || defined POSIX2008
|
||||
type locale_t
|
||||
# endif
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
type {struct ipc_perm}
|
||||
|
||||
// Bug 23082: uid/gid/cuid/cgid/mode have type unsigned short instead of uid_t and mode_t.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
type {struct msqid_ds}
|
||||
|
||||
type msgqnum_t
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024 && !defined XPG4
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined XPG4
|
||||
constant PRIO_PROCESS
|
||||
constant PRIO_PGRP
|
||||
constant PRIO_USER
|
||||
|
||||
@@ -25,7 +25,7 @@ macro FD_ZERO
|
||||
|
||||
macro FD_SETSIZE
|
||||
|
||||
#if defined XOPEN2K || defined POSIX2008 || defined POSIX2024 || defined XOPEN2K8 || defined XOPEN2K24
|
||||
#if defined XOPEN2K || defined POSIX2008 || defined XOPEN2K8
|
||||
function int pselect (int, fd_set*, fd_set*, fd_set*, const struct timespec*, const sigset_t*)
|
||||
#endif
|
||||
function int select (int, fd_set*, fd_set*, fd_set*, struct timeval*)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined POSIX2024
|
||||
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008
|
||||
constant SEM_UNDO
|
||||
|
||||
constant GETNCNT
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user