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.20-276-g0e7e69b


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  0e7e69baa8576831da39680274cf9b52d7569e4c (commit)
      from  0b3b57625388983a5545a21fe00569e92e988a8d (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=0e7e69baa8576831da39680274cf9b52d7569e4c

commit 0e7e69baa8576831da39680274cf9b52d7569e4c
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Sat Nov 29 01:46:56 2014 +0000

    Make linknamespace tests check only relevant libraries.
    
    This patch addresses one known caveat in the linknamespace tests: with
    this patch they will now only look for definitions of symbols in
    relevant libraries, meaning that librt and libpthread are not checked
    for ISO C standards, XPG3 and XPG4.
    
    In particular, this means that if __pthread_initialize_minimal is
    somehow brought in for one of those standards, the definition from
    libc-tls.o will be considered instead of that from libpthread, so
    avoiding bringing in lots of other libpthread symbols.  This should
    address some of the failures reported by Carlos in
    <https://sourceware.org/ml/libc-alpha/2014-11/msg00882.html>, where
    __pointer_chk_guard_local brought in __pthread_initialize_minimal.
    
    Tested for x86_64.  The removal of one XFAIL for XPG4 actually shows
    up a header bug (shm_open should not be declared for XPG4 - the
    namespace issue was for symbols brought in by shm_open, which is no
    longer found at all now librt isn't searched; I've filed bug 17663 for
    the header bug, though it would show up eventually anyway in the
    course of review of conform/ data against XPG4).
    
    Committed.
    
    	* conform/Makefile (linknamespace-symlist-stdlibs-base): New
    	variable.
    	(linknamespace-symlist-stdlibs-tests): Likewise.
    	(tests-special): Append $(linknamespace-symlist-stdlibs-tests)
    	instead of $(objpfx)symlist-stdlibs.
    	(linknamespace-libs-isoc): New variable.
    	(linknamespace-libs): Use $(linknamespace-libs-isoc).
    	(linknamespace-libs-ISO): New variable.
    	(linknamespace-libs-ISO99): Likewise.
    	(linknamespace-libs-ISO11): Likewise.
    	(linknamespace-libs-XPG3): Likewise.
    	(linknamespace-libs-XPG4): Likewise.
    	(linknamespace-libs-POSIX): Likewise.
    	(linknamespace-libs-UNIX98): Likewise.
    	(linknamespace-libs-XOPEN2K): Likewise.
    	(linknamespace-libs-POSIX2008): Likewise.
    	(linknamespace-libs-XOPEN2K8): Likewise.
    	($(objpfx)symlist-stdlibs): Replace by
    	$(linknamespace-symlist-stdlibs-tests).  Use
    	$(linknamespace-libs-$*) as set of libraries.
    	($(linknamespace-header-tests)): Update dependencies.  Use
    	$(objpfx)symlist-stdlibs-$$std for --libsyms argument.
    	(test-xfail-XPG4/sys/mman.h/linknamespace): Remove.
    	* conform/linknamespace.pl: Remove comment about considering
    	definitions of symbols from irrelevant libraries.

diff --git a/ChangeLog b/ChangeLog
index b627149..8a6e89e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,31 @@
+2014-11-29  Joseph Myers  <joseph@codesourcery.com>
+
+	* conform/Makefile (linknamespace-symlist-stdlibs-base): New
+	variable.
+	(linknamespace-symlist-stdlibs-tests): Likewise.
+	(tests-special): Append $(linknamespace-symlist-stdlibs-tests)
+	instead of $(objpfx)symlist-stdlibs.
+	(linknamespace-libs-isoc): New variable.
+	(linknamespace-libs): Use $(linknamespace-libs-isoc).
+	(linknamespace-libs-ISO): New variable.
+	(linknamespace-libs-ISO99): Likewise.
+	(linknamespace-libs-ISO11): Likewise.
+	(linknamespace-libs-XPG3): Likewise.
+	(linknamespace-libs-XPG4): Likewise.
+	(linknamespace-libs-POSIX): Likewise.
+	(linknamespace-libs-UNIX98): Likewise.
+	(linknamespace-libs-XOPEN2K): Likewise.
+	(linknamespace-libs-POSIX2008): Likewise.
+	(linknamespace-libs-XOPEN2K8): Likewise.
+	($(objpfx)symlist-stdlibs): Replace by
+	$(linknamespace-symlist-stdlibs-tests).  Use
+	$(linknamespace-libs-$*) as set of libraries.
+	($(linknamespace-header-tests)): Update dependencies.  Use
+	$(objpfx)symlist-stdlibs-$$std for --libsyms argument.
+	(test-xfail-XPG4/sys/mman.h/linknamespace): Remove.
+	* conform/linknamespace.pl: Remove comment about considering
+	definitions of symbols from irrelevant libraries.
+
 2014-11-28  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #13862]
diff --git a/conform/Makefile b/conform/Makefile
index 4a498e4..641f546 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -124,7 +124,13 @@ linknamespace-symlists-tests := $(addprefix $(objpfx),\
 					    $(linknamespace-symlists-base))
 tests-special += $(linknamespace-symlists-tests)
 
-tests-special += $(objpfx)symlist-stdlibs
+linknamespace-symlist-stdlibs-base := $(foreach std,$(conformtest-standards),\
+						    symlist-stdlibs-$(std))
+linknamespace-symlist-stdlibs-tests := \
+	$(addprefix $(objpfx),\
+		    $(linknamespace-symlist-stdlibs-base))
+
+tests-special += $(linknamespace-symlist-stdlibs-tests)
 
 linknamespace-header-base := $(foreach std,\
 				       $(conformtest-standards),\
@@ -294,21 +300,35 @@ $(linknamespace-symlists-tests): $(objpfx)symlist-%: list-header-symbols.pl
 		> $@ 2> $@.err; \
 	$(evaluate-test)
 
-linknamespace-libs = $(common-objpfx)libc.a $(common-objpfx)math/libm.a \
+linknamespace-libs-isoc = $(common-objpfx)libc.a $(common-objpfx)math/libm.a
+linknamespace-libs = $(linknamespace-libs-isoc) \
 		     $(common-objpfx)rt/librt.a $(static-thread-library)
+linknamespace-libs-ISO = $(linknamespace-libs-isoc)
+linknamespace-libs-ISO99 = $(linknamespace-libs-isoc)
+linknamespace-libs-ISO11 = $(linknamespace-libs-isoc)
+linknamespace-libs-XPG3 = $(linknamespace-libs-isoc)
+linknamespace-libs-XPG4 = $(linknamespace-libs-isoc)
+linknamespace-libs-POSIX = $(linknamespace-libs)
+linknamespace-libs-UNIX98 = $(linknamespace-libs)
+linknamespace-libs-XOPEN2K = $(linknamespace-libs)
+linknamespace-libs-POSIX2008 = $(linknamespace-libs)
+linknamespace-libs-XOPEN2K8 = $(linknamespace-libs)
 
-$(objpfx)symlist-stdlibs: $(linknamespace-libs)
-	LC_ALL=C $(READELF) -W -s $^ > $@; \
+$(linknamespace-symlist-stdlibs-tests): $(objpfx)symlist-stdlibs-%: \
+					$(linknamespace-libs)
+	LC_ALL=C $(READELF) -W -s $(linknamespace-libs-$*) > $@; \
 	$(evaluate-test)
 
 $(linknamespace-header-tests): $(objpfx)%/linknamespace.out: \
-			       linknamespace.pl $(objpfx)symlist-stdlibs
+			       linknamespace.pl \
+			       $(linknamespace-symlist-stdlibs-tests)
 	(set -e; std_hdr=$*; std=$${std_hdr%%/*}; hdr=$${std_hdr#*/}; \
 	 mkdir -p $(@D)/scratch; \
 	 $(PERL) -w $< --tmpdir=$(@D)/scratch --cc='$(CC)' \
 		 --flags='$(conformtest-cc-flags)' --standard=$$std \
 		 --stdsyms=$(objpfx)symlist-$$std --header=$$hdr \
-		 --libsyms='$(objpfx)symlist-stdlibs' --readelf='$(READELF)' \
+		 --libsyms=$(objpfx)symlist-stdlibs-$$std \
+		 --readelf='$(READELF)' \
 		 > $@ 2>&1); \
 	$(evaluate-test)
 
@@ -349,7 +369,6 @@ test-xfail-XPG4/regex.h/linknamespace = yes
 test-xfail-XPG4/search.h/linknamespace = yes
 test-xfail-XPG4/stdio.h/linknamespace = yes
 test-xfail-XPG4/stdlib.h/linknamespace = yes
-test-xfail-XPG4/sys/mman.h/linknamespace = yes
 test-xfail-XPG4/sys/statvfs.h/linknamespace = yes
 test-xfail-XPG4/syslog.h/linknamespace = yes
 test-xfail-XPG4/time.h/linknamespace = yes
diff --git a/conform/linknamespace.pl b/conform/linknamespace.pl
index fd8c3dc..7323d4d 100644
--- a/conform/linknamespace.pl
+++ b/conform/linknamespace.pl
@@ -135,11 +135,6 @@ foreach my $sym (@sym_data) {
 # conditionally and not if the program is limited to standard
 # functionality.  (matherr is an example of such a false positive.)
 #
-# * For strong undefined symbols, all possible definitions are
-# considered, rather than being restricted to libraries that are
-# relevant to the given standard (e.g. not considering any libpthread
-# definitions of ISO C symbols).
-#
 # * If a symbol reference is only brought in by the user using a data
 # symbol rather than a function from the standard library, this will
 # not be detected.

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

Summary of changes:
 ChangeLog                |   28 ++++++++++++++++++++++++++++
 conform/Makefile         |   33 ++++++++++++++++++++++++++-------
 conform/linknamespace.pl |    5 -----
 3 files changed, 54 insertions(+), 12 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]