diff options
author | gallatin <gallatin@FreeBSD.org> | 2001-03-05 16:18:23 +0000 |
---|---|---|
committer | gallatin <gallatin@FreeBSD.org> | 2001-03-05 16:18:23 +0000 |
commit | 748e026d904a479e5a1f8db7f860c2ac1672cfbd (patch) | |
tree | 50940b89a098096122811e967ca91f0024043874 | |
parent | b9ad4c6e6b93f88c5c7b2452ae8f1aa65876226a (diff) | |
download | FreeBSD-src-748e026d904a479e5a1f8db7f860c2ac1672cfbd.zip FreeBSD-src-748e026d904a479e5a1f8db7f860c2ac1672cfbd.tar.gz |
Fix the unaligned access code to handle stores from R31 (zero)
PR alpha/25535
-rw-r--r-- | sys/alpha/alpha/trap.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/alpha/alpha/trap.c b/sys/alpha/alpha/trap.c index 0ba8164..0941a9f 100644 --- a/sys/alpha/alpha/trap.c +++ b/sys/alpha/alpha/trap.c @@ -837,8 +837,9 @@ const static int reg_to_framereg[32] = { #define unaligned_store(storage, ptrf, mod) \ if ((regptr = ptrf(p, reg)) == NULL) \ - break; \ - (storage) = mod (*regptr); \ + (storage) = 0; \ + else \ + (storage) = mod (*regptr); \ if (copyout(&(storage), (caddr_t)va, sizeof (storage)) == 0) \ signal = 0; \ else \ |