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.28.9000-319-gce035c6


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  ce035c6e909ad20ef2fe13c92eab4e69f6495b61 (commit)
      from  2bd0bfcc6857f1fde2bd9716dc103333ebaa6807 (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=ce035c6e909ad20ef2fe13c92eab4e69f6495b61

commit ce035c6e909ad20ef2fe13c92eab4e69f6495b61
Author: Carlos O'Donell <carlos@redhat.com>
Date:   Tue Nov 20 17:06:30 2018 -0500

    abilist.awk: Treat .tdata like .tbss and reject unknown combinations.
    
    Mathieu Desnoyers ran into an issue with his rseq patch where he
    was the first person to add weak thread-local data and this
    resulted in an ABI list update with entries like this:
    "GLIBC_2.29 w ? D .tdata 0000000000000020".
    
    The weakness of the symbol has nothing to do with the DSOs ABI
    and so we should not write anything about weak symbols here. The
    .tdata entries should be treated exactly like .tbss entries and
    the output should have been: "GLIBC_2.29 __rseq_abi T 0x20"
    
    This change makes abilist.awk handle .tdata just like .tbss,
    while at the same time adding an error case for the default, and
    the unknown line cases.  We never want anyone to be able to add
    such entries to any ABI list files and should see an immediate
    error and consult with experts.
    
    Tested by Mathieu Desnoyers <mathieu.desnoyers@efficios.com> with
    the rseq patch set and 'make update-all-abi'.
    
    Tested myself with 'make update-all-abi' on x86_64 with no
    changes.
    
    Signed-off-by: Carlos O'Donell <carlos@redhat.com>

diff --git a/ChangeLog b/ChangeLog
index c4dae98..b5ed082 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-11-26  Carlos O'Donell  <carlos@redhat.com>
+
+	* scripts/abilist.awk: Handle .tdata. Error for unknown combinations.
+	Error for unknown lines.
+
 2018-11-26  Joseph Myers  <joseph@codesourcery.com>
 
 	* scripts/build-many-glibcs.py (Context.fix_glibc_timestamps):
diff --git a/scripts/abilist.awk b/scripts/abilist.awk
index bad7c38..b40be91 100644
--- a/scripts/abilist.awk
+++ b/scripts/abilist.awk
@@ -39,7 +39,6 @@ $2 == "l" { next }
 
 # If the target uses ST_OTHER, it will be output before the symbol name.
 $2 == "g" || $2 == "w" && (NF == 7 || NF == 8) {
-  weak = $2;
   type = $3;
   size = $5;
   sub(/^0*/, "", size);
@@ -55,7 +54,7 @@ $2 == "g" || $2 == "w" && (NF == 7 || NF == 8) {
   if (version == "GLIBC_PRIVATE") next;
 
   desc = "";
-  if (type == "D" && $4 == ".tbss") {
+  if (type == "D" && ($4 == ".tbss" || $4 == ".tdata")) {
     type = "T";
   }
   else if (type == "D" && $4 == ".opd") {
@@ -90,14 +89,10 @@ $2 == "g" || $2 == "w" && (NF == 7 || NF == 8) {
     size = "";
   }
   else {
-    desc = symbol " " version " " weak " ? " type " " $4 " " $5;
-  }
-  if (size == " 0x") {
-    desc = symbol " " version " " weak " ? " type " " $4 " " $5;
+    print "ERROR: Unable to handle this type of symbol."
+    exit 1
   }
 
-  # Disabled -- weakness should not matter to shared library ABIs any more.
-  #if (weak == "w") type = tolower(type);
   if (desc == "")
     desc = symbol " " type size;
 
@@ -113,7 +108,8 @@ $2 == "g" || $2 == "w" && (NF == 7 || NF == 8) {
 NF == 0 || /DYNAMIC SYMBOL TABLE/ || /file format/ { next }
 
 {
-  print "Don't grok this line:", $0
+  print "ERROR: Unable to interpret this line:", $0
+  exit 1
 }
 
 function emit(end) {

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

Summary of changes:
 ChangeLog           |    5 +++++
 scripts/abilist.awk |   14 +++++---------
 2 files changed, 10 insertions(+), 9 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]