forked from rpms/glibc
- Always mark vDSO as used (#758888)
This commit is contained in:
parent
296965fe20
commit
978e71e3df
52
glibc-rh758888.patch
Normal file
52
glibc-rh758888.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
commit 1f393a11f65dcaa1952bdcaf0317a65a5f8aff9d
|
||||||
|
Author: Marek Polacek <polacek@redhat.com>
|
||||||
|
Date: Wed Feb 29 15:28:38 2012 +0100
|
||||||
|
|
||||||
|
Always set l_used for vDSO.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
diff --git a/elf/Makefile b/elf/Makefile
|
||||||
|
index 8234ba7..25ffc57 100644
|
||||||
|
--- a/elf/Makefile
|
||||||
|
+++ b/elf/Makefile
|
||||||
|
@@ -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
|
||||||
|
diff --git a/elf/rtld.c b/elf/rtld.c
|
||||||
|
index 2e4f97f..3e15447 100644
|
||||||
|
--- a/elf/rtld.c
|
||||||
|
+++ b/elf/rtld.c
|
||||||
|
@@ -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
|
@ -1220,6 +1220,7 @@ rm -f *.filelist*
|
|||||||
%changelog
|
%changelog
|
||||||
* Wed Feb 29 2012 Jeff Law <law@redhat.com> - 2.15-25
|
* Wed Feb 29 2012 Jeff Law <law@redhat.com> - 2.15-25
|
||||||
- Fix out of bounds memory access in resolver (#798471)
|
- Fix out of bounds memory access in resolver (#798471)
|
||||||
|
- Always mark vDSO as used (#758888)
|
||||||
|
|
||||||
* Fri Feb 24 2012 Jeff Law <law@redhat.com> - 2.15-24
|
* Fri Feb 24 2012 Jeff Law <law@redhat.com> - 2.15-24
|
||||||
- Fix bogus underflow (#760935)
|
- Fix bogus underflow (#760935)
|
||||||
|
Loading…
Reference in New Issue
Block a user