Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/lib/libc/arch/powerpc PIC code clobbers %r30 so we need to u...



details:   https://anonhg.NetBSD.org/src/rev/e7b6048c5398
branches:  trunk
changeset: 359902:e7b6048c5398
user:      uwe <uwe%NetBSD.org@localhost>
date:      Wed Feb 28 21:00:02 2018 +0000

description:
PIC code clobbers %r30 so we need to update the saved oucp with
caller's %r30 manually.  Makes old context happy when it needs to do
more function calls after restore.

(oops, forgot to commit this along with swapcontext.S)

diffstat:

 lib/libc/arch/powerpc/genassym.cf |  3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diffs (17 lines):

diff -r 16269cd95ef3 -r e7b6048c5398 lib/libc/arch/powerpc/genassym.cf
--- a/lib/libc/arch/powerpc/genassym.cf Wed Feb 28 20:51:58 2018 +0000
+++ b/lib/libc/arch/powerpc/genassym.cf Wed Feb 28 21:00:02 2018 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: genassym.cf,v 1.4 2013/08/30 21:28:59 matt Exp $
+#      $NetBSD: genassym.cf,v 1.5 2018/02/28 21:00:02 uwe Exp $
 
 #
 # Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -44,6 +44,7 @@
 
 define UC_GREGS_R1     offsetof(ucontext_t, uc_mcontext.__gregs[_REG_R1])
 define UC_GREGS_R3     offsetof(ucontext_t, uc_mcontext.__gregs[_REG_R3])
+define UC_GREGS_R30    offsetof(ucontext_t, uc_mcontext.__gregs[_REG_R30])
 define UC_GREGS_PC     offsetof(ucontext_t, uc_mcontext.__gregs[_REG_PC])
 
 define SIG_BLOCK       SIG_BLOCK



Home | Main Index | Thread Index | Old Index