Use rcrt1.o%s/grcrt1.o%s to relocate static PIE
commit92565bd752bfa321068e22f4253c38cb179d77bb
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Nov 2017 18:37:58 +0000 (17 18:37 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Nov 2017 18:37:58 +0000 (17 18:37 +0000)
tree64414fe8cf973a41f805724f401380e9b0538a41
parent4a57ae2569fba9cffbad6631d11ee3357b000ddd
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254890 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/gnu-user.h