]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Check the main application only if SHARED is defined
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 20 Oct 2012 23:16:59 +0000 (16:16 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 20 Oct 2012 23:16:59 +0000 (16:16 -0700)
ChangeLog
NEWS
elf/Makefile
elf/dl-open.c
elf/tst-leaks1-static.c [new file with mode: 0644]

index 07e9602470c2fc204d6b1b60414aea3a853f89d6..b3d3c1458e7872e475d8901a8371cd1ab85a1a0b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2012-10-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       [BZ #14683]
+       * elf/Makefile (tests-static): Add tst-leaks1-static.
+       (tests): Also depend on $(objpfx)tst-leaks1-static-mem.
+       ($(objpfx)tst-leaks1-static): New rule.
+       ($(objpfx)tst-leaks1-static-mem): Likewise.
+       (tst-leaks1-static-ENV): New macro.
+       * elf/dl-open.c (dl_open_worker): Check the main application
+       only if SHARED is defined.
+       * elf/tst-leaks1-static.c: New file.
+
 2012-10-20  Andreas Jaeger  <aj@suse.de>
 
        * sysdeps/unix/sysv/linux/bits/fcntl-linux.h: New file, contains
diff --git a/NEWS b/NEWS
index fd3f6e52da20de16d00a312c644374bf05c3050e..0e10112a357964c5adeaed3643796cc7a73ffab4 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -16,7 +16,7 @@ Version 2.17
   14328, 14331, 14336, 14337, 14347, 14349, 14376, 14417, 14459, 14476,
   14477, 14505, 14510, 14516, 14518, 14519, 14530, 14532, 14538, 14543,
   14544, 14545, 14557, 14562, 14568, 14576, 14579, 14583, 14587, 14602,
-  14621, 14638, 14645, 14648, 14652, 14660, 14661, 14694, 14716.
+  14621, 14638, 14645, 14648, 14652, 14660, 14661, 14683, 14694, 14716.
 
 * Support for STT_GNU_IFUNC symbols added for s390 and s390x.
   Optimized versions of memcpy, memset, and memcmp added for System z10 and
index e91c3b428d7d78f9e6d25bcb26e5d52f99478503..dde94091c7e1830b40376d1d57520969c6296ec9 100644 (file)
@@ -119,7 +119,8 @@ tests = tst-tls1 tst-tls2 tst-tls9 tst-leaks1
 ifeq (yes,$(have-initfini-array))
 tests += tst-array1 tst-array2 tst-array3 tst-array4 tst-array5
 endif
-tests-static = tst-tls1-static tst-tls2-static tst-stackguard1-static
+tests-static = tst-tls1-static tst-tls2-static tst-stackguard1-static \
+              tst-leaks1-static
 ifeq (yes,$(build-shared))
 tests-static += tst-tls9-static
 tst-tls9-static-ENV = \
@@ -161,7 +162,8 @@ endif
 endif
 endif
 ifeq ($(cross-compiling),no)
-tests: $(objpfx)tst-leaks1-mem $(objpfx)noload-mem
+tests: $(objpfx)tst-leaks1-mem $(objpfx)tst-leaks1-static-mem \
+       $(objpfx)noload-mem
 endif
 tlsmod17a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
 tlsmod18a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
@@ -1051,7 +1053,12 @@ $(objpfx)tst-leaks1: $(libdl)
 $(objpfx)tst-leaks1-mem: $(objpfx)tst-leaks1.out
        $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks1.mtrace > $@
 
+$(objpfx)tst-leaks1-static: $(common-objpfx)dlfcn/libdl.a
+$(objpfx)tst-leaks1-static-mem: $(objpfx)tst-leaks1-static.out
+       $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks1-static.mtrace > $@
+
 tst-leaks1-ENV = MALLOC_TRACE=$(objpfx)tst-leaks1.mtrace
+tst-leaks1-static-ENV = MALLOC_TRACE=$(objpfx)tst-leaks1-static.mtrace
 
 $(objpfx)tst-addr1: $(libdl)
 
index 5149e578b168ffcf0c7d8f08c5a5972c619b6908..9c39a34a4b0baafd93f37b1364c10724b0fa6d9b 100644 (file)
@@ -189,9 +189,11 @@ dl_open_worker (void *a)
     {
       const void *caller_dlopen = args->caller_dlopen;
 
+#ifdef SHARED
       /* We have to find out from which object the caller is calling.
         By default we assume this is the main application.  */
       call_map = GL(dl_ns)[LM_ID_BASE]._ns_loaded;
+#endif
 
       struct link_map *l;
       for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns)
diff --git a/elf/tst-leaks1-static.c b/elf/tst-leaks1-static.c
new file mode 100644 (file)
index 0000000..b956d66
--- /dev/null
@@ -0,0 +1 @@
+#include "tst-leaks1.c"