From ea6088e7d368d53c49ebfdf4520275cec2f78f5b Mon Sep 17 00:00:00 2001 From: guenther Date: Wed, 29 Nov 2017 05:13:57 +0000 Subject: 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@ --- lib/libc/sys/stack_protector.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/libc/sys/stack_protector.c') 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); -- cgit v1.2.3-59-g8ed1b