summaryrefslogtreecommitdiffstats
path: root/lib/libc/arch/sparc64
diff options
context:
space:
mode:
authorart <art@openbsd.org>2001-09-26 18:39:13 +0000
committerart <art@openbsd.org>2001-09-26 18:39:13 +0000
commit4ade242ef6cf5d9b90815667db697fb65cfce4ad (patch)
tree5b788e6be18d4ba79bd0b7c86a4f165c7870aae3 /lib/libc/arch/sparc64
parentbring back the old copyright notice (diff)
downloadwireguard-openbsd-4ade242ef6cf5d9b90815667db697fb65cfce4ad.tar.xz
wireguard-openbsd-4ade242ef6cf5d9b90815667db697fb65cfce4ad.zip
Revert last. The ERROR() macro is called from leaf functions
and is _not_ supposed to do "call"s.
Diffstat (limited to 'lib/libc/arch/sparc64')
-rw-r--r--lib/libc/arch/sparc64/SYS.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/libc/arch/sparc64/SYS.h b/lib/libc/arch/sparc64/SYS.h
index 185653382e0..654af484f74 100644
--- a/lib/libc/arch/sparc64/SYS.h
+++ b/lib/libc/arch/sparc64/SYS.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: SYS.h,v 1.3 2001/09/25 13:04:30 drahn Exp $ */
+/* $OpenBSD: SYS.h,v 1.4 2001/09/26 18:39:13 art Exp $ */
/*-
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
@@ -57,7 +57,11 @@
*/
#ifdef PIC
#define CALL(name) \
- call name, 0; \
+ PIC_PROLOGUE(%g1,%g2); \
+ sethi %hi(name),%g2; \
+ or %g2,%lo(name),%g2; \
+ ldx [%g1+%g2],%g2; \
+ jmp %g2; \
nop
#else
#define CALL(name) \