aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
AgeCommit message (Collapse)AuthorFilesLines
2013-04-23S/390: Change struct statfs[64] member types to unsigned valuesHeiko Carstens1-12/+12
Kay Sievers reported that coreutils' stat tool has a problem with s390's statfs[64] definition: > The definition of struct statfs::f_type needs a fix. s390 is the only > architecture in the kernel that uses an int and expects magic > constants lager than INT_MAX to fit into. > > A fix is needed to make Fedora boot on s390, it currently fails to do > so. Userspace does not want to add code to paper-over this issue. [...] > Even coreutils cannot handle it: > #define RAMFS_MAGIC 0x858458f6 > # stat -f -c%t / > ffffffff858458f6 > > #define BTRFS_SUPER_MAGIC 0x9123683E > # stat -f -c%t /mnt > ffffffff9123683e The bug is caused by an implicit sign extension within the stat tool: out_uint_x (pformat, prefix_len, statfsbuf->f_type); where the format finally will be "%lx". A similar problem can be found in the 'tail' tool. s390 is the only architecture which has an int type f_type member in struct statfs[64]. Other architectures have either unsigned ints or long values, so that the problem doesn't occur there. Therefore change the type of the f_type member to unsigned int, so that we get zero extension instead sign extension when assignment to a long value happens. Reported-by: Kay Sievers <kay@vrfy.org> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
2013-04-18Remove __wur from setfsuid and setfsgid.Adam Conrad1-2/+2
2013-04-03Preserve errno across _PC_CHOWN_RESTRICTED call on XFSSiddhesh Poyarekar2-0/+13
Fix BZ #15305. On kernel versions earlier than 2.6.29, the Linux kernel exported a sysctl called restrict_chown for xfs, which could be used to allow chown to users other than the owner. 2.6.29 removed this support, causing the open_not_cancel_2 to fail and thus modify errno. The fix is to save and restore errno so that the caller sees it as unmodified. Additionally, since the code to check the sysctl is not useful on newer kernels, we add an ifdef so that in future the code block gets rmeoved completely.
2013-04-02New <math.h> macro named issignaling to check for a signaling NaN (sNaN).Thomas Schwinge10-0/+49
It is based on draft TS 18661 and currently enabled as a GNU extension.
2013-03-19Consolidate Linux and POSIX libc_fatal code.Roland McGrath1-179/+37
2013-03-15Move _dl_non_dynamic_init, _dl_aux_init declarations.Roland McGrath1-6/+0
2013-03-15PowerPC: gettimeofday optimization by using IFUNCAdhemerval Zanella2-12/+46
2013-03-14Fix formatting in last changeSiddhesh Poyarekar1-1/+1
2013-03-14Fix __times() handling of EFAULT when buf is NULLPetr Baudis1-4/+6
2013-03-11Remove extra pthread_atfork compat symbolsAndreas Schwab1-1/+0
2013-03-08PowerPC: unify math_ldbl.h implementationsAdhemerval Zanella1-4/+0
This patch removes redudant definition from PowerPC specific math_ldbl, using the definitions from ieee754 math_ldbl.h.
2013-03-07Install <bits/mman-linux.h>Andreas Jaeger1-1/+2
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add bits/mman-linux.h.
2013-03-07Remove PIPE_BUF Linux-specific codeSiddhesh Poyarekar2-24/+0
Fixes BZ #12723 The variable pipe buffer size does nothing to the value of PIPE_BUF, since the number of bytes that are atomically written is still PIPE_BUF on Linux.
2013-03-06Use <bits/mman-linux.h> for MIPSAndreas Jaeger1-1/+5
* sysdeps/unix/sysv/linux/bits/mman-linux.h (MAP_ANONYMOUS): Allow definition via __MAP_ANONYMOUS. * sysdeps/unix/sysv/linux/mips/bits/mman.h: Remove all defines provided by bits/mman-linux.h and include <bits/mman-linux.h>. (__MAP_ANONYMOUS): Define.
2013-03-06Remove MAP_GROWSUP on s390Andreas Jaeger1-2/+0
* sysdeps/unix/sysv/linux/s390/bits/mman.h (MAP_GROWSUP): Remove, it's not part of Linux headers.
2013-03-06Sync with Linux 3.8Andreas Jaeger13-4/+35
2013-03-06Remove powerpc64 bounded-pointers code.Joseph Myers2-14/+6
2013-03-05Define MCL_CURRENT, MCL_FUTURE in bits/mman-linux.hAndreas Jaeger6-29/+23
* sysdeps/unix/sysv/linux/s390/bits/mman.h: Include <bits/mman-linux.h>. (MCL_CURRENT, MCL_FUTURE): Do not define here, the generic value is fine. * sysdeps/unix/sysv/linux/sh/bits/mman.h: Move include of <bits/mman-linux.h> to end of file. (MCL_CURRENT, MCL_FUTURE): Do not define here, the generic value is fine. * sysdeps/unix/sysv/linux/x86/bits/mman.h: Move include of <bits/mman-linux.h> to end of file. (MCL_CURRENT, MCL_FUTURE): Do not define here, the generic value is fine. * sysdeps/unix/sysv/linux/sparc/bits/mman.h: Move include of <bits/mman-linux.h> to end of file. * sysdeps/unix/sysv/linux/bits/mman-linux.h [!MCL_CURRENT] (MCL_CURRENT, MCL_FUTURE): Define here.
2013-03-05S/390: Fix rt_sigprocmask syscall invocation in get/set/swapcontext.Andreas Krebbel7-86/+100
2013-03-04Create <bits/mman-linux.h>Andreas Jaeger6-338/+104
* sysdeps/unix/sysv/linux/bits/mman-linux.h: New file, with Linux common definitions. * sysdeps/unix/sysv/linux/sh/bits/mman.h: Remove all defines provided by bits/mman-linux.h and include <bits/mman-linux.h>. * sysdeps/unix/sysv/linux/x86/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/mman.h: Likewise.
2013-03-01Fix NEED_DL_SYSINFO_DSO conditionals.Roland McGrath1-1/+1
2013-02-28Remove powerpc32 bounded-pointers code.Joseph Myers2-14/+6
2013-02-21Remove remaining bounded-pointers support from i386 .S files.Joseph Myers6-30/+20
2013-02-18C++11 thread_local destructors supportSiddhesh Poyarekar10-0/+30
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.
2013-02-18FUTEX_*_REQUEUE_PI support for non-x86 codeSiddhesh Poyarekar1-0/+5
Add FUTEX_*_REQUEUE_PI support for the default C code and also add implementations for s-390 and ppc.
2013-02-17Remove bounded-pointers handling from x86_64 assembly sources.Joseph Myers3-9/+3
2013-02-15Remove miscellaneous bounded-pointers relics in C code.Joseph Myers1-9/+0
2013-02-14Remove bp-sym.h and BP_SYM uses from C code.Joseph Myers1-9/+6
2013-02-13Remove __ptrvalue, __bounded and __unbounded.Joseph Myers30-83/+66
2013-02-08Remove CHECK_N and bp-checks.h.Joseph Myers29-92/+44
2013-02-08Remove CHECK_1 and CHECK_1_NULL_OK.Joseph Myers31-152/+42
2013-02-07Remove lots of inline keywords.Roland McGrath1-1/+1
2013-02-05Move nss directory into sysdeps Subdirs.Roland McGrath1-0/+1
2013-02-04Remove CHECK_STRING, CHECK_STRING_NULL_OK and __ubp_memchr.Joseph Myers22-84/+35
2013-02-01Remove BOUNDED_N and BOUNDED_1.Joseph Myers1-2/+1
2013-02-01Remove bp-start.h and INIT_ARGV_and_ENVIRON.Joseph Myers1-1/+0
2013-01-31Remove CHECK_SIGSET and CHECK_SIGSET_NULL_OK.Joseph Myers10-23/+11
2013-01-31Remove bp-semctl.h and CHECK_SEMCTL.Joseph Myers4-22/+10
2013-01-31Remove bp-thunks code.Joseph Myers4-133/+0
2013-01-23ulimit: remove buggy bsd implementationPino Toscano1-91/+0
The bsd implementation of ulimit produces wrong return values, so remove it in favour of the posix implementation. The only regression for non-Linux implementations using bsd sysdeps and not providing an own ulimit is that the __UL_GETMAXBRK case (which is non-standard) is left unimplemented (giving EINVAL).
2013-01-23ulimit: move linux implementation as posixPino Toscano1-91/+0
The linux implementation of ulimit works correctly and has nothing specific to Linux, so move it as general posix implementation.
2013-01-23Make bits/wchar.h correct for all architectures (bug 15036).Joseph Myers1-32/+0
2013-01-18PowerPC: Rename __kernel_vdso_get_tbfreq to __kernel_get_tbfreq.Anton Blanchard4-29/+33
In order for the __kernel_get_tbfreq vDSO call to work the INTERNAL_VSYSCALL_NCS macro needed to be updated to prevent it from assuming an integer return type (since the timebase frequency is a 64-bit value) by specifying the type of the return type as a macro parameter. The macro then specifically declares the return value as a 'register' (or implied pair) of the denoted type. The compiler is then informed that this register (or implied pair) is to be used for the return value.
2013-01-17Add HAVE_MREMAP for mremap usagePino Toscano1-0/+2
Introduce (only on Linux) and use a HAVE_MREMAP symbol to advertize mremap availability. Move the malloc-sysdep.h include from arena.c to malloc.c, since what is provided by malloc-sysdep.h is needed earlier in malloc.c, before the inclusion of arena.c.
2013-01-15scsi/sg.h: include stddef.h for size_tMike Frysinger1-0/+2
This header uses size_t but doesn't include stddef.h for it. So when packages happen to include this before any header that defines size_t, they get a build failure. Reviewed-by: Carlos O'Donell <codonell@redhat.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-01-11Adjust sparc for Roland's multiarch sysdep directory changes.David S. Miller1-0/+4
* sysdeps/sparc/sparc32/sparcv9/fpu/unix/sysv/linux/multiarch/Implies: Move to... * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/fpu/multiarch/Implies: Here.
2013-01-11Remove __GLIBC_HAVE_LONG_LONG.Joseph Myers1-10/+5
2013-01-11Add MSG_FASTOPENAndreas Jaeger1-0/+2
[BZ #15003] * sysdeps/unix/sysv/linux/bits/socket.h (MSG_FASTOPEN): New value. Sync with Linux 3.7.
2013-01-10Use __extension__ with long long in installed headers.Joseph Myers3-4/+4
2013-01-10Correct _XXX_ILP32_OFFBIG for x32H.J. Lu1-8/+17