about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Fix tests that are testing obsoleted functionalitySteve Ellcey2017-09-055-37/+71
| | | | | | | | * include/shlib-compat.h (TEST_COMPAT): New Macro. * malloc/tst-mallocstate.c: Convert from test-skeleton to test-driver. Ifdef code using TEST_COMPAT macro. * math/test-matherr-2.c: Ifdef test using TEST_COMPAT macro. * math/test-matherr.c: Likewise.
* Fix pcprofiledump cross-endian condition (bug 22086).Joseph Myers2017-09-052-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | debug/pcprofiledump.c contains code that tries to handle other-endian data. This uses a condition "(word & 0xfffffff0) == bswap_32 (0xdeb00000)". This condition is always false (the LHS always has the low four bits zero, the RHS doesn't); a correct comparison would use 0x0fffffff. This results in -Werror=tautological-compare build failures with the tile version of bits/byteswap.h and mainline GCC. https://sourceware.org/ml/libc-testresults/2017-q3/msg00400.html pcprofiledump.c: In function 'main': pcprofiledump.c:118:39: error: bitwise comparison always evaluates to false [-Werror=tautological-compare] int must_swap = (word & 0xfffffff0) == bswap_32 (0xdeb00000); ^~ This patch fixes the condition. Tested for x86_64, and with build-many-glibcs.py that it fixes the build for tilegx-linux-gnu. (Note that I have not tested the actual pcprofiledump functionality, native or cross endian, which lacks any testsuite coverage.) [BZ #22086] * debug/pcprofiledump.c (main): Use byte-swapped mask when comparing word with byte-swapped constant.
* Add miq_NI locale for MiskitoMike FABIAN2017-09-054-0/+197
| | | | | | | [BZ #20498] * locale/iso-639.def: add Miskito. * localedata/SUPPORTED: Add miq_NI/UTF-8. * localedata/locales/miq_NI: New file.
* Hide __chmod and __mkdir [BZ #18822]H.J. Lu2017-09-048-0/+22
| | | | | | | | | | | | | | | Hide internal __chmod and __mkdir functions to allow direct access within libc.so and libc.a without using GOT nor PLT. [BZ #18822] * include/sys/stat.h (__chmod): Add libc_hidden_proto. (__mkdir): Likewise. * io/chmod.c (__chmod): Add libc_hidden_def. * io/mkdir.c (__mkdir): Likewise. * sysdeps/mach/hurd/chmod.c (__chmod): Likewise. * sysdeps/mach/hurd/mkdir.c (__mkdir): Likewise. * sysdeps/unix/sysv/linux/generic/chmod.c (__chmod): Likewise. * sysdeps/unix/sysv/linux/generic/mkdir.c (__mkdir): Likewise.
* Update kernel version in syscall-names.list to 4.13.Joseph Myers2017-09-042-2/+5
| | | | | | | | | As far as I can tell Linux 4.13 does not add any new syscalls not included in syscall-names.list. This patch updates the version number in that file accordingly. * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel version to 4.13.
* Fix bits/math-finite.h exp10 condition (bug 22082).Joseph Myers2017-09-042-1/+7
| | | | | | | | | | | | bits/math-finite.h handles exp10 if __USE_GNU. It should use the condition __GLIBC_USE (IEC_60559_FUNCS_EXT), as in bits/mathcalls.h. This patch fixes the condition. Tested for x86_64. [BZ #22082] * math/bits/math-finite.h (exp10): Redirect if [__GLIBC_USE (IEC_60559_FUNCS_EXT)], not [__USE_GNU].
* math.h: Warn about an already-defined log macroFlorian Weimer2017-09-042-0/+9
| | | | | | | | This is a common programming error, and the cause of the problem is not always obvious. <tgmath.h> defines a log macro, but it includes <math.h> before that, so that is compatible with the warning.
* Use Linux 4.13 in build-many-glibcs.py.Joseph Myers2017-09-042-1/+6
| | | | | * scripts/build-many-glibcs.py (Context.checkout): Default Linux kernel version to 4.13.
* hurd: fix resolv/tst-resolv-res_init-skeleton.c buildSamuel Thibault2017-09-032-0/+6
| | | | | * resolv/tst-resolv-res_init-skeleton.c (run_res_init) [!CLONE_NEWUTS]: Fail as unsupported if hostname is not NULL.
* hurd: Fix build ot misc/tst-preadvwritev2-common.cSamuel Thibault2017-09-032-1/+17
| | | | | | | * misc/tst-preadvwritev2-common.c (RWF_HIPRI, RWF_DSYNC, RWF_SYNC, RWF_NOWAIT): Define to 0 if undefined already. (do_test_with_invalid_flags): Set invalid_flag to 2 if RWF_SUPPORTED boils down to 0.
* hurd: Fix rtld's strtoul_internal use through hurdlookupSamuel Thibault2017-09-032-2/+11
| | | | | * sysdeps/mach/hurd/dl-sysdep.c (__strtoul_internal): New function.
* hurd: fix overriding rtld's __sbrk with the real implementationSamuel Thibault2017-09-031-0/+1
| | | | | * sysdeps/mach/hurd/dl-sysdep.c (__sbrk): Add weak_function qualifier.
* hurd: mach/hurd/x86 also needs x86 tunablesSamuel Thibault2017-09-032-0/+22
| | | | * sysdeps/mach/hurd/x86/dl-sysdep.c: New file.
* hurd: mach/hurd/i386 also needs mach/hurd/x86Samuel Thibault2017-09-032-0/+2
| | | | * sysdeps/mach/hurd/i386/Implies: Add mach/hurd/x86.
* hurd: fix libm linkSamuel Thibault2017-09-032-1/+4
| | | | | | * sysdeps/x86/fpu/include/bits/fenv.h [NO_HIDDEN]: Redirect __feraiseexcept_renamed to feraiseexcept instead of __GI_feraiseexcept.
* hurd: Fix libc linkSamuel Thibault2017-09-032-0/+12
| | | | | | | | | | This follows db3d848 ('Build divdi3 only for architecture that required it'). * sysdeps/mach/hurd/i386/Makefile [$(subdir) = csu] (sysdep_routines): New rule: divdi3 object. [$(subdir) = csu] (sysdep-only-routines): Likewise. [$(subdir) = csu] (CFLAGS-divdi3.c): Likewise.
* hurd: Fix libc linkSamuel Thibault2017-09-033-0/+4
| | | | | * sysdeps/posix/pause.c: Include <sigsetops.h>. * sysdeps/posix/system.c: Include <sigsetops.h>.
* hurd: Fix rtld linkSamuel Thibault2017-09-032-1/+12
| | | | * sysdeps/mach/hurd/dl-sysdep.c (__sbrk): New function.
* hurd: Fix rtld linkSamuel Thibault2017-09-032-0/+7
| | | | | | dl-tunables.c now uses __access_noerrno in addition to __access. * sysdeps/mach/hurd/dl-sysdep.c (__access_noerrno): New function.
* hurd: Fix p{read,write}{,v64}v2.c buildSamuel Thibault2017-09-039-1/+18
| | | | | | | | | | | | * misc/preadv2.c: Include <errno.h>. * misc/preadv64v2.c: Include <errno.h>. * misc/pwritev2.c: Include <errno.h>. * misc/pwritev64v2.c: Include <errno.h>. * sysdeps/posix/preadv2.c: Include <errno.h>. * sysdeps/posix/preadv64v2.c: Include <errno.h>. Fix <unistd.h> inclusion. * sysdeps/posix/pwritev2.c: Include <errno.h>. * sysdeps/posix/pwritev64v2.c: Include <errno.h>.
* hurd: Fix p{read,write}v64v2.c buildSamuel Thibault2017-09-033-4/+4
| | | | | * sysdeps/posix/preadv64v2.c: Use off64_t instead of off_t. * sysdeps/posix/pwritev64v2.c: Use off64_t instead of off_t.
* hurd: Fix p{read,write}{,v64}v2.c buildSamuel Thibault2017-09-035-4/+8
| | | | | | | * sysdeps/posix/preadv2.c: Use off_t instead of OFF_T. * sysdeps/posix/preadv64v2.c: Use off_t instead of OFF_T. * sysdeps/posix/pwritev2.c: Use off_t instead of OFF_T. * sysdeps/posix/pwritev64v2.c: Use off_t instead of OFF_T.
* hurd: Fix getting ssize_t for <sys/socket.h>Samuel Thibault2017-09-032-1/+3
| | | | | * sysdeps/mach/hurd/bits/socket.h: Include <sys/types.h> instead of just <bits/types.h>.
* hurd: Fix sigsetops.h macrosSamuel Thibault2017-09-032-3/+5
| | | | | | * sysdeps/generic/sigsetops.h: Remove spurious #endif. (__sigismember, __sigaddset, __sigdelset): Fix referencing set parameter.
* sysdeps/generic/sigsetops.h: Remove spurious #endifSamuel Thibault2017-09-032-1/+4
|
* Obsolete pow10 functions.Joseph Myers2017-09-0133-431/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch obsoletes the pow10, pow10f and pow10l functions (makes them into compat symbols, not available for new ports or static linking). The exp10 names for these functions are standardized (in TS 18661-4) and were added in the same glibc version (2.1) as pow10 so source code can change to use them without any loss of portability. Since pow10 is deliberately not provided for _Float128, only exp10, this slightly simplifies moving to the new wrapper templates in the !LIBM_SVID_COMPAT case, by avoiding needing to arrange for pow10, pow10f and pow10l to be defined by those templates. Tested for x86_64, and with build-many-glibcs.py. * manual/math.texi (pow10): Do not document. (pow10f): Likewise. (pow10l): Likewise. * math/bits/mathcalls.h [__USE_GNU] (pow10): Do not declare. * math/bits/math-finite.h [__USE_GNU] (pow10): Likewise. * math/libm-test-exp10.inc (pow10_test): Remove. (do_test): Do not call pow10. * math/w_exp10_compat.c (pow10): Make into compat symbol. [NO_LONG_DOUBLE] (pow10l): Likewise. * math/w_exp10f_compat.c (pow10f): Likewise. * math/w_exp10l_compat.c (pow10l): Likewise. * sysdeps/ia64/fpu/e_exp10.S: Include <shlib-compat.h>. (pow10): Make into compat symbol. * sysdeps/ia64/fpu/e_exp10f.S: Include <shlib-compat.h>. (pow10f): Make into compat symbol. * sysdeps/ia64/fpu/e_exp10l.S: Include <shlib-compat.h>. (pow10l): Make into compat symbol. * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Remove pow10. (CFLAGS-nldbl-pow10.c): Remove variable.. * sysdeps/ieee754/ldbl-opt/nldbl-pow10.c: Remove file. * sysdeps/ieee754/ldbl-opt/w_exp10_compat.c (pow10l): Condition on [SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)]. * sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c (compat_symbol): Undefine and redefine. (pow10l): Make into compat symbol. * sysdeps/aarch64/libm-test-ulps: Remove pow10 ulps. * sysdeps/alpha/fpu/libm-test-ulps: Likewise. * sysdeps/arm/libm-test-ulps: Likewise. * sysdeps/hppa/fpu/libm-test-ulps: Likewise. * sysdeps/i386/fpu/libm-test-ulps: Likewise. * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise. * sysdeps/microblaze/libm-test-ulps: Likewise. * sysdeps/mips/mips32/libm-test-ulps: Likewise. * sysdeps/mips/mips64/libm-test-ulps: Likewise. * sysdeps/nios2/libm-test-ulps: Likewise. * sysdeps/powerpc/fpu/libm-test-ulps: Likewise. * sysdeps/powerpc/nofpu/libm-test-ulps: Likewise. * sysdeps/s390/fpu/libm-test-ulps: Likewise. * sysdeps/sh/libm-test-ulps: Likewise. * sysdeps/sparc/fpu/libm-test-ulps: Likewise. * sysdeps/tile/libm-test-ulps: Likewise. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
* 2017-09-01 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov2017-09-012-4/+8
| | | | * stdlib/tst-atexit-common.c (crumbs): Ensure correct size.
* Update tst-regex.c/tst-regex2.c for old ChangeLog moveH.J. Lu2017-09-013-2/+9
| | | | | | | * posix/tst-regex.c (do_test): Replace "../ChangeLog.8" with "../ChangeLog.old/ChangeLog.8". * posix/tst-regex2.c (do_test): Replace "../ChangeLog.14" with "../ChangeLog.old/ChangeLog.14".
* Credit Ulrich Drepper for libpthread in contrib.texiH.J. Lu2017-09-012-0/+6
| | | | | * manual/contrib.texi: Credit Ulrich Drepper for the POSIX Threads Library.
* Include <string.h> for strcmp call from sysdeps/unix/sysv/linux/gentempfd.c.Joseph Myers2017-09-012-0/+5
| | | | * sysdeps/unix/sysv/linux/gentempfd.c: Include <string.h>.
* Remove Roland McGrath/Ulrich Drepper et al. from DSO bannerH.J. Lu2017-09-013-2/+7
| | | | | * csu/version.c (banner): Remove "by Roland McGrath et al.". * nptl/Banner: Remove "by Ulrich Drepper et al.".
* 2017-09-01 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov2017-09-012-16/+28
| | | | | * stdlib/tst-atexit-common.c (do_test): Test support for at least 32 atexit handlers.
* math/math.h (HUGE_VAL): Improve commentary.Zack Weinberg2017-09-012-2/+11
|
* Move all old ChangeLogs to a top-level ChangeLog.old directory.Zack Weinberg2017-09-0137-0/+0
|
* linux: Implement tmpfile with O_TMPFILE (BZ#21530)Adhemerval Zanella2017-09-016-10/+92
| | | | | | | | | | | | | | | | | | | | | | This patch adds O_TMPFILE support to tmpfile on Linux. This is similar to the previous suggestion by Andreas Schwab [1] with the difference the file descriptor creation is parameterized to compartmentalize Linux only open flags (O_TMPFILE) on sysdeps. Checked on x86_64-linux-gnu. Adhemerval Zanella <adhemerval.zanella@linaro.org> Andreas Schwab <schwab@suse.de> [BZ #21530] * include/stdio.h (__gen_tempfd): New function. * stdio-common/Makefile (routines): Add gentempfd. * stdio-common/gentempfd.c: New file. * sysdeps/unix/sysv/linux/gentempfd.c: Likewise. * stdio-common/tmpfile.c (tmpfile): First try to use a system specific unnamed file first. [1] https://sourceware.org/ml/libc-alpha/2017-06/msg01293.html
* Remove obsolete notes at top level of source tree.Zack Weinberg2017-09-016-337/+0
| | | | | * BUGS, CONFORMANCE, NAMESPACE, WUR-REPORT: Deleted. * README.pretty-printers, README.tunables: Move to manual/.
* getaddrinfo: Fix error handling in gethosts [BZ #21915] [BZ #21922]Florian Weimer2017-09-015-45/+205
| | | | | | The old code uses errno as the primary indicator for success or failure. This is wrong because errno is only set for specific combinations of the status return value and the h_errno variable.
* getaddrinfo: Return EAI_NODATA if gethostbyname2_r reports NO_DATA [BZ #21922]Florian Weimer2017-09-012-0/+14
|
* support_chroot_create: Add support for /etc/hosts, /etc/host.confFlorian Weimer2017-09-013-12/+41
|
* getaddrinfo: In gaih_inet, use h_errno for certain status values onlyFlorian Weimer2017-09-012-1/+9
| | | | | h_errno is not set for NSS_STATUS_SUCCESS, so its value might not be accurate at this point.
* getaddrinfo: Properly set errno for NSS function lookup failureFlorian Weimer2017-09-012-6/+15
|
* getaddrinfo: Use &h_errno has the h_errno pointerFlorian Weimer2017-09-012-28/+24
| | | | | | This simplifies the code because it is not necessary to propagate the temporary h_errno value to the thread-local variable. It also increases compatibility with NSS modules which update only one of the two places.
* getaddrinfo: Use &errno has the errno pointerFlorian Weimer2017-09-012-13/+16
| | | | | Similar code in nss/getXXbyYY_r.c is already using &errno as the argument.
* ILP32 math changesSteve Ellcey2017-08-319-12/+110
| | | | | | | | | | | | | | | | | | | | | | * sysdeps/aarch64/fpu/s_llrint.c (OREG_SIZE): New macro. * sysdeps/aarch64/fpu/s_llround.c (OREG_SIZE): Likewise. * sysdeps/aarch64/fpu/s_llrintf.c (OREGS, IREGS): Remove. (IREG_SIZE, OREG_SIZE): New macros. * sysdeps/aarch64/fpu/s_llroundf.c: (OREGS, IREGS): Remove. (IREG_SIZE, OREG_SIZE): New macros. * sysdeps/aarch64/fpu/s_lrintf.c (IREGS): Remove. (IREG_SIZE): New macro. * sysdeps/aarch64/fpu/s_lroundf.c (IREGS): Remove. (IREG_SIZE): New macro. * sysdeps/aarch64/fpu/s_lrint.c (get-rounding-mode.h, stdint.h): New includes. (IREG_SIZE, OREG_SIZE): Initialize if not already set. (OREGS, IREGS): Set based on IREG_SIZE and OREG_SIZE. (__CONCATX): Handle exceptions correctly on large values that may set FE_INVALID. * sysdeps/aarch64/fpu/s_lround.c (IREG_SIZE, OREG_SIZE): Initialize if not already set. (OREGS, IREGS): Set based on IREG_SIZE and OREG_SIZE.
* Remove NO_CANCELLATION macroAdhemerval Zanella2017-08-3121-30/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The NO_CANCELLATION macro is used currently on generic headers to define non cancellable syscalls and on Linux fcntl to implement the non cancellable variation. Former should be single-handled by not-cancel.h header and former could be simplified build both cancellable and non cancellable for default objects and alias the non-cancellable to default one for rtld ones (since Linux already support cancellation as default). This patch thus removes the NO_CANCELLATION macro and its usage. The generic non cancellable fcntl is route to internal fcntl. Checked on x86_64-linux-gnu and i686-linux-gnu. Also checked with a build again major ABIs. * sysdeps/generic/not-cancel.h (NO_CANCELLATION): Remove macro. * sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/arm/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/mips/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (NO_CANCELLATION): Likewise * sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/tile/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (NO_CANCELLATION): Likewise. * sysdeps/unix/sysv/linux/not-cancel.h (__fcntl_nocancel): Add hidden prototype. * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Define only for !IS_IN (rtld) and remove NO_CANCELLATION usage.
* Change argument type passed to ifunc resolversSteve Ellcey2017-08-312-1/+6
| | | | | * sysdeps/aarch64/dl-irel.h: (elf_ifunc_invoke): Change argument type in resolver call.
* libc-symbols.h: Remove definition of internal_functionFlorian Weimer2017-08-312-7/+4
|
* stdlib: Remove internal_function attributeFlorian Weimer2017-08-312-3/+6
|
* stdio-common: Remove internal_function attributeFlorian Weimer2017-08-313-5/+8
|
* posix: Remove internal_function attributeFlorian Weimer2017-08-3118-261/+198
|