From 49395f246495492607b3de3fb26a95a8fdadac60 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Apr 2023 13:49:21 +0200 Subject: [PATCH] [chore]: Bump modernc.org/sqlite from 1.21.1 to 1.22.0 (#1711) Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.21.1 to 1.22.0. - [Release notes](https://gitlab.com/cznic/sqlite/tags) - [Commits](https://gitlab.com/cznic/sqlite/compare/v1.21.1...v1.22.0) --- updated-dependencies: - dependency-name: modernc.org/sqlite dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 +- go.sum | 8 +- vendor/modernc.org/libc/libc_openbsd.go | 10 +- vendor/modernc.org/sqlite/doc.go | 121 ++++++++++++++++++++++++ vendor/modernc.org/sqlite/issue120.diff | 78 +++++++++++++++ vendor/modules.txt | 4 +- 6 files changed, 216 insertions(+), 9 deletions(-) create mode 100644 vendor/modernc.org/sqlite/issue120.diff diff --git a/go.mod b/go.mod index 25fe791ec..557398263 100644 --- a/go.mod +++ b/go.mod @@ -61,7 +61,7 @@ require ( golang.org/x/text v0.9.0 gopkg.in/mcuadros/go-syslog.v2 v2.3.0 gopkg.in/yaml.v3 v3.0.1 - modernc.org/sqlite v1.21.1 + modernc.org/sqlite v1.22.0 mvdan.cc/xurls/v2 v2.5.0 ) @@ -158,7 +158,7 @@ require ( lukechampine.com/uint128 v1.2.0 // indirect modernc.org/cc/v3 v3.40.0 // indirect modernc.org/ccgo/v3 v3.16.13 // indirect - modernc.org/libc v1.22.3 // indirect + modernc.org/libc v1.22.4 // indirect modernc.org/mathutil v1.5.0 // indirect modernc.org/memory v1.5.0 // indirect modernc.org/opt v0.1.3 // indirect diff --git a/go.sum b/go.sum index f1fb0f95a..55285f48d 100644 --- a/go.sum +++ b/go.sum @@ -1053,16 +1053,16 @@ modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw= modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk= modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= -modernc.org/libc v1.22.3 h1:D/g6O5ftAfavceqlLOFwaZuA5KYafKwmr30A6iSqoyY= -modernc.org/libc v1.22.3/go.mod h1:MQrloYP209xa2zHome2a8HLiLm6k0UT8CoHpV74tOFw= +modernc.org/libc v1.22.4 h1:wymSbZb0AlrjdAVX3cjreCHTPCpPARbQXNz6BHPzdwQ= +modernc.org/libc v1.22.4/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY= modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds= modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= -modernc.org/sqlite v1.21.1 h1:GyDFqNnESLOhwwDRaHGdp2jKLDzpyT/rNLglX3ZkMSU= -modernc.org/sqlite v1.21.1/go.mod h1:XwQ0wZPIh1iKb5mkvCJ3szzbhk+tykC8ZWqTRTgYRwI= +modernc.org/sqlite v1.22.0 h1:Uo+wEWePCspy4SAu0w2VbzUHEftOs7yoaWX/cYjsq84= +modernc.org/sqlite v1.22.0/go.mod h1:cxbLkB5WS32DnQqeH4h4o1B0eMr8W/y8/RGuxQ3JsC0= modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= modernc.org/tcl v1.15.1 h1:mOQwiEK4p7HruMZcwKTZPw/aqtGM4aY00uzWhlKKYws= diff --git a/vendor/modernc.org/libc/libc_openbsd.go b/vendor/modernc.org/libc/libc_openbsd.go index 62a820cd1..a577ff9c4 100644 --- a/vendor/modernc.org/libc/libc_openbsd.go +++ b/vendor/modernc.org/libc/libc_openbsd.go @@ -1468,8 +1468,16 @@ func X__inet_ntoa(t *TLS, in1 in.In_addr) uintptr { } func Xmmap(t *TLS, addr uintptr, length types.Size_t, prot, flags, fd int32, offset types.Off_t) uintptr { + // On 2021-12-23, a new syscall for mmap was introduced: + // + // 49 STD NOLOCK { void *sys_mmap(void *addr, size_t len, int prot, \ + // int flags, int fd, off_t pos); } + // src: https://github.com/golang/go/issues/59661 + + const unix_SYS_MMAP = 49 + // Cannot avoid the syscall here, addr sometimes matter. - data, _, err := unix.Syscall6(unix.SYS_MMAP, addr, uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) + data, _, err := unix.Syscall6(unix_SYS_MMAP, addr, uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) if err != 0 { if dmesgs { dmesg("%v: %v FAIL", origin(1), err) diff --git a/vendor/modernc.org/sqlite/doc.go b/vendor/modernc.org/sqlite/doc.go index 61a9ce53e..04a7887a6 100644 --- a/vendor/modernc.org/sqlite/doc.go +++ b/vendor/modernc.org/sqlite/doc.go @@ -29,6 +29,7 @@ // linux arm64 3.41.2 // linux ppc64le 3.41.2 // linux riscv64 3.41.2 +// linux s390x 3.41.2 // windows amd64 3.41.2 // windows arm64 3.41.2 // @@ -40,6 +41,10 @@ // // Changelog // +// 2023-04-22 v1.22.0: +// +// Support linux/s390x. +// // 2023-02-23 v1.21.0: // // Upgrade to SQLite 3.41.0, release notes at https://sqlite.org/releaselog/3_41_0.html. @@ -201,6 +206,122 @@ // // Note: To run `go generate` you need to have modernc.org/ccgo/v3 installed. // +// Hacking +// +// This is an example of how to use the debug logs in modernc.org/libc when hunting a bug. +// +// +// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ git status +// On branch master +// Your branch is up to date with 'origin/master'. +// +// nothing to commit, working tree clean +// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ git log -1 +// commit df33b8d15107f3cc777799c0fe105f74ef499e62 (HEAD -> master, tag: v1.21.1, origin/master, origin/HEAD, wips, ok) +// Author: Jan Mercl <0xjnml@gmail.com> +// Date: Mon Mar 27 16:18:28 2023 +0200 +// +// upgrade to SQLite 3.41.2 +// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ rm -f /tmp/libc.log ; go test -v -tags=libc.dmesg -run TestScalar ; ls -l /tmp/libc.log +// test binary compiled for linux/amd64 +// === RUN TestScalar +// --- PASS: TestScalar (0.09s) +// PASS +// ok modernc.org/sqlite 0.128s +// -rw-r--r-- 1 jnml jnml 76 Apr 6 11:22 /tmp/libc.log +// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ cat /tmp/libc.log +// [10723 sqlite.test] 2023-04-06 11:22:48.288066057 +0200 CEST m=+0.000707150 +// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ +// +// +// The /tmp/libc.log file is created as requested. No useful messages there because none are enabled in libc. Let's try to enable Xwrite as an example. +// +// +// 0:jnml@e5-1650:~/src/modernc.org/libc$ git status +// On branch master +// Your branch is up to date with 'origin/master'. +// +// Changes not staged for commit: +// (use "git add ..." to update what will be committed) +// (use "git restore ..." to discard changes in working directory) +// modified: libc_linux.go +// +// no changes added to commit (use "git add" and/or "git commit -a") +// 0:jnml@e5-1650:~/src/modernc.org/libc$ git log -1 +// commit 1e22c18cf2de8aa86d5b19b165f354f99c70479c (HEAD -> master, tag: v1.22.3, origin/master, origin/HEAD) +// Author: Jan Mercl <0xjnml@gmail.com> +// Date: Wed Feb 22 20:27:45 2023 +0100 +// +// support sqlite 3.41 on linux targets +// 0:jnml@e5-1650:~/src/modernc.org/libc$ git diff +// diff --git a/libc_linux.go b/libc_linux.go +// index 1c2f482..ac1f08d 100644 +// --- a/libc_linux.go +// +++ b/libc_linux.go +// @@ -332,19 +332,19 @@ func Xwrite(t *TLS, fd int32, buf uintptr, count types.Size_t) types.Ssize_t { +// var n uintptr +// switch n, _, err = unix.Syscall(unix.SYS_WRITE, uintptr(fd), buf, uintptr(count)); err { +// case 0: +// - // if dmesgs { +// - // // dmesg("%v: %d %#x: %#x\n%s", origin(1), fd, count, n, hex.Dump(GoBytes(buf, int(n)))) +// - // dmesg("%v: %d %#x: %#x", origin(1), fd, count, n) +// - // } +// + if dmesgs { +// + // dmesg("%v: %d %#x: %#x\n%s", origin(1), fd, count, n, hex.Dump(GoBytes(buf, int(n)))) +// + dmesg("%v: %d %#x: %#x", origin(1), fd, count, n) +// + } +// return types.Ssize_t(n) +// case errno.EAGAIN: +// // nop +// } +// } +// +// - // if dmesgs { +// - // dmesg("%v: fd %v, count %#x: %v", origin(1), fd, count, err) +// - // } +// + if dmesgs { +// + dmesg("%v: fd %v, count %#x: %v", origin(1), fd, count, err) +// + } +// t.setErrno(err) +// return -1 +// } +// 0:jnml@e5-1650:~/src/modernc.org/libc$ +// +// +// We need to tell the Go build system to use our local, patched/debug libc: +// +// +// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ go work use $(go env GOPATH)/src/modernc.org/libc +// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ go work use . +// +// +// And run the test again: +// +// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ rm -f /tmp/libc.log ; go test -v -tags=libc.dmesg -run TestScalar ; ls -l /tmp/libc.log +// test binary compiled for linux/amd64 +// === RUN TestScalar +// --- PASS: TestScalar (0.26s) +// PASS +// ok modernc.org/sqlite 0.285s +// -rw-r--r-- 1 jnml jnml 918 Apr 6 11:29 /tmp/libc.log +// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ cat /tmp/libc.log +// [11910 sqlite.test] 2023-04-06 11:29:13.143589542 +0200 CEST m=+0.000689270 +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x200: 0x200 +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0xc: 0xc +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 7 0x1000: 0x1000 +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 7 0x1000: 0x1000 +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x200: 0x200 +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x4: 0x4 +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x1000: 0x1000 +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x4: 0x4 +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x4: 0x4 +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x1000: 0x1000 +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0x4: 0x4 +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 8 0xc: 0xc +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 7 0x1000: 0x1000 +// [11910 sqlite.test] libc_linux.go:337:Xwrite: 7 0x1000: 0x1000 +// 0:jnml@e5-1650:~/src/modernc.org/sqlite$ +// // Sqlite documentation // // See https://sqlite.org/docs.html diff --git a/vendor/modernc.org/sqlite/issue120.diff b/vendor/modernc.org/sqlite/issue120.diff new file mode 100644 index 000000000..e51607907 --- /dev/null +++ b/vendor/modernc.org/sqlite/issue120.diff @@ -0,0 +1,78 @@ +--- /home/jnml/tmp/test_syscall.c 2023-04-21 16:26:44.302689709 +0200 ++++ testdata/sqlite-src-3410200/src/test_syscall.c 2023-04-21 16:29:28.000869993 +0200 +@@ -110,15 +110,15 @@ + static int ts_fstat(int fd, struct stat *p); + static int ts_ftruncate(int fd, off_t n); + static int ts_fcntl(int fd, int cmd, ... ); +-static int ts_read(int fd, void *aBuf, size_t nBuf); +-static int ts_pread(int fd, void *aBuf, size_t nBuf, off_t off); ++static ssize_t ts_read(int fd, void *aBuf, size_t nBuf); ++static ssize_t ts_pread(int fd, void *aBuf, size_t nBuf, off_t off); + /* Note: pread64() and pwrite64() actually use off64_t as the type on their + ** last parameter. But that datatype is not defined on many systems + ** (ex: Mac, OpenBSD). So substitute a likely equivalent: sqlite3_uint64 */ +-static int ts_pread64(int fd, void *aBuf, size_t nBuf, sqlite3_uint64 off); +-static int ts_write(int fd, const void *aBuf, size_t nBuf); +-static int ts_pwrite(int fd, const void *aBuf, size_t nBuf, off_t off); +-static int ts_pwrite64(int fd, const void *aBuf, size_t nBuf, sqlite3_uint64 off); ++static ssize_t ts_pread64(int fd, void *aBuf, size_t nBuf, sqlite3_uint64 off); ++static ssize_t ts_write(int fd, const void *aBuf, size_t nBuf); ++static ssize_t ts_pwrite(int fd, const void *aBuf, size_t nBuf, off_t off); ++static ssize_t ts_pwrite64(int fd, const void *aBuf, size_t nBuf, sqlite3_uint64 off); + static int ts_fchmod(int fd, mode_t mode); + static int ts_fallocate(int fd, off_t off, off_t len); + static void *ts_mmap(void *, size_t, int, int, int, off_t); +@@ -313,7 +313,7 @@ + /* + ** A wrapper around read(). + */ +-static int ts_read(int fd, void *aBuf, size_t nBuf){ ++static ssize_t ts_read(int fd, void *aBuf, size_t nBuf){ + if( tsIsFailErrno("read") ){ + return -1; + } +@@ -323,7 +323,7 @@ + /* + ** A wrapper around pread(). + */ +-static int ts_pread(int fd, void *aBuf, size_t nBuf, off_t off){ ++static ssize_t ts_pread(int fd, void *aBuf, size_t nBuf, off_t off){ + if( tsIsFailErrno("pread") ){ + return -1; + } +@@ -333,7 +333,7 @@ + /* + ** A wrapper around pread64(). + */ +-static int ts_pread64(int fd, void *aBuf, size_t nBuf, sqlite3_uint64 off){ ++static ssize_t ts_pread64(int fd, void *aBuf, size_t nBuf, sqlite3_uint64 off){ + if( tsIsFailErrno("pread64") ){ + return -1; + } +@@ -343,7 +343,7 @@ + /* + ** A wrapper around write(). + */ +-static int ts_write(int fd, const void *aBuf, size_t nBuf){ ++static ssize_t ts_write(int fd, const void *aBuf, size_t nBuf){ + if( tsIsFailErrno("write") ){ + if( tsErrno("write")==EINTR ) orig_write(fd, aBuf, nBuf/2); + return -1; +@@ -354,7 +354,7 @@ + /* + ** A wrapper around pwrite(). + */ +-static int ts_pwrite(int fd, const void *aBuf, size_t nBuf, off_t off){ ++static ssize_t ts_pwrite(int fd, const void *aBuf, size_t nBuf, off_t off){ + if( tsIsFailErrno("pwrite") ){ + return -1; + } +@@ -364,7 +364,7 @@ + /* + ** A wrapper around pwrite64(). + */ +-static int ts_pwrite64(int fd, const void *aBuf, size_t nBuf, sqlite3_uint64 off){ ++static ssize_t ts_pwrite64(int fd, const void *aBuf, size_t nBuf, sqlite3_uint64 off){ + if( tsIsFailErrno("pwrite64") ){ + return -1; + } diff --git a/vendor/modules.txt b/vendor/modules.txt index 85a116d8c..52470b94a 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -893,7 +893,7 @@ modernc.org/cc/v3 # modernc.org/ccgo/v3 v3.16.13 ## explicit; go 1.17 modernc.org/ccgo/v3/lib -# modernc.org/libc v1.22.3 +# modernc.org/libc v1.22.4 ## explicit; go 1.18 modernc.org/libc modernc.org/libc/errno @@ -930,7 +930,7 @@ modernc.org/memory # modernc.org/opt v0.1.3 ## explicit; go 1.13 modernc.org/opt -# modernc.org/sqlite v1.21.1 +# modernc.org/sqlite v1.22.0 ## explicit; go 1.18 modernc.org/sqlite modernc.org/sqlite/lib