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>