disk io error on arm64 system with 64KB pages
hi,I am using sqlite on an arm64 Linux machine. When the wal file exceeds 4096 pages, sqlite will report a disk io error. I checked and found that this is a problem caused by incorrect mmap parameters. In the case of 64KB page size, mmap is not aligned by page. During debugging, I saw that the _unixShmRegionPerMap function in sqlite/lib/sqlite_linux_arm64.go seems to be not working properly on arm64 machines. The result of pgsz is always 0. It seems to be a problem implemented in modernc.org/libc `func _unixShmRegionPerMap(tls *libc.TLS) (r int32) { ` `var pgsz, shmsz int32 ` `_, _ = pgsz, shmsz shmsz = libc.Int32FromInt32(32) * libc.Int32FromInt32(1024) /* SHM region size */ ` `pgsz = (*(*func(*libc.TLS) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(25)].FpCurrent})))(tls) /* System page size */ ` `_ = libc.Int32FromInt32(0) /* Page size must be a power of 2 */ ` `if pgsz < shmsz { ` ` return int32(1) ` `} ` `return pgsz / shmsz }`
issue