about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/i386
Commit message (Collapse)AuthorAgeFilesLines
* Start cleaning up TLS initial value for pthread_create.Roland McGrath2014-06-091-48/+0
|
* Split arch-fork.h from fork.hRoland McGrath2014-05-161-2/+2
|
* x86: Move abilist files out of nptl/ subdirectories.Roland McGrath2014-05-1415-0/+0
|
* Move remaining nptl/sysdeps/unix/sysv/linux/i386/ files.Roland McGrath2014-05-1459-0/+6452
|
* x86: Consolidate NPTL fork.Roland McGrath2014-05-141-0/+27
|
* x86: Consolidate NPTL/non versions of cloneRoland McGrath2014-05-141-9/+0
|
* x86: Consolidate NPTL/non versions of vforkRoland McGrath2014-05-141-6/+20
|
* Fix __ASSUME_ACCEPT4 issues (bug 16609).Joseph Myers2014-02-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In <https://sourceware.org/ml/libc-alpha/2013-12/msg00008.html>, Aurelien noted issues with the definition of __ASSUME_ACCEPT4, which I discussed in more detail in <https://sourceware.org/ml/libc-alpha/2013-12/msg00014.html>; these are now bug 16609. As previously noted, __ASSUME_ACCEPT4 is used in two ways: * In OS-independent code, to mean "accept4 can be assumed to work rather than fail with ENOSYS". It doesn't matter whether it's implemented with socketcall or a separate syscall. * In Linux-specific code, to mean "the socketcall multiplex syscall can be assumed to handle the accept4 operation. When used in Linux-specific code, it *never* refers to anything relating to the accept4 syscall, only to the socketcall multiplexer. This patch splits the macro into separate __ASSUME_ACCEPT4_SOCKETCALL, __ASSUME_ACCEPT4_SYSCALL and __ASSUME_ACCEPT4 to clarify the different cases involved. A macro __ASSUME_SOCKETCALL is added for convenience in writing logic relating to all socketcall architectures. In addition, to address the issue of architectures where socketcall support for accept4 was added before a separate syscall was added (and so the separate syscall should not be used unless known to be present or fallback to socketcall is available), a fourth macro __ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL is added to indicate that the syscall became available at the same time as socketcall support. This is then used in the relevant places in a conditional determining whether to undefine __NR_accept4 (the simple approach to avoiding the syscall's presence causing problems; I didn't try to implement runtime fallback from the syscall to socketcall). Architecture-specific note: alpha defined __ASSUME_ACCEPT4 for 2.6.33 and later, but actually the syscall was added for alpha in 3.2, so this patch uses the correct condition for __ASSUME_ACCEPT4_SYSCALL there. Tested x86_64, including that disassembly of the installed shared libraries is unchanged by this patch. [BZ #16609] * sysdeps/unix/sysv/linux/kernel-features.h [__i386__ || __powerpc__ || __s390__ || __sh__ || __sparc__] (__ASSUME_SOCKETCALL): Define. [__LINUX_KERNEL_VERSION && __ASSUME_SOCKETCALL] (__ASSUME_ACCEPT4_SOCKETCALL): Likewise. [(__LINUX_KERNEL_VERSION >= 0x02061c && (__x86_64__ || __sparc__)) || (__LINUX_KERNEL_VERSION >= 0x020625 && (__powerpc__ || __sh__))] (__ASSUME_ACCEPT4_SYSCALL): Likewise. [__sparc__] (__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL): Likewise. [__ASSUME_ACCEPT4_SOCKETCALL || __ASSUME_ACCEPT4_SYSCALL] (__ASSUME_ACCEPT4): Define instead of using previous [__LINUX_KERNEL_VERSION >= 0x02061c && (__i386__ || __x86_64__ || __powerpc__ || __sparc__ || __s390__)] condition. * sysdeps/unix/sysv/linux/aarch64/kernel-features.h (__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL. * sysdeps/unix/sysv/linux/accept4.c [__ASSUME_SOCKETCALL && !__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL && !__ASSUME_ACCEPT4_SYSCALL] (__NR_accept4): Undefine. [!__ASSUME_ACCEPT4]: Change condition to [!__ASSUME_ACCEPT4_SOCKETCALL]. * sysdeps/unix/sysv/linux/alpha/kernel-features.h (__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL. Correct condition to [__LINUX_KERNEL_VERSION >= 0x030200]. * sysdeps/unix/sysv/linux/arm/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020624] (__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL. * sysdeps/unix/sysv/linux/i386/accept4.S [__ASSUME_ACCEPT4]: Change conditions to [__ASSUME_ACCEPT4_SOCKETCALL]. * sysdeps/unix/sysv/linux/ia64/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x030300] (__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL. * sysdeps/unix/sysv/linux/internal_accept4.S [__ASSUME_SOCKETCALL && !__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL && !__ASSUME_ACCEPT4_SYSCALL] (__NR_accept4): Undefine. [__ASSUME_ACCEPT4]: Change condition to [__ASSUME_ACCEPT4_SOCKETCALL]. * sysdeps/unix/sysv/linux/m68k/kernel-features.h (__ASSUME_SOCKETCALL): Define. [__LINUX_KERNEL_VERSION >= 0x02061c] (__ASSUME_ACCEPT4): Remove. * sysdeps/unix/sysv/linux/microblaze/kernel-features.h (__ASSUME_SOCKETCALL): Define. (__ASSUME_ACCEPT4): Remove. [__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_ACCEPT4_SYSCALL): Define. * sysdeps/unix/sysv/linux/mips/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x02061f] (__ASSUME_ACCEPT4_SYSCALL): Likewise. * sysdeps/unix/sysv/linux/tile/kernel-features.h (__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL. * sysdeps/unix/sysv/linux/hppa/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020622] (__ASSUME_ACCEPT4_SYSCALL): Define.
* Use glibc_likely instead __builtin_expect.Ondřej Bílka2014-02-109-16/+16
|
* Update copyright notices with scripts/update-copyrightsAllan McRae2014-01-0179-79/+79
|
* Fix typos.Ondřej Bílka2013-08-301-1/+1
|
* CVE-2013-4237, BZ #14699: Buffer overflow in readdir_rFlorian Weimer2013-08-161-1/+0
| | | | | | | | | | | | | | | | | | | | * sysdeps/posix/dirstream.h (struct __dirstream): Add errcode member. * sysdeps/posix/opendir.c (__alloc_dir): Initialize errcode member. * sysdeps/posix/rewinddir.c (rewinddir): Reset errcode member. * sysdeps/posix/readdir_r.c (__READDIR_R): Enforce NAME_MAX limit. Return delayed error code. Remove GETDENTS_64BIT_ALIGNED conditional. * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: Do not define GETDENTS_64BIT_ALIGNED. * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise. * manual/filesys.texi (Reading/Closing Directory): Document ENAMETOOLONG return value of readdir_r. Recommend readdir more strongly. * manual/conf.texi (Limits for Files): Add portability note to NAME_MAX, PATH_MAX. (Pathconf): Add portability note for _PC_NAME_MAX, _PC_PATH_MAX.
* Add GLRO(dl_hwcap2) for new AT_HWCAP2 auxv_t a_type.Ryan S. Arnold2013-06-281-1/+5
|
* New API to set default thread attributesSiddhesh Poyarekar2013-06-151-0/+4
| | | | | | | This patch introduces two new convenience functions to set the default thread attributes used for creating threads. This allows a programmer to set the default thread attributes just once in a process and then run pthread_create without additional attributes.
* New <math.h> macro named issignaling to check for a signaling NaN (sNaN).Thomas Schwinge2013-04-021-0/+5
| | | | It is based on draft TS 18661 and currently enabled as a GNU extension.
* Remove remaining bounded-pointers support from i386 .S files.Joseph Myers2013-02-215-28/+20
|
* C++11 thread_local destructors supportSiddhesh Poyarekar2013-02-181-0/+3
| | | | | | | | | | | This feature is specifically for the C++ compiler to offload calling thread_local object destructors on thread program exit, to glibc. This is to overcome the possible complication of destructors of thread_local objects getting called after the DSO in which they're defined is unloaded by the dynamic linker. The DSO is marked as 'unloadable' if it has a constructed thread_local object and marked as 'unloadable' again when all the constructed thread_local objects defined in it are destroyed.
* Remove __ptrvalue, __bounded and __unbounded.Joseph Myers2013-02-139-17/+16
|
* Remove CHECK_N and bp-checks.h.Joseph Myers2013-02-083-6/+2
|
* Remove CHECK_1 and CHECK_1_NULL_OK.Joseph Myers2013-02-089-25/+12
|
* Remove CHECK_STRING, CHECK_STRING_NULL_OK and __ubp_memchr.Joseph Myers2013-02-046-19/+12
|
* Remove bp-semctl.h and CHECK_SEMCTL.Joseph Myers2013-01-311-5/+2
|
* Remove bp-thunks code.Joseph Myers2013-01-311-4/+0
|
* Update copyright notices with scripts/update-copyrights.Joseph Myers2013-01-0279-79/+79
|
* BZ#14743: Move clock_* symbols from librt to libc.Roland McGrath2012-10-242-4/+9
|
* Remove __ASSUME_STAT64_SYSCALL.Joseph Myers2012-08-274-162/+4
|
* Remove __ASSUME_FADVISE64_64_SYSCALL.Joseph Myers2012-08-211-68/+1
|
* Remove __ASSUME_MMAP2_SYSCALL.Joseph Myers2012-08-202-67/+0
|
* Missing #include updates for dirstream code move from unix to posix.Roland McGrath2012-08-081-3/+3
|
* Move common dirent implementation from sysdeps/unix to sysdeps/posix.Roland McGrath2012-08-071-3/+3
|
* Remove __ASSUME_FCNTL64.Joseph Myers2012-08-012-261/+8
|
* Remove __ASSUME_VFORK_SYSCALL (and some __NR_vfork conditionals).Joseph Myers2012-08-011-23/+0
|
* BZ#14138: Move getrlimit (ugetrlimit) syscall to syscalls.list.Roland McGrath2012-08-011-38/+0
|
* Remove unused pseudo_end labelAndreas Schwab2012-07-2514-37/+15
|
* Rename __secure_getenv to secure_getenvFlorian Weimer2012-07-251-0/+3
|
* Move localplt baselines to sysdeps directories.Joseph Myers2012-07-201-0/+7
|
* Move c++-types baselines to sysdeps directories.Joseph Myers2012-07-171-0/+67
|
* Use x86_64 bits/{debugreg,reg}.h for i386 and x86-64H.J. Lu2012-06-042-132/+0
|
* Use x86_64 bits/{io,perm}.h for i386 and x86_64H.J. Lu2012-06-042-219/+0
|
* Use i386 sys/elf.h and sys/vm86.h for i386 and x86-64H.J. Lu2012-06-013-68/+0
|
* Use i386 bits/wchar.h for i386 and x86-64H.J. Lu2012-06-011-32/+0
|
* Support __WORDSIZE == 64 in i386 bits/wchar.hH.J. Lu2012-05-311-4/+11
|
* Use x86_64 sys/{ucontext,user}.h for i386 and x86_64H.J. Lu2012-05-312-230/+0
|
* Use x86_64 sys/procfs.h for both i386 and x86_64H.J. Lu2012-05-311-130/+0
|
* Use x86_64 bits/mman.h for both i386 and x86_64H.J. Lu2012-05-311-112/+0
|
* Use x86_64 bits/fcntl.h for both i386 and x86_64H.J. Lu2012-05-311-321/+0
|
* Use x86_64 bits/environments.h for i386 and x86_64H.J. Lu2012-05-311-67/+0
|
* Use x86_64 bits/a.out.h for both i386 and x86_64H.J. Lu2012-05-311-3/+0
|
* Add x86-64 support to i386 sys/elf.h and sys/vm86.hH.J. Lu2012-05-312-5/+13
|
* Convert WORDSIZE[32|64]/ld entries to abi-variantsH.J. Lu2012-05-302-0/+4
|