[Bug 207980] /usr/lib/libc.so not compatible with lld due to path stripping

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Mar 15 22:27:46 UTC 2016


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

Author: bdrewery
Date: Tue Mar 15 22:27:30 UTC 2016
New revision: 296921
URL: https://svnweb.freebsd.org/changeset/base/296921

  Partially revert r266227 and stop stripping paths in ldscripts.

  Specifically this fixes /usr/lib/libc.so stripping the paths to the
  libraries.  The reason for this in r266227 was both likely because ld(1) did
  not fully respect --sysroot until r291226 and because of the lib32
  build.  The lib32 build does not use --sysroot into the /usr/lib32 path,
  rather it only uses -L and -B into the /usr/lib32 path and --sysroot
  into the normal (64bit) /usr/lib.  The _LDSCRIPTROOT was added with
  the ldscript support in bsd.lib.mk so that it builds a 32-bit-sysrooted
  ldscript in the object directory and then installs a normal unprefixed
  version in installworld.  This commit also fixes the rebuild during
  install which was broken in r266227.  This commit would break DIRDEPS_BUILD
  build of lib32 but it does not currently have a way to build it anyhow.

  For example, before this change we had in /usr/lib/libc.so:
    GROUP ( libc.so.7 libc_nonshared.a libssp_nonshared.a )
  Now it is restored to pre-r266227:
    GROUP ( /lib/libc.so.7 /usr/lib/libc_nonshared.a
/usr/lib/libssp_nonshared.a )

  The motivation for this is in testing of lld.
  From emaste:
    lld does not have built-in search paths (e.g. /lib, /usr/lib) and relies on
    -L arguments passed by the caller.  As the linker is nearly always invoked
    from the clang driver this is fine other than the fact that
    is an ldscript that refers to libc.so.7 which is in /lib, not /usr/lib.

  PR:           207980
  Reported by:  emaste
  Submitted by: emaste (based on)
  Differential Revision:        https://reviews.freebsd.org/D5637


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

More information about the freebsd-bugs mailing list