DragonFly BSD
DragonFly commits List (threaded) for 2013-06
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: rtld: Sync 1/7 - Handle premature symlook_obj call


From: John Marino <marino@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 13 Jun 2013 04:13:12 -0700 (PDT)

commit 9066fe90d0cfacdcc68ac4e33a768ae24a149519
Author: John Marino <draco@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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]