--- a/bin/df/Makefile
+++ b/bin/df/Makefile
@@ -4,6 +4,9 @@
MOUNT= ${.CURDIR}/../../sbin/mount
.PATH: ${MOUNT}
+WANT_CHERI=pure
+WANT_DUMP=yes
+
PROG= df
SRCS= df.c vfslist.c
FreeBSD/mips (beri1) (ttyj0)
login: cpuid = 0
C00: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:0 t:0
C01: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:12009eca0 t:0
C02: v:0 s:0 p:00000000 b:0000000000000000 l:0000000000000000 o:0 t:0
C03: v:1 s:0 p:7fff81fd b:000000012009ede0 l:0000000000000900 o:48 t:0
C04: v:1 s:0 p:7fff81fd b:0000007fffffb7a0 l:0000000000000260 o:20 t:0
C05: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:120085bc0 t:0
C06: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:12006bda0 t:0
C07: v:1 s:0 p:7fff81fd b:0000007fffffbbdc l:0000000000000004 o:0 t:0
C08: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:7fffffa9c8 t:0
C09: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:7fffffa9f8 t:0
C10: v:1 s:0 p:7fff81fd b:0000007fffffc2e4 l:0000000000000004 o:0 t:0
C11: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:0 t:0
C12: v:1 s:0 p:7fff81d7 b:0000000000000000 l:0000010000000000 o:120052d78 t:0
C13: v:1 s:0 p:000081d5 b:0000007fffffd320 l:0000000000000008 o:0 t:0
C14: v:1 s:0 p:7fff81fd b:0000007fffffc380 l:0000000000000020 o:0 t:0
C15: v:1 s:0 p:7fff81fd b:0000007fffffc360 l:0000000000000020 o:0 t:0
C16: v:1 s:0 p:7fff81fd b:0000007fffffc1e0 l:0000000000000020 o:0 t:0
C17: v:1 s:0 p:7fff81d7 b:0000000000000000 l:0000010000000000 o:12004aec8 t:0
C18: v:1 s:0 p:7fff81fd b:000000012009ede0 l:0000000000000900 o:48 t:0
C19: v:1 s:0 p:7fff81fd b:0000007fffffbba0 l:0000000000000020 o:0 t:0
C20: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:120099870 t:0
C21: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:120085bc0 t:0
C22: v:1 s:0 p:7fff81ff b:00000001600ef000 l:0000000000004000 o:25 t:0
C23: v:1 s:0 p:7fff81ff b:00000001600ef000 l:0000000000004000 o:25 t:0
C24: v:1 s:0 p:7fff81fd b:0000007fffffbb90 l:0000000000000004 o:0 t:0
C26: v:1 s:0 p:7fff81ff b:0000000000000000 l:0000010000000000 o:0 t:0
C31: v:1 s:0 p:7fff81d7 b:0000000000000000 l:0000010000000000 o:120052ea0 t:0
cpuid = 0
C00: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:0 t:0
C01: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:12009eca0 t:0
C02: v:0 s:0 p:00000000 b:0000000000000000 l:0000000000000000 o:0 t:0
C03: v:1 s:0 p:7fff81fd b:000000012009ede0 l:0000000000000900 o:48 t:0
C04: v:1 s:0 p:7fff81fd b:0000007fffffb7a0 l:0000000000000260 o:20 t:0
C05: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:120085bc0 t:0
C06: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:12006bda0 t:0
C07: v:1 s:0 p:7fff81fd b:0000007fffffbbdc l:0000000000000004 o:0 t:0
C08: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:7fffffa9c8 t:0
C09: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:7fffffa9f8 t:0
C10: v:1 s:0 p:7fff81fd b:0000007fffffc2e4 l:0000000000000004 o:0 t:0
C11: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:0 t:0
C12: v:1 s:0 p:7fff81d7 b:0000000000000000 l:0000010000000000 o:120052d78 t:0
C13: v:1 s:0 p:000081d5 b:0000007fffffd320 l:0000000000000008 o:0 t:0
C14: v:1 s:0 p:7fff81fd b:0000007fffffc380 l:0000000000000020 o:0 t:0
C15: v:1 s:0 p:7fff81fd b:0000007fffffc360 l:0000000000000020 o:0 t:0
C16: v:1 s:0 p:7fff81fd b:0000007fffffc1e0 l:0000000000000020 o:0 t:0
C17: v:1 s:0 p:7fff81d7 b:0000000000000000 l:0000010000000000 o:12004aec8 t:0
C18: v:1 s:0 p:7fff81fd b:000000012009ede0 l:0000000000000900 o:48 t:0
C19: v:1 s:0 p:7fff81fd b:0000007fffffbba0 l:0000000000000020 o:0 t:0
C20: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:120099870 t:0
C21: v:1 s:0 p:7fff81fd b:0000000000000000 l:0000010000000000 o:120085bc0 t:0
C22: v:1 s:0 p:7fff81ff b:00000001600ef000 l:0000000000004000 o:25 t:0
C23: v:1 s:0 p:7fff81ff b:00000001600ef000 l:0000000000004000 o:25 t:0
C24: v:1 s:0 p:7fff81fd b:0000007fffffbb90 l:0000000000000004 o:0 t:0
C26: v:1 s:0 p:7fff81ff b:0000000000000000 l:0000010000000000 o:0 t:0
C31: v:1 s:0 p:7fff81d7 b:0000000000000000 l:0000010000000000 o:120052ea0 t:0
Mar 14 17:55:45 beri1 kernel: ALIGNMENT_FIX_ERR: pid 967 tid 100045 (df), uid 999: pc 0x120052ea0 got a write fault (type 0x5) at 0x12009ee28
Mar 14 17:55:45 beri1 kernel: Trapframe Register Dump:
Mar 14 17:55:45 beri1 kernel: zero: 0 at: 0x12009eca0 v0: 0 v1: 0x1200a2d78
Mar 14 17:55:45 beri1 kernel: a0: 0x7fffffaaf0 a1: 0x1 a2: 0x32 a3: 0x7fffffad1c
Mar 14 17:55:45 beri1 kernel: a4: 0x8 a5: 0 a6: 0x7fffffa980 a6: 0x7fffffa8d0
Mar 14 17:55:45 beri1 kernel: t0: 0x13 t1: 0xc t2: 0x7fffffb640 t3: 0x7fffffb5c0
Mar 14 17:55:45 beri1 kernel: t8: 0x1 t9: 0x120052d78 s0: 0x12009fa90 s1: 0
Mar 14 17:55:45 beri1 kernel: s2: 0x1 s3: 0x120070000 s4: 0x5 s5: 0x7fffffb4e0
Mar 14 17:55:45 beri1 kernel: s6: 0x120040000 s7: 0x8 k0: 0 k1: 0
Mar 14 17:55:45 beri1 kernel: gp: 0x12009fa90 sp: 0x7fffffaa20 s8: 0x7fffffaa20 ra: 0x7fffffb4c0
Mar 14 17:55:45 beri1 kernel: sr: 0x4000fcf3 mullo: 0x2af714a1c0000000 mulhi: 0 badvaddr: 0x12009ee28
Mar 14 17:55:45 beri1 kernel: cause: 0x114 pc: 0x120052ea0
Mar 14 17:55:45 beri1 kernel: Page table info for bad address 0x12009ee28: pde = 0x98000000044a4000, pte = 0x8000000014959e
0000000120052d78 <__Bfree_D2A>:
120052d78: 67bdff20 daddiu sp,sp,-224
120052d7c: 67a400d8 daddiu a0,sp,216
120052d80: ebcb2003 csd s8,a0,0(c11)
120052d84: 67a400d0 daddiu a0,sp,208
120052d88: ea0b2003 csd s0,a0,0(c11)
120052d8c: faabe8a0 csc c21,sp,160(c11)
120052d90: fa8be880 csc c20,sp,128(c11)
120052d94: fa6be860 csc c19,sp,96(c11)
120052d98: fa4be840 csc c18,sp,64(c11)
120052d9c: fa2be820 csc c17,sp,32(c11)
120052da0: 03a0f02d move s8,sp
120052da4: 49b21800 cmove c18,c3
120052da8: 49b96002 cgetoffset t9,c12
120052dac: 3c010005 lui at,0x5
120052db0: 0039182d daddu v1,at,t9
120052db4: 49819000 ctoptr at,c18,c0
120052db8: 1020003b beqz at,120052ea8 <__Bfree_D2A+0x130>
120052dbc: 00000000 nop
120052dc0: c8520106 clw v0,zero,32(c18)
120052dc4: 2841000a slti at,v0,10
120052dc8: 1420000a bnez at,120052df4 <__Bfree_D2A+0x7c>
120052dcc: 6470cd18 daddiu s0,v1,-13032
120052dd0: 660180f0 daddiu at,s0,-32528
120052dd4: 48810047 cfromptr c1,c0,at
120052dd8: c8210003 cld at,zero,0(c1)
120052ddc: 48000807 cgetpcc c1
120052de0: 49ac0841 csetoffset c12,c1,at
120052de4: 48f16000 cjalr c17,c12
120052de8: 49a39000 cmove c3,c18
120052dec: 08014baa j 120052ea8 <__Bfree_D2A+0x130>
120052df0: 00000000 nop
120052df4: 66018938 daddiu at,s0,-30408
120052df8: 48810047 cfromptr c1,c0,at
120052dfc: c8210003 cld at,zero,0(c1)
120052e00: 48940047 cfromptr c20,c0,at
120052e04: c8340006 clw at,zero,0(c20)
120052e08: 1020001f beqz at,120052e88 <__Bfree_D2A+0x110>
120052e0c: 00000000 nop
120052e10: 66019638 daddiu at,s0,-27080
120052e14: 48810047 cfromptr c1,c0,at
120052e18: c8210003 cld at,zero,0(c1)
120052e1c: 66029658 daddiu v0,s0,-27048
120052e20: 48810087 cfromptr c1,c0,v0
120052e24: c8410003 cld v0,zero,0(c1)
120052e28: 4800a807 cgetpcc c21
120052e2c: 49aca841 csetoffset c12,c21,at
120052e30: 48810087 cfromptr c1,c0,v0
120052e34: 49b30800 cmove c19,c1
120052e38: 48f16000 cjalr c17,c12
120052e3c: 49a39800 cmove c3,c19
120052e40: c8320102 clwu at,zero,32(c18)
120052e44: de028030 ld v0,-32720(s0)
120052e48: 00010978 dsll at,at,0x5
120052e4c: 6442eca0 daddiu v0,v0,-4960
120052e50: 48810087 cfromptr c1,c0,v0
120052e54: d8410800 clc c2,at,0(c1)
120052e58: c8540006 clw v0,zero,0(c20)
120052e5c: f8520000 csc c2,zero,0(c18)
120052e60: 10400011 beqz v0,120052ea8 <__Bfree_D2A+0x130>
120052e64: fa410800 csc c18,at,0(c1)
120052e68: 660191b0 daddiu at,s0,-28240
120052e6c: 48810047 cfromptr c1,c0,at
120052e70: c8210003 cld at,zero,0(c1)
120052e74: 49aca841 csetoffset c12,c21,at
120052e78: 48f16000 cjalr c17,c12
120052e7c: 49a39800 cmove c3,c19
120052e80: 08014baa j 120052ea8 <__Bfree_D2A+0x130>
120052e84: 00000000 nop
120052e88: de018030 ld at,-32720(s0)
120052e8c: 00021000 sll v0,v0,0x0
120052e90: 00021178 dsll v0,v0,0x5
120052e94: 6421eca0 daddiu at,at,-4960
120052e98: 48810047 cfromptr c1,c0,at
120052e9c: d8411000 clc c2,v0,0(c1)
120052ea0: f8520000 csc c2,zero,0(c18) <--- Crash here
120052ea4: fa411000 csc c18,v0,0(c1)
120052ea8: 03c0e82d move sp,s8
120052eac: da2be820 clc c17,sp,32(c11)
120052eb0: da4be840 clc c18,sp,64(c11)
120052eb4: da6be860 clc c19,sp,96(c11)
120052eb8: da8be880 clc c20,sp,128(c11)
120052ebc: daabe8a0 clc c21,sp,160(c11)
120052ec0: 67a100d0 daddiu at,sp,208
120052ec4: ca0b0803 cld s0,at,0(c11)
120052ec8: 67a100d8 daddiu at,sp,216
120052ecc: cbcb0803 cld s8,at,0(c11)
120052ed0: 49008800 cjr c17
120052ed4: 67bd00e0 daddiu sp,sp,224
The value in $c18 is indeed inadequately aligned for a CSC instruction with 0 offset:
Possibly a compiler bug, but another set of eyes would be appreciated.