This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v5] Y2038: make __difftime compatible with 64-bit time
- From: Joseph Myers <joseph at codesourcery dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: "Albert ARIBAUD (3ADEV)" <albert dot aribaud at 3adev dot fr>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Fri, 21 Dec 2018 18:55:04 +0000
- Subject: Re: [PATCH v5] Y2038: make __difftime compatible with 64-bit time
- References: <20181220204041.9377-1-albert.aribaud@3adev.fr> <CAMe9rOoxb1zP966MfGVagxW3=P3PL1hTzGuXDaqdztXANoS3zw@mail.gmail.com>
On Fri, 21 Dec 2018, H.J. Lu wrote:
> This caused:
>
> https://sourceware.org/bugzilla/show_bug.cgi?id=24023
I am testing this patch and will commit if the tests pass.
Update nios2, sparc32 localplt.data for difftime changes (bug 24023).
The recent difftime changes introduced localplt test failures on nios2
and sparc32, two configurations where some soft-fp functions are
defined in / exported from libc.so, and where the difftime changes
affected the particular set of floating-point operations used in
libc.so. This patch adds those functions to localplt.data, alongside
other such functions already there. (In the sparc32 case, and more
generally on any platform where long double is a software
floating-point type, it would probably be more efficient to avoid
using long double at all in difftime, but that's a pre-existing
issue.)
Tested with build-many-glibcs.py for its nios2 and sparcv9
configurations.
2018-12-21 Joseph Myers <joseph@codesourcery.com>
[BZ #24023]
* sysdeps/unix/sysv/linux/nios2/localplt.data: Allow __floatundidf
PLT reference in libc.so.
* sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data: Allow
_Q_lltoq and _Q_qtod PLT references in libc.so.
diff --git a/sysdeps/unix/sysv/linux/nios2/localplt.data b/sysdeps/unix/sysv/linux/nios2/localplt.data
index 4430a5891e..3805ed56b9 100644
--- a/sysdeps/unix/sysv/linux/nios2/localplt.data
+++ b/sysdeps/unix/sysv/linux/nios2/localplt.data
@@ -26,6 +26,7 @@ libc.so: __divsf3
libc.so: __nedf2
libc.so: __eqdf2
libc.so: __extendsfdf2
+libc.so: __floatundidf ?
libm.so: matherr
# The main malloc is interposed into the dynamic linker, for
# allocations after the initial link (when dlopen is used).
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data b/sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data
index 1668f4017e..6bf10ff858 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data
@@ -8,8 +8,10 @@ libc.so: _Q_fle ?
libc.so: _Q_flt ?
libc.so: _Q_fne ?
libc.so: _Q_itoq ?
+libc.so: _Q_lltoq ?
libc.so: _Q_mul ?
libc.so: _Q_sub ?
+libc.so: _Q_qtod ?
libc.so: _Unwind_Find_FDE
libc.so: calloc
libc.so: free
--
Joseph S. Myers
joseph@codesourcery.com