+2018-09-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix mktime localtime offset confusion
+ [BZ #23603]
+ * include/time.h (__mktime_internal): The localtime offset is now
+ of type long int instead of time_t. This is the longstanding type
+ in glibc, and it is more than enough to represent difference
+ between localtime and gmtime even if it is 32 bits and time_t is
+ 64. Changing it now will let us avoid an unnecessary change when
+ time_t is widened to 64 bits on 32-bit platforms.
+ * time/mktime-internal.h (mktime_offset_t): Now long int.
+
+ Merge mktime, timegm from upstream Gnulib
+ [BZ #23603][BZ #16346]
+ This fixes some obscure problems with integer overflow.
+ Although it looks scary, it is almost all a byte-for-byte copy
+ from Gnulib, and the Gnulib code has been tested reasonably well.
+ * include/intprops.h: New file, copied from Gnulib.
+ * include/verify.h, time/mktime-internal.h:
+ New tiny files, simplified from Gnulib.
+ * time/mktime.c: Copy from Gnulib. This has the following changes:
+ Do not include config.h if DEBUG_MKTIME is nonzero.
+ Include stdbool.h, intprops.h, verify.h.
+ Include string.h only if needed.
+ Include stdlib.h on MS-Windows.
+ Include mktime-internal.h.
+ (DEBUG_MKTIME): Default to 0, and simplify later uses.
+ (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
+ (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
+ which glibc uses. Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
+ simplify later conditionals; default the others to zero. Use
+ these conditionals to express only the code needed on the current
+ platform. In uses of these conditionals, explicitly spell out how
+ _LIBC affects things, so it’s easier to review from a glibc
+ viewpoint.
+ (WRAPV): Remove; no longer needed now that we have
+ systematic overflow checking.
+ (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
+ compartmentalize tzset issues. Move system-dependent tzsettish
+ code here from mktime.
+ (verify): Remove; now done by verify.h. All uses changed.
+ (long_int): Use a more-conservative definition, to avoid
+ integer overflow.
+ (SHR): Remove, replacing with ...
+ (shr): New function, which means we needn’t worry about side
+ effects in args, and conversion analysis is simpler.
+ (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT, TYPE_SIGNED, TYPE_MINIMUM)
+ (TYPE_MAXIMUM, TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT)
+ (time_t_avg, time_t_add_ok): Remove.
+ (mktime_min, mktime_max): New constants.
+ (leapyear, isdst_differ): Use bool for booleans.
+ (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
+ Use long_int, not time_t, for mktime differences.
+ (long_int_avg): New function, replacing time_t_avg.
+ INT_ADD_WRAPV replaces time_t_add_ok.
+ (guess_time_tm): 6th arg is now long_int, not time_t const *.
+ All uses changed.
+ (convert_time): New function.
+ (ranged_convert): Use it.
+ (__mktime_internal): Last arg now points to mktime_offset_t, not
+ time_t. All uses changed. This is a no-op on glibc, where
+ mktime_offset_t is always time_t. Use int, not time_t, for UTC
+ offset guess. Directly check for integer overflow instead of
+ using a heuristic that works only 99.9...% of the time.
+ Access *OFFSET only once, to avoid an unlikely race if the
+ compiler delays a load and if this cascades into a signed integer
+ overflow.
+ (mktime): Move tzsettish code to my_tzset, and move
+ localtime_offset to within mktime so that it doesn’t
+ need a separate ifdef.
+ (main) [DEBUG_MKTIME]: Speed up by using localtime_r
+ instead of localtime.
+ * time/timegm.c: Copy from Gnulib. This has the following changes:
+ Include mktime-internal.h.
+ [!_LIBC]: Include config.h and time.h. Do not include
+ timegm.h or time_r.h. Make __mktime_internal a macro,
+ and include mktime-internal.h to get its declaration.
+ (timegm): Temporary is now mktime_offset_t, not time_t.
+ This affects only Gnulib.
+
+2018-09-19 Wilco Dijkstra <wdijkstr@arm.com>
+
+ [BZ #23637]
+ * string/test-strstr.c (pr23637): New function.
+ (test_main): Add tests with longer needles.
+ * string/strcasestr.c (AVAILABLE): Fix readahead distance.
+ * string/strstr.c (AVAILABLE): Likewise.
+
+2018-09-19 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * sysdeps/ieee754/flt-32/e_powf.c (checkint): Fix documentation.
+
+2018-09-19 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * NEWS: Mention pow improvements.
+ * math/Makefile (type-double-routines): Add e_pow_log_data.
+ * sysdeps/generic/math_private.h (__exp1): Remove.
+ * sysdeps/i386/fpu/e_pow_log_data.c: New file.
+ * sysdeps/ia64/fpu/e_pow_log_data.c: New file.
+ * sysdeps/ieee754/dbl-64/Makefile (CFLAGS-e_pow.c): Allow fma
+ contraction.
+ * sysdeps/ieee754/dbl-64/e_exp.c (__exp1): Remove.
+ (exp_inline): Remove.
+ (__ieee754_exp): Only single double input is handled.
+ * sysdeps/ieee754/dbl-64/e_pow.c: Rewrite.
+ * sysdeps/ieee754/dbl-64/e_pow_log_data.c: New file.
+ * sysdeps/ieee754/dbl-64/math_config.h (issignaling_inline): Define.
+ (__pow_log_data): Define.
+ * sysdeps/ieee754/dbl-64/upow.h: Remove.
+ * sysdeps/ieee754/dbl-64/upow.tbl: Remove.
+ * sysdeps/m68k/m680x0/fpu/e_pow_log_data.c: New file.
+ * sysdeps/x86_64/fpu/multiarch/Makefile (CFLAGS-e_pow-fma.c): Allow fma
+ contraction.
+ (CFLAGS-e_pow-fma4.c): Likewise.
+
+2018-09-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ Simplify tzfile fstat failure code
+ [BZ #21716]
+ * time/tzfile.c (__tzfile_read): Simplify slightly.
+
+ Fix tzfile low-memory assertion failure
+ [BZ #21716]
+ * time/tzfile.c (__tzfile_read): Check for memory exhaustion
+ when registering time zone abbreviations.
+
+2018-09-18 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/bits/mman.h: New file.
+ * sysdeps/unix/sysv/linux/aarch64/bits/mman.h: Remove.
+ * sysdeps/unix/sysv/linux/arm/bits/mman.h: Likewise.
+ * sysdeps/unix/sysv/linux/m68k/bits/mman.h: Likewise.
+ * sysdeps/unix/sysv/linux/microblaze/bits/mman.h: Likewise.
+ * sysdeps/unix/sysv/linux/nios2/bits/mman.h: Likewise.
+ * sysdeps/unix/sysv/linux/riscv/bits/mman.h: Likewise.
+ * sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise.
+ * sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise.
+
+ * sysdeps/ieee754/ldbl-128ibm/s_ceill.c (ceil): Redirect to
+ __ceil.
+ (__ceill): Call ceil instead of __ceil.
+ * sysdeps/ieee754/ldbl-128ibm/s_floorl.c (floor): Redirect to
+ __floor.
+ (__floorl): Call floor instead of __floor.
+
+2018-09-17 Joseph Myers <joseph@codesourcery.com>
+
+ * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ &&
+ __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (ceil): Redirect
+ using MATH_REDIRECT.
+ * sysdeps/aarch64/fpu/s_ceil.c: Define NO_MATH_REDIRECT before
+ header inclusion.
+ * sysdeps/aarch64/fpu/s_ceilf.c: Likewise.
+ * sysdeps/ieee754/dbl-64/s_ceil.c: Likewise.
+ * sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c: Likewise.
+ * sysdeps/ieee754/float128/s_ceilf128.c: Likewise.
+ * sysdeps/ieee754/flt-32/s_ceilf.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/s_ceill.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/s_ceill.c: Likewise.
+ * sysdeps/m68k/m680x0/fpu/s_ceil_template.c: Likewise.
+ * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceil.c: Likewise.
+ * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_ceilf.c: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c: Likewise.
+ * sysdeps/riscv/rv64/rvd/s_ceil.c: Likewise.
+ * sysdeps/riscv/rvf/s_ceilf.c: Likewise.
+ * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.c: Likewise.
+ * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.c: Likewise.
+ * sysdeps/x86_64/fpu/multiarch/s_ceil.c: Likewise.
+ * sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Likewise.
+ * sysdeps/powerpc/fpu/math_private.h [_ARCH_PWR5X] (__ceil):
+ Remove macro.
+ * sysdeps/ieee754/dbl-64/e_gamma_r.c (gamma_positive): Use ceil
+ functions instead of __ceil variants.
+ * sysdeps/ieee754/flt-32/e_gammaf_r.c (gammaf_positive): Likewise.
+ * sysdeps/ieee754/ldbl-128/e_gammal_r.c (gammal_positive):
+ Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (gammal_positive):
+ Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/s_truncl.c (__truncl): Likewise.
+ * sysdeps/ieee754/ldbl-96/e_gammal_r.c (gammal_positive):
+ Likewise.
+ * sysdeps/powerpc/power5+/fpu/s_modf.c (__modf): Likewise.
+ * sysdeps/powerpc/power5+/fpu/s_modff.c (__modff): Likewise.
+
+ [BZ #21286]
+ * sysdeps/unix/sysv/linux/bits/siginfo-consts.h (SI_DETHREAD): New
+ constant.
+ [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (ILL_BADIADDR): Likewise.
+ [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (FPE_FLTUNK): Likewise.
+ [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (FPE_CONDTRAP): Likewise.
+ [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (SEGV_ACCADI): Likewise.
+ [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (SEGV_ADIDERR): Likewise.
+ [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8] (SEGV_ADIPERR): Likewise.
+ [__USE_XOPEN_EXTENDED] (TRAP_BRANCH): Likewise.
+ [__USE_XOPEN_EXTENDED] (TRAP_HWBKPT): Likewise.
+ [__USE_XOPEN_EXTENDED] (TRAP_UNK): Likweise.
+ * sysdeps/unix/sysv/linux/ia64/bits/siginfo-consts-arch.h
+ (ILL_BADIADDR): Remove constant.
+ (TRAP_BRANCH): Likewise.
+ (TRAP_HWBKPT): Likewise.
+
+2018-09-14 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #23656]
+ * sysdeps/unix/sysv/linux/mips/sys/procfs.h (struct elf_prstatus):
+ Remove [_MIPS_SIM = _ABIN32] conditional case.
+ (struct elf_prpsinfo): Likewise.
+
+ [BZ #23649]
+ * sysdeps/unix/sysv/linux/microblaze/sys/procfs.h (struct
+ elf_prpsinfo): Use unsigned int for pr_uid and pr_gid.
+ * sysdeps/unix/sysv/linux/mips/sys/procfs.h (struct elf_prpsinfo):
+ Likewise.
+ * sysdeps/unix/sysv/linux/nios2/sys/procfs.h (struct
+ elf_prpsinfo): Likewise.
+ * sysdeps/unix/sysv/linux/riscv/sys/procfs.h (struct
+ elf_prpsinfo): Likewise.
+ * sysdeps/unix/sysv/linux/sys/procfs.h (struct elf_prpsinfo):
+ Likewise.
+
+ * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ &&
+ __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (rint): Redirect
+ using MATH_REDIRECT.
+ * sysdeps/aarch64/fpu/s_rint.c: Define NO_MATH_REDIRECT before
+ header inclusion.
+ * sysdeps/aarch64/fpu/s_rintf.c: Likewise.
+ * sysdeps/alpha/fpu/s_rint.c: Likewise.
+ * sysdeps/alpha/fpu/s_rintf.c: Likewise.
+ * sysdeps/i386/fpu/s_rintl.c: Likewise.
+ * sysdeps/ieee754/dbl-64/s_rint.c: Likewise.
+ * sysdeps/ieee754/dbl-64/wordsize-64/s_rint.c: Likewise.
+ * sysdeps/ieee754/float128/s_rintf128.c: Likewise.
+ * sysdeps/ieee754/flt-32/s_rintf.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/s_rintl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/s_rintl.c: Likewise.
+ * sysdeps/m68k/coldfire/fpu/s_rint.c: Likewise.
+ * sysdeps/m68k/coldfire/fpu/s_rintf.c: Likewise.
+ * sysdeps/m68k/m680x0/fpu/s_rint.c: Likewise.
+ * sysdeps/m68k/m680x0/fpu/s_rintf.c: Likewise.
+ * sysdeps/m68k/m680x0/fpu/s_rintl.c: Likewise.
+ * sysdeps/powerpc/fpu/s_rint.c: Likewise.
+ * sysdeps/powerpc/fpu/s_rintf.c: Likewise.
+ * sysdeps/riscv/rv64/rvd/s_rint.c: Likewise.
+ * sysdeps/riscv/rvf/s_rintf.c: Likewise.
+ * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.c: Likewise.
+ * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.c: Likewise.
+ * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.c: Likewise.
+ * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.c: Likewise.
+ * sysdeps/x86_64/fpu/multiarch/s_rint.c: Likewise.
+ * sysdeps/x86_64/fpu/multiarch/s_rintf.c: Likewise.
+ * sysdeps/x86_64/fpu/math_private.h: Remove file.
+ * math/e_scalb.c (invalid_fn): Use rint functions instead of
+ __rint variants.
+ * math/e_scalbf.c (invalid_fn): Likewise.
+ * math/e_scalbl.c (invalid_fn): Likewise.
+ * sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r):
+ Likewise.
+ * sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r):
+ Likewise.
+ * sysdeps/ieee754/k_standard.c (__kernel_standard): Likewise.
+ * sysdeps/ieee754/k_standardl.c (__kernel_standard_l): Likewise.
+ * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gammal_r):
+ Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (__ieee754_gammal_r):
+ Likewise.
+ * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r):
+ Likewise.
+ * sysdeps/powerpc/powerpc32/fpu/s_llrint.c (__llrint): Likewise.
+ * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c (__llrintf): Likewise.
+
+ * include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ &&
+ __FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (MATH_REDIRECT):
+ New macro.
+ [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)
+ && !NO_MATH_REDIRECT] (MATH_REDIRECT_LDBL): Likewise.
+ [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)
+ && !NO_MATH_REDIRECT] (MATH_REDIRECT_F128): Likewise.
+ [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)
+ && !NO_MATH_REDIRECT] (MATH_REDIRECT_UNARY_ARGS): Likewise.
+ [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)
+ && !NO_MATH_REDIRECT] (sqrt): Redirect using MATH_REDIRECT.
+ [!_ISOMAC && !(__FINITE_MATH_ONLY__ && __FINITE_MATH_ONLY__ > 0)
+ && !NO_MATH_REDIRECT] (floor): Likewise.
+ * sysdeps/aarch64/fpu/s_floor.c: Define NO_MATH_REDIRECT before
+ header inclusion.
+ * sysdeps/aarch64/fpu/s_floorf.c: Likewise.
+ * sysdeps/ieee754/dbl-64/s_floor.c: Likewise.
+ * sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c: Likewise.
+ * sysdeps/ieee754/float128/s_floorf128.c: Likewise.
+ * sysdeps/ieee754/flt-32/s_floorf.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/s_floorl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/s_floorl.c: Likewise.
+ * sysdeps/m68k/m680x0/fpu/s_floor_template.c: Likewise.
+ * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floor.c: Likewise.
+ * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_floorf.c: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c: Likewise.
+ * sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c: Likewise.
+ * sysdeps/riscv/rv64/rvd/s_floor.c: Likewise.
+ * sysdeps/riscv/rvf/s_floorf.c: Likewise.
+ * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.c: Likewise.
+ * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.c: Likewise.
+ * sysdeps/x86_64/fpu/multiarch/s_floor.c: Likewise.
+ * sysdeps/x86_64/fpu/multiarch/s_floorf.c: Likewise.
+ * sysdeps/powerpc/fpu/math_private.h [_ARCH_PWR5X] (__floor):
+ Remove macro.
+ [_ARCH_PWR5X] (__floorf): Likewise.
+ * sysdeps/x86_64/fpu/math_private.h [__SSE4_1__] (__floor): Remove
+ inline function.
+ [__SSE4_1__] (__floorf): Likewise.
+ * math/w_lgamma_main.c (LGFUNC (__lgamma)): Use floor functions
+ instead of __floor variants.
+ * math/w_lgamma_r_compat.c (__lgamma_r): Likewise.
+ * math/w_lgammaf_main.c (LGFUNC (__lgammaf)): Likewise.
+ * math/w_lgammaf_r_compat.c (__lgammaf_r): Likewise.
+ * math/w_lgammal_main.c (LGFUNC (__lgammal)): Likewise.
+ * math/w_lgammal_r_compat.c (__lgammal_r): Likewise.
+ * math/w_tgamma_compat.c (__tgamma): Likewise.
+ * math/w_tgamma_template.c (M_DECL_FUNC (__tgamma)): Likewise.
+ * math/w_tgammaf_compat.c (__tgammaf): Likewise.
+ * math/w_tgammal_compat.c (__tgammal): Likewise.
+ * sysdeps/ieee754/dbl-64/e_lgamma_r.c (sin_pi): Likewise.
+ * sysdeps/ieee754/dbl-64/k_rem_pio2.c (__kernel_rem_pio2):
+ Likewise.
+ * sysdeps/ieee754/dbl-64/lgamma_neg.c (__lgamma_neg): Likewise.
+ * sysdeps/ieee754/flt-32/e_lgammaf_r.c (sin_pif): Likewise.
+ * sysdeps/ieee754/flt-32/lgamma_negf.c (__lgamma_negf): Likewise.
+ * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgammal_r):
+ Likewise.
+ * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise.
+ * sysdeps/ieee754/ldbl-128/lgamma_negl.c (__lgamma_negl):
+ Likewise.
+ * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_lgammal_r.c (__ieee754_lgammal_r):
+ Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/lgamma_negl.c (__lgamma_negl):
+ Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Likewise.
+ * sysdeps/ieee754/ldbl-128ibm/s_truncl.c (__truncl): Likewise.
+ * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Likewise.
+ * sysdeps/ieee754/ldbl-96/lgamma_negl.c (__lgamma_negl): Likewise.
+ * sysdeps/powerpc/power5+/fpu/s_modf.c (__modf): Likewise.
+ * sysdeps/powerpc/power5+/fpu/s_modff.c (__modff): Likewise.
+
+2018-09-12 Joseph Myers <joseph@codesourcery.com>
+
+ * elf/Makefile (modules-names-tests): New variable.
+
+2018-09-12 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * NEWS: Mention log2 improvements.
+ * math/Makefile (type-double-routines): Add e_log2_data.
+ * sysdeps/i386/fpu/e_log2_data.c: New file.
+ * sysdeps/ia64/fpu/e_log2_data.c: New file.
+ * sysdeps/ieee754/dbl-64/e_log2.c: Rewrite.
+ * sysdeps/ieee754/dbl-64/e_log2_data.c: New file.
+ * sysdeps/ieee754/dbl-64/math_config.h (__log2_data): Add.
+ * sysdeps/ieee754/dbl-64/wordsize-64/e_log2.c: Remove.
+ * sysdeps/m68k/m680x0/fpu/e_log2_data.c: New file.
+
+2018-09-12 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * NEWS: Mention log improvement.
+ * math/Makefile (type-double-routines): Add e_log_data.
+ * sysdeps/i386/fpu/e_log_data.c: New file.
+ * sysdeps/ia64/fpu/e_log_data.c: New file.
+ * sysdeps/ieee754/dbl-64/e_log.c: Rewrite.
+ * sysdeps/ieee754/dbl-64/e_log_data.c: New file.
+ * sysdeps/ieee754/dbl-64/math_config.h (__log_data): Add.
+ * sysdeps/ieee754/dbl-64/ulog.h: Remove.
+ * sysdeps/ieee754/dbl-64/ulog.tbl: Remove.
+ * sysdeps/m68k/m680x0/fpu/e_log_data.c: New file.
+
2018-09-12 H.J. Lu <hongjiu.lu@intel.com>
Xuepeng Guo <xuepeng.guo@intel.com>