summaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd
AgeCommit message (Collapse)Author
2018-12-28fix mergeHEADtschwinge/Roger_WhittakerSamuel Thibault
2018-12-27fix mergeSamuel Thibault
2018-12-27Merge commit 'refs/top-bases/tschwinge/Roger_Whittaker' into ↵Samuel Thibault
tschwinge/Roger_Whittaker
2018-12-27Merge branch 't/sysvshm' into refs/top-bases/tschwinge/Roger_WhittakerSamuel Thibault
2018-12-27Fix warningsSamuel Thibault
2018-12-27Merge commit 'refs/top-bases/tschwinge/Roger_Whittaker' into ↵Samuel Thibault
tschwinge/Roger_Whittaker
2018-12-27Merge branch 't/sendmsg-SCM_RIGHTS' into ↵Samuel Thibault
refs/top-bases/tschwinge/Roger_Whittaker
2018-12-27Fix build with inlinesSamuel Thibault
2018-12-27Merge commit 'refs/top-bases/tschwinge/Roger_Whittaker' into ↵Samuel Thibault
tschwinge/Roger_Whittaker
2018-12-27Merge branch 'fixes-2.28' into refs/top-bases/tschwinge/Roger_WhittakerSamuel Thibault
2018-12-27hurd: Fix last-minute refactoringfixes-2.28Samuel Thibault
* sysdeps/mach/hurd/msync.c (msync): Fix syntax.
2018-12-27Merge commit 'refs/top-bases/tschwinge/Roger_Whittaker' into ↵Samuel Thibault
tschwinge/Roger_Whittaker
2018-12-27Merge branch 'fixes-2.28' into refs/top-bases/tschwinge/Roger_WhittakerSamuel Thibault
2018-12-27Fix mergeSamuel Thibault
2018-12-27Merge commit 'refs/top-bases/tschwinge/Roger_Whittaker' into ↵Samuel Thibault
tschwinge/Roger_Whittaker
2018-12-27Merge branch 't/UTIME' into refs/top-bases/tschwinge/Roger_WhittakerSamuel Thibault
2018-12-27Merge branch 't/gsync-libc' into refs/top-bases/tschwinge/Roger_WhittakerSamuel Thibault
2018-12-27Merge branch 't/ifaddrs_v6' into refs/top-bases/tschwinge/Roger_WhittakerSamuel Thibault
2018-12-27Merge branch 't/____longjmp_chk' into refs/top-bases/tschwinge/Roger_WhittakerSamuel Thibault
2018-12-27Merge branch 't/tls-threadvar' into refs/top-bases/tschwinge/Roger_WhittakerSamuel Thibault
2018-12-27Merge branch 't/tls' into refs/top-bases/tschwinge/Roger_WhittakerSamuel Thibault
2018-12-27hurd: Support msyncSamuel Thibault
* sysdeps/mach/hurd/msync.c: New file.
2018-12-27Merge branch 't/tls-threadvar' into refs/top-bases/t/gsync-libc-mergeSamuel Thibault
2018-12-27Merge branch 't/tls' into refs/top-bases/t/tls-threadvarSamuel Thibault
2018-12-27Merge commit 'refs/top-bases/t/sysvshm' into t/sysvshmSamuel Thibault
2018-12-27Merge commit 'refs/top-bases/t/sendmsg-SCM_RIGHTS' into t/sendmsg-SCM_RIGHTSSamuel Thibault
2018-12-27Merge commit 'refs/top-bases/t/ifaddrs_v6' into t/ifaddrs_v6t/ifaddrs_v6Samuel Thibault
2018-08-09Avoid PLTSamuel Thibault
2018-08-07Merge commit 'refs/top-bases/tschwinge/Roger_Whittaker' into ↵Samuel Thibault
tschwinge/Roger_Whittaker
2018-08-07Merge branch 't/hurdsig-SA_SIGINFO' into ↵Samuel Thibault
refs/top-bases/tschwinge/Roger_Whittaker
2018-08-07Fix standardization of exposition of sigactionSamuel Thibault
2018-08-06Merge commit 'refs/top-bases/tschwinge/Roger_Whittaker' into ↵Samuel Thibault
tschwinge/Roger_Whittaker
2018-08-06Merge branch 't/hurdsig-SA_SIGINFO' into ↵Samuel Thibault
refs/top-bases/tschwinge/Roger_Whittaker
2018-08-06Add missing inclusion guardSamuel Thibault
2018-08-01hurd: Fix exec usage of mach_setup_threadSamuel Thibault
Exec needs that mach_setup_thread does *not* set up TLS since it works on another task, so we have to split this into mach_setup_tls. * mach/mach.h (__mach_setup_tls, mach_setup_tls): Add prototypes. * mach/setup-thread.c (__mach_setup_thread): Move TLS setup to... (__mach_setup_tls): ... new function. (mach_setup_tls): New alias. * hurd/hurdsig.c (_hurdsig_init): Call __mach_setup_tls after __mach_setup_thread. * sysdeps/mach/hurd/profil.c (update_waiter): Likewise. * sysdeps/mach/hurd/setitimer.c (setitimer_locked): Likewise. * mach/Versions [libc] (mach_setup_tls): Add symbol. * sysdeps/mach/hurd/i386/libc.abilist (mach_setup_tls): Likewise.
2018-07-31hurd: Fix startup of static binaries linked against libpthreadSamuel Thibault
* sysdeps/mach/hurd/i386/init-first.c (init1): Move ELF hdr and TLS initialization... (init): ... before initializing libpthread.
2018-07-28hurd: Fix some ld.so symbol override from libcSamuel Thibault
ld.so symbols to be overriden by libc need to be extern to really get overriden. * sysdeps/mach/hurd/not-errno.h: New file. * sysdeps/mach/hurd/i386/localplt.data: Update accordingly.
2018-07-28hurd: Fix some ld.so symbol override from libcSamuel Thibault
ld.so symbols to be overriden by libc need to be extern to really get overriden. * sysdeps/mach/hurd/dl-unistd.h (__access, __brk, __lseek, __read, __sbrk): Do not set attribute_hidden. * sysdeps/mach/hurd/i386/ld.abilist: Update accordingly. * sysdeps/mach/hurd/i386/localplt.data: Update accordingly.
2018-07-27hurd: Fix some ld.so symbol override from libcSamuel Thibault
ld.so symbols to be overriden by libc need to be extern to really get overriden. More fixes are needed to avoid the hidden attribute. * sysdeps/mach/hurd/Versions (libc): Make __access and __access_noerrno external so they can override the ld symbols. (ld): Make __access, __read, __sbrk, __strtoul_internal, __write, __writev, __open64, __access_noerrno extern so they can be overrided. * sysdeps/mach/hurd/i386/libc.abilist: Update accordingly. * sysdeps/mach/hurd/i386/ld.abilist: Update accordingly.
2018-07-20check-execstack: Permit sysdeps to xfail some libsSamuel Thibault
* scripts/check-execstack.awk: Consider `xfail' variable containing a list of libraries whose stack executability is expected. * elf/Makefile ($(objpfx)check-execstack.out): Pass $(check-execstack-xfail) to check-execstack.awk through `xfail' variable. * sysdeps/mach/hurd/i386/Makefile (check-execstack-xfail): Set to ld.so libc.so libpthread.so.
2018-07-20Fix new file headerSamuel Thibault
2018-07-20hurd: Implement pipe2Thomas Schwinge
* sysdeps/mach/hurd/pipe2.c: New file, copy from pipe.c. Evolve it to implement __pipe2. * sysdeps/mach/hurd/pipe.c (__pipe): Reimplement using __pipe2.
2018-07-20hurd: SOCK_CLOEXEC and SOCK_NONBLOCK for socketpairThomas Schwinge
* sysdeps/mach/hurd/socketpair.c (__socketpair): Handle SOCK_CLOEXEC and SOCK_NONBLOCK.
2018-07-20hurd: SOCK_CLOEXEC and SOCK_NONBLOCK for socketThomas Schwinge
* sysdeps/mach/hurd/socket.c (__socket): Handle SOCK_CLOEXEC and SOCK_NONBLOCK.
2018-07-20hurd: Enable thread-safe i386 atomic instructionsSamuel Thibault
* sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Set multiple_threads to 1.
2018-07-10Add the statx functionFlorian Weimer
2018-07-05Add renameat2 function [BZ #17662]Florian Weimer
The implementation falls back to renameat if renameat2 is not available in the kernel (or in the kernel headers) and the flags argument is zero. Without kernel support, a non-zero argument returns EINVAL, not ENOSYS. This mirrors what the kernel does for invalid renameat2 flags.
2018-07-03Fix hurd expected fcntl versionAdhemerval Zanella
Different than Linux, hurd does not need the OFD locks fix from 06ab719d30b (since OFD locks are current Linux specific). This in turn allows hurd to not provide a fcntl compat symbol. Checked on a i686-gnu with check-abi. * sysdeps/mach/hurd/i386/libc.abilist [GLIBC_2.28] (fcntl): Remove symbol.
2018-06-26Revert hurd errno.h changesAdhemerval Zanella
Patch 06ab719d30b01 wrongly added mach errno.h changes.
2018-06-26Fix Linux fcntl OFD locks for non-LFS architectures (BZ#20251)Adhemerval Zanella
This patch fixes the OFD ("file private") locks for architectures that support non-LFS flock definition (__USE_FILE_OFFSET64 not defined). The issue in this case is both F_OFD_{GETLK,SETLK,SETLKW} and F_{SET,GET}L{W}K64 expects a flock64 argument and when using old F_OFD_* flags with a non LFS flock argument the kernel might interpret the underlying data wrongly. Kernel idea originally was to avoid using such flags in non-LFS syscall, but since GLIBC uses fcntl with LFS semantic as default it is possible to provide the functionality and avoid the bogus struct kernel passing by adjusting the struct manually for the required flags. The idea follows other LFS interfaces that provide two symbols: 1. A new LFS fcntl64 is added on default ABI with the usual macros to select it for FILE_OFFSET_BITS=64. 2. The Linux non-LFS fcntl use a stack allocated struct flock64 for F_OFD_{GETLK,SETLK,SETLKW} copy the results on the user provided struct. 3. Keep a compat symbol with old broken semantic for architectures that do not define __OFF_T_MATCHES_OFF64_T. So for architectures which defines __USE_FILE_OFFSET64, fcntl64 will aliased to fcntl and no adjustment would be required. So to actually use F_OFD_* with LFS support the source must be built with LFS support (_FILE_OFFSET_BITS=64). Also F_OFD_SETLKW command is handled a cancellation point, as for F_SETLKW{64}. Checked on x86_64-linux-gnu and i686-linux-gnu. [BZ #20251] * NEWS: Mention fcntl64 addition. * csu/check_fds.c: Replace __fcntl_nocancel by __fcntl64_nocancel. * login/utmp_file.c: Likewise. * sysdeps/posix/fdopendir.c: Likewise. * sysdeps/posix/opendir.c: Likewise. * sysdeps/unix/pt-fcntl.c: Likewise. * include/fcntl.h (__libc_fcntl64, __fcntl64, __fcntl64_nocancel_adjusted): New prototype. (__fcntl_nocancel_adjusted): Remove prototype. * io/Makefile (routines): Add fcntl64. (CFLAGS-fcntl64.c): New rule. * io/Versions [GLIBC_2.28] (fcntl64): New symbol. [GLIBC_PRIVATE] (__libc_fcntl): Rename to __libc_fcntl64. * io/fcntl.h (fcntl64): Add prototype and redirect if __USE_FILE_OFFSET64 is defined. * io/fcntl64.c: New file. * manual/llio.text: Add a note for which commands fcntl acts a cancellation point. * nptl/Makefile (CFLAGS-fcntl64.c): New rule. * sysdeps/mach/hurd/fcntl.c: Alias fcntl to fcntl64 symbols. * sysdeps/mach/hurd/i386/libc.abilist [GLIBC_2.28] (fcntl, fcntl64): New symbols. * sysdeps/unix/sysv/linux/fcntl.c (__libc_fcntl): Fix F_GETLK64, F_OFD_GETLK, F_SETLK64, F_SETLKW64, F_OFD_SETLK, and F_OFD_SETLKW for non-LFS case. * sysdeps/unix/sysv/linux/fcntl64.c: New file. * sysdeps/unix/sysv/linux/fcntl_nocancel.c (__fcntl_nocancel): Rename to __fcntl64_nocancel. (__fcntl_nocancel_adjusted): Rename to __fcntl64_nocancel_adjusted. * sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): Rename to __fcntl64_nocancel. * sysdeps/unix/sysv/linux/tst-ofdlocks.c: New file. * sysdeps/unix/sysv/linux/tst-ofdlocks-compat.c: Likewise. * sysdeps/unix/sysv/linux/Makefile (tests): Add tst-ofdlocks. (tests-internal): Add tst-ofdlocks-compat. * sysdeps/unix/sysv/linux/aarch64/libc.abilist [GLIBC_2.28] (fcntl64): New symbol. * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist: Likewise. * sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/arm/libc.abilist [GLIBC_2.28] (fcntl, fcntl64): Likewise. * sysdeps/unix/sysv/linux/hppa/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/i386/libc.abilis: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/microblaze/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/nios2/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sh/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.