summaryrefslogtreecommitdiffstats
path: root/lib/libc/sys/stack_protector.c
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2017-11-29 05:13:57 +0000
committerguenther <guenther@openbsd.org>2017-11-29 05:13:57 +0000
commitea6088e7d368d53c49ebfdf4520275cec2f78f5b (patch)
treea7a8d82d7543c1ee5938393be3730e485b342723 /lib/libc/sys/stack_protector.c
parentturns out you dont have to configure a vsi as the default in a veb. (diff)
downloadwireguard-openbsd-ea6088e7d368d53c49ebfdf4520275cec2f78f5b.tar.xz
wireguard-openbsd-ea6088e7d368d53c49ebfdf4520275cec2f78f5b.zip
clang doesn't propagate attributes like "asm labels" and "visibility(hidden)"
to builtins like mem{set,cpy,move} and __stack_smash_handler. So, when building with clang, instead mark those as protected visibility to get rid of the PLT relocations. We can't take the address of them then, but that's ok: it's a build-time error not a run-time error. ok kettenis@
Diffstat (limited to 'lib/libc/sys/stack_protector.c')
-rw-r--r--lib/libc/sys/stack_protector.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/sys/stack_protector.c b/lib/libc/sys/stack_protector.c
index 116aecd316a..d9ecb2cfbb4 100644
--- a/lib/libc/sys/stack_protector.c
+++ b/lib/libc/sys/stack_protector.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: stack_protector.c,v 1.23 2016/03/21 22:41:28 bluhm Exp $ */
+/* $OpenBSD: stack_protector.c,v 1.24 2017/11/29 05:13:57 guenther Exp $ */
/*
* Copyright (c) 2002 Hiroaki Etoh, Federico G. Schwindt, and Miodrag Vallat.
@@ -80,4 +80,4 @@ __stack_smash_handler(const char func[], int damaged)
_exit(127);
}
-DEF_STRONG(__stack_smash_handler);
+DEF_BUILTIN(__stack_smash_handler);