summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkurt <kurt@openbsd.org>2014-12-22 21:59:18 +0000
committerkurt <kurt@openbsd.org>2014-12-22 21:59:18 +0000
commit8817c02ecc178dc450529015b010e545596713b7 (patch)
treeac374f6eda51fdd62546533e4451d3ed323b54c8
parentSelf-relocation code for i386. (diff)
downloadwireguard-openbsd-8817c02ecc178dc450529015b010e545596713b7.tar.xz
wireguard-openbsd-8817c02ecc178dc450529015b010e545596713b7.zip
Link -static -pie executables with rcrt0.o instead of crt0.o such that they
self-relocate.
-rw-r--r--gnu/gcc/gcc/config/i386/openbsdelf.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gnu/gcc/gcc/config/i386/openbsdelf.h b/gnu/gcc/gcc/config/i386/openbsdelf.h
index e6a3d9928e1..b0e86a62394 100644
--- a/gnu/gcc/gcc/config/i386/openbsdelf.h
+++ b/gnu/gcc/gcc/config/i386/openbsdelf.h
@@ -47,7 +47,8 @@ Boston, MA 02110-1301, USA. */
/* As an elf system, we need crtbegin/crtend stuff. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "\
- %{!shared: %{pg:gcrt0%O%s} %{!pg:%{p:gcrt0%O%s} %{!p:crt0%O%s}} \
+ %{!shared: %{pg:gcrt0%O%s} %{!pg:%{p:gcrt0%O%s} \
+ %{!p:%{!static:crt0%O%s} %{static:%{pie:rcrt0%O%s} %{!pie:crt0%O%s}}}} \
crtbegin%O%s} %{shared:crtbeginS%O%s}"
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"