r251404 - in /branches/gcc-6-branch/gcc: Change...

amodra@gcc.gnu.org amodra@gcc.gnu.org
Tue Aug 29 08:25:00 GMT 2017


Author: amodra
Date: Tue Aug 29 08:25:17 2017
New Revision: 251404

URL: https://gcc.gnu.org/viewcvs?rev=251404&root=gcc&view=rev
Log:
PR driver/81523: Make -static override -pie

-static and -pie together behave differently depending on whether GCC is
configured with --enable-default-pie.  On x86, "-static -pie" fails to
create executable when --enable-default-pie isn't used, but creates a
static executable when --enable-default-pie is used.  This patch makes
-static completely override -pie to create a static executable, regardless
if --enable-default-pie is used to configure GCC.

	PR target/81170
	PR target/81295
	PR driver/81523
	* gcc.c (NO_PIE_SPEC): Delete.
	(PIE_SPEC): Define as !no-pie/pie.  Move static|shared|r
	exclusion..
	(LINK_PIE_SPEC): ..to here.
	(LINK_COMMAND_SPEC): Support -no-pie.
	* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct
	chain of crtbegin*.o selection, update for PIE_SPEC changes and
	format.
	(GNU_USER_TARGET_ENDFILE_SPEC): Similarly.
	* config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly.
	(ENDFILE_CRTEND_SPEC): Similarly.

Modified:
    branches/gcc-6-branch/gcc/ChangeLog
    branches/gcc-6-branch/gcc/config/gnu-user.h
    branches/gcc-6-branch/gcc/config/sol2.h
    branches/gcc-6-branch/gcc/gcc.c



More information about the Gcc-cvs mailing list