summaryrefslogtreecommitdiffstats
path: root/lib/libc/arch/sparc64/string
diff options
context:
space:
mode:
authorguenther <guenther@openbsd.org>2018-01-18 08:23:44 +0000
committerguenther <guenther@openbsd.org>2018-01-18 08:23:44 +0000
commitae3cb403620ab940fbaabb3055fac045a63d56b7 (patch)
treec9675235761df3e321bc80b853144e5c9788dfbc /lib/libc/arch/sparc64/string
parentUnlike other archs, mips64 needs ld.so to know about symbol visibility and (diff)
downloadwireguard-openbsd-ae3cb403620ab940fbaabb3055fac045a63d56b7.tar.xz
wireguard-openbsd-ae3cb403620ab940fbaabb3055fac045a63d56b7.zip
Instead of trying to handle ffs() with the normal rename-mark-hidden-and-alias
dance, mark it protected. This works better for both gcc and clang: gcc blocks overriding of internal calls, while clang permits inlining again. ok otto@
Diffstat (limited to 'lib/libc/arch/sparc64/string')
-rw-r--r--lib/libc/arch/sparc64/string/ffs.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/libc/arch/sparc64/string/ffs.S b/lib/libc/arch/sparc64/string/ffs.S
index 7fd91f871b6..6d2e6499706 100644
--- a/lib/libc/arch/sparc64/string/ffs.S
+++ b/lib/libc/arch/sparc64/string/ffs.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ffs.S,v 1.5 2015/08/31 02:53:57 guenther Exp $ */
+/* $OpenBSD: ffs.S,v 1.6 2018/01/18 08:23:44 guenther Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -83,8 +83,10 @@ ENTRY(ffs)
ldsb [%o2 + %o0], %o0
retl
add %o0, 24, %o0
-END_WEAK(ffs)
+END(ffs)
+.protected ffs
+ .section .rodata
_C_LABEL(__ffstab):
.byte -24,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1 /* 00-0f */
.byte 5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1 /* 10-1f */