about summary refs log tree commit diff
path: root/sysdeps/unix
Commit message (Collapse)AuthorAgeFilesLines
* Remove sysdeps/unix/sysv/linux/arm/lowlevellock.hRoland McGrath2014-08-011-307/+0
|
* ARM: Move PTR_MANGLE et al out of Linux-specific file.Roland McGrath2014-08-011-44/+0
|
* Add __safe_fatal and use it in __pthread_unwind forwarder fallback.Roland McGrath2014-07-311-0/+33
|
* Split nptl-signals.h out from pthreadP.hRoland McGrath2014-07-311-0/+33
|
* S/390: Revert the jmp_buf/ucontext_t ABI change.Stefan Liebler2014-07-3118-321/+87
|
* fcntl-linux.h: add new definitions and manual updates for open file ↵Jeff Layton2014-07-291-0/+17
| | | | | | | | description locks Open file description locks have been merged into the Linux kernel for v3.15. Add the appropriate command-value definitions and an update to the manual that describes their usage.
* m68k: use generic lowlevellock.hAndreas Schwab2014-07-181-308/+0
|
* [PATCH 6/6] Split s390 out of main Linux kernel-features.h.Joseph Myers2014-07-172-3/+23
| | | | | | | | | | This patch splits s390 out of the main Linux kernel-features.h. Not tested. * sysdeps/unix/sysv/linux/s390/kernel-features.h: New file. * sysdeps/unix/sysv/linux/kernel-features.h [__s390__] (__ASSUME_SOCKETCALL): Do not define.
* [PATCH 5/6] Split sh out of main Linux kernel-features.h.Joseph Myers2014-07-172-25/+44
| | | | | | | | | | | | | | | | | | This patch splits sh out of the main Linux kernel-features.h. Not tested. * sysdeps/unix/sysv/linux/sh/kernel-features.h: New file. * sysdeps/unix/sysv/linux/kernel-features.h [__sh__] (__ASSUME_SOCKETCALL): Do not define. (__ASSUME_ST_INO_64_BIT): Define unconditionally. [__LINUX_KERNEL_VERSION >= 0x020625 && __sh__] (__ASSUME_ACCEPT4_SYSCALL): Do not define. [__LINUX_KERNEL_VERSION >= 0x020625 && __sh__] (__ASSUME_RECVMMSG_SYSCALL): Likewise. [__LINUX_KERNEL_VERSION >= 0x030000 && __sh__] (__ASSUME_SENDMMSG_SYSCALL): Likewise. [__sh__] (__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
* [PATCH 4/6] Split powerpc out of main Linux kernel-features.h.Joseph Myers2014-07-172-13/+48
| | | | | | | | | | | | | | | | | | | This patch splits powerpc out of the main Linux kernel-features.h. Not tested. * sysdeps/unix/sysv/linux/powerpc/kernel-features.h: New file. * sysdeps/unix/sysv/linux/kernel-features.h [__powerpc__] (__ASSUME_SOCKETCALL): Do not define. (__ASSUME_IPC64): Define unconditionally. [__LINUX_KERNEL_VERSION >= 0x020625 && __powerpc__] (__ASSUME_ACCEPT4_SYSCALL): Do not define. [__LINUX_KERNEL_VERSION >= 0x020625 && __powerpc__] (__ASSUME_RECVMMSG_SYSCALL): Likewise. [__LINUX_KERNEL_VERSION >= 0x030000 && __powerpc__] (__ASSUME_SENDMMSG_SYSCALL): Likewise. [__powerpc__] (__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
* [PATCH 3/6] Split sparc out of main Linux kernel-features.h.Joseph Myers2014-07-172-27/+57
| | | | | | | | | | | | | | | | | | | | | This patch splits sparc out of the main Linux kernel-features.h. Not tested. * sysdeps/unix/sysv/linux/sparc/kernel-features.h: New file. * sysdeps/unix/sysv/linux/kernel-features.h [__sparc__] (__ASSUME_SOCKETCALL): Do not define. (__ASSUME_SET_ROBUST_LIST): Define unconditionally. (__ASSUME_FUTEX_LOCK_PI): Likewise. [__sparc__] (__ASSUME_ACCEPT4_SYSCALL): Do not define. [__sparc__] (__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL): Likewise. (__ASSUME_REQUEUE_PI): Define unconditionally. [__LINUX_KERNEL_VERSION >= 0x020621 && __sparc__] (__ASSUME_RECVMMSG_SYSCALL): Do not define. [__sparc__] (__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL): Likewise. [__LINUX_KERNEL_VERSION >= 0x030000 && __sparc__] (__ASSUME_SENDMMSG_SYSCALL): Likewise. [__sparc__] (__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
* [PATCH 2/6] Split i386 out of main Linux kernel-features.h.Joseph Myers2014-07-172-7/+40
| | | | | | | | | | | | | | | | | This patch splits i386 out of the main Linux kernel-features.h. Tested x86 that there are no changes to disassembly of installed shared libraries. * sysdeps/unix/sysv/linux/i386/kernel-features.h: New file. * sysdeps/unix/sysv/linux/kernel-features.h [__i386__] (__ASSUME_SOCKETCALL): Do not define. [__LINUX_KERNEL_VERSION >= 0x020621 && __i386__] (__ASSUME_RECVMMSG_SYSCALL): Likewise. [__i386__] (__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL): Likewise. [__LINUX_KERNEL_VERSION >= 0x030000 && __i386__] (__ASSUME_SENDMMSG_SYSCALL): Likewise. [__i386__] (__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise.
* [PATCH 1/6] Split x86_64 out of main Linux kernel-features.h.Joseph Myers2014-07-172-9/+42
| | | | | | | | | | | | | | | | | This patch splits x86_64 out of the main Linux kernel-features.h. Tested x86_64 that there are no changes to disassembly of installed shared libraries. * sysdeps/unix/sysv/linux/x86_64/kernel-features.h: New file. * sysdeps/unix/sysv/linux/kernel-features.h [__x86_64__] (__ASSUME_ACCEPT4_SYSCALL): Do not define. [__LINUX_KERNEL_VERSION >= 0x020621 && __x86_64__] (__ASSUME_RECVMMSG_SYSCALL): Likewise. [__LINUX_KERNEL_VERSION >= 0x030000 && __x86_64__] (__ASSUME_SENDMMSG_SYSCALL): Likewise. [__x86_64__ && __LINUX_KERNEL_VERSION >= 0x030100] (__ASSUME_GETCPU_SYSCALL): Likewise.
* Refactor handling of /lib64 etc. cases, move out of sysdeps/gnu/configure.ac.Joseph Myers2014-07-1714-88/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch continues removing architecture-specific cases from non-architecture-specific files by moving the logic to use directories such as /lib64 out of sysdeps/gnu/configure.ac. A new macro LIBC_SLIBDIR_RTLDDIR is created that sysdeps configure scripts can use to declare the library directories to be used; the logic was previously duplicated in configure fragments for aarch64, mips and x32 as well as in sysdeps/gnu/configure.ac. This macro is used directly in sysdeps/gnu/configure.ac only to provide the /lib default (the logic saying that with --prefix=/usr shared libraries go in /lib not /usr/lib); the architecture cases formerly there are moved into various new or existing configure.ac files. The new macro is also used in the various architecture fragments that already had such logic. In the x32 there was previously a configure fragment, but it was a directly written one without a .ac file; now a .ac file is used there instead to generate configure. Tested x86_64 that the installed shared libraries, and the directory structure of the installation, are unchanged by this patch. There is an old bug report - bug 6441 - about library directories changing after reconfiguring. If this is still applicable - and I haven't attempted to confirm it or review the old patch pointed to in that bug - then this patch should reduce the number of places needing changing in any fix. * aclocal.m4 (LIBC_SLIBDIR_RTLDDIR): New macro. * sysdeps/gnu/configure.ac: Use LIBC_SLIBDIR_RTLDDIR. Remove cases for individual architectures. * sysdeps/gnu/configure: Regenerated. * sysdeps/unix/sysv/linux/aarch64/configure.ac: Use LIBC_SLIBDIR_RTLDDIR. * sysdeps/unix/sysv/linux/aarch64/configure: Regenerated. * sysdeps/unix/sysv/linux/mips/configure.ac: Use LIBC_SLIBDIR_RTLDDIR. * sysdeps/unix/sysv/linux/mips/configure: Regenerated. * sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac: Use LIBC_SLIBDIR_RTLDDIR. * sysdeps/unix/sysv/linux/powerpc/powerpc64/configure: Regenerated. * sysdeps/unix/sysv/linux/s390/s390-64/configure.ac: New file. * sysdeps/unix/sysv/linux/s390/s390-64/configure: New generated file. * sysdeps/unix/sysv/linux/sparc/sparc64/configure.ac: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/configure: New generated file. * sysdeps/unix/sysv/linux/x86_64/64/configure.ac: New file. * sysdeps/unix/sysv/linux/x86_64/64/configure: New generated file. * sysdeps/unix/sysv/linux/x86_64/x32/configure.ac: New file. * sysdeps/unix/sysv/linux/x86_64/x32/configure: Generate.
* Move architecture shlib-versions files to Linux-specific directories.Joseph Myers2014-07-1711-0/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various architectures have files such as sysdeps/<arch>/shlib-versions whose contents are in fact entirely Linux-specific, relating only to the symbol / shared library versions for the port to Linux on that architecture, when any future port to a different OS on that architecture would use the symbol version of the glibc release it goes in, as standard for new ports. This patch moves such files under sysdeps/unix/sysv/linux/, merging in the contents of sysdeps/<arch>/nptl/shlib-versions in the process. The only bits not moved are those relating to libgcc_s versions, which don't appear OS-specific in the same way that glibc's symbol versions so. It deliberately does not change the regular expressions given for matching configurations in each file; some match only Linux although not Linux-specific, or match other OSes although Linux-specific. It is with a view to at least the following further cleanups: * Move architecture-specific content from the toplevel shlib-versions and nptl/shlib-versions into sysdeps shlib-versions files, so eliminating another difference between ex-ports and non-ex-ports architectures. * Likewise, for OS-specific content in shlib-versions files. * At that point, the first field in shlib-versions files (the regular expression matching a configuration triplet) should be redundant, so eliminate that field and leave shlib-versions selection working purely on a sysdeps basis (with limited use of %ifdef in shlib-versions files when needed) rather than having its own separate mechanism to select what configuration information is relevant. * Move the build of gnu/lib-names.h to a similar mechanism to that used for gnu/stubs.h (each library build installing a version of the header specifically for that build), so we can eliminate the duplication of soname information in the makefiles and get it purely from shlib-versions files again. There may be other cleanups possible as well (in particular, I'm not sure that all cases where the same "Earliest symbol set" information is repeated for many different libraries actually should need to repeat it rather than specifying it just once for DEFAULT for the given configuration, and separately specifying any non-default choices of soname). Tested x86_64 that the installed shared libraries are unchanged by this patch. * sysdeps/aarch64/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/aarch64/shlib-versions: ... here. * sysdeps/alpha/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/alpha/shlib-versions: ... here. * sysdeps/arm/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/arm/shlib-versions: ... here. * sysdeps/hppa/shlib-versions: Move all contents except for libgcc_s entry to ... * sysdeps/unix/sysv/linux/hppa/shlib-versions: ... here. Merge in entry from ... * sysdeps/hppa/nptl/shlib-versions: ... here. Remove file. * sysdeps/ia64/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/ia64/shlib-versions: ... here. Merge in entry from ... * sysdeps/ia64/nptl/shlib-versions: ... here. Remove file. * sysdeps/m68k/coldfire/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions: ... here. * sysdeps/microblaze/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/microblaze/shlib-versions: ... here. * sysdeps/mips/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/mips/shlib-versions: ... here. Merge in entry from ... * sysdeps/mips/nptl/shlib-versions: ... here. Remove file. * sysdeps/tile/shlib-versions: Move to ... * sysdeps/unix/sysv/linux/tile/shlib-versions: ... here. * sysdeps/unix/sysv/linux/x86_64/64/shlib-versions: Merge in entry from ... * sysdeps/x86_64/64/shlib-versions: ... here. Remove file. * sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions: Merge in entry from ... * sysdeps/x86_64/x32/shlib-versions: ... here. Remove file.
* ARM: Clean up EABI-related configuryRoland McGrath2014-07-162-21/+0
|
* Separate Linuxisms from lowlevellock.h, make a generic oneRoland McGrath2014-07-151-0/+137
|
* PowerPC: Fix build due missing lll_robust_trylockAdhemerval Zanella2014-07-101-2/+17
| | | | | | | Commit 887865f remove the lll_robust_trylock definition on all architectures, however for powerpc both __lll_trylock and __lll_cond_trylock were based on lll_robust_trylock definition. This patch restore it with a different name.
* Get rid of lll_robust_dead.Roland McGrath2014-07-1015-157/+0
|
* Get rid of lll_robust_trylock.Roland McGrath2014-07-1015-137/+0
|
* Fix crash when system has no ipv6 address [BZ #17125]Siddhesh Poyarekar2014-07-101-1/+7
| | | | | | | | | | | Here's an updated patch to fix the crash in bug-ga2 when the system has no configured ipv6 address. I have taken a different approach of using libc_freeres_fn instead of the libc_freeres_ptr since the former gives better control over what is freed; we need that since cache may or may not be allocated using malloc. Verified that bug-ga2 works correctly in both cases and does not have memory leaks in either of them.
* Fix missing newline in test outputAndreas Schwab2014-07-091-1/+1
|
* NPTL is no longer an add-on!Roland McGrath2014-07-0719-54/+18
|
* Get rid of nptl/sysdeps/ entirely!Roland McGrath2014-07-0741-121/+1989
|
* Fix ia64 build error in lll_futex_timed_wait_bitsetRoland McGrath2014-07-031-1/+1
|
* Robustify Linux kernel headers configure checksRoland McGrath2014-07-032-153/+32
|
* Add missing #include for MIN use in dl-sysdep.c.Roland McGrath2014-07-021-0/+1
|
* hppa: Remove GLIBC_2.3 from librt.abilist.Carlos O'Donell2014-07-021-4/+0
| | | | | | This commit removes the aio_cancel and aio_cancel64 symbols at GLIBC_2.3 from the ABI baseline. The ABI baseline is now complete for hppa and considered stable.
* hppa: Add ABI baselines.Carlos O'Donell2014-07-0114-6/+3202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following ABI baselines were tested against several old releases of debian and gentoo. Several problems were discovered and fixed as part of developing the ABI baselines. Firstly, libBrokenLocale on gentoo exports __ctype_get_mb_cur_max as @@GLIBC_2.0, but it should be @@GLIBC_2.2 since that's the minimum version defined in shlib-versions for hppa. I don't know when this broke, but master properly parses hppa's shlib-versions which clearly lists libBrokenLocale as defaulting to GLIBC_2.2. Therefore I'm accepting GLBIC_2.2 as the correct version for this symbol and setting the baseline to that, despite the fact that the present distribution is wrong. I don't expect that any new applications should be using libBrokenLocale, so it should match the oldest behaviour which is to export a GLIBC_2.2 symbol. For example in debian's 2.7 has it at version GLIBC_2.2. Secondly, aio_cancel and aio_cancel64 previously had a compat symbol at version @GLIBC_2.1 with a new symbol at @@GLIBC_2.3[1]. During the Linuxthreads to NPTL transition the file aio_cancel.c was lost for hppa and that resulted in just @@GLIBC_2.1 versions of these symbols being exported. The @@GLIBC_2.1 version works correctly and uses the right value of ECANCELLED. Therefore if I were to fix this today it might break correctly working applications using aio_cancel*@GLIBC_2.1 by causing those to use the old aio_cancel that used the older value of ECANCELLED. Thus the best option is to accept that the ABI changed and ignore older applications in favour of newer applications. The best thing to do is cleanup the version files (included in the patch). The rest of the ABI was as expected (ignoring __p_type_syms size change in 2008).
* Add missing #include for MIN/MAX users.Roland McGrath2014-07-011-0/+1
|
* MicroBlaze: Update kernel-features.h for syscalls added in 3.15Joseph Myers2014-07-011-5/+7
| | | | | | | | | | | | | | | | Now that the MicroBlaze 3.15 kernel has the pselect6, preadv and pwritev syscalls, this patch updates kernel-features.h so they are assumed to be present for 3.15 and later kernels. 2014-06-17 Joseph Myers <joseph@codesourcery.com> * sysdeps/unix/sysv/linux/microblaze/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x030f00] (__ASSUME_PSELECT): Do not undefine. [__LINUX_KERNEL_VERSION >= 0x030f00] (__ASSUME_PREADV): Likewise. [__LINUX_KERNEL_VERSION >= 0x030f00] (__ASSUME_PWRITEV): Likewise. Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
* MicroBlaze: Consolidate nptl/ subdirectories under linux/...Roland McGrath2014-07-0117-0/+0
| | | | Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
* MicroBlaze: Consolidate NPTL/non versions of vforkRoland McGrath2014-07-013-21/+1
|
* MicroBlaze: Move NPTL public headers to sysdeps/microblaze/nptl/.Roland McGrath2014-07-012-213/+0
|
* MicroBlaze: Define TLS_DEFINE_INIT_TPRoland McGrath2014-07-011-23/+0
|
* MicroBlaze: Convert fork.c to arch-fork.hRoland McGrath2014-07-011-4/+2
|
* MicroBlaze: Add missing sysdep-cancel.h implementationDavid Holsgrove2014-07-013-1/+164
| | | | | | | | | | | | | | | And update socket.S, Makefile to use *_nocancel definitions. Absence of sysdep-cancel.h was not apparent until Roland's not-cancel.h unification. 2014-06-30 David Holsgrove <david.holsgrove@xilinx.com> * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h: New file * sysdeps/unix/sysv/linux/microblaze/socket.S: Update SINGLE_THREAD_P * sysdeps/unix/sysv/linux/microblaze/Makefile: Add to libpthread-routines Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
* ARM: Split Linuxism out of sysdeps/arm/nptl/tls.hRoland McGrath2014-06-301-0/+42
|
* sysdeps/unix/sysv/linux/bits/socket.h: Correct formattingMaciej W. Rozycki2014-06-301-74/+74
| | | | | * sysdeps/unix/sysv/linux/bits/socket.h: Adjust macro formatting throughout.
* MIPS: Consolidate nptl/ subdirectories under linux/...Roland McGrath2014-06-2754-942/+0
|
* MIPS: Consolidate NPTL/non versions of vforkRoland McGrath2014-06-274-87/+19
|
* Fix MIPS64 *_nocancel gp setup.Joseph Myers2014-06-261-1/+1
| | | | | | | | | | | | | | | | | | | | | The 64-bit MIPS ABIs involve the caller setting up t9 ($25) to the address of the called function, and the called function then using this in a .cpsetup directive to compute gp. The .cpsetup directive needs to name the function to which t9 points for this purpose. In the definition of *_nocancel functions, the directive pointed to the normal entry point rather than the _nocancel one, resulting in segfaults when the _nocancel functions were used. This patch corrects the function name used in the directive. (It seems the bug was latent until Roland's not-cancel.h unification, with the _nocancel entry points not previously being used - so not user-visible in a release, so no Bugzilla entry required.) Tested mips64 sufficiently to confirm the previously seen segfaults are fixed. * sysdeps/unix/sysv/linux/mips/mips64/nptl/sysdep-cancel.h [__PIC__] (PSEUDO): Use name of _nocancel entry point in corresponding .cpsetup call.
* ARM: Move more aeabi routine magic out of Linux-specific directoriesRoland McGrath2014-06-264-26/+4
|
* S390: Consolidate nptl/ subdirectories under linux/...Roland McGrath2014-06-2630-13/+0
|
* Move remaining S390 code out of nptl/.Roland McGrath2014-06-2625-0/+1449
|
* S390: Consolidate NPTL/non versions of vforkRoland McGrath2014-06-265-3/+120
|
* S390: Consolidate NPTL/non versions of cloneRoland McGrath2014-06-262-4/+0
|
* AArch64: Consolidate nptl/ subdirectories under linux/...Roland McGrath2014-06-2620-209/+0
|
* MIPS: Consolidate NPTL/non versions of cloneRoland McGrath2014-06-252-10/+0
|
* Remove __ASSUME_O_CLOEXEC / O_CLOEXEC conditionals in sysdeps/unix/sysv/linux/.Joseph Myers2014-06-253-56/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes conditionals on __ASSUME_O_CLOEXEC, and on O_CLOEXEC being defined, in sysdeps/unix/sysv/linux/, now that O_CLOEXEC support can be unconditionally assumed. The patch is conservative in what it changes and further followup cleanups may be possible. It may be possible to remove dl-opendir.c, but the patch does not do so, just removing a redundant undefine and redefine of __ASSUME_O_CLOEXEC. Also, __ASSUME_O_CLOEXEC is defined unconditionally for Hurd as well as Linux. Thus, if we decide that O_CLOEXEC support is a required feature of any glibc port, we could remove __ASSUME_O_CLOEXEC and all conditionals on it throughout glibc, rather than just cleaning up sysdeps/unix/sysv/linux/. Tested x86_64 that the disassembly of installed shared libraries is unchanged by this patch. * sysdeps/unix/sysv/linux/dl-opendir.c (__ASSUME_O_CLOEXEC): Do not undefine and redefine. * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs) [O_CLOEXEC]: Make code unconditional. (__get_nprocs) [!O_CLOEXEC]: Remove conditional code. * sysdeps/unix/sysv/linux/shm_open.c: Do not include <kernel-features.h>. [O_CLOEXEC && !__ASSUME_O_CLOEXEC] (have_o_cloexec): Remove conditional variable definition. (shm_open) [O_CLOEXEC]: Make code unconditional. (shm_open) [!O_CLOEXEC || !__ASSUME_O_CLOEXEC]: Remove conditional code.