This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.29.9000-39-gf289e65


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  f289e656ec8221756519a601042bc9fbe1b310fb (commit)
      from  823624bdc47f1f80109c9c52dee7939b9386d708 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=f289e656ec8221756519a601042bc9fbe1b310fb

commit f289e656ec8221756519a601042bc9fbe1b310fb
Author: Florian Weimer <fweimer@redhat.com>
Date:   Fri Feb 8 10:21:56 2019 +0100

    rt: Turn forwards from librt to libc into compat symbols [BZ #24194]
    
    As the  result of commit 6e6249d0b461b952d0f544792372663feb6d792a
    ("BZ#14743: Move clock_* symbols from librt to libc."), in glibc 2.17,
    clock_gettime, clock_getres, clock_settime, clock_getcpuclockid,
    clock_nanosleep were added to libc, and the file rt/clock-compat.c
    was added with forwarders to the actual implementations in libc.
    These forwarders were wrapped in
    
    #if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_17)
    
    so that they are not present for newer architectures (such as
    powerpc64le) with a 2.17 or later ABI baseline.  But the forwarders
    were not marked as compatibility symbols.  As a result, on older
    architectures, historic configure checks such as
    
    AC_CHECK_LIB(rt, clock_gettime)
    
    still cause linking against librt, even though this is completely
    unnecessary.  It also creates a needless porting hazard because
    architectures behave differently when it comes to symbol availability.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>

diff --git a/ChangeLog b/ChangeLog
index 29f4ac3..20ff76a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2019-02-07  Florian Weimer  <fweimer@redhat.com>
+
+	* rt/clock-compat.c (COMPAT_REDIRECT): Turn librt forwarders into
+	compatibility symbols.
+
 2019-02-07  Stefan Liebler  <stli@linux.ibm.com>
 
 	[BZ #24180]
diff --git a/NEWS b/NEWS
index e14008d..45792f6 100644
--- a/NEWS
+++ b/NEWS
@@ -14,7 +14,11 @@ Major new features:
 
 Deprecated and removed features, and other changes affecting compatibility:
 
-  [Add deprecations, removals and changes affecting compatibility here]
+* The functions clock_gettime, clock_getres, clock_settime,
+  clock_getcpuclockid, clock_nanosleep were removed from the librt library
+  for new applications (on architectures which had them).  Instead, the
+  definitions in libc will be used automatically, which have been available
+  since glibc 2.17.
 
 Changes to build and runtime requirements:
 
diff --git a/rt/clock-compat.c b/rt/clock-compat.c
index c603f40..d8ced3c 100644
--- a/rt/clock-compat.c
+++ b/rt/clock-compat.c
@@ -30,14 +30,16 @@
 #if HAVE_IFUNC
 # undef INIT_ARCH
 # define INIT_ARCH()
-# define COMPAT_REDIRECT(name, proto, arglist) libc_ifunc (name, &__##name)
+# define COMPAT_REDIRECT(name, proto, arglist) libc_ifunc (name, &__##name) \
+    compat_symbol (librt, name, name, GLIBC_2_2);
 #else
 # define COMPAT_REDIRECT(name, proto, arglist)				      \
   int									      \
   name proto								      \
   {									      \
     return __##name arglist;						      \
-  }
+  }									      \
+  compat_symbol (librt, name, name, GLIBC_2_2);
 #endif
 
 COMPAT_REDIRECT (clock_getres,

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog         |    5 +++++
 NEWS              |    6 +++++-
 rt/clock-compat.c |    6 ++++--
 3 files changed, 14 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]