summaryrefslogtreecommitdiff
path: root/libexec/ld.so
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2010-02-01 21:36:01 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2010-02-01 21:36:01 +0000
commit388deb9f2efd68220bfae703d529020766494f62 (patch)
treede444a098b0d2bb3d9ce2401301656bc9ce2b78f /libexec/ld.so
parenta86874faf65b7b1138386e75d94344dc4644d9ee (diff)
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@
Diffstat (limited to 'libexec/ld.so')
-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