summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2019-11-27 00:11:49 +0000
committerguenther <guenther@openbsd.org>2019-11-27 00:11:49 +0000
commit4411ad54af247ef5f1c2ef0ae0a6ccd76a5bd118 (patch)
tree9ca20fd3c6c2f34959e4d01cc1cd804bf211b5fe
parentAdd support for TLS 1.3 post handshake messages and key updating. (diff)
downloadwireguard-openbsd-4411ad54af247ef5f1c2ef0ae0a6ccd76a5bd118.tar.xz
wireguard-openbsd-4411ad54af247ef5f1c2ef0ae0a6ccd76a5bd118.zip
armv7 and aarch64 specify GLOB_DAT as having an addend, so treat it
exactly like the ABS{32,64} relocation there. noted by and ok kettenis@
-rw-r--r--libexec/ld.so/aarch64/rtld_machine.c7
-rw-r--r--libexec/ld.so/arm/rtld_machine.c7
2 files changed, 4 insertions, 10 deletions
diff --git a/libexec/ld.so/aarch64/rtld_machine.c b/libexec/ld.so/aarch64/rtld_machine.c
index 9fdad09fd8d..d9879a15c3f 100644
--- a/libexec/ld.so/aarch64/rtld_machine.c
+++ b/libexec/ld.so/aarch64/rtld_machine.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rtld_machine.c,v 1.14 2019/11/26 23:38:52 guenther Exp $ */
+/* $OpenBSD: rtld_machine.c,v 1.15 2019/11/27 00:11:49 guenther Exp $ */
/*
* Copyright (c) 2004 Dale Rahn
@@ -98,11 +98,8 @@ _dl_md_reloc(elf_object_t *object, int rel, int relsz)
continue;
case R_TYPE(ABS64):
- value = rels->r_addend;
- break;
-
case R_TYPE(GLOB_DAT):
- value = 0;
+ value = rels->r_addend;
break;
case R_TYPE(COPY):
diff --git a/libexec/ld.so/arm/rtld_machine.c b/libexec/ld.so/arm/rtld_machine.c
index 12139b5ed0f..1f93936ea7b 100644
--- a/libexec/ld.so/arm/rtld_machine.c
+++ b/libexec/ld.so/arm/rtld_machine.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rtld_machine.c,v 1.35 2019/11/26 23:38:52 guenther Exp $ */
+/* $OpenBSD: rtld_machine.c,v 1.36 2019/11/27 00:11:49 guenther Exp $ */
/*
* Copyright (c) 2004 Dale Rahn
@@ -99,11 +99,8 @@ _dl_md_reloc(elf_object_t *object, int rel, int relsz)
continue;
case R_TYPE(ABS32):
- value = *where;
- break;
-
case R_TYPE(GLOB_DAT):
- value = 0;
+ value = *where;
break;
case R_TYPE(COPY):