On Tue, Dec 22, 2015 at 10:53:10PM +0000, Richard W.M. Jones wrote: > https://gcc.gnu.org/gcc-6/changes.html seems like the right place for > general information about changes (.. right?) Yes. > So one thing I heard was the PIE would be the default in GCC 6. (I > can't find now who said that). That's not mentioned on the page > above, but it is mentioned that there is a --enable-default-pie flag. > Will we be using that flag? (I'm still, as I guess many other people No. We have a way to enable it for packages through redhat-rpm-config, I think it is undesirable to change the default behavior of the compiler. > will be, very unclear on the difference between -pie and just > compiling everything in your program with -fPIC). -pie is a link option like -shared is, -fPIC has -fPIE counterpart. -fPIC enables position independent code and allows symbol interposition, -fPIE only enables position indepent code and disallows symbol interposition (i.e. whether a non-hidden symbol defined in the same source file must bind to that definition or could bind to some other definition). Thus, -shared libraries should contain -fpic/-fPIC code only, -pie binaries should contain -fpie/-fPIE code, but could contain -fpic/-fPIC code too (though unnecessarily slightly less efficient), normal position dependent binaries can contain any code, but -fpie/-fPIE in there will be less efficient and -fpic/-fPIC even more so. Jakub -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx http://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx