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