]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - ChangeLog
dlfcn: Avoid one-element flexible array in Dl_serinfo [BZ #24166]
[thirdparty/glibc.git] / ChangeLog
index 6efe9c464c52d28ac16d13e9e57158576a10a64b..f32b734166db88304ef7163be27e3a0b7946cf9e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,361 @@
+2019-06-19  Florian Weimer  <fweimer@redhat.com>
+
+       [BZ #24166]
+       * dlfcn/dlfcn.h (Dl_serinfo): Do not use array of length 1 for
+       dls_serpath field.
+
+2019-06-18  Florian Weimer  <fweimer@redhat.com>
+
+       [BZ #24323]
+       * include/elf.h (DT_1_SUPPORTED_MASK): Include DF_1_PIE.
+       * elf/dl-load.c (_dl_map_object_from_fd): Check for DF_1_PIE and
+       fail when called from dlopen.
+       * elf/Makefile [have-fpie && build-shared] (tests): Add
+       tst-dlopen-pie.
+       (tst-dlopen-pie): Link with -ldl.
+       (tst-dlopen-pie.out): Add run-time dependency on tst-pie1.
+       * elf/tst-dlopen-pie.c (do_test): New file.
+
+2019-06-17  Rafal Luzynski  <digitalfreak@lingonborough.com>
+
+       [BZ #24614]
+       * localedata/Makefile (LOCALES): Add nl_NL.UTF-8.
+       * localedata/locales/nl_NL (n_sep_by_space): Set to 2 (a space
+       between the currency symbol and the minus sign).
+       (n_sign_posn): Set to 4 (the minus sign after the currency symbol).
+       * localedata/tst-strfmon1.c (tests): Add test data for nl_NL.UTF-8.
+
+2019-06-17  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+       * sysdeps/unix/sysv/linux/m68k/Makefile (sysdep_routines,
+       sysdep-rtld-routines): Remove rules.
+       * sysdeps/unix/sysv/linux/m68k/Versions (libc) [GLIBC_PRIVATE]:
+       Remove __vdso_atomic_cmpxchg_32 and __vdso_atomic_barrier.
+       (ld) [GLIBC_PRIVATE]: __rtld___vdso_read_tp,
+       __rtld___vdso_atomic_cmpxchg_32, and __rtld___vdso_atomic_barrier.
+       * sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h
+       (atomic_compare_and_exchange_val_acq, atomic_full_barrier): Remove
+       vDSO path for SHARED.
+       * sysdeps/unix/sysv/linux/m68k/init-first.c: Remove file.
+       * sysdeps/unix/sysv/linux/m68k/libc-m68k-vdso.c: Likewise.
+       * sysdeps/unix/sysv/linux/m68k/m68k-helpers.S: Likewise.
+       * sysdeps/unix/sysv/linux/m68k/m68k-vdso.c: Likewise.
+       * sysdeps/unix/sysv/linux/m68k/m68k-vdso.h: Likewise.
+       * sysdeps/unix/sysv/linux/m68k/m68k-helpers.c: New file.
+
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile
+       (libm-sysdep_routines): Add s_llround-power8, s_llround-power6x,
+       s_llround-power5+, s_llround-ppc64, and s_llroundf-ppc64.
+       (CFLAGS-s_llround-power8.c, CFLAGS-s_llround-power6x.c,
+       CFLAGS-s_llround-power5+.c): New rule.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround-power5+.c:
+       New file.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround-power6x.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround-power8.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround-ppc64.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llroundf-ppc64.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c: Move to ...
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llround.c: ... here.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llroundf.c: Move to ...
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llroundf.c: ... here.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_lround.c: Move to ...
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_lround.c: ... here.
+       * sysdeps/powerpc/powerpc64/fpu/Makefile
+       [$(subdir) == math] (CFLAGS-s_llround.c): New rule.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile
+       (libm-sysdep_routines): Remove s_llround-* objects.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power5+.S: Remove
+       file.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power6x.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power8.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-ppc64.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llroundf-ppc64.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_llround.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_lround.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_lroundf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_llround.c: New file.
+       * sysdeps/powerpc/powerpc64/fpu/s_llroundf.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_lround.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_lroundf.c: Likewise.
+       * sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power5+/fpu/s_llroundf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power6x/fpu/s_llroundf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_llroundf.S: Likewise.
+
+       * sysdeps/powerpc/fpu/s_lrintf.S: Remove file.
+       * sysdeps/powerpc/powerpc64/fpu/s_lrintf.c: Move to ...
+       * sysdeps/powerpc/fpu/s_lrintf.c: ... here.
+       * sysdeps/powerpc/powerpc32/fpu/Makefile
+       [$(subdir) == math] (CFLAGS-s_lrint.c): New rule.
+       * sysdeps/powerpc/powerpc32/fpu/s_llrint.c (__llrint): Add power4
+       optimization.
+       * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c (__llrintf): Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Remove file.
+       * sysdeps/powerpc/powerpc32/fpu/s_lrint.c: New file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
+       (CFLAGS-s_llrintf-power6.c, CFLAGS-s_llrintf-ppc32.c,
+       CFLAGS-s_llrint-power6.c, CFLAGS-s_llrint-ppc32.c,
+       CFLAGS-s_lrint-ppc32.c): New rule.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-power6.S:
+       Remove file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-ppc32.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-power6.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-ppc32.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint-ppc32.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-power6.c:
+       New file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-power6.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint-ppc32.c:
+       Likewise.
+
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile
+       (libm-sysdep_routines): Add s_llrint-power8, s_llrint-power6x, and
+       s_llrint-ppc64.
+       (CFLAGS-s_llrint-power8.c, CFLAGS-s_llrint-power6x.c): New rule.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint-power6x.c: New
+       file.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint-power8.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint-ppc64.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_lrint.c: Move to ...
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_lrint.c: ... here.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c: Move to ...
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint.c: ... here.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrintf.c: Move to ...
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrintf.c: ... here.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_lrint.c: New file.
+       * sysdeps/powerpc/powerpc64/fpu/Makefile: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile
+       (libm-sysdep_routines): Remove s_llrint-* objects.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power6x.S: Remove
+       file.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power8.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-ppc64.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_llrint.c: New file.
+       * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_lrint.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_lrintf.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Remove file.
+       * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_lrint.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Likewise.
+
+2019-06-14  Florian Weimer  <fweimer@redhat.com>
+
+       * sysdeps/unix/sysv/linux/bits/statx.h: Use string literal in
+       argument to __glibc_has_include to inhibit macro expansion.
+
+2019-06-14  Florian Weimer  <fweimer@redhat.com>
+
+       * misc/sys/cdefs.h (__glibc_has_include): Do not use a
+       function-like macro, so that __has_include can inhibit expansion
+       of its argument.
+
+2019-06-13  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/unix/sysv/linux/bits/in.h (IPV6_ROUTER_ALERT_ISOLATE):
+       New macro.
+
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data:
+       Allow memset in libc.so.
+
+2019-06-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       * sysdeps/aarch64/dl-dtprocnum.h: New file.
+       * sysdeps/aarch64/dl-machine.h (DT_AARCH64): Define.
+       (elf_machine_runtime_setup): Handle DT_AARCH64_VARIANT_PCS.
+       (elf_machine_lazy_rel): Check STO_AARCH64_VARIANT_PCS and bind such
+       symbols at load time.
+       * sysdeps/aarch64/linkmap.h (struct link_map_machine): Add variant_pcs.
+
+2019-06-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       * elf/elf.h (STO_AARCH64_VARIANT_PCS): Define.
+       (DT_AARCH64_VARIANT_PCS): Define.
+
+2019-06-12  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
+       (sysdeps_routines, libm-sysdep_routines): Remove s_finite*
+       objects.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite-power7.S:
+       Remove file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite.c: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finitef-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finitef.c: Likewise.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_finitef.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdep_call):
+       Remove s_finite* objects.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power7.S: Remove file.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power8.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-ppc64.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef-ppc64.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef.c: Likewise.
+       * sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power7/fpu/s_finitef.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_finite.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_finitef.S: Likewise.
+
+       * sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c: Move to ...
+       * sysdeps/ieee754/dbl-64/s_finite.c: ... here and format code.
+
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
+       (sysdeps_routines, libm-sysdep_routines): Remove s_isinf* and s_isinf*
+       objects.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf-power7.S:
+       Remove file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf.c: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinff-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinff.c: Likewise.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_isinff.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdep_call):
+       Remove s_isinf* and s_isinf* objects.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power7.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power8.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-ppc64.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff-ppc64.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff.c: Likewise.
+       * sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power7/fpu/s_isinff.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_isinf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_isinff.S: Likewise.
+
+       * sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c: Move to ...
+       * sysdeps/ieee754/dbl-64/s_isinf.c: ... here and format code.
+
+       * sysdeps/powerpc/fpu/s_isnan.c: Remove file.
+       * sysdeps/powerpc/fpu/s_isnanf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
+       (sysdeps_routines, libm-sysdep_routines): Remove s_isnan-* and
+       s_isnanf-* objects.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-power5.S:
+       Remove file
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-power6.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-power7.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-ppc32.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan.c: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf-power5.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf-power6.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf.c: Likewise.
+       * sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power5/fpu/s_isnanf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power6/fpu/s_isnanf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_isnanf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdep_calls):
+       Remove s_isnan-* and s_isnanf-* objects.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power5.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6x.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power7.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power8.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnanf.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power5/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power6/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power6x/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power7/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power7/fpu/s_isnanf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_isnanf.S: Likewise.
+
+       * sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c: Move to ...
+       * sysdeps/ieee754/dbl-64/s_isnan.c: ... here and format code.
+
+       * benchtests/Makefile (bench-math): Add isnan, isinf, and isfinite.
+       (CFLAGS-bench-isnan.c, CFLAGS-bench-isinf.c,
+       CFLAGS-bench-isfinite.c): New rule.
+       * benchtests/isnan-input: New file.
+       * benchtests/isinf-input: New file.
+       * benchtests/isfinite-input: New file.
+
+       * sysdeps/powerpc/fpu/s_copysign.c: New file.
+       * sysdeps/powerpc/fpu/s_copysignf.c: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Remove file.
+       * sysdeps/powerpc/powerpc32/fpu/s_copysignf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
+       (sysdep_routines, libm-sysdep_routines): Remove s_copysign-power6 and
+       s_copysign-ppc32.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign-power6.S:
+       Remove file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign-ppc32.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysignf.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power6/fpu/s_copysignf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdeps_calls):
+       Remove s_copysign-power6 s_copysign-ppc64.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-power6.S:
+       Remove file.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-ppc64.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_copysignf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power6/fpu/s_copysignf.S: Likewise.
+
+       * sysdeps/powerpc/fpu/round_to_integer.h (set_fenv_mode,
+       round_to_integer_float, round_mode): Add RINT handling.
+       (reset_fenv_mode): New symbol.
+       * sysdeps/powerpc/fpu/s_rint.c (__rint): Use generic implementation.
+       * sysdeps/powerpc/fpu/s_rintf.c (__rintf): Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Remove file.
+       * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_rint.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Likewise.
+
 2019-06-12  Florian Weimer  <fweimer@redhat.com>
 
        [BZ #24632]