Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Feb 2021 21:22:43 -0500
From:      Ed Maste <emaste@freebsd.org>
To:        John Kennedy <warlock@phouka.net>
Cc:        "Greg 'groggy' Lehey" <grog@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: HEADS-UP: PIE enabled by default on main
Message-ID:  <CAPyFy2BaXoO0tVd2auHKFKZ17suTDAVzpvGdESaeu4GUFvdJ7Q@mail.gmail.com>
In-Reply-To: <YDg/JkvXdCXNa1Hk@phouka1.phouka.net>
References:  <CAPyFy2CyxG=Bj8T22ixW3=E3dv6mPoZRwJ_VSN%2BTwky95rUYYw@mail.gmail.com> <20210225231028.GB69550@eureka.lemis.com> <YDg/JkvXdCXNa1Hk@phouka1.phouka.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 25 Feb 2021 at 19:23, John Kennedy <warlock@phouka.net> wrote:
>
>   Not sure if Ed Maste just wants to make sure that all the executables
> are rebuilt as PIE (vs hit-and-miss) or there is a sneaker corner-case that
> he knows about.

The issue is that without a clean build you may have some .o files
left around that are built without PIE enabled (i.e., compiled without
-fPIE), and attempting to link them into a PIE executable will fail
with an error like:

ld: error: can't create dynamic relocation R_X86_64_32 against local
symbol in readonly segment; recompile object files with -fPIC or pass
'-Wl,-z,notext' to allow text relocations in the output

I am not aware of any configuration that would link successfully, but
then have some run-time failure. If it builds it should work.



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