[Bug 214972] rtld relies on non-zero _DYNAMIC GOT entry (on !sparc64)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Dec 2 14:24:02 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=214972

--- Comment #3 from commit-hook at freebsd.org ---
A commit references this bug:

Author: emaste
Date: Fri Dec  2 14:23:27 UTC 2016
New revision: 309411
URL: https://svnweb.freebsd.org/changeset/base/309411

Log:
  Retire long-broken/unused static rtld support

  rtld-elf has some vestigial support for building as a static executable.
  r45501 introduced a partial implementation with a prescient note that it
  "might never be enabled." r153515 introduced ELF symbol versioning
  support, and removed part of the unused build infrastructure for static
  rtld.

  GNU ld populates rela relocation addends and GOT entries with the same
  values, and rtld's run-time dynamic executable check relied on this.
  Alternate toolchains may not populate the GOT entries, which caused
  RTLD_IS_DYNAMIC to return false. Simplify rtld by just removing the
  unused check.

  If we want to restore static rtld support later on we ought to introduce
  a build-time #ifdef flag.

  PR:           214972
  Reviewed by:  kan
  MFC after:    1 month
  Sponsored by: The FreeBSD Foundation
  Differential Revision:        https://reviews.freebsd.org/D8687

Changes:
  head/libexec/rtld-elf/aarch64/rtld_machdep.h
  head/libexec/rtld-elf/riscv/rtld_machdep.h
  head/libexec/rtld-elf/rtld.c
  head/libexec/rtld-elf/sparc64/rtld_machdep.h

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list