]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Always set l_used for vDSO.
authorMarek Polacek <polacek@redhat.com>
Wed, 29 Feb 2012 14:28:38 +0000 (15:28 +0100)
committerMarek Polacek <polacek@redhat.com>
Wed, 29 Feb 2012 14:28:38 +0000 (15:28 +0100)
ChangeLog
NEWS
elf/Makefile
elf/rtld.c

index 6bc32be30ace2bcf2a760b44552b0ff6f3f298ec..069bbc3e0f097dd73547632590180539e3f8837b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-02-29  Marek Polacek  <polacek@redhat.com>
+
+       [BZ #13706]
+       * elf/rtld.c (dl_main): Always set l_used to 1 for vDSO.
+       * elf/Makefile: Add rules to run tst-unused-dep.out.
+
 2012-02-28  David S. Miller  <davem@davemloft.net>
 
        * sysdeps/sparc/sparc32/fpu/w_sqrt.S: New file.
diff --git a/NEWS b/NEWS
index d68ae66d818dfbb57237ea8340a820457e007f92..06e7242e512fa4c946d6d5a87e374c322e7db01b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -13,7 +13,7 @@ Version 2.16
   5993, 6884, 6907, 9739, 9902, 10110, 10140, 10210, 11174, 11322, 11365,
   11494, 12047, 13058, 13525, 13526, 13527, 13528, 13529, 13530, 13531,
   13532, 13533, 13547, 13551, 13552, 13553, 13555, 13559, 13583, 13618,
-  13637, 13695, 13704, 13738
+  13637, 13695, 13704, 13706, 13738
 
 * ISO C11 support:
 
index 8234ba7a514c55f37f99712832bc9b6b22bd472a..25ffc5765bd7aba923d9bd23dddd1490109fb00d 100644 (file)
@@ -1203,3 +1203,14 @@ $(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so
 $(objpfx)tst-relsort1mod2.so: $(libm)
 $(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \
                           $(objpfx)tst-relsort1mod2.so
+
+tests: $(objpfx)tst-unused-dep.out
+
+$(objpfx)tst-unused-dep.out: $(objpfx)testobj1.so
+       LD_TRACE_LOADED_OBJECTS=1 \
+       LD_DEBUG=unused \
+       LD_PRELOAD= \
+       $(elf-objpfx)${rtld-installed-name} \
+         --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
+         $< > $@
+       cmp $@ /dev/null > /dev/null
index 2e4f97ffed58306e722ea64c3d2182e6ed4757b2..3e15447f7a5f3424663a08017dd6f4497f9fb3e9 100644 (file)
@@ -1,5 +1,5 @@
 /* Run time dynamic linker.
-   Copyright (C) 1995-2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1995-2012 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
@@ -1375,6 +1375,9 @@ of this helper program; chances are you did not intend to run this program.\n\
          _dl_setup_hash (l);
          l->l_relocated = 1;
 
+         /* The vDSO is always used.  */
+         l->l_used = 1;
+
          /* Initialize l_local_scope to contain just this map.  This allows
             the use of dl_lookup_symbol_x to resolve symbols within the vdso.
             So we create a single entry list pointing to l_real as its only