Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Mar 2016 22:27:46 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 207980] /usr/lib/libc.so not compatible with lld due to path stripping
Message-ID:  <bug-207980-8-VMAWIn2Bw0@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-207980-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-207980-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D207980

--- Comment #2 from commit-hook@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

Log:
  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
pathed
  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_BUI=
LD
  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 relie=
s on
    -L arguments passed by the caller.  As the linker is nearly always invo=
ked
    from the clang driver this is fine other than the fact that
/usr/lib/libc.so
    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

Changes:
  head/share/mk/bsd.lib.mk
  head/share/mk/bsd.sys.mk

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-207980-8-VMAWIn2Bw0>