From patchwork Wed Jan 8 20:41:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Zack Weinberg X-Patchwork-Id: 37266 Received: (qmail 76851 invoked by alias); 8 Jan 2020 20:41:11 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 76822 invoked by uid 89); 8 Jan 2020 20:41:10 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-18.5 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.1 spammy=worlds, world's, 4634, 9318 X-HELO: mailbackend.panix.com From: Zack Weinberg To: libc-alpha@sourceware.org Cc: Adhemerval Zanella , Siddhesh Poyarekar Subject: [PATCH] Revise NEWS description of changes to gettimeofday etc. Date: Wed, 8 Jan 2020 15:41:07 -0500 Message-Id: <20200108204107.8164-1-zackw@panix.com> MIME-Version: 1.0 Mostly English grammar and style improvements. The bullet list is reorganized a little for clarity. The details of exactly which Linux-based ports still report system-wide time zone information from gettimeofday has been removed, as this is not intended to be something people should rely on. Also clarify the deprecation of older SPARC ISAs, based on the fact that “SPARC version 7” is actually the very first version of the SPARC ISA (Sun Microsystems was very fond of letting the marketing department pick version numbers). Reviewed-by: Siddhesh Poyarekar --- I would normally just go ahead and push a docs-only editorial change like this, but I haven't been following the Y2038 work carefully since Adhemerval took over my patch series (thanks again, Adhemerval) so I would like to ask for another pair of eyes. I'll probably push this in 24 hours if there are no objections, since time is short. zw --- NEWS | 63 ++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/NEWS b/NEWS index b85989ec3d..66c2eab282 100644 --- a/NEWS +++ b/NEWS @@ -21,19 +21,6 @@ Major new features: 18661-1:2014 and TS 18661-3:2015 as amended by the resolution of Clarification Request 13 to TS 18661-3. -* The gettimeofday function will no longer report information about a - system-wide time zone, expect for aarch64, powerpc, and x86 on Linux - which still uses the vDSO symbol (when available). - - This 4.2-BSD-era feature has been deprecated for many years, as it cannot - handle the full complexity of the world's timezones, but hitherto we have - supported it on a best-effort basis. Changes required to support 64-bit - time_t on 32-bit architectures have made this no longer practical. - - As of this release, callers of gettimeofday with a non-null 'tzp' argument - will always receive a 'struct timezone' whose tz_minuteswest and - tz_dsttime fields are zero. - * The function pthread_clockjoin_np has been added, enabling join with a terminated thread with a specific clock. It allows waiting against CLOCK_MONOTONIC and CLOCK_REALTIME. This function is a GNU extension. @@ -59,8 +46,34 @@ Deprecated and removed features, and other changes affecting compatibility: floating-point arguments directly will continue to work. * The obsolete function stime is no longer available to newly linked - binaries and it has been removed from header. This function - has been deprecated in favor of clock_settime. + binaries, and its declaration has been removed from . + Programs that set the system time should use clock_settime instead. + +* We plan to remove the obsolete function ftime, and the header , + in a future version of glibc. In this release, the header still exists + but calling ftime will cause a compiler warning. All programs should use + gettimeofday or clock_gettime instead. + +* The gettimeofday function no longer reports information about a + system-wide time zone. This 4.2-BSD-era feature has been deprecated for + many years, as it cannot handle the full complexity of the world's + timezones, but hitherto we have supported it on a best-effort basis. + Changes required to support 64-bit time_t on 32-bit architectures have + made this no longer practical. + + As of this release, callers of gettimeofday with a non-null 'tzp' argument + should expect to receive a 'struct timezone' whose tz_minuteswest and + tz_dsttime fields are zero. (For efficiency reasons, this does not always + happen on a few Linux-based ports. This will be corrected in a future + release.) + + All callers should supply a null pointer for the 'tzp' argument to + gettimeofday. For accurate information about the time zone associated + with the current time, use the localtime function. + + gettimeofday itself is obsolescent according to POSIX. We have no plans + to remove access to this function, but portable programs should consider + using clock_gettime instead. * The settimeofday function can still be used to set a system-wide time zone when the operating system supports it. This is because the Linux @@ -80,18 +93,18 @@ Deprecated and removed features, and other changes affecting compatibility: becomes available, we will change settimeofday to fail with ENOSYS on all platforms when its 'tzp' argument is not a null pointer. - Note that settimeofday itself is obsolescent according to POSIX. - Programs that set the system time should use clock_settime and/or - the adjtime family of functions instead. We may also cease to make - settimeofday available to newly linked binaries after there is a - replacement for Linux's time-zone-like offset API. + settimeofday itself is obsolescent according to POSIX. Programs that set + the system time should use clock_settime and/or the adjtime family of + functions instead. We may cease to make settimeofday available to newly + linked binaries after there is a replacement for Linux's time-zone-like + offset API. -* The obsolete functions ftime has been deprecated and will be removed from - a future version of glibc. Application should use clock_gettime instead. +* SPARC ISA v7 is no longer supported. v8 is still supported, but only if + the optional CAS instruction is implemented (for instance, LEON processors + are still supported, but SuperSPARC processors are not). -* The sparc*-*linux-gnu configurations targeting v7 or order architecture - are no longer supported. For v8 only implementations with native CAS - instruction are still supported (such as LEON). + As the oldest 64-bit SPARC ISA is v9, this only affects 32-bit + configurations. * If a lazy binding failure happens during dlopen, during the execution of an ELF constructor, the process is now terminated. Previously, the