Always set l_used for vDSO.

This commit is contained in:
Marek Polacek 2012-02-29 15:28:38 +01:00
parent 8847f03770
commit 1f393a11f6
4 changed files with 22 additions and 2 deletions

View file

@ -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.

2
NEWS
View file

@ -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:

View 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

View 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