about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/mips
Commit message (Collapse)AuthorAgeFilesLines
* Fix MIPS TIOCSER_TEMT namespace (bug 17782).Joseph Myers2015-01-021-1/+3
| | | | | | | | | | | | sysdeps/unix/sysv/linux/mips/bits/termios.h defines TIOCSER_TEMT unconditionally, but it's in the user's namespace. This patch conditions it on __USE_MISC, as on powerpc. I've filed bug 17783 for the residual inconsistency in conditions on this macro (sparc defines it for __USE_GNU only). [BZ #17782] * sysdeps/unix/sysv/linux/mips/bits/termios.h (TIOCSER_TEMT): Condition macro definition on [__USE_MISC].
* Fix MIPS sa_flags type (bug 17781).Joseph Myers2015-01-021-1/+1
| | | | | | | | | | | sysdeps/unix/sysv/linux/mips/bits/sigaction.h gives sa_flags type unsigned int, but POSIX says it should be signed int. This patch gives it the correct type (the layout is unchanged, so there are no ABI issues involved). [BZ #17781] * sysdeps/unix/sysv/linux/mips/bits/sigaction.h (struct sigaction): Change type of sa_flags field to int.
* Fix MIPS bits/fcntl.h namespace (bug 17780).Joseph Myers2015-01-021-1/+1
| | | | | | | | | | | sysdeps/unix/sysv/linux/mips/bits/fcntl.h has a structure field called pad, which is in the user's namespace. This patch changes it to __glibc_reserved0. [BZ #17780] * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (struct flock) [!__USE_FILE_OFFSET64 && _MIPS_SIM != _ABI64]: Rename pad field to __glibc_reserved0.
* Update copyright dates with scripts/update-copyrights.Joseph Myers2015-01-0297-97/+97
|
* Add support for MIPS O32 FPXX and .MIPS.abiflagsMatthew Fortune2014-12-314-1/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elf/elf.h (PT_MIPS_ABIFLAGS): Define. (Elf_MIPS_ABIFlags_v0): New structure. (EF_MIPS_FP64): Define. (MIPS_AFL_REG_NONE, MIPS_AFL_REG_32, MIPS_AFL_REG_64): Likewise. (MIPS_AFL_REG_128, MIPS_AFL_ASE_DSP, MIPS_AFL_ASE_DSP64): Likewise. (MIPS_AFL_ASE_DSPR2, MIPS_AFL_ASE_EVA, MIPS_AFL_ASE_MCU): Likewise. (MIPS_AFL_ASE_MDMX, MIPS_AFL_ASE_MIPS3D, MIPS_AFL_ASE_MT): Likewise. (MIPS_AFL_ASE_SMARTMIPS, MIPS_AFL_ASE_VIRT): Likewise. (MIPS_AFL_ASE_VIRT64, MIPS_AFL_ASE_MSA, MIPS_AFL_ASE_MSA64): Likewise. (MIPS_AFL_ASE_MIPS16, MIPS_AFL_ASE_MICROMIPS): Likewise. (MIPS_AFL_ASE_XPA, MIPS_AFL_EXT_XLR, MIPS_AFL_EXT_OCTEON2): Likewise. (MIPS_AFL_EXT_OCTEONP, MIPS_AFL_EXT_LOONGSON_3A): Likewise. (MIPS_AFL_EXT_OCTEON, MIPS_AFL_EXT_5900, MIPS_AFL_EXT_4010): Likewise. (MIPS_AFL_EXT_4100, MIPS_AFL_EXT_3900, MIPS_AFL_EXT_10000): Likewise. (MIPS_AFL_EXT_SB1, MIPS_AFL_EXT_4111, MIPS_AFL_EXT_4120): Likewise. (MIPS_AFL_EXT_5400, MIPS_AFL_EXT_5500): Likewise. (MIPS_AFL_EXT_LOONGSON_2E, MIPS_AFL_EXT_LOONGSON_2F): Likewise. (Val_GNU_MIPS_ABI_FP_ANY, Val_GNU_MIPS_ABI_FP_DOUBLE): New enum values. (Val_GNU_MIPS_ABI_FP_SINGLE, Val_GNU_MIPS_ABI_FP_SOFT): Likewise. (Val_GNU_MIPS_ABI_FP_OLD_64, Val_GNU_MIPS_ABI_FP_XX): Likewise. (Val_GNU_MIPS_ABI_FP_64, Val_GNU_MIPS_ABI_FP_64A): Likewise. (Val_GNU_MIPS_ABI_FP_MAX): Likewise. * sysdeps/mips/Makefile [subdir=elf]: Add tst-abi-interlink, tst-mode-switch-1, tst-mode-switch-2, tst-mode-switch-3 tests. * sysdeps/mips/bits/linkmap.h (struct link_map_machine): Add fpmode field. * sysdeps/mips/dl-machine.h (elf_machine_matches_host): Reject EF_MIPS_FP64. * sysdeps/mips/dl-machine-reject-phdr.h: New file. * sysdeps/mips/tst-abi-fp32mod.c: Likewise. * sysdeps/mips/tst-abi-fpxxmod.c: Likewise. * sysdeps/mips/tst-abi-fpxxomod.c: Likewise. * sysdeps/mips/tst-abi-fp64mod.c: Likewise. * sysdeps/mips/tst-abi-fp64amod.c: Likewise. * sysdeps/mips/tst-abi-interlink.c: Likewise. * sysdeps/mips/tst-mode-switch-1.c: Likewise. * sysdeps/mips/tst-mode-switch-2.c: Likewise. * sysdeps/mips/tst-mode-switch-3.c: Likewise. * sysdeps/unix/sysv/linux/mips/configure.ac (o32-fpabi): Define to record the current FP ABI extension. (mips-mode-switch): Define to show if kernel headers support mode switching. * sysdeps/unix/sysv/linux/mips/configure: Regenerate. * sysdeps/unix/sysv/linux/mips/ldsodefs.h: Increase maximum supported SYSV ABI version to 3. * sysdeps/unix/sysv/linux/mips/libc-abis: Add new MIPS_O32_FP64 feature.
* Fix MIPS waitid build.Joseph Myers2014-12-101-0/+7
| | | | | | | | | | | | | | | As previously discussed in <https://sourceware.org/ml/libc-alpha/2012-11/msg00798.html>, MIPS (o32) waitid has build warnings (now errors) because a function is declared inline but functions with five-argument syscalls cannot be inlined for MIPS o32. This patch disables the -Winline warnings for waitid.c using a MIPS-specific wrapper file. As it's whole-file disabling, there's no point in using push and pop, so just DIAG_IGNORE_NEEDS_COMMENT is used. * sysdeps/unix/sysv/linux/mips/mips32/waitid.c: New file.
* Fix MIPS sigaction build.Joseph Myers2014-12-101-0/+12
| | | | | | | | | | | | Building MIPS sigaction (for ABIs other than o32) fails because of "'restore_rt' used but never defined", arising from static functions being defined in asms and referred to from C code. There is no corresponding -W option for that warning, so this patch uses -Wno-error for building sigaction.c. * sysdeps/unix/sysv/linux/mips/mips64/Makefile [$(subdir) == signal] (CFLAGS-sigaction.c): New variable. [$(subdir) == nptl] (CFLAGS-sigaction.c): Likewise.
* Remove NOT_IN_libcSiddhesh Poyarekar2014-11-242-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace with !IS_IN (libc). This completes the transition from the IS_IN/NOT_IN macros to the IN_MODULE macro set. The generated code is unchanged on x86_64. * stdlib/isomac.c (fmt): Replace NOT_IN_libc with IN_MODULE. (get_null_defines): Adjust. * sunrpc/Makefile: Adjust comment. * Makerules (CPPFLAGS-nonlib): Remove NOT_IN_libc. * elf/Makefile (CPPFLAGS-sotruss-lib): Likewise. (CFLAGS-interp.c): Likewise. (CFLAGS-ldconfig.c): Likewise. (CPPFLAGS-.os): Likewise. * elf/rtld-Rules (rtld-CPPFLAGS): Likewise. * extra-lib.mk (CPPFLAGS-$(lib)): Likewise. * extra-modules.mk (extra-modules.mk): Likewise. * iconv/Makefile (CPPFLAGS-iconvprogs): Likewise. * locale/Makefile (CPPFLAGS-locale_programs): Likewise. * malloc/Makefile (CPPFLAGS-memusagestat): Likewise. * nscd/Makefile (CPPFLAGS-nscd): Likewise. * nss/Makefile (CPPFLAGS-nss_test1): Likewise. * stdlib/Makefile (CFLAGS-tst-putenvmod.c): Likewise. * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.c): Likewise. * sysdeps/unix/sysv/linux/Makefile (CPPFLAGS-lddlibc4): Likewise. * iconvdata/Makefile (CPPFLAGS): Likewise. (cpp-srcs-left): Add libof for all iconvdata routines. * bits/stdio-lock.h: Replace NOT_IN_libc with IS_IN. * include/assert.h: Likewise. * include/ctype.h: Likewise. * include/errno.h: Likewise. * include/libc-symbols.h: Likewise. * include/math.h: Likewise. * include/netdb.h: Likewise. * include/resolv.h: Likewise. * include/stdio.h: Likewise. * include/stdlib.h: Likewise. * include/string.h: Likewise. * include/sys/stat.h: Likewise. * include/wctype.h: Likewise. * intl/l10nflist.c: Likewise. * libidn/idn-stub.c: Likewise. * libio/libioP.h: Likewise. * nptl/libc_multiple_threads.c: Likewise. * nptl/pthreadP.h: Likewise. * posix/regex_internal.h: Likewise. * resolv/res_hconf.c: Likewise. * sysdeps/arm/armv7/multiarch/memcpy.S: Likewise. * sysdeps/arm/memmove.S: Likewise. * sysdeps/arm/sysdep.h: Likewise. * sysdeps/generic/_itoa.h: Likewise. * sysdeps/generic/symbol-hacks.h: Likewise. * sysdeps/gnu/errlist.awk: Likewise. * sysdeps/gnu/errlist.c: Likewise. * sysdeps/i386/i586/memcpy.S: Likewise. * sysdeps/i386/i586/memset.S: Likewise. * sysdeps/i386/i686/memcpy.S: Likewise. * sysdeps/i386/i686/memmove.S: Likewise. * sysdeps/i386/i686/mempcpy.S: Likewise. * sysdeps/i386/i686/memset.S: Likewise. * sysdeps/i386/i686/multiarch/bcopy.S: Likewise. * sysdeps/i386/i686/multiarch/bzero.S: Likewise. * sysdeps/i386/i686/multiarch/memchr-sse2-bsf.S: Likewise. * sysdeps/i386/i686/multiarch/memchr-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/memchr.S: Likewise. * sysdeps/i386/i686/multiarch/memcmp-sse4.S: Likewise. * sysdeps/i386/i686/multiarch/memcmp-ssse3.S: Likewise. * sysdeps/i386/i686/multiarch/memcmp.S: Likewise. * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Likewise. * sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Likewise. * sysdeps/i386/i686/multiarch/memcpy.S: Likewise. * sysdeps/i386/i686/multiarch/memcpy_chk.S: Likewise. * sysdeps/i386/i686/multiarch/memmove.S: Likewise. * sysdeps/i386/i686/multiarch/memmove_chk.S: Likewise. * sysdeps/i386/i686/multiarch/mempcpy.S: Likewise. * sysdeps/i386/i686/multiarch/mempcpy_chk.S: Likewise. * sysdeps/i386/i686/multiarch/memrchr-c.c: Likewise. * sysdeps/i386/i686/multiarch/memrchr-sse2-bsf.S: Likewise. * sysdeps/i386/i686/multiarch/memrchr-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/memrchr.S: Likewise. * sysdeps/i386/i686/multiarch/memset-sse2-rep.S: Likewise. * sysdeps/i386/i686/multiarch/memset-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/memset.S: Likewise. * sysdeps/i386/i686/multiarch/memset_chk.S: Likewise. * sysdeps/i386/i686/multiarch/rawmemchr.S: Likewise. * sysdeps/i386/i686/multiarch/strcat-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/strcat-ssse3.S: Likewise. * sysdeps/i386/i686/multiarch/strcat.S: Likewise. * sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S: Likewise. * sysdeps/i386/i686/multiarch/strchr-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/strchr.S: Likewise. * sysdeps/i386/i686/multiarch/strcmp-sse4.S: Likewise. * sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Likewise. * sysdeps/i386/i686/multiarch/strcmp.S: Likewise. * sysdeps/i386/i686/multiarch/strcpy-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/strcpy-ssse3.S: Likewise. * sysdeps/i386/i686/multiarch/strcpy.S: Likewise. * sysdeps/i386/i686/multiarch/strcspn.S: Likewise. * sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S: Likewise. * sysdeps/i386/i686/multiarch/strlen-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/strlen.S: Likewise. * sysdeps/i386/i686/multiarch/strnlen.S: Likewise. * sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S: Likewise. * sysdeps/i386/i686/multiarch/strrchr-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/strrchr.S: Likewise. * sysdeps/i386/i686/multiarch/strspn.S: Likewise. * sysdeps/i386/i686/multiarch/wcschr-c.c: Likewise. * sysdeps/i386/i686/multiarch/wcschr-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/wcschr.S: Likewise. * sysdeps/i386/i686/multiarch/wcscmp-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/wcscmp.S: Likewise. * sysdeps/i386/i686/multiarch/wcscpy-c.c: Likewise. * sysdeps/i386/i686/multiarch/wcscpy-ssse3.S: Likewise. * sysdeps/i386/i686/multiarch/wcscpy.S: Likewise. * sysdeps/i386/i686/multiarch/wcslen-c.c: Likewise. * sysdeps/i386/i686/multiarch/wcslen-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/wcslen.S: Likewise. * sysdeps/i386/i686/multiarch/wcsrchr-c.c: Likewise. * sysdeps/i386/i686/multiarch/wcsrchr-sse2.S: Likewise. * sysdeps/i386/i686/multiarch/wcsrchr.S: Likewise. * sysdeps/i386/i686/multiarch/wmemcmp-c.c: Likewise. * sysdeps/i386/i686/multiarch/wmemcmp.S: Likewise. * sysdeps/ia64/fpu/libm-symbols.h: Likewise. * sysdeps/nptl/bits/libc-lock.h: Likewise. * sysdeps/nptl/bits/libc-lockP.h: Likewise. * sysdeps/nptl/bits/stdio-lock.h: Likewise. * sysdeps/posix/closedir.c: Likewise. * sysdeps/posix/opendir.c: Likewise. * sysdeps/posix/readdir.c: Likewise. * sysdeps/posix/rewinddir.c: Likewise. * sysdeps/powerpc/novmx-sigjmp.c: Likewise. * sysdeps/powerpc/powerpc32/__longjmp.S: Likewise. * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/__longjmp.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/setjmp.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/bzero.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memchr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memcmp-ppc32.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memcmp.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memcpy-ppc32.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memcpy.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memmove.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/mempcpy.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memrchr-ppc32.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memrchr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memset-ppc32.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/memset.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/rawmemchr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strcasecmp.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strcasecmp_l.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strchr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strchrnul.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strlen-ppc32.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strlen.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strncase.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strncase_l.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strncmp-ppc32.S: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strncmp.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/strnlen.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr-ppc32.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcschr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy-ppc32.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcscpy.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr-ppc32.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wcsrchr.c: Likewise. * sysdeps/powerpc/powerpc32/power4/multiarch/wordcopy.c: Likewise. * sysdeps/powerpc/powerpc32/power6/memset.S: Likewise. * sysdeps/powerpc/powerpc32/setjmp.S: Likewise. * sysdeps/powerpc/powerpc64/__longjmp.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/bzero.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memcmp-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memcmp.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memcpy-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memcpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memmove-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memmove.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/mempcpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memrchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memset-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/memset.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/rawmemchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/stpcpy-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/stpcpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/stpncpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcasecmp.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcat.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strchrnul.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcmp-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcmp.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcpy-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strcspn.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strlen-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strlen.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncase.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncase_l.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncat.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncmp.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncpy-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strncpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strnlen.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strpbrk.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strrchr-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strrchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strspn-ppc64.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/strspn.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcschr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcscpy.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wcsrchr.c: Likewise. * sysdeps/powerpc/powerpc64/multiarch/wordcopy.c: Likewise. * sysdeps/powerpc/powerpc64/setjmp.S: Likewise. * sysdeps/s390/s390-32/multiarch/ifunc-resolve.c: Likewise. * sysdeps/s390/s390-32/multiarch/memcmp.S: Likewise. * sysdeps/s390/s390-32/multiarch/memcpy.S: Likewise. * sysdeps/s390/s390-32/multiarch/memset.S: Likewise. * sysdeps/s390/s390-64/multiarch/ifunc-resolve.c: Likewise. * sysdeps/s390/s390-64/multiarch/memcmp.S: Likewise. * sysdeps/s390/s390-64/multiarch/memcpy.S: Likewise. * sysdeps/s390/s390-64/multiarch/memset.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy-niagara4.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memcpy.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memset-niagara1.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memset-niagara4.S: Likewise. * sysdeps/sparc/sparc64/multiarch/memset.S: Likewise. * sysdeps/unix/alpha/sysdep.S: Likewise. * sysdeps/unix/alpha/sysdep.h: Likewise. * sysdeps/unix/make-syscalls.sh: Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/alpha/vfork.S: Likewise. * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/getpid.c: Likewise. * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/lowlevellock-futex.h: Likewise. * sysdeps/unix/sysv/linux/m68k/bits/m68k-vdso.h: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/microblaze/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/not-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/longjmp_chk.c: Likewise. * sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/vfork.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/vfork.S: Likewise. * sysdeps/unix/sysv/linux/sh/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/sh/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sh/vfork.S: Likewise. * sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/tile/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/tile/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/tile/waitpid.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/wordsize-32/symbol-hacks.h: Likewise. * sysdeps/x86_64/memcpy.S: Likewise. * sysdeps/x86_64/memmove.c: Likewise. * sysdeps/x86_64/memset.S: Likewise. * sysdeps/x86_64/multiarch/init-arch.h: Likewise. * sysdeps/x86_64/multiarch/memcmp-sse4.S: Likewise. * sysdeps/x86_64/multiarch/memcmp-ssse3.S: Likewise. * sysdeps/x86_64/multiarch/memcmp.S: Likewise. * sysdeps/x86_64/multiarch/memcpy-avx-unaligned.S: Likewise. * sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: Likewise. * sysdeps/x86_64/multiarch/memcpy-ssse3.S: Likewise. * sysdeps/x86_64/multiarch/memcpy.S: Likewise. * sysdeps/x86_64/multiarch/memcpy_chk.S: Likewise. * sysdeps/x86_64/multiarch/memmove.c: Likewise. * sysdeps/x86_64/multiarch/mempcpy.S: Likewise. * sysdeps/x86_64/multiarch/mempcpy_chk.S: Likewise. * sysdeps/x86_64/multiarch/memset-avx2.S: Likewise. * sysdeps/x86_64/multiarch/memset.S: Likewise. * sysdeps/x86_64/multiarch/memset_chk.S: Likewise. * sysdeps/x86_64/multiarch/strcat-sse2-unaligned.S: Likewise. * sysdeps/x86_64/multiarch/strcat-ssse3.S: Likewise. * sysdeps/x86_64/multiarch/strcat.S: Likewise. * sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S: Likewise. * sysdeps/x86_64/multiarch/strchr.S: Likewise. * sysdeps/x86_64/multiarch/strcmp-ssse3.S: Likewise. * sysdeps/x86_64/multiarch/strcmp.S: Likewise. * sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: Likewise. * sysdeps/x86_64/multiarch/strcpy-ssse3.S: Likewise. * sysdeps/x86_64/multiarch/strcpy.S: Likewise. * sysdeps/x86_64/multiarch/strcspn.S: Likewise. * sysdeps/x86_64/multiarch/strspn.S: Likewise. * sysdeps/x86_64/multiarch/wcscpy-c.c: Likewise. * sysdeps/x86_64/multiarch/wcscpy-ssse3.S: Likewise. * sysdeps/x86_64/multiarch/wcscpy.S: Likewise. * sysdeps/x86_64/multiarch/wmemcmp-c.c: Likewise. * sysdeps/x86_64/multiarch/wmemcmp.S: Likewise. * sysdeps/x86_64/strcmp.S: Likewise.
* Remove IS_IN_libpthreadSiddhesh Poyarekar2014-11-242-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace with IS_IN (libpthread). Generated code unchanged on x86_64. * nptl/lowlevellock.c: Use IS_IN instead of IS_IN_libpthread. * nptl/pthreadP.h: Likewise. * nptl_db/structs.def: Likewise. * sysdeps/arm/sysdep.h: Likewise. * sysdeps/nptl/bits/libc-lock.h: Likewise. * sysdeps/nptl/bits/libc-lockP.h: Likewise. * sysdeps/sparc/sparc32/lowlevellock.c: Likewise. * sysdeps/unix/alpha/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/not-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/tile/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/tile/waitpid.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise.
* Remove IS_IN_librtSiddhesh Poyarekar2014-11-242-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace with IS_IN (librt). Generated code unchanged on x86_64 * include/mqueue.h: Use IS_IN instead of IS_IN_librt. * nptl/pthreadP.h: Likewise. * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/not-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h: Likewise. * sysdeps/unix/sysv/linux/tile/waitpid.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Likewise.
* MIPS: Avoid a dangling `vfork@GLIBC_2.0' referenceMaciej W. Rozycki2014-10-221-0/+1
| | | | | | | | | | | | | | | | | | | | This satisfies a symbol reference created with: .symver __libc_vfork, vfork@GLIBC_2.0 where `__libc_vfork' has not been defined or referenced. In this case the `vfork@GLIBC_2.0' reference is supposed to be discarded, however a bug present in GAS since forever causes an undefined symbol table entry to be created. This in turn triggers a problem in the linker that can manifest itself by link errors such as: ld: libpthread.so: invalid string offset 2765592330 >= 5154 for section `.dynstr' The GAS and linker bugs need to be resolved, but we can avoid them too by providing a `__libc_vfork' definition just like our other platforms. [BZ #17485] * sysdeps/unix/sysv/linux/mips/vfork.S (__libc_vfork): Define.
* Require autoconf 2.69H.J. Lu2014-09-291-2/+2
| | | | | | | | | | | | | | | | | | | * aclocal.m4: Require autoconf 2.69. * configure: Regenerated. * sysdeps/aarch64/configure: Likewise. * sysdeps/alpha/configure: Likewise. * sysdeps/arm/armv7/configure: Likewise. * sysdeps/arm/configure: Likewise. * sysdeps/ia64/configure: Likewise. * sysdeps/mach/configure: Likewise. * sysdeps/mips/configure: Likewise. * sysdeps/s390/configure: Likewise. * sysdeps/unix/sysv/linux/mips/configure: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/configure: Likewise. * sysdeps/alpha/configure.ac: Avoid empty lines at the end of file. * sysdeps/ia64/configure.ac: Likewise.
* Clean up gnu/lib-names.h generation (bug 14171).Joseph Myers2014-09-261-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch eliminates the mixture of SONAME information in shlib-versions files and SONAME information used to generate gnu/lib-names.h in makefiles, with the information in the makefiles being removed so all this information comes from the shlib-versions files. So that gnu/lib-names.h supports multiple ABIs, it is changed to be generated on the same basis as gnu/stubs.h: when there are multiple ABIs, gnu/lib-names.h is a wrapper header (the same header installed whatever ABI is being built) and separate headers such as gnu/lib-names-64.h contain the substantive contents (only one such header being installed by any glibc build). The rules for building gnu/lib-names.h were moved from Makeconfig to Makerules because they need to come after sysdeps makefiles are included (now that "ifndef abi-variants" is a toplevel conditional on the rules rather than $(abi-variants) being evaluated later inside the commands for a rule). Tested for x86_64 and x86 that the installed shared libraries are unchanged by this patch, and examined the installed gnu/lib-names*.h headers by hand. Also tested the case of a single ABI (where there is just a single header installed, again like stubs.h) by hacking abi-variants to empty for x86_64. [BZ #14171] * Makeconfig [$(build-shared) = yes] ($(common-objpfx)soversions.mk): Don't handle SONAMEs specified in makefiles. [$(build-shared) = yes && $(soversions.mk-done) = t] ($(common-objpfx)gnu/lib-names.h): Remove rule. [$(build-shared) = yes && $(soversions.mk-done) = t] ($(common-objpfx)gnu/lib-names.stmp): Likewise. Split and moved to Makerules. [$(build-shared) = yes && $(soversions.mk-done) = t] (before-compile): Don't append $(common-objpfx)gnu/lib-names.h here. [$(build-shared) = yes && $(soversions.mk-done) = t] (common-generated): Don't append gnu/lib-names.h and gnu/lib-names.stmp here. * Makerules [$(build-shared) = yes && $(soversions.mk-done) = t] (lib-names-h-abi): New variable. [$(build-shared) = yes && $(soversions.mk-done) = t] (lib-names-stmp-abi): Likewise. [$(build-shared) = yes && $(soversions.mk-done) = t && abi-variants] (before-compile): Append $(common-objpfx)$(lib-names-h-abi). [$(build-shared) = yes && $(soversions.mk-done) = t && abi-variants] (common-generated): Append gnu/lib-names.h. [$(build-shared) = yes && $(soversions.mk-done) = t && abi-variants] (install-others-nosubdir): Depend on $(inst_includedir)/$(lib-names-h-abi). [$(build-shared) = yes && $(soversions.mk-done) = t && abi-variants] ($(common-objpfx)gnu/lib-names.h): New rule. [$(build-shared) = yes && $(soversions.mk-done) = t] ($(common-objpfx)$(lib-names-h-abi)): New rule. [$(build-shared) = yes && $(soversions.mk-done) = t] ($(common-objpfx)$(lib-names-stmp-abi)): Likewise. [$(build-shared) = yes && $(soversions.mk-done) = t] (common-generated): Append $(lib-names-h-abi) and $(lib-names-stmp-abi). * scripts/lib-names.awk: Do not handle multi being set. * sysdeps/unix/sysv/linux/aarch64/Makefile (abi-lp64-ld-soname): Remove variable. (abi-lp64_be-ld-soname): Likewise. * sysdeps/unix/sysv/linux/arm/Makefile (abi-soft-ld-soname): Likewise. (abi-hard-ld-soname): Likewise. * sysdeps/unix/sysv/linux/i386/shlib-versions: New file. * sysdeps/unix/sysv/linux/mips/Makefile (abi-o32_soft-ld-soname): Remove variable. (abi-o32_hard-ld-soname): Likewise. (abi-o32_soft_2008-ld-soname): Likewise. (abi-o32_hard_2008-ld-soname): Likewise. (abi-n32_soft-ld-soname): Likewise. (abi-n32_hard-ld-soname): Likewise. (abi-n32_soft_2008-ld-soname): Likewise. (abi-n32_hard_2008-ld-soname): Likewise. (abi-n64_soft-ld-soname): Likewise. (abi-n64_hard-ld-soname): Likewise. (abi-n64_soft_2008-ld-soname): Likewise. (abi-n64_hard_2008-ld-soname): Likewise. * sysdeps/unix/sysv/linux/powerpc/Makefile (abi-64-v1-ld-soname): Likewise. (abi-64-v2-ld-soname): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions: Add ld.so entries. * sysdeps/unix/sysv/linux/s390/Makefile (abi-64-ld-soname): Remove variable. * sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions: Add ld.so entry. * sysdeps/unix/sysv/linux/x86/Makefile (abi-32-ld-soname): Remove variable. (abi-64-ld-soname): Likewise. (abi-x32-ld-soname): Likewise. * sysdeps/unix/sysv/linux/x86_64/64/shlib-versions: Add ld.so entry. * sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions: Likewise.
* Remove configuration name patterns from shlib-versions.Joseph Myers2014-09-121-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the first column (patterns matching configuration names) from shlib-versions, leaving shlib-versions entry selection based purely on sysdeps directories. An implication of this removal is that the default for any non-Linux ports using NPTL will be the same SONAMEs for NPTL libraries as for Linux (as those defaults, previously limited to .*-.*-linux.*, are left in nptl/shlib-versions and nptl_db/shlib-versions). Special host_os handling in configure.ac that was purely for shlib-versions is removed. (The host_os setting is still used for libc-abis - see <https://sourceware.org/ml/libc-alpha/2014-01/msg00375.html> regarding that - but no entries there are affected by this change.) Tested on x86_64 and x86 that the installed shared libraries are unchanged by this patch. * scripts/soversions.awk: Do not handle configuration names. * Makeconfig ($(common-objpfx)soversions.i): Do not pass cpu, vendor and os variables to soversions.awk. * configure.ac: Do not modify gnu-* host_os. * configure: Regenerated * shlib-versions: Remove first column with configuration names. * nptl/shlib-versions: Likewise. * nptl_db/shlib-versions: Likewise. * sysdeps/hppa/shlib-versions: Likewise. * sysdeps/m68k/shlib-versions: Likewise. * sysdeps/mach/hurd/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/aarch64/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/alpha/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/arm/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/hppa/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/ia64/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/microblaze/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/mips/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/sh/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/tile/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/shlib-versions: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions: Likewise. libidn/ChangeLog: * shlib-versions: Remove first column with configuration names.
* MIPS - Remove mips lowlevellock.h.Bernard Ogden2014-08-041-354/+0
| | | | * sysdeps/unix/sysv/linux/mips/lowlevellock.h: Remove file.
* Refactor handling of /lib64 etc. cases, move out of sysdeps/gnu/configure.ac.Joseph Myers2014-07-172-52/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-171-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Get rid of lll_robust_dead.Roland McGrath2014-07-101-9/+0
|
* Get rid of lll_robust_trylock.Roland McGrath2014-07-101-8/+0
|
* NPTL is no longer an add-on!Roland McGrath2014-07-071-0/+1
|
* Get rid of nptl/sysdeps/ entirely!Roland McGrath2014-07-071-8/+1
|
* 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.
* MIPS: Consolidate NPTL/non versions of cloneRoland McGrath2014-06-252-10/+0
|
* Remove stray includes of kernel-features.h.Joseph Myers2014-06-258-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that files using __ASSUME_* macros have been made by <https://sourceware.org/ml/libc-alpha/2014-06/msg00543.html> to include <kernel-features.h> directly, any include from a file not using __ASSUME_* macros can safely be removed (as there will no longer be some other file relying on indirect inclusion via a header from which the include is being removed). This patch removes such unnecessary kernel-features.h includes. Tested x86_64 that disassembly of installed shared libraries is unchanged by this patch, except for line numbers in calls to __assert_fail from libc.so and ld.so. 2014-06-23 Joseph Myers <joseph@codesourcery.com> * nptl/createthread.c: Don't include kernel-features.h. * nptl/pthread_cancel.c: Likewise. * nptl/pthread_condattr_setclock.c: Likewise. * nptl/sysdeps/unix/sysv/linux/pt-raise.c: Likewise. * nptl/sysdeps/unix/sysv/linux/pthread_getcpuclockid.c: Likewise. * nptl/sysdeps/unix/sysv/linux/pthread_kill.c: Likewise. * nptl/sysdeps/unix/sysv/linux/pthread_sigqueue.c: Likewise. * nptl/sysdeps/unix/sysv/linux/raise.c: Likewise. * nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-vfork.S: Likewise. * nptl/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S: Likewise. * nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-vfork.S: Likewise. * nptl/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S: Likewise. * nptl/sysdeps/unix/sysv/linux/timer_create.c: Likewise. * nptl/sysdeps/unix/sysv/linux/timer_delete.c: Likewise. * nptl/sysdeps/unix/sysv/linux/timer_getoverr.c: Likewise. * nptl/sysdeps/unix/sysv/linux/timer_gettime.c: Likewise. * nptl/sysdeps/unix/sysv/linux/timer_routines.c: Likewise. * nptl/sysdeps/unix/sysv/linux/timer_settime.c: Likewise. * nscd/gai.c: Likewise. * nss/nss_db/db-open.c: Likewise. * sysdeps/generic/ldsodefs.h: Likewise. * sysdeps/sh/nptl/tls.h: Likewise. * sysdeps/unix/sysv/linux/aarch64/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h: Likewise. * sysdeps/unix/sysv/linux/aarch64/vfork.S: Likewise. * sysdeps/unix/sysv/linux/adjtime.c: Likewise. * sysdeps/unix/sysv/linux/alpha/xstatconv.h: Likewise. * sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h: Likewise. * sysdeps/unix/sysv/linux/check_pf.c: Likewise. * sysdeps/unix/sysv/linux/clock_getcpuclockid.c: Likewise. * sysdeps/unix/sysv/linux/clock_getres.c: Likewise. * sysdeps/unix/sysv/linux/clock_gettime.c: Likewise. * sysdeps/unix/sysv/linux/clock_nanosleep.c: Likewise. * sysdeps/unix/sysv/linux/clock_settime.c: Likewise. * sysdeps/unix/sysv/linux/dl-execstack.c: Likewise. * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. * sysdeps/unix/sysv/linux/dl-sysdep.c: Likewise. * sysdeps/unix/sysv/linux/generic/futimesat.c: Likewise. * sysdeps/unix/sysv/linux/generic/poll.c: Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c: Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pread.c: Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pread64.c: Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c: Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/preadv64.c: Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev.c: Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev64.c: Likewise. * sysdeps/unix/sysv/linux/getcwd.c: Likewise. * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. * sysdeps/unix/sysv/linux/getsysstats.c: Likewise. * sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise. * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise. * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise. * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/i386/vfork.S: Likewise. * sysdeps/unix/sysv/linux/i386/xstat.c: Likewise. * sysdeps/unix/sysv/linux/ia64/system.c: Likewise. * sysdeps/unix/sysv/linux/if_index.c: Likewise. * sysdeps/unix/sysv/linux/ifaddrs.c: Likewise. * sysdeps/unix/sysv/linux/ifreq.c: Likewise. * sysdeps/unix/sysv/linux/ldsodefs.h: Likewise. * sysdeps/unix/sysv/linux/lutimes.c: Likewise. * sysdeps/unix/sysv/linux/m68k/vfork.S: Likewise. * sysdeps/unix/sysv/linux/microblaze/nptl/vfork.S: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/accept4.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/recvmmsg.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/sendmmsg.c: Likewise. * sysdeps/unix/sysv/linux/mips/pread.c: Likewise. * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/mmap64.c: Likewise. * sysdeps/unix/sysv/linux/netlinkaccess.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: Likewise. * sysdeps/unix/sysv/linux/pread.c: Likewise. * sysdeps/unix/sysv/linux/pread64.c: Likewise. * sysdeps/unix/sysv/linux/prof-freq.c: Likewise. * sysdeps/unix/sysv/linux/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/mmap.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Likewise. * sysdeps/unix/sysv/linux/s390/system.c: Likewise. * sysdeps/unix/sysv/linux/sh/pread.c: Likewise. * sysdeps/unix/sysv/linux/sh/pread64.c: Likewise. * sysdeps/unix/sysv/linux/sh/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/sh/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/sigpending.c: Likewise. * sysdeps/unix/sysv/linux/sigprocmask.c: Likewise. * sysdeps/unix/sysv/linux/sigsuspend.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/xstatconv.c: Likewise. * sysdeps/unix/sysv/linux/sparc/system.c: Likewise. * sysdeps/unix/sysv/linux/syslog.c: Likewise. * sysdeps/unix/sysv/linux/system.c: Likewise. * sysdeps/unix/sysv/linux/testrtsig.h: Likewise. * sysdeps/unix/sysv/linux/timespec_get.c: Likewise. * sysdeps/unix/sysv/linux/ttyname.c: Likewise. * sysdeps/unix/sysv/linux/ttyname_r.c: Likewise. * sysdeps/unix/sysv/linux/utimensat.c: Likewise. * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/xstatconv.h: Likewise.
* MIPS: Move NPTL public headers to sysdeps/mips/nptl/.Roland McGrath2014-06-233-273/+0
|
* Remove __ASSUME_ATFCTS conditionals in sysdeps/unix/sysv/linux/.Joseph Myers2014-06-201-59/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch cleans up for __ASSUME_ATFCTS now always being true for the supported Linux kernel versions by removing conditional code in sysdeps/unix/sysv/linux. Several fchownat.c files that were only present because of differences in the fallback syscalls used (depending on the architecture-specific names of chown-related syscalls for 32-bit uids) are removed. Files that looks like they could be replaced by syscalls.list entries have the standard "Consider moving to syscalls.list." comment (see bug 14138) added. Conditionals on the relevant __NR_* syscall numbers being defined are also removed, since my analysis indicated that the relevant syscalls are always defined for all relevant kernel versions using any affected file. Much of the removed fallback code had unbounded stack allocations, so this reduces the number of cases to consider for anyone reviewing uses of alloca and VLAs in glibc. There remain tests of __ASSUME_ATFCTS in io/openat.c (to determine whether to define __have_atfcts) and sysdeps/posix/getcwd.c (which also uses __have_atfcts); thus, the definition of __ASSUME_ATFCTS remains in kernel-features.h. The logical condition relevant there is whether openat64_not_cancel_3 is known to work. Hurd doesn't use this version of getcwd at all, so the conditionals in getcwd.c are always true in glibc. However, this code is also used in gnulib. So the best way to deal with the conditionals there may be for gnulib people to deal with merging all relevant changes in both directions between the glibc and gnulib versions of this file, at the end of which the openat conditionals should be in whatever form is best for gnulib, and hardcoded in the _LIBC case to having openat supported. Tested by comparing before-and-after disassembly of installed (stripped) shared libraries, on x86_64 and x86. On x86 the patch made no change to the disassembly; on x86_64, the only changes were in readlinkat, where formerly the return value from the readlinkat syscall was stored in an int variable before being converted to ssize_t for the return, and now the return value is returned directly without truncation to int. I think it's clearly correct not to truncate the return value (although I also think the truncation would not have been a user-visible bug because the kernel would never have returned a value it could have affected). * include/fcntl.h (__atfct_seterrno): Remove prototype. (__atfct_seterrno_2): Likewise. * sysdeps/unix/sysv/linux/alpha/dl-fxstatat64.c: Do not include <kernel-features.h>. (__ASSUME_ATFCTS): Do not undefine and redefine. * sysdeps/unix/sysv/linux/alpha/fxstatat.c [__ASSUME_ATFCTS] (__have_atfcts): Remove conditional definition. (__fxstatat([__NR_fstatat64]: Make code unconditional. (__fxstatat) [!__ASSUME_ATFCTS]: Remove conditional code and code unreachable if [__ASSUME_ATFCTS]. * sysdeps/unix/sysv/linux/dl-fxstatat64.c (__ASSUME_ATFCTS): Do not undefine and redefine. * sysdeps/unix/sysv/linux/faccessat.c: Do not include <kernel-features.h>. (faccessat) [__NR_faccessat]: Make code unconditional. (faccessat) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/fchmodat.c: Do not include <kernel-features.h>. (fchmodat) [__NR_fchmodat]: Make code unconditional. (fchmodat) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/fchownat.c: Do not include <kernel-features.h>. (fchownat) [__NR_fchownat]: Make code unconditional. (fchownat) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/futimesat.c: Do not include <kernel-features.h>. (futimesat) [__NR_futimesat]: Make code unconditional. (futimesat) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/fxstatat.c: Do not include <kernel-features.h>. (__fxstatat) [__NR_newfstatat]: Make code unconditional. (__fxstatat) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/fxstatat64.c: Do not include <kernel-features.h>. (__fxstatat64) [__NR_fstatat64]: Make code unconditional. (__fxstatat64) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/i386/fchownat.c: Remove file. * sysdeps/unix/sysv/linux/i386/fxstatat.c: Do not include <kernel-features.h>. (__fxstatat) [__NR_fstatat64]: Make code unconditional. (__fxstatat) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/linkat.c: Do not include <kernel-features.h>. (linkat) [__NR_linkat]: Make code unconditional. (linkat) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/m68k/fchownat.c: Remove file. * sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c: Do not include <kernel-features.h>. (__fxstatat64) [__NR_newfstatat]: Make code unconditional. (__fxstatat64) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/mkdirat.c: Do not include <kernel-features.h>. (mkdirat) [__NR_mkdirat]: Make code unconditional. (mkdirat) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/openat.c: Do not include <kernel-features.h>. [!__ASSUME_ATFCTS] (__atfct_seterrno): Remove function. [!__ASSUME_ATFCTS] (__have_atfcts): Remove variable. (OPENAT_NOT_CANCEL) [__NR_openat]: Make code unconditional. (OPENAT_NOT_CANCEL) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/powerpc/fchownat.c: Remove file. * sysdeps/unix/sysv/linux/readlinkat.c: Do not include <kernel-features.h>. (readlinkat) [__NR_readlinkat]: Make code unconditional. (readlinkat) [!__ASSUME_ATFCTS]: Remove conditional code. Return result of INLINE_SYSCALL directly, not via int variable. * sysdeps/unix/sysv/linux/renameat.c: Do not include <kernel-features.h>. [!__ASSUME_ATFCTS] (__atfct_seterrno_2): Remove function. (renameat) [__NR_renameat]: Make code unconditional. (renameat) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c: Remove file. * sysdeps/unix/sysv/linux/sh/fchownat.c: Remove file. * sysdeps/unix/sysv/linux/sparc/sparc32/fchownat.c: Remove file. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c (__ASSUME_ATFCTS): Do not undefine and redefine. * sysdeps/unix/sysv/linux/symlinkat.c: Do not include <kernel-features.h>. (symlinkat) [__NR_symlinkat]: Make code unconditional. (symlinkat) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/unlinkat.c: Do not include <kernel-features.h>. (unlinkat) [__NR_unlinkat]: Make code unconditional. (unlinkat) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/wordsize-64/dl-fxstatat64.c (__ASSUME_ATFCTS): Do not undefine and redefine. * sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: Do not include <kernel-features.h>. (__fxstatat) [__NR_newfstatat]: Make code unconditional. (__fxstatat) [!__ASSUME_ATFCTS]: Remove conditional code. * sysdeps/unix/sysv/linux/xmknodat.c: Do not include <kernel-features.h>. (__xmknodat) [__NR_mknodat]: Make code unconditional. (__xmknodat) [!__ASSUME_ATFCTS]: Remove conditional code.
* Add adaptive elision to rwlocksAndi Kleen2014-06-131-0/+2
| | | | | | | | | | | | | | | | | | | This patch relies on the C version of the rwlocks posted earlier. With C rwlocks it is very straight forward to do adaptive elision using TSX. It is based on the infrastructure added earlier for mutexes, but uses its own elision macros. The macros are fairly general purpose and could be used for other elision purposes too. This version is much cleaner than the earlier assembler based version, and in particular implements adaptation which makes it safer. I changed the behavior slightly to not require any changes in the test suite and fully conform to all expected behaviors (generally at the cost of not eliding in various situations). In particular this means the timedlock variants are not elided. Nested trylock aborts.
* MIPS: Define TLS_DEFINE_INIT_TPRoland McGrath2014-06-091-23/+0
|
* Split arch-fork.h from fork.hRoland McGrath2014-05-162-1/+1
|
* Fix mips fork after i386 reorganization.Roland McGrath2014-05-142-1/+1
|
* Reduce kernel-features.h duplication.Joseph Myers2014-05-141-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch reduces duplication between different architectures' kernel-features.h files by making the architecture-independent file define various macros unconditionally (instead of only for a particular list of architectures), with the architecture-specific files then undefining the macros if necessary. Specifically, __ASSUME_O_CLOEXEC (O_CLOEXEC flag to open) and __ASSUME_SOCK_CLOEXEC (SOCK_NONBLOCK and SOCK_CLOEXEC flags to socket) are supported on all architectures as of 2.6.32 or the minimum kernel version for the architecture if later. For __ASSUME_IN_NONBLOCK, __ASSUME_PIPE2, __ASSUME_EVENTFD2, __ASSUME_SIGNALFD4 and __ASSUME_DUP3, the relevant syscalls were added for alpha in 2.6.33 but otherwise the features are available as of 2.6.32. For __ASSUME_UTIMES, support is everywhere in 2.6.32 except for asm-generic architectures and hppa. Although those were the main cases of duplication among kernel-features.h files, some other cases of unnecessary definitions were also cleaned up: the hppa file defined various macros that were either no longer used at all, or defined by the main file by default anyway, the ia64 file had duplicative definitions of __ASSUME_PSELECT and __ASSUME_PPOLL, while mips had such a definition of __ASSUME_IPC64. Really, rather than being defined in the main file then undefined for asm-generic architectures, __ASSUME_UTIMES should become an hppa-specific macro. Given that __ASSUME_ATFCTS and __ASSUME_UTIMENSAT are now always true, the only live __ASSUME_UTIMES conditional is in sysdeps/unix/sysv/linux/utimes.c, which is not used for asm-generic architectures. I think the desired state would be an hppa-specific file (that includes sysdeps/unix/sysv/linux/utimes.c if __ASSUME_UTIMES, and otherwise has fallback code), with the fallback code being removed from the main utimes.c. But I think that's most reasonably a separate cleanup once __ASSUME_ATFCTS and __ASSUME_UTIMESAT have both had conditional code cleaned up. Given this patch, I think it's straightforward to move non-ex-ports architectures to having their own kernel-features.h files, like ex-ports architectures, rather than conditionals in the main file (i.e., such a move won't require the architecture-specific file to contain anything that isn't genuinely architecture-specific), and would encourage architecture maintainers to do so. Tested x86_64 that the installed shared libraries are unchanged by this patch. Note that on some architectures this *will* cause __ASSUME_* macros to be defined in cases where they weren't previously but should have been (but this is just optimization, not a fix to a user-visible bug, so doesn't need a bug report in Bugzilla). * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_UTIMES): Define unconditionally. (__ASSUME_O_CLOEXEC): Likewise. (__ASSUME_SOCK_CLOEXEC): Likewise. (__ASSUME_IN_NONBLOCK): Likewise. (__ASSUME_PIPE2): Likewise. (__ASSUME_EVENTFD2): Likewise. (__ASSUME_SIGNALFD4): Likewise. (__ASSUME_DUP3): Likewise. * sysdeps/unix/sysv/linux/aarch64/kernel-features.h (__ASSUME_DUP3): Do not define. (__ASSUME_EVENTFD2): Likewise. (__ASSUME_IN_NONBLOCK): Likewise. (__ASSUME_O_CLOEXEC): Likewise. (__ASSUME_PIPE2): Likewise. (__ASSUME_SIGNALFD4): Likewise. (__ASSUME_SOCK_CLOEXEC): Likewise. (__ASSUME_UTIMES): Undefine. * sysdeps/unix/sysv/linux/alpha/kernel-features.h (__ASSUME_UTIMES): Do not define. (__ASSUME_O_CLOEXEC): Likewise. (__ASSUME_SOCK_CLOEXEC): Likewise. (__ASSUME_IN_NONBLOCK): Undefine if [__LINUX_KERNEL_VERSION < 0x020621] instead of defining if [__LINUX_KERNEL_VERSION >= 0x020621]. (__ASSUME_PIPE2): Likewise. (__ASSUME_EVENTFD2): Likewise. (__ASSUME_SIGNALFD4): Likewise. [__LINUX_KERNEL_VERSION < 0x020621] (__ASSUME_DUP3): Undefine. * sysdeps/unix/sysv/linux/arm/kernel-features.h (__ASSUME_UTIMES): Do not define. (__ASSUME_EVENTFD2): Likewise. (__ASSUME_SIGNALFD4): Likewise. * sysdeps/unix/sysv/linux/hppa/kernel-features.h (__ASSUME_32BITUIDS): Likewise. (__ASSUME_TRUNCATE64_SYSCALL): Likewise. (__ASSUME_IPC64): Likewise. (__ASSUME_ST_INO_64_BIT): Likewise. (__ASSUME_GETDENTS64_SYSCALL): Likewise. [__LINUX_KERNEL_VERSION < 0x030e00] (__ASSUME_UTIMES): Undefine. * sysdeps/unix/sysv/linux/ia64/kernel-features.h (__ASSUME_UTIMES): Do not define. (__ASSUME_PSELECT): Likewise. (__ASSUME_PPOLL): Likewise. (__ASSUME_O_CLOEXEC): Likewise. (__ASSUME_SOCK_CLOEXEC): Likewise. (__ASSUME_IN_NONBLOCK): Likewise. (__ASSUME_PIPE2): Likewise. (__ASSUME_EVENTFD2): Likewise. (__ASSUME_SIGNALFD4): Likewise. (__ASSUME_DUP3): Likewise. * sysdeps/unix/sysv/linux/m68k/kernel-features.h (__ASSUME_UTIMES): Likewise. (__ASSUME_O_CLOEXEC): Likewise. (__ASSUME_SOCK_CLOEXEC): Likewise. (__ASSUME_IN_NONBLOCK): Likewise. (__ASSUME_PIPE2): Likewise. (__ASSUME_EVENTFD2): Likewise. (__ASSUME_SIGNALFD4): Likewise. (__ASSUME_DUP3): Likewise. * sysdeps/unix/sysv/linux/microblaze/kernel-features.h (__ASSUME_UTIMES): Likewise. (__ASSUME_O_CLOEXEC): Likewise. (__ASSUME_SOCK_CLOEXEC): Likewise. (__ASSUME_IN_NONBLOCK): Likewise. (__ASSUME_PIPE2): Likewise. (__ASSUME_EVENTFD2): Likewise. (__ASSUME_SIGNALFD4): Likewise. (__ASSUME_DUP3): Likewise. * sysdeps/unix/sysv/linux/mips/kernel-features.h (__ASSUME_IPC64): Likewise. (__ASSUME_UTIMES): Likewise. (__ASSUME_EVENTFD2): Likewise. (__ASSUME_SIGNALFD4): Likewise. * sysdeps/unix/sysv/linux/tile/kernel-features.h (__ASSUME_O_CLOEXEC): Likewise. (__ASSUME_SOCK_CLOEXEC): Likewise. (__ASSUME_IN_NONBLOCK): Likewise. (__ASSUME_PIPE2): Likewise. (__ASSUME_EVENTFD2): Likewise. (__ASSUME_SIGNALFD4): Likewise. (__ASSUME_DUP3): Likewise. (__ASSUME_UTIMES): Undefine.
* Clean up kernel version conditionals for pre-2.6.32 kernels.Joseph Myers2014-05-121-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does some initial cleanup, following the move to 2.6.32 minimum kernel version, by removing __LINUX_KERNEL_VERSION conditionals that are now always-true or always-false. In the case of __ASSUME_ARG_MAX_STACK_BASED, where the conditional used a kernel version that was itself in a macro, the associated sysconf.c code is also cleaned up and __ASSUME_ARG_MAX_STACK_BASED removed completely. Tested x86_64 that disassembly of installed shared libraries is unchanged by the patch. * sysdeps/unix/sysv/linux/kernel-features.h [__s390__] (__ASSUME_UTIMES): Do not condition on kernel version. (__ASSUME_PSELECT): Define unconditionally. (__ASSUME_PPOLL): Likewise. (__ASSUME_ATFCTS): Likewise. (__ASSUME_SET_ROBUST_LIST): Do not condition on kernel version. (__ASSUME_COMPLETE_READV_WRITEV): Define unconditionally. (__ASSUME_FUTEX_LOCK_PI): Do not condition on kernel version. (__ASSUME_UTIMENSAT): Define unconditionally. (__ASSUME_PRIVATE_FUTEX): Likewise. (__ASSUME_FALLOCATE): Likewise. (__ASSUME_O_CLOEXEC): Likewise. (__LINUX_ARG_MAX_STACK_BASED_MIN_KERNEL): Remove. (__ASSUME_ARG_MAX_STACK_BASED): Likewise. (__ASSUME_ADJ_OFFSET_SS_READ): Define unconditionally. (__ASSUME_SOCK_CLOEXEC): Do not condition on kernel version. (__ASSUME_IN_NONBLOCK): Likewise. (__ASSUME_PIPE2): Likewise. (__ASSUME_EVENTFD2): Likewise. (__ASSUME_SIGNALFD4): Likewise. (__ASSUME_DUP3): Likewise. [__x86_64__ || __sparc__] (__ASSUME_ACCEPT4_SYSCALL): Likewise. (__ASSUME_FUTEX_CLOCK_REALTIME): Define unconditionally. (__ASSUME_AT_RANDOM): Likewise. (__ASSUME_PREADV): Likewise. (__ASSUME_PWRITEV): Likewise. (__ASSUME_REQUEUE_PI): Do not condition on kernel version. (__ASSUME_F_GETOWN_EX): Define unconditionally. (__ASSUME_XFS_RESTRICTED_CHOWN): Likewise. * sysdeps/unix/sysv/linux/sysconf.c (__sysconf) [!__ASSUME_ARG_MAX_STACK_BASED]: Remove conditional code. * sysdeps/unix/sysv/linux/alpha/kernel-features.h (__ASSUME_O_CLOEXEC): Define unconditionally. (__ASSUME_PSELECT): Do not undefine conditionally. (__ASSUME_PPOLL): Likewise. (__ASSUME_ATFCTS): Likewise. (__ASSUME_SET_ROBUST_LIST): Likewise. (__ASSUME_UTIMENSAT): Likewise. (__ASSUME_FDATASYNC): Define unconditionally. * sysdeps/unix/sysv/linux/arm/kernel-features.h (__ASSUME_SIGFRAME_V2): Likewise. )__ASSUME_EVENTFD2): Likewise. (__ASSUME_SIGNALFD4): Likewise. (__ASSUME_PSELECT): Do not undefine conditionally. (__ASSUME_PPOLL): Likewise. * sysdeps/unix/sysv/linux/ia64/kernel-features.h (__ASSUME_PSELECT): Define unconditionally. (__ASSUME_PPOLL): Likewise. (__ASSUME_O_CLOEXEC): Likewise. (__ASSUME_SOCK_CLOEXEC): Likewise. (__ASSUME_IN_NONBLOCK): Likewise. (__ASSUME_PIPE2): Likewise. (__ASSUME_EVENTFD2): Likewise. (__ASSUME_SIGNALFD4): Likewise. (__ASSUME_DUP3): Likewise. * sysdeps/unix/sysv/linux/m68k/kernel-features.h (__ASSUME_O_CLOEXEC): Likewise. (__ASSUME_SOCK_CLOEXEC): Likewise. (__ASSUME_IN_NONBLOCK): Likewise. (__ASSUME_PIPE2): Likewise. (__ASSUME_EVENTFD2): Likewise. (__ASSUME_SIGNALFD4): Likewise. (__ASSUME_DUP3): Likewise. * sysdeps/unix/sysv/linux/mips/kernel-features.h (__ASSUME_EVENTFD2): Likewise. (__ASSUME_SIGNALFD4): Likewise. (__ASSUME_ACCEPT4_SYSCALL): Likewise.
* Fixed and unified pthread_once.Torvald Riegel2014-04-111-93/+0
| | | | | | | [BZ #15215] This unifies various pthread_once architecture-specific implementations which were using the same algorithm with slightly different implementations. It also adds missing memory barriers that are required for correctness.
* Move __PTHREAD_SPINS definition to architecture specific headerAdhemerval Zanella2014-04-091-0/+3
| | | | | | | This patch moves the __PTHREAD_SPINS definition to arch specific header since pthread_mutex_t layout is also arch specific. This leads to no need to defining __PTHREAD_MUTEX_HAVE_ELISION and thus removing of the undefined compiler warning.
* Correct robust mutex / PI futex kernel assumptions (bug 9894).Joseph Myers2014-03-311-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch continues fixing __ASSUME_* issues in preparation for moving to a 2.6.32 minimum kernel version by addressing assumptions on robust mutex and PI futex support availability. Those assumptions are bug 9894, but to be clear this patch does not address all the issues from that bug about wrong version assumptions, only those still applicable for --enable-kernel=2.6.32 or later (with the expectation that the move to that minimum kernel will obsolete the other parts of the bug). The patch is independent of <https://sourceware.org/ml/libc-alpha/2014-03/msg00585.html>, my other pending-review patch preparing for the kernel version change; the two together complete all the changes I believe are needed in preparation regarding any macro in sysdeps/unix/sysv/linux/kernel-features.h that would be affected by such a change. (I have not checked the correctness of macros whose conditions are unaffected by such a change, or macros only defined in other kernel-features.h files.) As discussed in that bug, robust mutexes and PI futexes need futex_atomic_cmpxchg_inatomic to be implemented, in addition to certain syscalls needed for robust mutexes (and architecture-independent kernel pieces for all the features in question). That is, as I understand it, they need futex_atomic_cmpxchg_inatomic to *work* (not return an ENOSYS error). The issues identified in my analysis relate to ARM, M68K, MicroBlaze, MIPS and SPARC. On ARM, whether futex_atomic_cmpxchg_inatomic works depends on the kernel configuration. As of 3.13, the condition for *not* working is CONFIG_CPU_USE_DOMAINS && CONFIG_SMP. As of 2.6.32 it was simply CONFIG_SMP that meant the feature was not implemented. I don't know if there are any circumstances in which we can say "we can assume a userspace glibc binary built with these options will never run on a kernel with the problematic configuration", but at least for now I'm just undefining the relevant __ASSUME_* macros for ARM. On M68K, two of the three macros are undefined for kernels before 3.10, but as far as I can see __ASSUME_FUTEX_LOCK_PI is in the same group needing futex_atomic_cmpxchg_inatomic support and so should be undefined as well. On MicroBlaze the required support was added in 2.6.33. On MIPS, the support depends on cpu_has_llsc in the kernel - that is, actual hardware LL/SC support (GCC and glibc for MIPS GNU/Linux rely on the instructions being supported in some way, but it may be kernel emulation; futex_atomic_cmpxchg_inatomic doesn't work with that emulation). The same condition as in GCC for indicating LL/SC support may not be available is used for undefining the macros in glibc, __mips == 1 || defined _MIPS_ARCH_R5900. (Maybe we could in fact desupport MIPS processors without the hardware support in glibc.) On SPARC, 32-bit kernels don't support futex_atomic_cmpxchg_inatomic; __arch64__ || __sparc_v9__ is used as the condition for binaries that won't run on 32-bit kernels. This patch is not tested beyond the sanity check of an x86_64 build. [BZ #9894] * sysdeps/unix/sysv/linux/kernel-features.h [__sparc__ && !__arch64__ && !__sparc_v9__] (__ASSUME_SET_ROBUST_LIST): Do not define. [__sparc__ && !__arch64__ && !__sparc_v9__] (__ASSUME_FUTEX_LOCK_PI): Likewise. [__sparc__ && !__arch64__ && !__sparc_v9__] (__ASSUME_REQUEUE_PI): Likewise. * sysdeps/unix/sysv/linux/arm/kernel-features.h (__ASSUME_FUTEX_LOCK_PI): Undefine. (__ASSUME_REQUEUE_PI): Likewise. (__ASSUME_SET_ROBUST_LIST): Likewise. * sysdeps/unix/sysv/linux/m68k/kernel-features.h [__LINUX_KERNEL_VERSION < 0x030a00] (__ASSUME_FUTEX_LOCK_PI): Undefine. * sysdeps/unix/sysv/linux/microblaze/kernel-features.h [__LINUX_KERNEL_VERSION < 0x020621] (__ASSUME_FUTEX_LOCK_PI): Likewise. [__LINUX_KERNEL_VERSION < 0x020621] (__ASSUME_REQUEUE_PI): Likewise. [__LINUX_KERNEL_VERSION < 0x020621] (__ASSUME_SET_ROBUST_LIST): Likewise. * sysdeps/unix/sysv/linux/mips/kernel-features.h [__mips == 1 || _MIPS_ARCH_R5900] (__ASSUME_FUTEX_LOCK_PI): Undefine. [__mips == 1 || _MIPS_ARCH_R5900] (__ASSUME_REQUEUE_PI): Likewise. [__mips == 1 || _MIPS_ARCH_R5900] (__ASSUME_SET_ROBUST_LIST): Likewise.
* Fix -Wundef warnings for _ABI* on MIPS.Joseph Myers2014-03-212-0/+3
| | | | | | | | | | | | | | | | This patch fixes -Wundef warnings related to the _ABI* macros on MIPS. GCC predefines only the _ABI* macro related to the ABI actually in use, meaning that a conditional such as "#if _MIPS_SIM == _ABI64" is true only for the ABI in question (all the macros are nonzero), but produces a -Wundef warning for the other ABIs. The normal approach to using these macros is to include <sgidefs.h>, which ensures that all three _ABI* macros are defined rather than just one; this patch does so in the places that caused warnings (the bulk of the warnings arising from <bits/wordsize.h>). Tested that the warnings are fixed. * sysdeps/mips/bits/wordsize.h: Include <sgidefs.h>. * sysdeps/unix/sysv/linux/mips/getrlimit64.c: Likewise. * sysdeps/unix/sysv/linux/mips/setrlimit64.c: Likewise.
* Fix POSIX namespace for <bits/siginfo.h> (bug 16674).Joseph Myers2014-03-071-37/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <bits/siginfo.h> causes symbols ILL_*, FPE_*, SEGV_* BUS_*, CLD_*, POLL_* and TRAP_* to be exposed in <signal.h> (and <sys/wait.h>), even though those symbols are not in non-XSI POSIX before POSIX.1-2008 and even in POSIX.1-2008 the TRAP_* symbols are XSI-only. This patch conditions the symbols appropriately in the various <bits/siginfo.h> implementations (various <signal.h> and <sys/wait.h> conformtest issues remain for standards other than POSIX (1995/6)). Tested x86_64. [BZ #16674] * bits/siginfo.h (ILL_ILLOPC): Condition on [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]. (ILL_ILLOPN): Likewise. (ILL_ILLADR): Likewise. (ILL_ILLTRP): Likewise. (ILL_PRVOPC): Likewise. (ILL_PRVREG): Likewise. (ILL_COPROC): Likewise. (ILL_BADSTK): Likewise. (FPE_INTDIV): Likewise. (FPE_INTOVF): Likewise. (FPE_FLTDIV): Likewise. (FPE_FLTOVF): Likewise. (FPE_FLTUND): Likewise. (FPE_FLTRES): Likewise. (FPE_FLTINV): Likewise. (FPE_FLTSUB): Likewise. (SEGV_MAPERR): Likewise. (SEGV_ACCERR): Likewise. (BUS_ADRALN): Likewise. (BUS_ADRERR): Likewise. (BUS_OBJERR): Likewise. (TRAP_BRKPT): Condition on [__USE_XOPEN_EXTENDED]. (TRAP_TRACE): Likewise. (CLD_EXITED): Condition on [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]. (CLD_KILLED): Likewise. (CLD_DUMPED): Likewise. (CLD_TRAPPED): Likewise. (CLD_STOPPED): Likewise. (CLD_CONTINUED): Likewise. (POLL_IN): Likewise. (POLL_OUT): Likewise. (POLL_MSG): Likewise. (POLL_ERR): Likewise. (POLL_PRI): Likewise. (POLL_HUP): Likewise. * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h (ILL_ILLOPC): Likewise. (ILL_ILLOPN): Likewise. (ILL_ILLADR): Likewise. (ILL_ILLTRP): Likewise. (ILL_PRVOPC): Likewise. (ILL_PRVREG): Likewise. (ILL_COPROC): Likewise. (ILL_BADSTK): Likewise. (FPE_INTDIV): Likewise. (FPE_INTOVF): Likewise. (FPE_FLTDIV): Likewise. (FPE_FLTOVF): Likewise. (FPE_FLTUND): Likewise. (FPE_FLTRES): Likewise. (FPE_FLTINV): Likewise. (FPE_FLTSUB): Likewise. (SEGV_MAPERR): Likewise. (SEGV_ACCERR): Likewise. (BUS_ADRALN): Likewise. (BUS_ADRERR): Likewise. (BUS_OBJERR): Likewise. (BUS_MCEERR_AR): Likewise. (BUS_MCEERR_AO): Likewise. (TRAP_BRKPT): Condition on [__USE_XOPEN_EXTENDED]. (TRAP_TRACE): Likewise. (CLD_EXITED): Condition on [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]. (CLD_KILLED): Likewise. (CLD_DUMPED): Likewise. (CLD_TRAPPED): Likewise. (CLD_STOPPED): Likewise. (CLD_CONTINUED): Likewise. (POLL_IN): Likewise. (POLL_OUT): Likewise. (POLL_MSG): Likewise. (POLL_ERR): Likewise. (POLL_PRI): Likewise. (POLL_HUP): Likewise. * sysdeps/unix/sysv/linux/bits/siginfo.h (ILL_ILLOPC): Likewise. (ILL_ILLOPN): Likewise. (ILL_ILLADR): Likewise. (ILL_ILLTRP): Likewise. (ILL_PRVOPC): Likewise. (ILL_PRVREG): Likewise. (ILL_COPROC): Likewise. (ILL_BADSTK): Likewise. (FPE_INTDIV): Likewise. (FPE_INTOVF): Likewise. (FPE_FLTDIV): Likewise. (FPE_FLTOVF): Likewise. (FPE_FLTUND): Likewise. (FPE_FLTRES): Likewise. (FPE_FLTINV): Likewise. (FPE_FLTSUB): Likewise. (SEGV_MAPERR): Likewise. (SEGV_ACCERR): Likewise. (BUS_ADRALN): Likewise. (BUS_ADRERR): Likewise. (BUS_OBJERR): Likewise. (BUS_MCEERR_AR): Likewise. (BUS_MCEERR_AO): Likewise. (TRAP_BRKPT): Condition on [__USE_XOPEN_EXTENDED]. (TRAP_TRACE): Likewise. (CLD_EXITED): Condition on [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]. (CLD_KILLED): Likewise. (CLD_DUMPED): Likewise. (CLD_TRAPPED): Likewise. (CLD_STOPPED): Likewise. (CLD_CONTINUED): Likewise. (POLL_IN): Likewise. (POLL_OUT): Likewise. (POLL_MSG): Likewise. (POLL_ERR): Likewise. (POLL_PRI): Likewise. (POLL_HUP): Likewise. * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (ILL_ILLOPC): Likewise. (ILL_ILLOPN): Likewise. (ILL_ILLADR): Likewise. (ILL_ILLTRP): Likewise. (ILL_PRVOPC): Likewise. (ILL_PRVREG): Likewise. (ILL_COPROC): Likewise. (ILL_BADSTK): Likewise. (ILL_BADIADDR): Likewise. (ILL_BREAK): Likewise. (FPE_INTDIV): Likewise. (FPE_INTOVF): Likewise. (FPE_FLTDIV): Likewise. (FPE_FLTOVF): Likewise. (FPE_FLTUND): Likewise. (FPE_FLTRES): Likewise. (FPE_FLTINV): Likewise. (FPE_FLTSUB): Likewise. (FPE_DECOVF): Likewise. (FPE_DECDIV): Likewise. (FPE_DECERR): Likewise. (FPE_INVASC): Likewise. (FPE_INVDEC): Likewise. (SEGV_MAPERR): Likewise. (SEGV_ACCERR): Likewise. (SEGV_PSTKOVF): Likewise. (BUS_ADRALN): Likewise. (BUS_ADRERR): Likewise. (BUS_OBJERR): Likewise. (BUS_MCEERR_AR): Likewise. (BUS_MCEERR_AO): Likewise. (TRAP_BRKPT): Condition on [__USE_XOPEN_EXTENDED]. (TRAP_TRACE): Likewise. (TRAP_BRANCH): Likewise. (TRAP_HWBKPT): Likewise. (CLD_EXITED): Condition on [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]. (CLD_KILLED): Likewise. (CLD_DUMPED): Likewise. (CLD_TRAPPED): Likewise. (CLD_STOPPED): Likewise. (CLD_CONTINUED): Likewise. (POLL_IN): Likewise. (POLL_OUT): Likewise. (POLL_MSG): Likewise. (POLL_ERR): Likewise. (POLL_PRI): Likewise. (POLL_HUP): Likewise. * sysdeps/unix/sysv/linux/mips/bits/siginfo.h (ILL_ILLOPC): Likewise. (ILL_ILLOPN): Likewise. (ILL_ILLADR): Likewise. (ILL_ILLTRP): Likewise. (ILL_PRVOPC): Likewise. (ILL_PRVREG): Likewise. (ILL_COPROC): Likewise. (ILL_BADSTK): Likewise. (FPE_INTDIV): Likewise. (FPE_INTOVF): Likewise. (FPE_FLTDIV): Likewise. (FPE_FLTOVF): Likewise. (FPE_FLTUND): Likewise. (FPE_FLTRES): Likewise. (FPE_FLTINV): Likewise. (FPE_FLTSUB): Likewise. (SEGV_MAPERR): Likewise. (SEGV_ACCERR): Likewise. (BUS_ADRALN): Likewise. (BUS_ADRERR): Likewise. (BUS_OBJERR): Likewise. (BUS_MCEERR_AR): Likewise. (BUS_MCEERR_AO): Likewise. (TRAP_BRKPT): Condition on [__USE_XOPEN_EXTENDED]. (TRAP_TRACE): Likewise. (CLD_EXITED): Condition on [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]. (CLD_KILLED): Likewise. (CLD_DUMPED): Likewise. (CLD_TRAPPED): Likewise. (CLD_STOPPED): Likewise. (CLD_CONTINUED): Likewise. (POLL_IN): Likewise. (POLL_OUT): Likewise. (POLL_MSG): Likewise. (POLL_ERR): Likewise. (POLL_PRI): Likewise. (POLL_HUP): Likewise. * sysdeps/unix/sysv/linux/s390/bits/siginfo.h (ILL_ILLOPC): Likewise. (ILL_ILLOPN): Likewise. (ILL_ILLADR): Likewise. (ILL_ILLTRP): Likewise. (ILL_PRVOPC): Likewise. (ILL_PRVREG): Likewise. (ILL_COPROC): Likewise. (ILL_BADSTK): Likewise. (FPE_INTDIV): Likewise. (FPE_INTOVF): Likewise. (FPE_FLTDIV): Likewise. (FPE_FLTOVF): Likewise. (FPE_FLTUND): Likewise. (FPE_FLTRES): Likewise. (FPE_FLTINV): Likewise. (FPE_FLTSUB): Likewise. (SEGV_MAPERR): Likewise. (SEGV_ACCERR): Likewise. (BUS_ADRALN): Likewise. (BUS_ADRERR): Likewise. (BUS_OBJERR): Likewise. (BUS_MCEERR_AR): Likewise. (BUS_MCEERR_AO): Likewise. (TRAP_BRKPT): Condition on [__USE_XOPEN_EXTENDED]. (TRAP_TRACE): Likewise. (CLD_EXITED): Condition on [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]. (CLD_KILLED): Likewise. (CLD_DUMPED): Likewise. (CLD_TRAPPED): Likewise. (CLD_STOPPED): Likewise. (CLD_CONTINUED): Likewise. (POLL_IN): Likewise. (POLL_OUT): Likewise. (POLL_MSG): Likewise. (POLL_ERR): Likewise. (POLL_PRI): Likewise. (POLL_HUP): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h (ILL_ILLOPC): Likewise. (ILL_ILLOPN): Likewise. (ILL_ILLADR): Likewise. (ILL_ILLTRP): Likewise. (ILL_PRVOPC): Likewise. (ILL_PRVREG): Likewise. (ILL_COPROC): Likewise. (ILL_BADSTK): Likewise. (FPE_INTDIV): Likewise. (FPE_INTOVF): Likewise. (FPE_FLTDIV): Likewise. (FPE_FLTOVF): Likewise. (FPE_FLTUND): Likewise. (FPE_FLTRES): Likewise. (FPE_FLTINV): Likewise. (FPE_FLTSUB): Likewise. (SEGV_MAPERR): Likewise. (SEGV_ACCERR): Likewise. (BUS_ADRALN): Likewise. (BUS_ADRERR): Likewise. (BUS_OBJERR): Likewise. (BUS_MCEERR_AR): Likewise. (BUS_MCEERR_AO): Likewise. (TRAP_BRKPT): Condition on [__USE_XOPEN_EXTENDED]. (TRAP_TRACE): Likewise. (CLD_EXITED): Condition on [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]. (CLD_KILLED): Likewise. (CLD_DUMPED): Likewise. (CLD_TRAPPED): Likewise. (CLD_STOPPED): Likewise. (CLD_CONTINUED): Likewise. (POLL_IN): Likewise. (POLL_OUT): Likewise. (POLL_MSG): Likewise. (POLL_ERR): Likewise. (POLL_PRI): Likewise. (POLL_HUP): Likewise. * sysdeps/unix/sysv/linux/tile/bits/siginfo.h (ILL_ILLOPC): Likewise. (ILL_ILLOPN): Likewise. (ILL_ILLADR): Likewise. (ILL_ILLTRP): Likewise. (ILL_PRVOPC): Likewise. (ILL_PRVREG): Likewise. (ILL_COPROC): Likewise. (ILL_BADSTK): Likewise. (ILL_DBLFLT): Likewise. (ILL_HARDWALL): Likewise. (FPE_INTDIV): Likewise. (FPE_INTOVF): Likewise. (FPE_FLTDIV): Likewise. (FPE_FLTOVF): Likewise. (FPE_FLTUND): Likewise. (FPE_FLTRES): Likewise. (FPE_FLTINV): Likewise. (FPE_FLTSUB): Likewise. (SEGV_MAPERR): Likewise. (SEGV_ACCERR): Likewise. (BUS_ADRALN): Likewise. (BUS_ADRERR): Likewise. (BUS_OBJERR): Likewise. (BUS_MCEERR_AR): Likewise. (BUS_MCEERR_AO): Likewise. (TRAP_BRKPT): Condition on [__USE_XOPEN_EXTENDED]. (TRAP_TRACE): Likewise. (CLD_EXITED): Condition on [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]. (CLD_KILLED): Likewise. (CLD_DUMPED): Likewise. (CLD_TRAPPED): Likewise. (CLD_STOPPED): Likewise. (CLD_CONTINUED): Likewise. (POLL_IN): Likewise. (POLL_OUT): Likewise. (POLL_MSG): Likewise. (POLL_ERR): Likewise. (POLL_PRI): Likewise. (POLL_HUP): Likewise. * sysdeps/unix/sysv/linux/x86/bits/siginfo.h (ILL_ILLOPC): Likewise. (ILL_ILLOPN): Likewise. (ILL_ILLADR): Likewise. (ILL_ILLTRP): Likewise. (ILL_PRVOPC): Likewise. (ILL_PRVREG): Likewise. (ILL_COPROC): Likewise. (ILL_BADSTK): Likewise. (FPE_INTDIV): Likewise. (FPE_INTOVF): Likewise. (FPE_FLTDIV): Likewise. (FPE_FLTOVF): Likewise. (FPE_FLTUND): Likewise. (FPE_FLTRES): Likewise. (FPE_FLTINV): Likewise. (FPE_FLTSUB): Likewise. (SEGV_MAPERR): Likewise. (SEGV_ACCERR): Likewise. (BUS_ADRALN): Likewise. (BUS_ADRERR): Likewise. (BUS_OBJERR): Likewise. (BUS_MCEERR_AR): Likewise. (BUS_MCEERR_AO): Likewise. (TRAP_BRKPT): Condition on [__USE_XOPEN_EXTENDED]. (TRAP_TRACE): Likewise. (CLD_EXITED): Condition on [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]. (CLD_KILLED): Likewise. (CLD_DUMPED): Likewise. (CLD_TRAPPED): Likewise. (CLD_STOPPED): Likewise. (CLD_CONTINUED): Likewise. (POLL_IN): Likewise. (POLL_OUT): Likewise. (POLL_MSG): Likewise. (POLL_ERR): Likewise. (POLL_PRI): Likewise. (POLL_HUP): Likewise. * conform/Makefile (test-xfail-POSIX/signal.h/conform): Remove. (test-xfail-POSIX/sys/wait.h/conform): Likewise.
* Complete _BSD_SOURCE / _SVID_source followup cleanup.Joseph Myers2014-02-212-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch completes the headers cleanup consequent on removal of _BSD_SOURCE and _SVID_SOURCE (apart from any subsequent deprecations): * #endif conditionals that referred to BSD or SVID are updated. * Redundant __USE_* tests in cases involving __USE_MISC are removed. This includes cases such as __USE_MISC || __USE_ISOC99, where __USE_MISC is redundant (because __USE_MISC is only ever defined in the default / _DEFAULT_SOURCE / _GNU_SOURCE case, when __USE_ISOC99 is also defined; the same applies to the non-XSI-extended POSIX versions), and cases involving __USE_GNU, where __USE_GNU is redundant (because if __USE_GNU is defined, so are the other __USE_* macros). There may well be other cases of __USE_FOO || __USE_BAR tests that could be simplified because one macro implies the other; this patch only addresses cases involving __USE_MISC. Tested x86_64. * bits/fcntl.h [__USE_MISC]: Remove redundant conditionals. * bits/sigaction.h [__USE_MISC]: Likewise. * bits/waitstatus.h: Update #endif comments. * ctype/ctype.h: Likewise. * dirent/dirent.h: Likewise. [__USE_MISC]: Remove redundant conditionals. * grp/grp.h: Update #endif comments. [__USE_GNU]: Remove redundant conditionals. [__USE_MISC]: Likewise. * inet/netinet/in.h [__USE_GNU]: Likewise. * io/sys/stat.h [__USE_MISC]: Likewise. * libio/bits/stdio-ldbl.h [__USE_MISC]: Likewise. * libio/bits/stdio.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * libio/bits/stdio2.h [__USE_MISC]: Likewise. * libio/stdio.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * math/bits/math-finite.h [__USE_MISC]: Likewise. * math/bits/mathcalls.h [__USE_MISC]: Likewise. * math/math.h: Update #else and #endif comments. [__USE_MISC]: Remove redundant conditionals. * misc/sys/uio.h: Update #endif comments. * posix/bits/unistd.h [__USE_MISC]: Remove redundant conditionals. * posix/glob.h [__USE_MISC]: Likewise. * posix/sys/types.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * posix/sys/wait.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * posix/unistd.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * pwd/pwd.h [__USE_GNU]: Likewise. [__USE_MISC]: Likewise. * resolv/netdb.h [__USE_GNU]: Likewise. * signal/signal.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * stdlib/stdlib.h: Update #else and #endif comments. [__USE_MISC]: Remove redundant conditionals. [__USE_GNU]: Likewise. * string/bits/string2.h [__USE_MISC]: Likewise. * string/string.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * sysdeps/m68k/m680x0/fpu/bits/mathinline.h [__USE_MISC]: Likewise. * sysdeps/mach/hurd/bits/fcntl.h [__USE_MISC]: Likewise. * sysdeps/mach/hurd/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/bits/fcntl-linux.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * sysdeps/unix/sysv/linux/bits/in.h [__USE_GNU]: Likewise. * sysdeps/unix/sysv/linux/bits/sigaction.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/bits/socket.h [__USE_GNU]: Likewise. * sysdeps/unix/sysv/linux/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/sigaction.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/m68k/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigaction.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/mips/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/s390/bits/sigaction.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/s390/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/x86/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/x86/bits/string.h: Update #endif comments. * sysdeps/x86/fpu/bits/mathinline.h [__USE_MISC]: Remove redundant conditionals. * time/sys/time.h: Update #endif comments. * time/time.h: Likewise. [__USE_MISC]: Remove redundant conditionals.
* Fix __ASSUME_SENDMMSG issues (bug 16611).Joseph Myers2014-02-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to the issues for accept4 and recvmmsg, __ASSUME_SENDMMSG is also confused about whether it relates to function availability or socketcall operation availability, and the conditions for the definition are always wrong (sendmmsg appeared in Linux kernel 3.0, not 2.6.39); this is now bug 16611. This patch splits the macro into separate macros like those for accept4 and recvmmsg, defining them for appropriate kernel versions. Tested x86_64, including that disassembly of the installed shared libraries is unchanged by this patch. [BZ #16611] * sysdeps/unix/sysv/linux/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x030000 && __ASSUME_SOCKETCALL] (__ASSUME_SENDMMSG_SOCKETCALL): Define. [__LINUX_KERNEL_VERSION >= 0x030000 && (__i386__ || __x86_64__ || __powerpc__ || __sh__ || __sparc__)] (__ASSUME_SENDMMSG_SYSCALL): Likewise. [__i386__ || __powerpc__ || __sh__ || __sparc__] (__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL): Likewise. [__ASSUME_SENDMMSG_SOCKETCALL || __ASSUME_SENDMMSG_SYSCALL] (__ASSUME_SENDMMSG): Define instead of using previous [__LINUX_KERNEL_VERSION >= 0x020627] condition. * sysdeps/unix/sysv/linux/aarch64/kernel-features.h (__ASSUME_SENDMMSG_SYSCALL): Define. * sysdeps/unix/sysv/linux/alpha/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x030200] (__ASSUME_SENDMMSG_SYSCALL): Likewise. * sysdeps/unix/sysv/linux/arm/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL): Likewise. * sysdeps/unix/sysv/linux/ia64/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL): Likewise. * sysdeps/unix/sysv/linux/internal_sendmmsg.S [__ASSUME_SOCKETCALL && !__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL && !__ASSUME_SENDMMSG_SYSCALL] (__NR_sendmmsg): Undefine. [__ASSUME_SENDMMSG]: Change conditionals to [__ASSUME_SENDMMSG_SOCKETCALL]. * sysdeps/unix/sysv/linux/microblaze/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x030300] (__ASSUME_SENDMMSG_SYSCALL): Define. * sysdeps/unix/sysv/linux/mips/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x030100] (__ASSUME_SENDMMSG_SYSCALL): Likewise. * sysdeps/unix/sysv/linux/sendmmsg.c [__ASSUME_SOCKETCALL && !__ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL && !__ASSUME_SENDMMSG_SYSCALL] (__NR_sendmmsg): Undefine. [!__ASSUME_SENDMMSG]: Change conditional to [!__ASSUME_SENDMMSG_SOCKETCALL]. * sysdeps/unix/sysv/linux/tile/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x030000] (__ASSUME_SENDMMSG_SYSCALL): Define. * sysdeps/unix/sysv/linux/hppa/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x030100] (__ASSUME_SENDMMSG_SYSCALL): Define.
* Fix __ASSUME_RECVMMSG issues (bug 16610).Joseph Myers2014-02-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to the issues for accept4, __ASSUME_RECVMMSG is also confused about whether it relates to function availability or socketcall operation availability; this is now bug 16610. Nothing actually tests __ASSUME_RECVMMSG for function availability, but implicit in the definition in kernel-features.h is the idea that it makes sense when the syscall is available and socketcall is not being used. As with accept4, there are architectures where the syscall was added later than the socketcall operation, meaning that assuming glibc is built with recent enough kernel headers, it does not attempt to use socketcall for these operations and __ASSUME_RECVMMSG gets defined for kernels >= 2.6.33 even when the syscall was only added later. This patch splits the macro into separate macros like those used for accept4; having similar macro structure in both cases (and for sendmmsg once I've dealt with that) seems likely to be less confusing than having a different structure on the basis of nothing actually needing to assume the recvmmsg function works. Appropriate definitions are added for all architectures. Architecture-specific note: Tile's kernel-features.h says "TILE glibc support starts with 2.6.36", which is accurate in that 2.6.36 was the first kernel version with Tile support, and on that basis I've made that header define __ASSUME_RECVMMSG_SYSCALL unconditionally. However, Tile's configure.ac has arch_minimum_kernel=2.6.32. Since arch_minimum_kernel is meant to reflect only kernel.org kernel versions, I think that should change to 2.6.36. (If using glibc with kernel versions from before a port went in kernel.org, it's your responsibility to change arch_minimum_kernel in a local patch, and at the same time to adjust any __ASSUME_* definitions that may not be correct for your older kernel; for developing the official glibc it should only ever be necessary to consider what official kernel.org releases support.) Tested x86_64, including that disassembly of the installed shared libraries is unchanged by this patch. [BZ #16610] * sysdeps/unix/sysv/linux/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020621 && __ASSUME_SOCKETCALL] (__ASSUME_RECVMMSG_SOCKETCALL): Define. [(__LINUX_KERNEL_VERSION >= 0x020621 && (__i386__ || __x86_64__ || __sparc__)) || (__LINUX_KERNEL_VERSION >= 0x020625 && (__powerpc__ || __sh__))] (__ASSUME_RECVMMSG_SYSCALL): Likewise. [__i386__ || __sparc__] (__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL): Likewise. [__ASSUME_RECVMMSG_SOCKETCALL || __ASSUME_RECVMMSG_SYSCALL] (__ASSUME_RECVMMSG): Define instead of using previous [__LINUX_KERNEL_VERSION >= 0x020621] condition. * sysdeps/unix/sysv/linux/aarch64/kernel-features.h (__ASSUME_RECVMMSG_SYSCALL): Define. * sysdeps/unix/sysv/linux/alpha/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL): Likewise. * sysdeps/unix/sysv/linux/arm/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL): Likewise. * sysdeps/unix/sysv/linux/ia64/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL): Likewise. * sysdeps/unix/sysv/linux/internal_recvmmsg.S [__ASSUME_SOCKETCALL && !__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL && !__ASSUME_RECVMMSG_SYSCALL] (__NR_recvmmsg): Undefine. [__ASSUME_RECVMMSG]: Change condition to [__ASSUME_RECVMMSG_SOCKETCALL]. * sysdeps/unix/sysv/linux/microblaze/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL): Define. (__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL): Likewise. * sysdeps/unix/sysv/linux/mips/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_RECVMMSG_SYSCALL): Likewise. * sysdeps/unix/sysv/linux/recvmmsg.c [__ASSUME_SOCKETCALL && !__ASSUME_RECVMMSG_SYSCALL_WITH_SOCKETCALL && !__ASSUME_RECVMMSG_SYSCALL] (__NR_recvmmsg): Undefine. [!__ASSUME_RECVMMSG]: Change condition to [!__ASSUME_RECVMMSG_SOCKETCALL]. * sysdeps/unix/sysv/linux/tile/kernel-features.h (__ASSUME_RECVMMSG_SYSCALL): Define. * sysdeps/unix/sysv/linux/hppa/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020622] (__ASSUME_RECVMMSG_SYSCALL): Define.
* Fix __ASSUME_ACCEPT4 issues (bug 16609).Joseph Myers2014-02-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In <https://sourceware.org/ml/libc-alpha/2013-12/msg00008.html>, Aurelien noted issues with the definition of __ASSUME_ACCEPT4, which I discussed in more detail in <https://sourceware.org/ml/libc-alpha/2013-12/msg00014.html>; these are now bug 16609. As previously noted, __ASSUME_ACCEPT4 is used in two ways: * In OS-independent code, to mean "accept4 can be assumed to work rather than fail with ENOSYS". It doesn't matter whether it's implemented with socketcall or a separate syscall. * In Linux-specific code, to mean "the socketcall multiplex syscall can be assumed to handle the accept4 operation. When used in Linux-specific code, it *never* refers to anything relating to the accept4 syscall, only to the socketcall multiplexer. This patch splits the macro into separate __ASSUME_ACCEPT4_SOCKETCALL, __ASSUME_ACCEPT4_SYSCALL and __ASSUME_ACCEPT4 to clarify the different cases involved. A macro __ASSUME_SOCKETCALL is added for convenience in writing logic relating to all socketcall architectures. In addition, to address the issue of architectures where socketcall support for accept4 was added before a separate syscall was added (and so the separate syscall should not be used unless known to be present or fallback to socketcall is available), a fourth macro __ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL is added to indicate that the syscall became available at the same time as socketcall support. This is then used in the relevant places in a conditional determining whether to undefine __NR_accept4 (the simple approach to avoiding the syscall's presence causing problems; I didn't try to implement runtime fallback from the syscall to socketcall). Architecture-specific note: alpha defined __ASSUME_ACCEPT4 for 2.6.33 and later, but actually the syscall was added for alpha in 3.2, so this patch uses the correct condition for __ASSUME_ACCEPT4_SYSCALL there. Tested x86_64, including that disassembly of the installed shared libraries is unchanged by this patch. [BZ #16609] * sysdeps/unix/sysv/linux/kernel-features.h [__i386__ || __powerpc__ || __s390__ || __sh__ || __sparc__] (__ASSUME_SOCKETCALL): Define. [__LINUX_KERNEL_VERSION && __ASSUME_SOCKETCALL] (__ASSUME_ACCEPT4_SOCKETCALL): Likewise. [(__LINUX_KERNEL_VERSION >= 0x02061c && (__x86_64__ || __sparc__)) || (__LINUX_KERNEL_VERSION >= 0x020625 && (__powerpc__ || __sh__))] (__ASSUME_ACCEPT4_SYSCALL): Likewise. [__sparc__] (__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL): Likewise. [__ASSUME_ACCEPT4_SOCKETCALL || __ASSUME_ACCEPT4_SYSCALL] (__ASSUME_ACCEPT4): Define instead of using previous [__LINUX_KERNEL_VERSION >= 0x02061c && (__i386__ || __x86_64__ || __powerpc__ || __sparc__ || __s390__)] condition. * sysdeps/unix/sysv/linux/aarch64/kernel-features.h (__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL. * sysdeps/unix/sysv/linux/accept4.c [__ASSUME_SOCKETCALL && !__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL && !__ASSUME_ACCEPT4_SYSCALL] (__NR_accept4): Undefine. [!__ASSUME_ACCEPT4]: Change condition to [!__ASSUME_ACCEPT4_SOCKETCALL]. * sysdeps/unix/sysv/linux/alpha/kernel-features.h (__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL. Correct condition to [__LINUX_KERNEL_VERSION >= 0x030200]. * sysdeps/unix/sysv/linux/arm/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020624] (__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL. * sysdeps/unix/sysv/linux/i386/accept4.S [__ASSUME_ACCEPT4]: Change conditions to [__ASSUME_ACCEPT4_SOCKETCALL]. * sysdeps/unix/sysv/linux/ia64/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x030300] (__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL. * sysdeps/unix/sysv/linux/internal_accept4.S [__ASSUME_SOCKETCALL && !__ASSUME_ACCEPT4_SYSCALL_WITH_SOCKETCALL && !__ASSUME_ACCEPT4_SYSCALL] (__NR_accept4): Undefine. [__ASSUME_ACCEPT4]: Change condition to [__ASSUME_ACCEPT4_SOCKETCALL]. * sysdeps/unix/sysv/linux/m68k/kernel-features.h (__ASSUME_SOCKETCALL): Define. [__LINUX_KERNEL_VERSION >= 0x02061c] (__ASSUME_ACCEPT4): Remove. * sysdeps/unix/sysv/linux/microblaze/kernel-features.h (__ASSUME_SOCKETCALL): Define. (__ASSUME_ACCEPT4): Remove. [__LINUX_KERNEL_VERSION >= 0x020621] (__ASSUME_ACCEPT4_SYSCALL): Define. * sysdeps/unix/sysv/linux/mips/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x02061f] (__ASSUME_ACCEPT4_SYSCALL): Likewise. * sysdeps/unix/sysv/linux/tile/kernel-features.h (__ASSUME_ACCEPT4): Change to __ASSUME_ACCEPT4_SYSCALL. * sysdeps/unix/sysv/linux/hppa/kernel-features.h [__LINUX_KERNEL_VERSION >= 0x020622] (__ASSUME_ACCEPT4_SYSCALL): Define.
* Combine __USE_BSD and __USE_SVID into __USE_MISC.Joseph Myers2014-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch cleans up following the obsoletion of _BSD_SOURCE and _SVID_SOURCE by combining __USE_BSD and __USE_SVID into __USE_MISC. The only non-mechanical part of this patch is the changes to features.h; everything else is simple substitution of __USE_MISC for the old macros. Thus, this patch leaves obviously redundant conditionals such as "defined __USE_MISC || defined __USE_MISC", and does not update #endif comments where they referred to BSD or SVID in words instead of the literal macro name. This is intended to facilitate patch review by separating the less mechanical changes from these purely mechanical changes into a separate patch. (I do intend to integrate all the changes from <https://sourceware.org/ml/libc-alpha/2013-12/msg00226.html>, which I believe includes all the trailing comment updates, in subsequent patches.) Tested x86_64. * include/features.h (__USE_BSD): Remove macro definitions. (__USE_SVID): Likewise. (_BSD_SOURCE): Likewise. (_SVID_SOURCE): Likewise. [!defined _BSD_SOURCE && !defined _SVID_SOURCE]: Remove condition from definition of _DEFAULT_SOURCE. [_BSD_SOURCE || _SVID_SOURCE]: Change condition to [_DEFAULT_SOURCE]. * bits/fcntl.h [__USE_BSD]: Change condition to [__USE_MISC]. * bits/mman.h [__USE_BSD]: Likewise. * bits/termios.h [__USE_BSD]: Likewise. * bits/waitstatus.h [__USE_BSD]: Likewise. * ctype/ctype.h [__USE_SVID]: Likewise. * dirent/dirent.h [__USE_BSD]: Likewise. * grp/grp.h [__USE_SVID]: Likewise. [__USE_BSD]: Likewise. * inet/netinet/igmp.h [__USE_BSD]: Likewise. * io/fcntl.h [__USE_BSD]: Likewise. * io/ftw.h [__USE_BSD]: Likewise. * io/sys/stat.h [__USE_BSD]: Likewise. * libio/bits/stdio-ldbl.h [__USE_BSD]: Likewise. * libio/bits/stdio2.h [__USE_BSD]: Likewise. * libio/stdio.h [__USE_SVID]: Likewise. [__USE_BSD]: Likewise. * math/math.h [__USE_SVID]: Likewise. [__USE_BSD]: Likewise. * misc/bits/syslog-ldbl.h [__USE_BSD]: Likewise. * misc/bits/syslog.h [__USE_BSD]: Likewise. * misc/search.h [__USE_SVID]: Likewise. * misc/sys/mman.h [__USE_BSD]: Likewise. * misc/sys/syslog.h [__USE_BSD]: Likewise. * misc/sys/uio.h [__USE_BSD]: Likewise. * posix/bits/unistd.h [__USE_BSD]: Likewise. * posix/glob.h [__USE_BSD]: Likewise. * posix/regex.h [__USE_BSD]: Likewise. * posix/sys/types.h [__USE_BSD]: Likewise. [__USE_SVID]: Likewise. * posix/sys/utsname.h [__USE_SVID]: Likewise. * posix/sys/wait.h [__USE_BSD]: Likewise. [__USE_SVID]: Likewise. * posix/unistd.h [__USE_BSD]: Likewise. [__USE_SVID]: Likewise. * pwd/pwd.h [__USE_SVID]: Likewise. * resolv/netdb.h [__USE_BSD]: Likewise. * setjmp/setjmp.h [__USE_BSD]: Likewise. * signal/signal.h [__USE_BSD]: Likewise. [__USE_SVID]: Likewise. * socket/sys/socket.h [__USE_BSD]: Likewise. * stdlib/fmtmsg.h [__USE_SVID]: Likewise. * stdlib/stdlib.h [__USE_BSD]: Likewise. [__USE_SVID]: Likewise. * string/bits/string2.h [__USE_BSD]: Likewise. [__USE_SVID]: Likewise. * string/bits/string3.h [__USE_BSD]: Likewise. * string/endian.h [__USE_BSD]: Likewise. * string/string.h [__USE_SVID]: Likewise. [__USE_BSD]: Likewise. * string/strings.h [__USE_BSD]: Likewise. * sysdeps/generic/netinet/ip.h [__USE_BSD]: Likewise. * sysdeps/gnu/netinet/ip_icmp.h [__USE_BSD]: Likewise. * sysdeps/mach/hurd/bits/fcntl.h [__USE_BSD]: Likewise. * sysdeps/mach/hurd/bits/stat.h [__USE_BSD]: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/mman.h [__USE_BSD]: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/termios.h [__USE_BSD]: Likewise. * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_BSD]: Likewise. * sysdeps/unix/sysv/linux/bits/mman-linux.h [__USE_BSD]: Likewise. * sysdeps/unix/sysv/linux/bits/sys_errlist.h [__USE_BSD]: Likewise. * sysdeps/unix/sysv/linux/bits/termios.h [__USE_BSD]: Likewise. * sysdeps/unix/sysv/linux/mips/bits/termios.h [__USE_BSD]: Likewise. * sysdeps/unix/sysv/linux/netinet/if_ether.h [__USE_BSD]: Likewise. * sysdeps/unix/sysv/linux/netinet/if_fddi.h [__USE_BSD]: Likewise. * sysdeps/unix/sysv/linux/netinet/if_tr.h [__USE_BSD]: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/termios.h [__USE_BSD]: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/termios.h [__USE_BSD]: Likewise. * sysdeps/x86/bits/string.h [__USE_BSD]: Likewise. * sysvipc/sys/ipc.h [__USE_SVID]: Likewise. * termios/termios.h [__USE_BSD]: Likewise. * time/sys/time.h [__USE_BSD]: Likewise. * time/time.h [__USE_BSD]: Likewise. [__USE_SVID]: Likewise. * sysdeps/unix/sysv/linux/hppa/bits/mman.h [__USE_BSD]: Change condition to [__USE_MISC].
* Move mips from ports to libc.Joseph Myers2014-02-10213-0/+22604
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I've moved the MIPS port from ports to the main sysdeps hierarchy. Beyond the README update, the move of the files was simply git mv ports/sysdeps/mips sysdeps/mips git mv ports/sysdeps/unix/mips sysdeps/unix/mips git mv ports/sysdeps/unix/sysv/linux/mips sysdeps/unix/sysv/linux/mips and in addition to the ChangeLog entries here, I put a note at the top of ports/ChangeLog.mips similar to those in other files. Tested that disassembly of installed shared libraries for mips is the same before and after this patch (except for ld.so where paths in assertions are involved, as for arm). * sysdeps/mips: Move directory from ports/sysdeps/mips. * sysdeps/unix/mips: Move directory from ports/sysdeps/unix/mips. * sysdeps/unix/sysv/linux/mips: Move directory from ports/sysdeps/unix/sysv/linux/mips. * README: Update listing for mips-*-linux-gnu and mips64-*-linux-gnu. * sysdeps/mips: Move directory to ../sysdeps/mips. * sysdeps/unix/mips: Move directory to ../sysdeps/unix/mips. * sysdeps/unix/sysv/linux/mips: Move directory to ../sysdeps/unix/sysv/linux/mips.
* [BZ #2329]Roland McGrath2006-02-2180-6497/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-02-20 Roland McGrath <roland@redhat.com> * sysdeps/mips: Directory removed, saved in ports repository. * sysdeps/unix/mips: Likewise. * sysdeps/unix/sysv/linux/mips: Likewise. * sysdeps/mach/mips: Likewise. * sysdeps/mach/hurd/mips: Likewise. * shlib-versions: Remove mips matches, now in ports fragment. * sysdeps/unix/sysv/linux/kernel-features.h: Likewise. * configure.in (machine): Likewise. * configure: Regenerated. 2006-02-15 Thomas Schwinge <tschwinge@gnu.org> [BZ #2329] * include/unistd.h (__getresuid, __getresgid, __setresuid) (__setresgid): Fix argument name order in prototypes. * posix/unistd.h (getresuid, getresgid, setresuid, setresgid): Likewise. * posix/getresuid.c (__getresuid): Fix argument order in definition. * posix/getresgid.c (__getresgid): Likewise. * posix/setresuid.c (__setresuid): Likewise. * posix/setresgid.c (__setresgid): Likewise. * sysdeps/mach/hurd/getresuid.c (__getresuid): Likewise. * sysdeps/mach/hurd/getresgid.c (__getresgid): Likewise. * sysdeps/mach/hurd/setresuid.c (__setresuid): Likewise. * sysdeps/mach/hurd/setresgid.c (__setresgid): Likewise. Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
* * sysdeps/unix/sysv/linux/mips/bits/errno.h (ECANCELED,Roland McGrath2006-01-313-10/+22
| | | | | | | | | | | | | | EOWNERDEAD, ENOTRECOVERABLE): Define. * sysdeps/unix/sysv/linux/mips/bits/mman.h (MADV_REMOVE): Define. * sysdeps/mips/dl-machine.h (RTLD_START): Correct offsets for N64. * sysdeps/unix/sysv/linux/mips/bits/socket.h (struct msghdr): Use size_t for msg_controllen. (__cmsg_nxthdr): Correct test. (__SCM_CONNECT): Delete.
* * sysdeps/unix/sysv/linux/alpha/adjtime.c: Use <> instead of "" inRoland McGrath2006-01-083-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #include for kernel-features.h. * sysdeps/unix/sysv/linux/alpha/dl-sysdep.c: Likewise. * sysdeps/unix/sysv/linux/alpha/fraiseexcpt.c: Likewise. * sysdeps/unix/sysv/linux/alpha/getitimer.S: Likewise. * sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise. * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise. * sysdeps/unix/sysv/linux/alpha/msgctl.c: Likewise. * sysdeps/unix/sysv/linux/alpha/select.S: Likewise. * sysdeps/unix/sysv/linux/alpha/semctl.c: Likewise. * sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise. * sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise. * sysdeps/unix/sysv/linux/alpha/shmctl.c: Likewise. * sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise. * sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise. * sysdeps/unix/sysv/linux/alpha/xstatconv.h: Likewise. * sysdeps/unix/sysv/linux/check_pf.c: Likewise. * sysdeps/unix/sysv/linux/clock_getcpuclockid.c: Likewise. * sysdeps/unix/sysv/linux/clock_getres.c: Likewise. * sysdeps/unix/sysv/linux/clock_gettime.c: Likewise. * sysdeps/unix/sysv/linux/clock_nanosleep.c: Likewise. * sysdeps/unix/sysv/linux/clock_settime.c: Likewise. * sysdeps/unix/sysv/linux/dl-execstack.c: Likewise. * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. * sysdeps/unix/sysv/linux/dl-sysdep.c: Likewise. * sysdeps/unix/sysv/linux/fstatvfs64.c: Likewise. * sysdeps/unix/sysv/linux/ftruncate64.c: Likewise. * sysdeps/unix/sysv/linux/futimes.c: Likewise. * sysdeps/unix/sysv/linux/futimesat.c: Likewise. * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. * sysdeps/unix/sysv/linux/fxstatat64.c: Likewise. * sysdeps/unix/sysv/linux/getcwd.c: Likewise. * sysdeps/unix/sysv/linux/getdents.c: Likewise. * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. * sysdeps/unix/sysv/linux/i386/fchown.c: Likewise. * sysdeps/unix/sysv/linux/i386/fchownat.c: Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/i386/fxstatat.c: Likewise. * sysdeps/unix/sysv/linux/i386/getegid.c: Likewise. * sysdeps/unix/sysv/linux/i386/geteuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/getgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/getresgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/getresuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/getrlimit.c: Likewise. * sysdeps/unix/sysv/linux/i386/getuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/lchown.c: Likewise. * sysdeps/unix/sysv/linux/i386/lockf64.c: Likewise. * sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise. * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise. * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise. * sysdeps/unix/sysv/linux/i386/msgctl.c: Likewise. * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Likewise. * sysdeps/unix/sysv/linux/i386/semctl.c: Likewise. * sysdeps/unix/sysv/linux/i386/setegid.c: Likewise. * sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise. * sysdeps/unix/sysv/linux/i386/setregid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setrlimit.c: Likewise. * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/shmctl.c: Likewise. * sysdeps/unix/sysv/linux/i386/xstat.c: Likewise. * sysdeps/unix/sysv/linux/ifreq.c: Likewise. * sysdeps/unix/sysv/linux/ldsodefs.h: Likewise. * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. * sysdeps/unix/sysv/linux/m68k/chown.c: Likewise. * sysdeps/unix/sysv/linux/m68k/fchownat.c: Likewise. * sysdeps/unix/sysv/linux/mips/ftruncate64.c: Likewise. * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/mips/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/mmap64.c: Likewise. * sysdeps/unix/sysv/linux/msgctl.c: Likewise. * sysdeps/unix/sysv/linux/netlinkaccess.h: Likewise. * sysdeps/unix/sysv/linux/opendir.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fe_nomask.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/ftruncate64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise. * sysdeps/unix/sysv/linux/pread.c: Likewise. * sysdeps/unix/sysv/linux/pread64.c: Likewise. * sysdeps/unix/sysv/linux/prof-freq.c: Likewise. * sysdeps/unix/sysv/linux/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/chown.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/fchownat.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/lchown.c: Likewise. * sysdeps/unix/sysv/linux/semctl.c: Likewise. * sysdeps/unix/sysv/linux/setegid.c: Likewise. * sysdeps/unix/sysv/linux/seteuid.c: Likewise. * sysdeps/unix/sysv/linux/shmctl.c: Likewise. * sysdeps/unix/sysv/linux/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/sigpending.c: Likewise. * sysdeps/unix/sysv/linux/sigprocmask.c: Likewise. * sysdeps/unix/sysv/linux/sigsuspend.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c: Likewise. * sysdeps/unix/sysv/linux/statvfs64.c: Likewise. * sysdeps/unix/sysv/linux/syslog.c: Likewise. * sysdeps/unix/sysv/linux/testrtsig.h: Likewise. * sysdeps/unix/sysv/linux/truncate64.c: Likewise. * sysdeps/unix/sysv/linux/utimes.c: Likewise. * sysdeps/unix/sysv/linux/xstat64.c: Likewise. * sysdeps/unix/sysv/linux/xstatconv.h: Likewise.
* * po/.cvsignore: List libc.pot.files, and not any .pot names.Roland McGrath2006-01-082-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * manual/maint.texi (Porting): Don't mention Dist files. * sysdeps/alpha/soft-fp/Dist: File removed. * sysdeps/alpha/Dist: File removed. * sysdeps/i386/i686/Dist: File removed. * sysdeps/i386/soft-fp/Dist: File removed. * sysdeps/i386/Dist: File removed. * sysdeps/mips/soft-fp/Dist: File removed. * sysdeps/mips/mips64/soft-fp/Dist: File removed. * sysdeps/mips/mips64/Dist: File removed. * sysdeps/mips/Dist: File removed. * sysdeps/wordsize-32/Dist: File removed. * sysdeps/m68k/fpu/switch/Dist: File removed. * sysdeps/m68k/fpu/Dist: File removed. * sysdeps/powerpc/powerpc64/Dist: File removed. * sysdeps/powerpc/soft-fp/Dist: File removed. * sysdeps/powerpc/powerpc32/fpu/Dist: File removed. * sysdeps/powerpc/powerpc32/Dist: File removed. * sysdeps/powerpc/fpu/Dist: File removed. * sysdeps/powerpc/Dist: File removed. * sysdeps/unix/common/Dist: File removed. * sysdeps/unix/bsd/bsd4.4/Dist: File removed. * sysdeps/unix/bsd/Dist: File removed. * sysdeps/unix/sysv/linux/alpha/Dist: File removed. * sysdeps/unix/sysv/linux/i386/Dist: File removed. * sysdeps/unix/sysv/linux/mips/mips64/Dist: File removed. * sysdeps/unix/sysv/linux/mips/Dist: File removed. * sysdeps/unix/sysv/linux/m68k/Dist: File removed. * sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: File removed. * sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: File removed. * sysdeps/unix/sysv/linux/powerpc/aix/Dist: File removed. * sysdeps/unix/sysv/linux/powerpc/Dist: File removed. * sysdeps/unix/sysv/linux/sparc/sparc32/Dist: File removed. * sysdeps/unix/sysv/linux/sparc/sparc64/Dist: File removed. * sysdeps/unix/sysv/linux/sparc/Dist: File removed. * sysdeps/unix/sysv/linux/ia64/Dist: File removed. * sysdeps/unix/sysv/linux/s390/s390-64/Dist: File removed. * sysdeps/unix/sysv/linux/s390/Dist: File removed. * sysdeps/unix/sysv/linux/s390/s390-32/Dist: File removed. * sysdeps/unix/sysv/linux/sh/Dist: File removed. * sysdeps/unix/sysv/linux/x86_64/Dist: File removed. * sysdeps/unix/sysv/linux/hppa/Dist: File removed. * sysdeps/unix/sysv/linux/Dist: File removed. * sysdeps/unix/sysv/Dist: File removed. * sysdeps/unix/Dist: File removed. * sysdeps/generic/Dist: File removed. * sysdeps/sparc/sparc32/soft-fp/Dist: File removed. * sysdeps/sparc/sparc32/sparcv9/Dist: File removed. * sysdeps/sparc/sparc32/sparcv8/Dist: File removed. * sysdeps/sparc/sparc32/Dist: File removed. * sysdeps/sparc/sparc64/soft-fp/Dist: File removed. * sysdeps/sparc/sparc64/Dist: File removed. * sysdeps/sparc/Dist: File removed. * sysdeps/gnu/Dist: File removed. * sysdeps/ia64/fpu/Dist: File removed. * sysdeps/ia64/Dist: File removed. * sysdeps/mach/mips/Dist: File removed. * sysdeps/mach/hurd/alpha/Dist: File removed. * sysdeps/mach/hurd/i386/Dist: File removed. * sysdeps/mach/hurd/mips/Dist: File removed. * sysdeps/mach/hurd/powerpc/Dist: File removed. * sysdeps/mach/hurd/Dist: File removed. * sysdeps/s390/s390-64/Dist: File removed. * sysdeps/s390/Dist: File removed. * sysdeps/s390/s390-32/Dist: File removed. * sysdeps/sh/Dist: File removed. * sysdeps/posix/Dist: File removed. * sysdeps/ieee754/dbl-64/Dist: File removed. * sysdeps/ieee754/ldbl-128/Dist: File removed. * sysdeps/ieee754/flt-32/Dist: File removed. * sysdeps/ieee754/Dist: File removed. * sysdeps/x86_64/soft-fp/Dist: File removed. * sysdeps/x86_64/Dist: File removed. * sysdeps/hppa/Dist: File removed. * Makerules (common-clean): Don't remove distinfo file. ($(objpfx)distinfo): Target removed. * manual/Makefile (mostlyclean): Don't remove distinfo file. (glibc-targets): Remove echo-distinfo. * scripts/list-sources.sh: New file. * Makefile (TAGS): New target. * po/Makefile (libc.pot, libc.pot.files): New targets. * Makeconfig (XGETTEXT): New variable. * Makerules ($(..)po/%.pot): Rule removed. (TAGS): Target removed. * Rules (subdir_TAGS): Target removed. * MakeTAGS: File removed. * Makefile (iconvdata/% localedata/% po/% manual/%): Depend on FORCE. * Makeconfig ($(all-Depend-files)): New targets with no-op commands.
* Fix last commit.Andreas Jaeger2006-01-041-1/+1
|