summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2014-12-27 13:22:21 +0000
committerkettenis <kettenis@openbsd.org>2014-12-27 13:22:21 +0000
commit1edd007b446ba178b8787bea490d2e2a6e8b9229 (patch)
tree9ff5ae5208511b86da69c5bdc00f5bf1262c1ea3
parentChange the default entry point from _start to __start. (diff)
downloadwireguard-openbsd-1edd007b446ba178b8787bea490d2e2a6e8b9229.tar.xz
wireguard-openbsd-1edd007b446ba178b8787bea490d2e2a6e8b9229.zip
Link -static -pie executables with rcrt0.o instead of crt0.o such that they
self-relocate. ok kurt@
-rw-r--r--gnu/gcc/gcc/config/alpha/openbsd.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/gnu/gcc/gcc/config/alpha/openbsd.h b/gnu/gcc/gcc/config/alpha/openbsd.h
index 61f09a776f5..552b346beac 100644
--- a/gnu/gcc/gcc/config/alpha/openbsd.h
+++ b/gnu/gcc/gcc/config/alpha/openbsd.h
@@ -38,8 +38,9 @@ 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}} \
- crtbegin%O%s} %{shared:crtbeginS%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}"