On Fri, Feb 26, 2021 at 10:10:28AM +1100, Greg 'groggy' Lehey wrote: > On Thursday, 25 February 2021 at 15:58:07 -0500, Ed Maste wrote: > > As of 9a227a2fd642 (main-n245052) base system binaries are now built > > as position-independent executable (PIE) by default, for 64-bit > > architectures. ... > > > > If you track -CURRENT and normally build WITHOUT_CLEAN you'll need to > > do one initial clean build -- either run `make cleanworld` or set > > WITH_CLEAN=yes. > > This details worries me. How compatible are PIE executables with > non-PIE executables? Can I run PIE executables on older systems? Can > I run older executables on a PIE system?
Assuming we're basically talking about WITH_PIE=YES in /etc/src.conf, I've been doing this since 2020/08/04 (12.1 -> 12.2 -> 13/14). I don't think I've associated any problems with PIE. I've certainly got lots of non-PIE ports linked against base libraries (but ELF 64-bit LSB shared object, vs ELF 64-bit LSB pie executable). The E in PIE is executable. 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. I can't say that I've had an opportunity to try the scenario I think you're looking at. My "older" crossovers are +/- a __FreeBSD_version bump. _______________________________________________ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"