aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-29riscv: Add the clone3 wrapperAdhemerval Zanella
It follows the internal signature: extern int clone3 (struct clone_args *__cl_args, size_t __size, int (*__func) (void *__arg), void *__arg); Checked on riscv64-linux-gnu-rv64imafdc-lp64d. Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>
2023-05-29posix: Add error message for EAI_OVERFLOWDridi Boukelmoune
Signed-off-by: Dridi Boukelmoune <dridi.boukelmoune@gmail.com> Reviewed-by: Arjun Shankar <arjun@redhat.com>
2023-05-29setsourcefilter: Replace alloca with a scratch_buffer.Joe Simmons-Talbott
Use a scratch_buffer rather than either alloca or malloc to reduce the possibility of a stack overflow. Suggested-by: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2023-05-29time: strftime_l: Avoid an unbounded alloca.Joe Simmons-Talbott
Avoid possible stack overflow by removing alloca() and converting to wide characters within the buffer. Suggested-by: Paul Eggert <eggert@cs.ucla.edu>
2023-05-27x86: Use 64MB as nt-store threshold if no cacheinfo [BZ #30429]Noah Goldstein
If `non_temporal_threshold` is below `minimum_non_temporal_threshold`, it almost certainly means we failed to read the systems cache info. In this case, rather than defaulting the minimum correct value, we should default to a value that gets at least reasonable performance. 64MB is chosen conservatively to be at the very high end. This should never cause non-temporal stores when, if we had read cache info, we wouldn't have otherwise. Reviewed-by: Florian Weimer <fweimer@redhat.com>
2023-05-28hurd: Fix setting up signal thread stack alignmentSamuel Thibault
x86_64 needs special alignment when calling functions, so we have to use MACHINE_THREAD_STATE_SETUP_CALL for the signal thread when forking.
2023-05-27mach: Fix startup with stack protectorSamuel Thibault
thread_set_state() is used to set up TLS, so stack protection can not be used yet.
2023-05-27Fix misspellings in manual/ -- BZ 25337Paul Pluzhnikov
2023-05-27Fix misspellings in iconv/ and iconvdata/ -- BZ 25337Paul Pluzhnikov
All the changes are in comments or '#error' messages. Applying this commit results in bit-identical rebuild of iconvdata/*.so Reviewed-by: Florian Weimer <fw@deneb.enyo.de>
2023-05-26Add MFD_NOEXEC_SEAL, MFD_EXEC from Linux 6.3 to bits/mman-shared.hJoseph Myers
Linux 6.3 adds new constants MFD_NOEXEC_SEAL and MFD_EXEC. Add these to bits/mman-shared.h (conditional on MFD_NOEXEC_SEAL not already being defined, similar to the existing conditional on the older MFD_* macros). Tested for x86_64.
2023-05-26Add IP_LOCAL_PORT_RANGE from Linux 6.3 to bits/in.hJoseph Myers
Linux 6.3 adds a new constant IP_LOCAL_PORT_RANGE. Add it to the corresponding bits/in.h in glibc. Tested for x86_64.
2023-05-26Add AT_RSEQ_* from Linux 6.3 to elf.hJoseph Myers
Linux 6.3 adds constants AT_RSEQ_FEATURE_SIZE and AT_RSEQ_ALIGN; add them to glibc's elf.h. (Recall that, although elf.h is a system-independent header, so far we've put AT_* constants there even if Linux-specific, as discussed in bug 15794. So rather than making any attempt to fix that issue, the new constants are just added there alongside the existing ones.) Tested for x86_64.
2023-05-26setipv4sourcefilter: Avoid using alloca.Joe Simmons-Talbott
Use a scratch_buffer rather than alloca/malloc to avoid potential stack overflow. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2023-05-25wchar: Define va_list for POSIX (BZ #30035)Adhemerval Zanella
This was uncovered by a recent clang change [1]. Different than ISO C, POSIX states that va_list should be exported by wchar.h [2]. Checked on x86_64-linux-gnu and aarch64-linux-gnu. [1] https://reviews.llvm.org/D137268 [2] https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/basedefs/wchar.h.html
2023-05-25elf: add test for dl-printfRoy Eldar
This patch checks _dl_debug_vdprintf, by passing various inputs to _dl_dprintf and comparing the output with invocations of snprintf. Signed-off-by: Roy Eldar <royeldar0@gmail.com> Reviewed-by: Florian Weimer <fweimer@redhat.com>
2023-05-25elf: fix handling of negative numbers in dl-printfRoy Eldar
_dl_debug_vdprintf is a bare-bones printf implementation; currently printing a signed integer (using "%d" format specifier) behaves incorrectly when the number is negative, as it just prints the corresponding unsigned integer, preceeded by a minus sign. For example, _dl_printf("%d", -1) would print '-4294967295'. Signed-off-by: Roy Eldar <royeldar0@gmail.com> Reviewed-by: Florian Weimer <fweimer@redhat.com>
2023-05-25elf: Update comment in open_pathSiddhesh Poyarekar
f55727ca53308a206cf00d0442f8c57c73761899 updated open_path to use the r_search_path_struct struct but failed to update the comment. Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2023-05-25elf: Add test for locating libraries in root dir (bug 30435)Qixing ksyx Xue
When dlopen is being called, efforts have been made to improve future lookup performance. This includes marking a search path as non-existent using `stat`. However, if the root directory is given as a search path, there exists a bug which erroneously marks it as non-existing. The bug is reproduced under the following sequence: 1. dlopen is called to open a shared library, with at least: 1) a dependency 'A.so' not directly under the '/' directory (e.g. /lib/A.so), and 2) another dependency 'B.so' resides in '/'. 2. for this bug to reproduce, 'A.so' should be searched *before* 'B.so'. 3. it first tries to find 'A.so' in /, (e.g. /A.so): - this will (obviously) fail, - since it's the first time we have seen the '/' directory, its 'status' is 'unknown'. 4. `buf[buflen - namelen - 1] = '\0'` is executed: - it intends to remove the leaf and its final slash, - because of the speciality of '/', its buflen == namelen + 1, - it erroneously clears the entire buffer. 6. it then calls 'stat' with the empty buffer: - which will result in an error. 7. so it marks '/' as 'nonexisting', future lookups will not consider this path. 8. while /B.so *does* exist, failure to look it up in the '/' directory leads to a 'cannot open shared object file' error. This patch fixes the bug by preventing 'buflen', an index to put '\0', from being set to 0, so that the root '/' is always kept. Relative search paths are always considered as 'existing' so this wont be affected. Writeup by Moody Liu <mooodyhunter@outlook.com> Suggested-by: Carlos O'Donell <carlos@redhat.com> Signed-off-by: Qixing ksyx Xue <qixingxue@outlook.com> Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2023-05-25io: Re-flow and sort multiline Makefile definitionsAdhemerval Zanella
2023-05-25Fix special case for C2x strtol binary constant handling (BZ# 30371)Adhemerval Zanella
When the base is 0 or 2 and the first two characters are '0' and 'b', but the rest are no binary digits. In this case this is no error, and strtol must return 0 and ENDPTR points to the 'x' or 'b'. Checked on x86_64-linux-gnu and i686-linux-gnu. Reviewed-by: Florian Weimer <fweimer@redhat.com>
2023-05-25rtld: properly handle root directory in load path (bug 30435)Andreas Schwab
Don't strip the trailing slash when checking for existence of a load path element to handle the special case of the root directory.
2023-05-24sysdeps/pthread/eintr.c: fix warn unused resultFrédéric Bérat
Fix unused result warnings, detected when _FORTIFY_SOURCE is enabled in glibc. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2023-05-24sunrpc/netname.c: fix warn unused resultFrédéric Bérat
Fix unused result warnings, detected when _FORTIFY_SOURCE is enabled in glibc. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2023-05-24locale/programs/locarchive.c: fix warn unused resultFrédéric Bérat
Fix unused result warnings, detected when _FORTIFY_SOURCE is enabled in glibc. Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
2023-05-23support: Reformat Makefile.Carlos O'Donell
Add list end markers. Sort text using scripts/sort-makefile-lines.py. No code generation changes observed in non-test binary artifacts. No regressions on x86_64 and i686.
2023-05-23Regenerate configure fragment -- BZ 25337.Paul Pluzhnikov
In commit 0b25c28e028b63c95108c442d8112811107e4c13 I updated congure.ac but neglected to regenerate updated configure. Fix this here.
2023-05-23Fix misspellings in sysdeps/powerpc -- BZ 25337Paul Pluzhnikov
All fixes are in comments, so the binaries should be identical before/after this commit, but I can't verify this. Reviewed-by: Rajalakshmi Srinivasaraghavan <rajis@linux.ibm.com>
2023-05-23Fix misspellings in sysdeps/unix -- BZ 25337Paul Pluzhnikov
Applying this commit results in bit-identical rebuild of libc.so.6 math/libm.so.6 elf/ld-linux-x86-64.so.2 mathvec/libmvec.so.1 Reviewed-by: Florian Weimer <fweimer@redhat.com>
2023-05-23Fix misspellings in sysdeps/x86_64 -- BZ 25337.Paul Pluzhnikov
Applying this commit results in bit-identical rebuild of libc.so.6 math/libm.so.6 elf/ld-linux-x86-64.so.2 mathvec/libmvec.so.1 Reviewed-by: Florian Weimer <fweimer@redhat.com>
2023-05-23mach: Fix accessing mach_i386.hSamuel Thibault
Fixes: 196358ae26aa ("mach: Fix installing mach_i386.h")
2023-05-23Fix misspellings in sysdeps/x86_64/fpu/multiarch -- BZ 25337.Paul Pluzhnikov
Applying this commit results in a bit-identical rebuild of mathvec/libmvec.so.1 (which is the only binary that gets rebuilt). Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
2023-05-23mach: Fix installing mach_i386.hSamuel Thibault
We do not want mach_i386.h to get installed into machine/, but into i386/ or x86_64/ depending where mach_i386.defs was found, i.e. according to 32/64 bitness.
2023-05-23hurd: Fix making ld.so run static binaries with retrySamuel Thibault
We need O_EXEC for __rtld_execve
2023-05-22Add voice-admit DSCP code point from RFC-5865Ronan Pigott
2023-05-22mach: Fix mach_setup_thread_impl with NULL stack_baseSamuel Thibault
This is notably necessary for running the gmon thread.
2023-05-22Remove last remnants of have-protectedAndreas Schwab
2023-05-22S390: Use compile-only instead of also link-tests in configure.Stefan Liebler
Some of the s390-specific configure checks are using compile and link configure tests. Now use only compile tests as the link tests fails when e.g. bootstrapping a cross-toolchain due to missing crt-files/libc.so. This is achieved by using AC_COMPILE_IFELSE in configure.ac file. This is observable e.g. when using buildroot which builds glibc only once or the build-many-glibcs.py script. Note that the latter one is building glibc twice in the compilers-step (configure-checks fails) and in the glibcs-step (configure-checks succeed). Note, that the s390 specific configure tests for static PIE have to link an executable to test binutils support. Thus we can't fix those tests.
2023-05-22Fix build for hurd/thread-self.c for i386.Flavio Cruz
We need to include hurd.h for libc_hidden_proto (__hurd_thread_self), introduced in b44c1e12524b ("hurd: Fix using interposable hurd_thread_self") This the error log: In file included from <command-line>: ./../include/libc-symbols.h:472:33: error: '__EI___hurd_thread_self' aliased to undefined symbol '__GI___hurd_thread_self' 472 | extern thread __typeof (name) __EI_##name \ | ^~~~~ ./../include/libc-symbols.h:468:3: note: in expansion of macro '__hidden_ver2' 468 | __hidden_ver2 (, local, internal, name) | ^~~~~~~~~~~~~ ./../include/libc-symbols.h:476:41: note: in expansion of macro '__hidden_ver1' 476 | # define hidden_def(name) __hidden_ver1(__GI_##name, name, name); | ^~~~~~~~~~~~~ ./../include/libc-symbols.h:557:32: note: in expansion of macro 'hidden_def' 557 | # define libc_hidden_def(name) hidden_def (name) | ^~~~~~~~~~ thread-self.c:27:1: note: in expansion of macro 'libc_hidden_def' 27 | libc_hidden_def (__hurd_thread_self) | ^~~~~~~~~~~~~~~ Message-Id: <ZGr6wj2UOxg3F0qH@jupiter.tail36e24.ts.net>
2023-05-20io: Fix a typoSergey Bugaev
Fixes 85f7554cd97e7f03d8dc66278653045ef63a2221 "Add test case for O_TMPFILE handling in open, openat" Signed-off-by: Sergey Bugaev <bugaevc@gmail.com> Message-Id: <20230520115531.3911877-3-bugaevc@gmail.com>
2023-05-20htl: Use __hurd_fail () instead of assigning errnoSergey Bugaev
Signed-off-by: Sergey Bugaev <bugaevc@gmail.com> Message-Id: <20230520115531.3911877-2-bugaevc@gmail.com>
2023-05-20hurd: Use __hurd_fail () instead of assigning errnoSergey Bugaev
The __hurd_fail () inline function is the dedicated, idiomatic way of reporting errors in the Hurd part of glibc. Not only is it more concise than '{ errno = err; return -1; }', it is since commit 6639cc10029e24e06b34e169712b21c31b8cf213 "hurd: Mark error functions as __COLD" marked with the cold attribute, telling the compiler that this codepath is unlikely to be executed. In one case, use __hurd_dfail () over the plain __hurd_fail (). Signed-off-by: Sergey Bugaev <bugaevc@gmail.com> Message-Id: <20230520115531.3911877-1-bugaevc@gmail.com>
2023-05-19powerpc:GCC(<10) doesn't allow -mlong-double-64 after -mabi=ieeelongdoubleMahesh Bodapati
Removed -mabi=ieeelongdouble on failing tests. It resolves the error. error: ‘-mabi=ieeelongdouble’ requires ‘-mlong-double-128’
2023-05-19hurd: Fix using interposable hurd_thread_selfSergey Bugaev
Create a private hidden __hurd_thread_self alias, and use that one. Fixes 2f8ecb58a59eb82c43214d000842d99644a662d1 "hurd: Fix x86_64 _hurd_tls_fork" and c7fcce38c83a2bb665ef5dc4981bf20c7e586123 "hurd: Make sure to not use tcb->self" Reported-by: Joseph Myers <joseph@codesourcery.com> Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
2023-05-19hurd 64bit: Re-introduce gai_suspend symbolSamuel Thibault
4d3f846b88d3 ("hurd: Fix __TIMESIZE on x86_64") incidentaly dropped it because it fixed hurd 64bit into setting __TIMESIZE to 64, and that case was not having gai_suspend defined yet.
2023-05-19hurd: Fix __TIMESIZE on x86_64Sergey Bugaev
We had sizeof (time_t) == 8, but __TIMESIZE == 32. Signed-off-by: Sergey Bugaev <bugaevc@gmail.com> Message-Id: <20230519171516.3698754-1-bugaevc@gmail.com>
2023-05-19posix: Reformat Makefile.Carlos O'Donell
Fix LOCALE list formatting. Sort all reflowed text using scripts/sort-makefile-lines.py. No code generation changes observed in binary artifacts. No regressions on x86_64 and i686.
2023-05-19hurd: Fix expected c++ typesSamuel Thibault
90604f670c10 ("hurd 64bit: Add data for check-c++-types") actually added the 32bit version. This fixes it into a 64bit version.
2023-05-18catgets: Reformat Makefile.Carlos O'Donell
Reflow all long lines adding comment terminators. Sort all reflowed text using scripts/sort-makefile-lines.py. No code generation changes observed in binary artifacts. No regressions on x86_64 and i686.
2023-05-18benchtests: Reformat Makefile.Carlos O'Donell
Reflow all long lines adding comment terminators. Sort all reflowed text using scripts/sort-makefile-lines.py. No regressions running microbenchmarks. No code generation changes observed in binary artifacts. No regressions on x86_64 and i686.
2023-05-18assert: Reformat Makefile.Carlos O'Donell
Reflow all long lines adding comment terminators. Sort all reflowed text using scripts/sort-makefile-lines.py. No code generation changes observed in binary artifacts. No regressions on x86_64 and i686.