> 
> Anyawys, the faulting address is
> 
>        addr=0x100061fa0 pc=37930

sorry to reply here as i never got the original mail.

i could reproduce this and it turns out to be a arm64 compiler bug expanding
the -1 offset in the array index to a 32 bit unsigned constant but instruction
issued is a 64 bit addition.

i commited a work around for libsunrpc avoiding this case.

changeset:   8382:fbff57e70e76
tag:         tip
user:        [email protected]
date:        Mon Mar 29 17:13:50 2021 +0200
summary:     libsunrpc: work around arm64 compiler bug in sunStringUnpack()

diff -r 87d8e72ffb5c -r fbff57e70e76 sys/src/libsunrpc/rpc.c
--- a/sys/src/libsunrpc/rpc.c   Tue Mar 23 16:33:32 2021 -0700
+++ b/sys/src/libsunrpc/rpc.c   Mon Mar 29 17:13:50 2021 +0200
@@ -428,8 +428,9 @@
                goto Err;
        /* slide string down over length to make room for NUL */
        memmove(dat-1, dat, n);
-       dat[-1+n] = 0;
-       *s = (char*)(dat-1);
+       dat--;
+       dat[n] = 0;
+       *s = (char*)dat;
        return 0;
 Err:
        return -1;

--
cinap

------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T995ec2230d16bd0b-M7a648db117dd9b3b65e26b9b
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to