Use rcrt1.o%s/grcrt1.o%s to relocate static PIE
authorH.J. Lu <hongjiu.lu@intel.com>
Fri, 17 Nov 2017 18:37:58 +0000 (18:37 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Fri, 17 Nov 2017 18:37:58 +0000 (10:37 -0800)
commit5dbc00611a86e17d34184aaf748bd5c4832c05b6
tree64414fe8cf973a41f805724f401380e9b0538a41
parent274c2d3f146e70e7205a2472c6f4d9a93380a80b
Use rcrt1.o%s/grcrt1.o%s to relocate static PIE

crt1.o is used to create dynamic and non-PIE static executables.  Static
PIE needs to link with rcrt1.o, instead of crt1.o, which is also used by
musl libc and OpenBSD:

https://gcc.gnu.org/ml/gcc/2015-06/msg00008.html

to relocate static PIE at run-time.  When -pg is used with -static-pie,
grcrt1.o should be used.

* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
rcrt1.o%s/grcrt1.o%s for -static-pie.

From-SVN: r254890
gcc/ChangeLog
gcc/config/gnu-user.h