git: rtld: Sync 1/7 - Handle premature symlook_obj call
John Marino
marino at crater.dragonflybsd.org
Thu Jun 13 04:13:12 PDT 2013
commit 9066fe90d0cfacdcc68ac4e33a768ae24a149519
Author: John Marino <draco at marino.st>
Date: Wed Jun 12 12:49:17 2013 +0200
rtld: Sync 1/7 - Handle premature symlook_obj call
It doesn't appear that this code is needed for x86 platforms as this
case should already be caught in early code, but it doesn't hurt
DragonFly to handle every possible case.
Work around a situation where symlook_obj() could be called for the
object for which digest_dynamic1() was not done yet. Just return
EINVAL and do not try to dereference NULL buckets hash array.
This seems to happen on ia64 for rtld object itself where the
R_IA_64_FPTR64LSB relocations require symbol lookup. The dynamic
linker itself does not rely on identity of the C-level function
pointers (i.e. function descriptors).
Taken verbatim from:
FreeBSD SVN 235054 (05 MAY 2012)
Summary of changes:
libexec/rtld-elf/rtld.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9066fe90d0cfacdcc68ac4e33a768ae24a149519
--
DragonFly BSD source repository
More information about the Commits
mailing list