GNU C Library master sources branch master updated. glibc-2.24-309-ga0f83f0

fw@sourceware.org fw@sourceware.org
Fri Oct 28 14:54:00 GMT 2016


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  a0f83f0b4f3a0008bf98bd416bc6a2b7a5256622 (commit)
      from  681421f3cac665a82d000d854ae6df1fb3b561a5 (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=a0f83f0b4f3a0008bf98bd416bc6a2b7a5256622

commit a0f83f0b4f3a0008bf98bd416bc6a2b7a5256622
Author: Florian Weimer <fweimer@redhat.com>
Date:   Fri Oct 28 14:03:57 2016 +0200

    Add test for linking against most static libraries

diff --git a/ChangeLog b/ChangeLog
index 997431e..0034c74 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2016-10-28  Florian Weimer  <fweimer@redhat.com>
+
+	* elf/tst-linkall-static.c: New file.
+	* elf/Makefile (tests-static): Add tst-linkall-static.
+	(tst-linkall-static): Link against static libraries.
+
 2016-10-27  Florian Weimer  <fweimer@redhat.com>
 
 	* malloc/malloc.c (sysmalloc): Initialize previous size field of
diff --git a/elf/Makefile b/elf/Makefile
index caffd92..82c7e05 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -122,7 +122,8 @@ tests = tst-tls1 tst-tls2 tst-tls9 tst-leaks1 \
 tests-static = tst-tls1-static tst-tls2-static tst-stackguard1-static \
 	       tst-leaks1-static tst-array1-static tst-array5-static \
 	       tst-ptrguard1-static tst-dl-iter-static \
-	       tst-tlsalign-static tst-tlsalign-extern-static
+	       tst-tlsalign-static tst-tlsalign-extern-static \
+	       tst-linkall-static
 ifeq (yes,$(build-shared))
 tests-static += tst-tls9-static
 tst-tls9-static-ENV = \
@@ -1278,3 +1279,13 @@ $(objpfx)tst-ldconfig-X.out : tst-ldconfig-X.sh $(objpfx)ldconfig
 	$(evaluate-test)
 
 $(objpfx)tst-dlsym-error: $(libdl)
+
+$(objpfx)tst-linkall-static: \
+  $(common-objpfx)math/libm.a \
+  $(common-objpfx)crypt/libcrypt.a \
+  $(common-objpfx)resolv/libresolv.a \
+  $(common-objpfx)dlfcn/libdl.a \
+  $(common-objpfx)login/libutil.a \
+  $(common-objpfx)rt/librt.a \
+  $(common-objpfx)resolv/libanl.a \
+  $(static-thread-library) \
diff --git a/elf/tst-linkall-static.c b/elf/tst-linkall-static.c
new file mode 100644
index 0000000..7a4aacc
--- /dev/null
+++ b/elf/tst-linkall-static.c
@@ -0,0 +1,45 @@
+/* Test static linking against multiple libraries, to find symbol conflicts.
+   Copyright (C) 2016 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If
+   not, see <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <pthread.h>
+#include <crypt.h>
+#include <resolv.h>
+#include <dlfcn.h>
+#include <utmp.h>
+#include <aio.h>
+#include <netdb.h>
+
+/* These references force linking the executable against central
+   functions in the static libraries, pulling significant parts of
+   each library into the link.  */
+void *references[] =
+  {
+    &pow,                       /* libm */
+    &pthread_create,            /* libpthread */
+    &crypt,                     /* libcrypt */
+    &res_send,                  /* libresolv */
+    &dlopen,                    /* libdl */
+    &login,                     /* libutil */
+    &aio_init,                  /* librt */
+    &getaddrinfo_a,             /* libanl */
+  };
+
+/* This is a link-time test.  There is nothing to run here.  */
+#define TEST_FUNCTION 0
+#include "../test-skeleton.c"

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

Summary of changes:
 ChangeLog                |    6 ++++++
 elf/Makefile             |   13 ++++++++++++-
 elf/tst-linkall-static.c |   45 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 63 insertions(+), 1 deletions(-)
 create mode 100644 elf/tst-linkall-static.c


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



More information about the Glibc-cvs mailing list