summaryrefslogtreecommitdiff
path: root/sysdeps/unix
AgeCommit message (Collapse)AuthorFilesLines
2013-10-18Add e500 port.Joseph Myers2-1/+4
2013-10-04Move powerpc ports pieces to libc.Joseph Myers24-0/+4153
2013-10-04e500 port: adjust sysdeps/unix/sysv/linux/configure.in case.Joseph Myers2-2/+2
2013-10-04e500 port: getcontext / setcontext / swapcontext.Joseph Myers3-0/+17
2013-10-04PowerPC SIGSTKSZAlan Modra1-0/+54
http://sourceware.org/ml/libc-alpha/2013-08/msg00093.html This copies the sparc version of sigstack.h, which gives powerpc #define MINSIGSTKSZ 4096 #define SIGSTKSZ 16384 Before the VSX changes, struct rt_sigframe size was 1920 plus 128 for __SIGNAL_FRAMESIZE giving ppc64 exactly the default MINSIGSTKSZ of 2048. After VSX, ucontext increased by 256 bytes. Oops, we're over MINSIGSTKSZ, so powerpc has been using the wrong value for quite a while. Add another ucontext for TM and rt_sigframe is now at 3872, giving actual MINSIGSTKSZ of 4000. The glibc testcase that I was looking at was tst-cancel21, which allocates 2*SIGSTKSZ (not because the test is trying to be conservative, but because the test actually has nested signal stack frames). We blew the allocation by 48 bytes when using current mainline gcc to compile glibc (le ppc64). The required stack depth in _dl_lookup_symbol_x from the top of the next signal frame was 10944 bytes. I guess you'd want to add 288 to that, implying an actual SIGSTKSZ of 11232. * sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h: New file.
2013-10-04PowerPC makecontextAlan Modra2-4/+10
http://sourceware.org/ml/libc-alpha/2013-08/msg00092.html Use conditional form of branch and link to avoid destroying the cpu link stack used to predict blr return addresses. * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S: Use conditional form of branch and link when obtaining pc. * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: Likewise.
2013-10-04PowerPC LE _dl_hwcap accessAlan Modra3-16/+16
http://sourceware.org/ml/libc-alpha/2013-08/msg00091.html More LE support, correcting word accesses to _dl_hwcap. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S: Use HIWORD/LOWORD. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S: Ditto. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: Ditto.
2013-09-28tst-fanotify: fix styleMike Frysinger1-8/+9
Reported-by: Andreas Jaeger <aj@suse.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-09-28don't use Bash-specific ${parameter/pattern/string} expansionPatrick 'P. J.' McDermott2-3/+5
sysdeps/unix/make-syscalls.sh and sysdeps/unix/Makefile use GNU Bash's ${parameter/pattern/string} parameter expansion. Non-Bash shells (e.g. dash or BusyBox ash when built with CONFIG_ASH_BASH_COMPAT disabled) don't support this expansion syntax. So glibc will fail to build when $(SHELL) expands to a path that isn't provided by Bash. An example build failure: for dir in [...]; do \ test -f $dir/syscalls.list && \ { sysdirs='[...]' \ asm_CPP='gcc -c -I[...] -D_LIBC_REENTRANT -include include/libc-symbols.h -DASSEMBLER -g -Wa,--noexecstack -E -x assembler-with-cpp' \ /bin/sh sysdeps/unix/make-syscalls.sh $dir || exit 1; }; \ test $dir = sysdeps/unix && break; \ done > [build-dir]/sysd-syscallsT sysdeps/unix/make-syscalls.sh: line 273: syntax error: bad substitution This patch simply replaces the three instances of the Bash-only syntax in these files with an echo and sed command substitution. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-09-11Add O_TMPFILE to <fcntl.h>Andreas Schwab2-0/+5
2013-09-06Coordinate IPv6 definitions for Linux and glibcCarlos O'Donell1-0/+12
This change synchronizes the glibc headers with the Linux kernel headers and arranges to coordinate the definition of structures already defined the Linux kernel UAPI headers. It is now safe to include glibc's netinet/in.h or Linux's linux/in6.h in any order in a userspace application and you will get the same ABI. The ABI is guaranteed by UAPI and glibc.
2013-09-05tst-fanotify: skip when we get back EPERMMike Frysinger1-5/+8
Since fanotify_init requires CAP_SYS_ADMIN in order to work (which usually means running as root), we need to handle that error case too. Reported-by: Andreas Jaeger <aj@suse.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-09-02tst-fanotify: new simple testMike Frysinger2-1/+57
Basic test for the fanotify functions. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-08-30Fix typos.Ondřej Bílka3-3/+3
2013-08-29Remove aix specific files.Ondřej Bílka9-869/+0
2013-08-29Support ELFOSABI_GNU on all GNU systems.Thomas Schwinge1-23/+0
2013-08-29Use ELFOSABI_GNU instead of ELFOSABI_LINUX.Thomas Schwinge1-4/+4
2013-08-29Fix typos.Ondřej Bílka7-7/+7
2013-08-27True stub __ifreq.Roland McGrath1-0/+79
2013-08-27Clean up __libc_sa_len helper.Roland McGrath3-66/+13
2013-08-27Replace generic bits/socket.h with 4.4 file.Roland McGrath1-358/+0
2013-08-27Flesh out 4.4 bits/socket.h with SOCK_CLOEXEC, SOCK_NONBLOCK.Roland McGrath1-1/+17
2013-08-21Fix typos.Ondřej Bílka1-1/+1
2013-08-20PowerPC: fix backtrace to handle signal trampolinesAdhemerval Zanella2-0/+23
This patch fixes backtrace for PPC32 and PPC64 to correctly handle signal trampolines. The 'debug/tst-backtrace6.c' also check for SA_SIGINFO handling, where is triggers another vDSO symbols for PPC32.
2013-08-20Include <string.h> in sysdeps/unix/sysv/linux/mmap64.c.Joseph Myers1-0/+1
2013-08-20Use __getpagesize and __ffs in MMAP2_PAGE_SHIFT == -1 case of mmap64.Joseph Myers1-3/+2
2013-08-20 * sysdeps/unix/sysv/linux/s390/sys/procfs.h (struct elf_prstatus):Andreas Krebbel1-1/+2
Align 32 bit compat elf_greg to 8 bytes.
2013-08-16CVE-2013-4237, BZ #14699: Buffer overflow in readdir_rFlorian Weimer2-2/+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.
2013-07-23PowerPC: use _dl_static_init to set GLRO(gl_pagesize)Adhemerval Zanella4-0/+129
This patch fixes dlfcn/tststatic5 for PowerPC where pagesize variable was not properly initialized in certain cases. This patch is based on other architecture code.
2013-07-21CVE-2013-2207, BZ #15755: Disable pt_chown.Carlos O'Donell2-5/+8
The helper binary pt_chown tricked into granting access to another user's pseudo-terminal. Pre-conditions for the attack: * Attacker with local user account * Kernel with FUSE support * "user_allow_other" in /etc/fuse.conf * Victim with allocated slave in /dev/pts Using the setuid installed pt_chown and a weak check on whether a file descriptor is a tty, an attacker could fake a pty check using FUSE and trick pt_chown to grant ownership of a pty descriptor that the current user does not own. It cannot access /dev/pts/ptmx however. In most modern distributions pt_chown is not needed because devpts is enabled by default. The fix for this CVE is to disable building and using pt_chown by default. We still provide a configure option to enable hte use of pt_chown but distributions do so at their own risk.
2013-07-16BZ #15711: Avoid circular dependency for syscall.hCarlos O'Donell1-2/+9
The generated header is compiled with `-ffreestanding' to avoid any circular dependencies against the installed implementation headers. Such a dependency would require the implementation header to be installed before the generated header could be built (See bug 15711). In current practice the generated header dependencies do not include any of the implementation headers removed by the use of `-ffreestanding'. --- 2013-07-15 Carlos O'Donell <carlos@redhat.com> [BZ #15711] * sysdeps/unix/sysv/linux/Makefile ($(objpfx)bits/syscall%h): Avoid system header dependency with -ffreestanding. ($(objpfx)bits/syscall%d): Likewise.
2013-07-04Sync sys/ptrace with Linux 3.10Andreas Jaeger4-5/+80
2013-06-28Add GLRO(dl_hwcap2) for new AT_HWCAP2 auxv_t a_type.Ryan S. Arnold2-2/+10
2013-06-28Consistently use page_shift in sysdeps/unix/sysv/linux/mmap64.c.Joseph Myers1-1/+1
2013-06-24PowerPC: Enable POWER8 platform sans hwcap bits.Ryan S. Arnold2-0/+4
2013-06-22Include <string.h> in sysdeps/unix/sysv/linux/libc_fatal.c.Joseph Myers1-0/+1
2013-06-15New API to set default thread attributesSiddhesh Poyarekar10-0/+40
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.
2013-06-13Improve precision of clock() function on LinuxSiddhesh Poyarekar1-20/+16
Resolves #12515. Use CLOCK_PROCESS_CPUTIME_ID instead of times to get better precision in the value returned by clock.
2013-06-11Fix symbol definitions for __clock_* functionsSiddhesh Poyarekar5-12/+13
__clock_gettime and other __clock_* functions could result in an extra PLT reference within libc.so if it actually gets used. None of the code currently uses them, which is why this probably went unnoticed.
2013-06-08Use (void) in no-arguments function definitions.Joseph Myers6-9/+9
2013-06-06Fix leading whitespaces.Ondrej Bilka2-2/+2
2013-06-05Remove trailing whitespace.Joseph Myers30-71/+71
2013-05-22Update bits/siginfo.h with Linux hwpoison SIGBUS changesEdjunior Barbosa Machado3-3/+21
Adds new SIGBUS error codes for hardware poison signals, syncing with the current kernel headers (v3.9). It also adds si_trapno field for alpha.
2013-05-16Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).Ryan S. Arnold10-0/+10
2013-05-15Update s390/bits/siginfo.hEdjunior Machado1-3/+7
2013-05-15 Edjunior Machado <emachado@linux.vnet.ibm.com> * sysdeps/unix/sysv/linux/s390/bits/siginfo.h (siginfo_t): Remove si_trapno and add si_addr_lsb to _sifields.sigfault. (si_trapno): Remove macro. (si_addr_lsb): Define new macro. (BUS_MCEERR_AR, BUS_MCEERR_AO): Define new values.
2013-05-10Add getgid.c for SHChristian Grönke1-0/+1
[BZ #12387] * sysdeps/unix/sysv/linux/sh/getgid.c: New file.
2013-05-10Fix integer overflow in sysdeps/unix/sysv/linux/bits/sched.hAndreas Jaeger1-3/+3
[BZ #15448] * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_SET_S) (__CPU_CLR_S, __CPU_ISSET_S): Avoid integer overflow.
2013-05-06Fix glob64 broken by cleanup.Roland McGrath1-0/+2
2013-05-06Move dummy glob64.c alongside glob.c that defines glob64.Roland McGrath1-1/+0
2013-05-06Split _dl_writev out from _dl_debug_vdprintf.Roland McGrath1-0/+38