aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-01-28Revert "hurd: Fix building io/tst-fchownat.c"Samuel Thibault
This reverts commit fc221145a734d128d8f56f40d40fd4bb70a1d151.
2018-01-28hurd: Fix getifaddrs / freeifaddrs expositionSamuel Thibault
400669754de4 ('hurd: Fix nscd build') had the side effect of making libc's freeaddrinfo expose freeifaddrs through __check_pf. We can just move the renames to gai.c itself, along others. * sysdeps/mach/hurd/check_pf.c (__getifaddrs, __freeifaddrs): Do not define macros. * nscd/gai.c (__getifaddrs): Define macro to getifaddrs. (__freeifaddrs): Define macro to freeifaddrs.
2018-01-28hurd: take __USE_EXTERN_INLINES into account and restrict inlinesSamuel Thibault
* hurd/hurd.h (__hurd_fail): Always declare function, and provide inline version only if __USE_EXTERN_INLINES is defined. * hurd/hurd/fd.h (_hurd_fd_error_signal, _hurd_fd_error, __hurd_dfail, __hurd_sockfail): Likewise. (_hurd_fd_get): Always declare functions, and provide inline versions only if __USE_EXTERN_INLINES and _LIBC are defined and IS_IN(libc). * hurd/hurd/port.h (_hurd_port_init, _hurd_port_locked_get, _hurd_port_get, _hurd_port_free, _hurd_port_locked_set, _hurd_port_set): Always declare functions, and provide inline versions only if __USE_EXTERN_INLINES and _LIBC are defined and IS_IN(libc). * hurd/hurd/signal.h (_hurd_self_sigstate, _hurd_critical_section_lock, _hurd_critical_section_unlock): Likewise. * hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp, * __hurd_threadvar_location): Likewise. * hurd/hurd/userlink.h (_hurd_userlink_link, _hurd_userlink_unlink, _hurd_userlink_clear): Likewise. * mach/lock-intern.h (__spin_lock_init, __spin_lock, __mutex_lock, __mutex_unlock, __mutex_trylock): Always declare functions, and provide inline versions only if __USE_EXTERN_INLINES and _LIBC are defined. * mach/mach/mig_support.h (__mig_strncpy): Likewise. * sysdeps/generic/machine-lock.h (__spin_unlock, __spin_try_lock, __spin_lock_locked): Likewise. * sysdeps/mach/i386/machine-lock.h (__spin_unlock, __spin_try_lock, __spin_lock_locked): Likewise. * mach/spin-lock.c (__USE_EXTERN_INLINES): Define to 1. * hurd/Versions (libc: GLIBC_2.27): Add _hurd_fd_error_signal, _hurd_fd_error, __hurd_dfail, __hurd_sockfail, _hurd_port_locked_set, __hurd_threadvar_location_from_sp, __hurd_threadvar_location, _hurd_userlink_link, _hurd_userlink_unlink, _hurd_userlink_clear.
2018-01-28hurd: Fix building io/tst-copy_file_range.cSamuel Thibault
* io/tst-copy_file_range.c [!defined CLONE_NEWNS]: Do not include <sys/mount.h>.
2018-01-28hurd: Fix building io/tst-fchownat.cSamuel Thibault
* io/tst-fchownat.c [!defined _POSIX_CHOWN_RESTRICTED]: Act like when _POSIX_CHOWN_RESTRICTED is defined to 0.
2018-01-28hurd: Fix building libio/tst-memstream3.cSamuel Thibault
FWRITE is already an fcntl.h macro. * libio/tst-memstream3.c (FWRITE): Rename to _FWRITE. (do_test_bz20181): Rename accordingly. * libio/tst-wmemstream3.c (FWRITE): Rename accordingly.
2018-01-28hurd: add base abilist filesSamuel Thibault
* sysdeps/mach/hurd/libhurduser.abilist: New file. * sysdeps/mach/libmachuser.abilist: New file.
2018-01-28hurd: Add missing fcntl-internal.hThomas Schwinge
* hurd/fcntl-internal.h: New file.
2018-01-28hurd: Fix nscd buildSamuel Thibault
nscd won't find check_* from inet/, it needs a sysdeps file. * sysdeps/mach/hurd/check_native.c: New file. * sysdeps/mach/hurd/check_pf.c: New file.
2018-01-28hurd: Fix warningsSamuel Thibault
* hurd/hurd/lookup.h (__hurd_file_name_lookup, hurd_file_name_lookup, __hurd_file_name_split, hurd_file_name_split, __hurd_directory_name_split, hurd_directory_name_split, __hurd_file_name_lookup_retry, hurd_file_name_lookup_retry, hurd_file_name_path_lookup): Make lookup function parameter take a const char *name instead of char *name. * hurd/hurdlookup.c (__hurd_file_name_lookup, __hurd_file_name_split, __hurd_directory_name_split): Likewise. * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Likewise. * hurd/path-lookup.c (hurd_file_name_path_lookup): Likewise.
2018-01-28hurd: Fix warningSamuel Thibault
* sysdeps/mach/hurd/spawni.c (__spawni): Make relpath and abspath const char * instead of char *.
2018-01-28hurd: Make build-many-glibcs.py use mainline gnumachSamuel Thibault
Some warnings need a couple of fixes in the gnumach headers. * scripts/build-many-glibcs.py (checkout_vcs): Add gnumach repository URLs, run autoreconf, and make it the default for now.
2018-01-27hurd: fix warningSamuel Thibault
* sysdeps/mach/hurd/getresgid.c (__getresgid): Set result from critical section to make code simpler and avoid warning. * sysdeps/mach/hurd/getresuid.c (__getresuid): Set result from critical section to make code simpler and avoid warning.
2018-01-27hurd: Fix enabling vm_copySamuel Thibault
Benchmarked on http://lists.gnu.org/archive/html/bug-hurd/2014-12/msg00081.html * sysdeps/mach/pagecopy.h (PAGE_THRESHOLD): Rename to PAGE_COPY_THRESHOLD and set to benchmarked 16384.
2018-01-27hurd: fix warningSamuel Thibault
Making `special_profil_failure' both avoids warning "variable 'special_profil_failure' set but not used", and makes it easier to access with gdb. * sysdeps/mach/hurd/profil.c (special_profil_failure): Move variable to global scope.
2018-01-27hurd: fix warningSamuel Thibault
* sysdeps/mach/hurd/dl-sysdep.c (_exit): Call LOSE and abort() if __task_terminate would ever return successfully.
2018-01-27hurd: make build-many-glibcs.py use mainline migSamuel Thibault
Some warnings come from code generated by mig, so we need a very recent version for now. * scripts/build-many-glibcs.py (checkout_vcs): Add mig repository URL, and run autoreconf, make it the default for now.
2018-01-27hurd: drop elder MACH_IPC_COMPAT handlingSamuel Thibault
This was dropped from GNU Mach in 2006. * mach/Machrules (MIGFLAGS): Do not set -DMACH_IPC_COMPAT=0. * mach/mach/mach_traps.h: Drop comment about MACH_IPC_COMPAT. * sysdeps/mach/hurd/fork.c (__fork): Drop special casing MACH_IPC_COMPAT.
2018-01-27hurd: fix warningSamuel Thibault
* sysdeps/mach/hurd/Makefile [$(subdir)==nis]: Add -DUSE_BINDINGDIR=1 to CFLAGS-ypclnt.c.
2018-01-27hurd: fix gcc build in build-many-glibcs.pySamuel Thibault
gcc's libcilkrts has never actually supported GNU/Hurd, and doesn't automatically disable it, and the support was actually removed in gcc trunk, so that will never actually be fixed there. * scripts/build-many-glibcs.py [os == gnu] (build_gcc): Pass --disable-libcilkrts to gcc configure.
2018-01-27hurd: fix warningSamuel Thibault
timer_ptr2id and timer_id2ptr are used to convert between application-visible timer_t and struct timer_node *. timer_ptr2id was made to use void * instead of timer_t in 49b650430eb5 ('Update.') for no reason. It happens that on Linux timer_t is void *, so both that change and this commit are no-ops there, but not on systems where timer_t is not void *. Using timer_ptr2id for filling sival_ptr also does not make sense since that actually is a void *. * sysdeps/pthread/posix-timer.h (timer_ptr2id): Cast to timer_t instead of void *. * sysdeps/pthread/timer_create.c (timer_create): Do not use timer_ptr2id to cast struct timer_node * to void *.
2018-01-27hurd: fix warningSamuel Thibault
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Cast vm_address_t * to ElfW(Addr) * for dl_main parameter.
2018-01-27hurd: fix warningsSamuel Thibault
* sysdeps/generic/sigsetops.h (__sigemptyset, __sigfillset, __sigandset, __sigorset, __sigaddset, __sigdelset): Make them really return 0.
2018-01-27hurd: fix warningSamuel Thibault
* sysdeps/generic/sigset-cvt-mask.h: Include <sigsetops.h>.
2018-01-27hurd: fix warningsSamuel Thibault
* sysdeps/generic/not-cancel.h: Include <fcntl.h>, <unistd.h>, <sys/wait.h>, <time.h>, <sys/uio.h>. (NOT_CANCEL_H): Add inclusion guard.
2018-01-27hurd: fix warningSamuel Thibault
* resolv/res-close.c: Include <stdlib.h>.
2018-01-27hurd: fix warningSamuel Thibault
* sysdeps/mach/hurd/profil.c: Reuse `a' variable instead of introducing a `c' variable.
2018-01-27hurd: fix warningSamuel Thibault
* sysdeps/mach/hurd/xmknodat.c: Include <sys/sysmacros.h>.
2018-01-27Update hppa libm-test-ulpsJames Clarke
* sysdeps/hppa/fpu/libm-test-ulps: Update. Signed-off-by: James Clarke <jrtc27@jrtc27.com>
2018-01-27Update Alpha libm-test-ulpsJames Clarke
* sysdeps/alpha/fpu/libm-test-ulps: Update. Signed-off-by: James Clarke <jrtc27@jrtc27.com>
2018-01-27Add ChangeLog entry for "pl_PL: Add alternative month names".Rafal Luzynski
2018-01-26Build only shared libnsl objects if NIS is disabled (bug 22701)Andreas Schwab
2018-01-26README: hppa no longer requires patches.Carlos O'Donell
2018-01-26Update sparc ULPs.Patrick McGehearty
* sysdeps/sparc/fpu/libm-test-ulps: Update cpow, ctan, ctanh, j0, j1, y0, yn ulps.
2018-01-25Revert Intel CET changes to __jmp_buf_tag (Bug 22743)Carlos O'Donell
In commit cba595c350e52194e10c0006732e1991e3d0803b and commit f81ddabffd76ac9dd600b02adbf3e1dac4bb10ec, ABI compatibility with applications was broken by increasing the size of the on-stack allocated __pthread_unwind_buf_t beyond the oringal size. Applications only have the origianl space available for __pthread_unwind_register, and __pthread_unwind_next to use, any increase in the size of __pthread_unwind_buf_t causes these functions to write beyond the original structure into other on-stack variables leading to segmentation faults in common applications like vlc. The only workaround is to version those functions which operate on the old sized objects, but this must happen in glibc 2.28. Thank you to Andrew Senkevich, H.J. Lu, and Aurelien Jarno, for submitting reports and tracking the issue down. The commit reverts the above mentioned commits and testing on x86_64 shows that the ABI compatibility is restored. A tst-cleanup1 regression test linked with an older glibc now passes when run with the newly built glibc. Previously a tst-cleanup1 linked with an older glibc would segfault when run with an affected glibc build. Tested on x86_64 with no regressions. Signed-off-by: Carlos O'Donell <carlos@redhat.com>
2018-01-26hurd build-many-glibcs.py: use hurd mainline for nowSamuel Thibault
* scripts/build-many-glibcs.py (checkout_vcs): Make hurd mainline the default for now.
2018-01-26Add ChangeLog entry for "uk_UA: Add alternative month names".Rafal Luzynski
2018-01-25Add support for the RISC-V-specific ELF flagsPalmer Dabbelt
The RISC-V port defines ELF flags that enforce compatibility between various objects. This adds the shared support necessary for these flags. 2018-01-25 Palmer Dabbelt <palmer@sifive.com> * elf/cache.c (print_entry): Add FLAG_RISCV_FLOAT_ABI_SOFT and FLAG_RISCV_FLOAT_ABI_DOUBLE. * elf/elf.h (EF_RISCV_RVC): New define. (EF_RISCV_FLOAT_ABI): Likewise. (EF_RISCV_FLOAT_ABI_SOFT): Likewise. (EF_RISCV_FLOAT_ABI_SINGLE): Likewise. (EF_RISCV_FLOAT_ABI_DOUBLE): Likewise. (EF_RISCV_FLOAT_ABI_QUAD): Likewise. * sysdeps/generic/ldconfig.h (FLAG_RISCV_FLOAT_ABI_SOFT): New define. (FLAG_RISCV_FLOAT_ABI_DOUBLE): Likewise.
2018-01-25LIBC_SLIBDIR_RTLDDIR: substitute arguments in single quotesAndreas Schwab
The arguments of the LIBC_SLIBDIR_RTLDDIR macro are used both in unquoted and single quoted context, so that neither shell nor makefile variable references work. Consistently put them in single quotes so that they can refer to makefile variables.
2018-01-25uk_UA: Add alternative month names (bug 10871).Rafal Luzynski
Primary month names are in a genitive case now, alternative month names are in a nominative case. The alternative digits hack is no longer needed and has been removed. [BZ #10871] * localedata/locales/uk_UA (mon): Renamed to... (alt_mon): This. (alt_digits): "0" removed and then renamed to... (mon): This. (date_fmt): Definition changed not to use the alternative digits hack.
2018-01-25build-many-glibcs.py: Fix hurd-vcs checkoutSamuel Thibault
* scripts/build-many-glibcs.py (checkout_vcs): Run autoconf.
2018-01-25build-many-glibcs.py: Add hurd vcs supportSamuel Thibault
* scripts/build-many-glibcs.py (checkout_vcs): Add hurd repository URL.
2018-01-24Add soft-float ColdFire to build-many-glibcs.py.Joseph Myers
Since it turns out soft-float ColdFire has a different glibc ABI to hard-float ColdFire, as well as various differences in which glibc code gets built, this patch adds such a configuration to build-many-glibcs.py to (hopefully) complete the set of ABIs being tested. (Note that the build for soft-float ColdFire is currently broken even with GCC mainline - I have a glibc patch to fix this, but it needs before-and-after build-many-glibcs.py comparison of stripped binaries for all configurations before being committed.) * scripts/build-many-glibcs.py (Context.add_all_configs): Add soft-float ColdFire configuration.
2018-01-24Add localplt.data for ColdFire.Joseph Myers
The sole failure for ColdFire in the compilation part of the glibc testsuite is the localplt test. This patch adds a localplt baseline for ColdFire to eliminate that failure. The difference from the existing m68k baseline is that no PLT entry for _Unwind_Find_FDE is expected, because ColdFire does not set libc_cv_gcc_unwind_find_fde=yes. Tested with build-many-glibcs.py. * sysdeps/unix/sysv/linux/m68k/localplt.data: Move to .... * sysdeps/unix/sysv/linux/m68k/m680x0/localplt.data: ... here. * sysdeps/unix/sysv/linux/m68k/coldfire/localplt.data: New file.
2018-01-24Add no-FPU ColdFire math_private.h.Joseph Myers
As with some other soft-float configurations, no-FPU ColdFire needs various fenv.h functions and glibc-internal macros overridden in math_private.h to avoid references to undefined FE_* macros when building glibc. This patch adds a suitable math_private.h, based on the MicroBlaze one (Nios II and Tile also have similar files). There's a case for having such a file in sysdeps/ieee754/soft-fp so this logic is applied more generally to configurations without exceptions and rounding modes, even when the relevant macros are defined in fenv.h - the only case where that might be inappropriate is ARM soft-float (where the fenv.h functions might or might not work at runtime, depending on whether the processor used at runtime supports VFP). There's also a case that soft-float configurations (on processors with both hard-float and soft-float) should more consistently avoid defining FE_* macros in bits/fenv.h when not actually supported. But both of those are separate potential cleanups. This allows the no-FPU ColdFire build to get further (another fix is needed to allow the build to complete). * sysdeps/m68k/coldfire/nofpu/math_private.h: New file. Based on MicroBlaze file.
2018-01-24Add jmp_buf-macros.h for no-FPU ColdFire.Joseph Myers
Continuing the fixes for ColdFire glibc build with build-many-glibcs.py, given a GCC patch for the libgcc build failure, this patch adds jmp_buf-macros.h for no-FPU ColdFire. This allows the no-FPU build to progress further than without the patch (although other fixes are still needed for the build to complete). * sysdeps/unix/sysv/linux/m68k/coldfire/jmp_buf-macros.h: Move to .... * sysdeps/unix/sysv/linux/m68k/coldfire/fpu/jmp_buf-macros.h: ... here. * sysdeps/unix/sysv/linux/m68k/coldfire/nofpu/jmp_buf-macros.h: New file.
2018-01-24Add jmp_buf-macros.h for ColdFire.Joseph Myers
This patch adds a jmp_buf-macros.h for ColdFire. In conjunction with a GCC patch to fix the libgcc build failure for ColdFire <https://gcc.gnu.org/ml/gcc-patches/2018-01/msg02064.html> this suffices to restore the build (tested with build-many-glibcs.py). A further patch will be needed for soft-float ColdFire (while the function-calling ABI is the same for hard-float and soft-float ColdFire, it turns out the glibc ABI is not - so another ColdFire variant will be needed in build-many-glibcs.py), but I'll deal with that separately. Tested with build-many-glibcs.py (m68k-linux-gnu and m68k-linux-gnu-coldfire). (There's a localplt test failure for coldfire; that's the only failure in the compilation part of the testsuite.) * sysdeps/unix/sysv/linux/m68k/jmp_buf-macros.h: Move to .... * sysdeps/unix/sysv/linux/m68k/m680x0/jmp_buf-macros.h: ... here. * sysdeps/unix/sysv/linux/m68k/coldfire/jmp_buf-macros.h: New file.
2018-01-24aarch64: Revert the change of the __reserved member of mcontext_tSzabolcs Nagy
The uc_mcontext.__reserved member of ucontext_t is a user visible API, that should not be changed, because this is the only way to access cpu states of various extensions of linux asm/sigcontext.h, it does not violate namespace rules either, so revert this part of the commit commit 4fa9b3bfe6759c82beb4b043a54a3598ca467289 Commit: Joseph Myers <joseph@codesourcery.com> Fix mcontext_t sigcontext namespace (bug 21457). (In principle the user can type cast &uc_mcontext to struct sigcontext* to use the linux sigcontext fields, but that's not the existing practice since mcontext_t used to be a typedef of struct sigcontext.) [BZ #22742] * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__glibc_reserved1): Rename to __reserved and add comment. * sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym (__glibc_reserved1): Rename to __reserved.
2018-01-24Add build-many-glibcs.py support for Hurd.Joseph Myers
This patch adds build-many-glibcs.py support for GNU Hurd. Builds of the i686-gnu configuration will fail until sufficient support is merged to master, so completing build-many-glibcs.py coverage of all glibc ABIs and making results accurately reflect the broken state of builds for Hurd. * scripts/build-many-glibcs.py (Context.add_all_configs): Add i686-gnu configurations. (Context.run_builds): Include mig, gnumach and hurd in components considered. (Context.checkout): Add mig, gnumach and hurd to components. (Context.checkout_tar): Add URL mappings for mig, gnumach and hurd. (Context.bot_cycle): Check for changes to mig, gnumach and hurd. (Config.build): Install gnumach headers, build mig and install hurd headers for 'gnu' OS. (Config.install_gnumach_headers): New function. (Config.install_hurd_headers): Likewise. (Glibc.build_glibc): Do not use /usr for 'gnu' OS. Specifiy MIG when building for 'gnu' OS.
2018-01-23NEWS: Fix spelling mistake: "%ob" -> "%Ob".Rafal Luzynski