summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2001-09-26 18:39:14 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2001-09-26 18:39:14 +0000
commit6619bb29badf2cc007c6573134228500287e325b (patch)
tree7c46d9f49c76e40ff13d3afb67c0783fd8848730 /lib
parent74140941bec85eda4dbd52fb666351f74d11a7d1 (diff)
Revert last. The ERROR() macro is called from leaf functions
and is _not_ supposed to do "call"s.
Diffstat (limited to 'lib')
-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) \