Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Apr 2002 22:32:51 -0700 (PDT)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/libexec/rtld-elf rtld.c src/libexec/rtld-elf/ia64 reloc.c
Message-ID:  <200204270532.g3R5Wpj17829@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
marcel      2002/04/26 22:32:51 PDT

  Modified files:
    libexec/rtld-elf     rtld.c 
    libexec/rtld-elf/ia64 reloc.c 
  Log:
  Fix handling of weak references to undefined symbols on ia64:
  o  Set st_shndx for sym_zero to SHN_UNDEF instead of SHN_ABS.
     This gives us something to reliably test against.
  o  For weak references to undefined sysmbols (as indicated by
     having st_shndx equals SHN_UNDEF) in the context of OPDs,
     the address of the OPD is to be zero, not the address of
     the function it contains.
  o  For weak references to undefined symbols in all other cases
     (only DIR64LSB at this time), the actual relocated value is
     to be zero, not the value prior to relocating.
  
  Roughly speaking, weak references to undefined symbols are no-ops.
  
  Tested on: i386, ia64
  
  Revision  Changes    Path
  1.5       +21 -29    src/libexec/rtld-elf/ia64/reloc.c
  1.65      +1 -1      src/libexec/rtld-elf/rtld.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204270532.g3R5Wpj17829>