summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2010-02-01 21:36:00 +0000
committerkettenis <kettenis@openbsd.org>2010-02-01 21:36:00 +0000
commit9b74dd7d0708f0607340b067d785bb389c58ca7d (patch)
tree39f306b1ae9b0b42c9a2cd155a8f7abf12fce72a
parentregen (diff)
downloadwireguard-openbsd-9b74dd7d0708f0607340b067d785bb389c58ca7d.tar.xz
wireguard-openbsd-9b74dd7d0708f0607340b067d785bb389c58ca7d.zip
Properly restore ret1 instead of overwriting ret0 with the saved value.
Fixes lazy binding for functions that return results larger than 64 bits (such as structs). ok miod@
-rw-r--r--libexec/ld.so/hppa/ldasm.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/libexec/ld.so/hppa/ldasm.S b/libexec/ld.so/hppa/ldasm.S
index 69827916c1e..87eb024ac6d 100644
--- a/libexec/ld.so/hppa/ldasm.S
+++ b/libexec/ld.so/hppa/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.5 2010/01/03 22:18:04 kettenis Exp $ */
+/* $OpenBSD: ldasm.S,v 1.6 2010/02/01 21:36:00 kettenis Exp $ */
/*
* Copyright (c) 2004 Michael Shalayeff
@@ -160,7 +160,7 @@ ENTRY(_dl_bind_start,32)
ldw HPPA_FRAME_ARG(3)(r3), arg3
ldw 4(r3), t1
ldw 8(r3), ret0
- ldw 12(r3), ret0
+ ldw 12(r3), ret1
ldw HPPA_FRAME_CRP(r3), rp
ldo HPPA_FRAME_SIZE(r3), sp