From 2f5629143d632a17902934293fe00340e6898146 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Wed, 19 Feb 2025 19:18:01 +0100 Subject: [PATCH] [chore] Step minio down to 7.0.85 (#3808) --- go.mod | 3 +- go.sum | 6 +- vendor/github.com/minio/crc64nvme/LICENSE | 202 ------------------ vendor/github.com/minio/crc64nvme/README.md | 20 -- vendor/github.com/minio/crc64nvme/crc64.go | 180 ---------------- .../github.com/minio/crc64nvme/crc64_amd64.go | 15 -- .../github.com/minio/crc64nvme/crc64_amd64.s | 155 -------------- .../github.com/minio/crc64nvme/crc64_arm64.go | 15 -- .../github.com/minio/crc64nvme/crc64_arm64.s | 155 -------------- .../github.com/minio/crc64nvme/crc64_other.go | 9 - vendor/github.com/minio/minio-go/v7/api.go | 2 +- .../github.com/minio/minio-go/v7/checksum.go | 7 +- vendor/modules.txt | 3 +- 13 files changed, 9 insertions(+), 763 deletions(-) delete mode 100644 vendor/github.com/minio/crc64nvme/LICENSE delete mode 100644 vendor/github.com/minio/crc64nvme/README.md delete mode 100644 vendor/github.com/minio/crc64nvme/crc64.go delete mode 100644 vendor/github.com/minio/crc64nvme/crc64_amd64.go delete mode 100644 vendor/github.com/minio/crc64nvme/crc64_amd64.s delete mode 100644 vendor/github.com/minio/crc64nvme/crc64_arm64.go delete mode 100644 vendor/github.com/minio/crc64nvme/crc64_arm64.s delete mode 100644 vendor/github.com/minio/crc64nvme/crc64_other.go diff --git a/go.mod b/go.mod index 182d20613..1dff4fe44 100644 --- a/go.mod +++ b/go.mod @@ -46,7 +46,7 @@ require ( github.com/k3a/html2text v1.2.1 github.com/microcosm-cc/bluemonday v1.0.27 github.com/miekg/dns v1.1.63 - github.com/minio/minio-go/v7 v7.0.86 + github.com/minio/minio-go/v7 v7.0.85 github.com/mitchellh/mapstructure v1.5.0 github.com/ncruces/go-sqlite3 v0.23.0 github.com/oklog/ulid v1.3.1 @@ -167,7 +167,6 @@ require ( github.com/magiconair/properties v1.8.7 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-isatty v0.0.20 // indirect - github.com/minio/crc64nvme v1.0.0 // indirect github.com/minio/md5-simd v1.1.2 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect diff --git a/go.sum b/go.sum index c4291c73d..d1713cceb 100644 --- a/go.sum +++ b/go.sum @@ -401,12 +401,10 @@ github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwX github.com/microcosm-cc/bluemonday v1.0.27/go.mod h1:jFi9vgW+H7c3V0lb6nR74Ib/DIB5OBs92Dimizgw2cA= github.com/miekg/dns v1.1.63 h1:8M5aAw6OMZfFXTT7K5V0Eu5YiiL8l7nUAkyN6C9YwaY= github.com/miekg/dns v1.1.63/go.mod h1:6NGHfjhpmr5lt3XPLuyfDJi5AXbNIPM9PY6H6sF1Nfs= -github.com/minio/crc64nvme v1.0.0 h1:MeLcBkCTD4pAoU7TciAfwsfxgkhM2u5hCe48hSEVFr0= -github.com/minio/crc64nvme v1.0.0/go.mod h1:eVfm2fAzLlxMdUGc0EEBGSMmPwmXD5XiNRpnu9J3bvg= github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34= github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM= -github.com/minio/minio-go/v7 v7.0.86 h1:DcgQ0AUjLJzRH6y/HrxiZ8CXarA70PAIufXHodP4s+k= -github.com/minio/minio-go/v7 v7.0.86/go.mod h1:VbfO4hYwUu3Of9WqGLBZ8vl3Hxnxo4ngxK4hzQDf4x4= +github.com/minio/minio-go/v7 v7.0.85 h1:9psTLS/NTvC3MWoyjhjXpwcKoNbkongaCSF3PNpSuXo= +github.com/minio/minio-go/v7 v7.0.85/go.mod h1:57YXpvc5l3rjPdhqNrDsvVlY0qPI6UTk1bflAe+9doY= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= diff --git a/vendor/github.com/minio/crc64nvme/LICENSE b/vendor/github.com/minio/crc64nvme/LICENSE deleted file mode 100644 index d64569567..000000000 --- a/vendor/github.com/minio/crc64nvme/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/github.com/minio/crc64nvme/README.md b/vendor/github.com/minio/crc64nvme/README.md deleted file mode 100644 index 977dfcc88..000000000 --- a/vendor/github.com/minio/crc64nvme/README.md +++ /dev/null @@ -1,20 +0,0 @@ - -## crc64nvme - -This Golang package calculates CRC64 checksums using carryless-multiplication accelerated with SIMD instructions for both ARM and x86. It is based on the NVME polynomial as specified in the [NVM Express® NVM Command Set Specification](https://nvmexpress.org/wp-content/uploads/NVM-Express-NVM-Command-Set-Specification-1.0d-2023.12.28-Ratified.pdf). - -The code is based on the [crc64fast-nvme](https://github.com/awesomized/crc64fast-nvme.git) package in Rust and is released under the Apache 2.0 license. - -For more background on the exact technique used, see this [Fast CRC Computation for Generic Polynomials Using PCLMULQDQ Instruction](https://web.archive.org/web/20131224125630/https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-crc-computation-generic-polynomials-pclmulqdq-paper.pdf) paper. - -### Performance - -To follow. - -### Requirements - -All Go versions >= 1.22 are supported. - -### Contributing - -Contributions are welcome, please send PRs for any enhancements. diff --git a/vendor/github.com/minio/crc64nvme/crc64.go b/vendor/github.com/minio/crc64nvme/crc64.go deleted file mode 100644 index 40ac28c76..000000000 --- a/vendor/github.com/minio/crc64nvme/crc64.go +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright (c) 2025 Minio Inc. All rights reserved. -// Use of this source code is governed by a license that can be -// found in the LICENSE file. - -// Package crc64nvme implements the 64-bit cyclic redundancy check with NVME polynomial. -package crc64nvme - -import ( - "encoding/binary" - "errors" - "hash" - "sync" - "unsafe" -) - -const ( - // The size of a CRC-64 checksum in bytes. - Size = 8 - - // The NVME polynoimial (reversed, as used by Go) - NVME = 0x9a6c9329ac4bc9b5 -) - -var ( - // precalculated table. - nvmeTable = makeTable(NVME) -) - -// table is a 256-word table representing the polynomial for efficient processing. -type table [256]uint64 - -var ( - slicing8TablesBuildOnce sync.Once - slicing8TableNVME *[8]table -) - -func buildSlicing8TablesOnce() { - slicing8TablesBuildOnce.Do(buildSlicing8Tables) -} - -func buildSlicing8Tables() { - slicing8TableNVME = makeSlicingBy8Table(makeTable(NVME)) -} - -func makeTable(poly uint64) *table { - t := new(table) - for i := 0; i < 256; i++ { - crc := uint64(i) - for j := 0; j < 8; j++ { - if crc&1 == 1 { - crc = (crc >> 1) ^ poly - } else { - crc >>= 1 - } - } - t[i] = crc - } - return t -} - -func makeSlicingBy8Table(t *table) *[8]table { - var helperTable [8]table - helperTable[0] = *t - for i := 0; i < 256; i++ { - crc := t[i] - for j := 1; j < 8; j++ { - crc = t[crc&0xff] ^ (crc >> 8) - helperTable[j][i] = crc - } - } - return &helperTable -} - -// digest represents the partial evaluation of a checksum. -type digest struct { - crc uint64 -} - -// New creates a new hash.Hash64 computing the CRC-64 checksum using the -// NVME polynomial. Its Sum method will lay the -// value out in big-endian byte order. The returned Hash64 also -// implements [encoding.BinaryMarshaler] and [encoding.BinaryUnmarshaler] to -// marshal and unmarshal the internal state of the hash. -func New() hash.Hash64 { return &digest{0} } - -func (d *digest) Size() int { return Size } - -func (d *digest) BlockSize() int { return 1 } - -func (d *digest) Reset() { d.crc = 0 } - -const ( - magic = "crc\x02" - marshaledSize = len(magic) + 8 + 8 -) - -func (d *digest) MarshalBinary() ([]byte, error) { - b := make([]byte, 0, marshaledSize) - b = append(b, magic...) - b = binary.BigEndian.AppendUint64(b, tableSum) - b = binary.BigEndian.AppendUint64(b, d.crc) - return b, nil -} - -func (d *digest) UnmarshalBinary(b []byte) error { - if len(b) < len(magic) || string(b[:len(magic)]) != magic { - return errors.New("hash/crc64: invalid hash state identifier") - } - if len(b) != marshaledSize { - return errors.New("hash/crc64: invalid hash state size") - } - if tableSum != binary.BigEndian.Uint64(b[4:]) { - return errors.New("hash/crc64: tables do not match") - } - d.crc = binary.BigEndian.Uint64(b[12:]) - return nil -} - -func update(crc uint64, p []byte) uint64 { - if hasAsm && len(p) > 127 { - ptr := unsafe.Pointer(&p[0]) - if align := (uintptr(ptr)+15)&^0xf - uintptr(ptr); align > 0 { - // Align to 16-byte boundary. - crc = update(crc, p[:align]) - p = p[align:] - } - runs := len(p) / 128 - crc = updateAsm(crc, p[:128*runs]) - return update(crc, p[128*runs:]) - } - - buildSlicing8TablesOnce() - crc = ^crc - // table comparison is somewhat expensive, so avoid it for small sizes - for len(p) >= 64 { - var helperTable = slicing8TableNVME - // Update using slicing-by-8 - for len(p) > 8 { - crc ^= binary.LittleEndian.Uint64(p) - crc = helperTable[7][crc&0xff] ^ - helperTable[6][(crc>>8)&0xff] ^ - helperTable[5][(crc>>16)&0xff] ^ - helperTable[4][(crc>>24)&0xff] ^ - helperTable[3][(crc>>32)&0xff] ^ - helperTable[2][(crc>>40)&0xff] ^ - helperTable[1][(crc>>48)&0xff] ^ - helperTable[0][crc>>56] - p = p[8:] - } - } - // For reminders or small sizes - for _, v := range p { - crc = nvmeTable[byte(crc)^v] ^ (crc >> 8) - } - return ^crc -} - -// Update returns the result of adding the bytes in p to the crc. -func Update(crc uint64, p []byte) uint64 { - return update(crc, p) -} - -func (d *digest) Write(p []byte) (n int, err error) { - d.crc = update(d.crc, p) - return len(p), nil -} - -func (d *digest) Sum64() uint64 { return d.crc } - -func (d *digest) Sum(in []byte) []byte { - s := d.Sum64() - return append(in, byte(s>>56), byte(s>>48), byte(s>>40), byte(s>>32), byte(s>>24), byte(s>>16), byte(s>>8), byte(s)) -} - -// Checksum returns the CRC-64 checksum of data -// using the NVME polynomial. -func Checksum(data []byte) uint64 { return update(0, data) } - -// ISO tablesum of NVME poly -const tableSum = 0x8ddd9ee4402c7163 diff --git a/vendor/github.com/minio/crc64nvme/crc64_amd64.go b/vendor/github.com/minio/crc64nvme/crc64_amd64.go deleted file mode 100644 index fc8538bc3..000000000 --- a/vendor/github.com/minio/crc64nvme/crc64_amd64.go +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (c) 2025 Minio Inc. All rights reserved. -// Use of this source code is governed by a license that can be -// found in the LICENSE file. - -//go:build !noasm && !appengine && !gccgo - -package crc64nvme - -import ( - "github.com/klauspost/cpuid/v2" -) - -var hasAsm = cpuid.CPU.Supports(cpuid.SSE2, cpuid.CLMUL, cpuid.SSE4) - -func updateAsm(crc uint64, p []byte) (checksum uint64) diff --git a/vendor/github.com/minio/crc64nvme/crc64_amd64.s b/vendor/github.com/minio/crc64nvme/crc64_amd64.s deleted file mode 100644 index 04d8cf786..000000000 --- a/vendor/github.com/minio/crc64nvme/crc64_amd64.s +++ /dev/null @@ -1,155 +0,0 @@ -// Copyright (c) 2025 Minio Inc. All rights reserved. -// Use of this source code is governed by a license that can be -// found in the LICENSE file. - -#include "textflag.h" - -TEXT ·updateAsm(SB), $0-40 - MOVQ crc+0(FP), AX // checksum - MOVQ p_base+8(FP), SI // start pointer - MOVQ p_len+16(FP), CX // length of buffer - NOTQ AX - SHRQ $7, CX - CMPQ CX, $1 - JLT skip128 - - VMOVDQA 0x00(SI), X0 - VMOVDQA 0x10(SI), X1 - VMOVDQA 0x20(SI), X2 - VMOVDQA 0x30(SI), X3 - VMOVDQA 0x40(SI), X4 - VMOVDQA 0x50(SI), X5 - VMOVDQA 0x60(SI), X6 - VMOVDQA 0x70(SI), X7 - MOVQ AX, X8 - PXOR X8, X0 - CMPQ CX, $1 - JE tail128 - - MOVQ $0xa1ca681e733f9c40, AX - MOVQ AX, X8 - MOVQ $0x5f852fb61e8d92dc, AX - PINSRQ $0x1, AX, X9 - -loop128: - ADDQ $128, SI - SUBQ $1, CX - VMOVDQA X0, X10 - PCLMULQDQ $0x00, X8, X10 - PCLMULQDQ $0x11, X9, X0 - PXOR X10, X0 - PXOR 0(SI), X0 - VMOVDQA X1, X10 - PCLMULQDQ $0x00, X8, X10 - PCLMULQDQ $0x11, X9, X1 - PXOR X10, X1 - PXOR 0x10(SI), X1 - VMOVDQA X2, X10 - PCLMULQDQ $0x00, X8, X10 - PCLMULQDQ $0x11, X9, X2 - PXOR X10, X2 - PXOR 0x20(SI), X2 - VMOVDQA X3, X10 - PCLMULQDQ $0x00, X8, X10 - PCLMULQDQ $0x11, X9, X3 - PXOR X10, X3 - PXOR 0x30(SI), X3 - VMOVDQA X4, X10 - PCLMULQDQ $0x00, X8, X10 - PCLMULQDQ $0x11, X9, X4 - PXOR X10, X4 - PXOR 0x40(SI), X4 - VMOVDQA X5, X10 - PCLMULQDQ $0x00, X8, X10 - PCLMULQDQ $0x11, X9, X5 - PXOR X10, X5 - PXOR 0x50(SI), X5 - VMOVDQA X6, X10 - PCLMULQDQ $0x00, X8, X10 - PCLMULQDQ $0x11, X9, X6 - PXOR X10, X6 - PXOR 0x60(SI), X6 - VMOVDQA X7, X10 - PCLMULQDQ $0x00, X8, X10 - PCLMULQDQ $0x11, X9, X7 - PXOR X10, X7 - PXOR 0x70(SI), X7 - CMPQ CX, $1 - JGT loop128 - -tail128: - MOVQ $0xd083dd594d96319d, AX - MOVQ AX, X11 - PCLMULQDQ $0x00, X0, X11 - MOVQ $0x946588403d4adcbc, AX - PINSRQ $0x1, AX, X12 - PCLMULQDQ $0x11, X12, X0 - PXOR X11, X7 - PXOR X0, X7 - MOVQ $0x3c255f5ebc414423, AX - MOVQ AX, X11 - PCLMULQDQ $0x00, X1, X11 - MOVQ $0x34f5a24e22d66e90, AX - PINSRQ $0x1, AX, X12 - PCLMULQDQ $0x11, X12, X1 - PXOR X11, X1 - PXOR X7, X1 - MOVQ $0x7b0ab10dd0f809fe, AX - MOVQ AX, X11 - PCLMULQDQ $0x00, X2, X11 - MOVQ $0x03363823e6e791e5, AX - PINSRQ $0x1, AX, X12 - PCLMULQDQ $0x11, X12, X2 - PXOR X11, X2 - PXOR X1, X2 - MOVQ $0x0c32cdb31e18a84a, AX - MOVQ AX, X11 - PCLMULQDQ $0x00, X3, X11 - MOVQ $0x62242240ace5045a, AX - PINSRQ $0x1, AX, X12 - PCLMULQDQ $0x11, X12, X3 - PXOR X11, X3 - PXOR X2, X3 - MOVQ $0xbdd7ac0ee1a4a0f0, AX - MOVQ AX, X11 - PCLMULQDQ $0x00, X4, X11 - MOVQ $0xa3ffdc1fe8e82a8b, AX - PINSRQ $0x1, AX, X12 - PCLMULQDQ $0x11, X12, X4 - PXOR X11, X4 - PXOR X3, X4 - MOVQ $0xb0bc2e589204f500, AX - MOVQ AX, X11 - PCLMULQDQ $0x00, X5, X11 - MOVQ $0xe1e0bb9d45d7a44c, AX - PINSRQ $0x1, AX, X12 - PCLMULQDQ $0x11, X12, X5 - PXOR X11, X5 - PXOR X4, X5 - MOVQ $0xeadc41fd2ba3d420, AX - MOVQ AX, X11 - PCLMULQDQ $0x00, X6, X11 - MOVQ $0x21e9761e252621ac, AX - PINSRQ $0x1, AX, X12 - PCLMULQDQ $0x11, X12, X6 - PXOR X11, X6 - PXOR X5, X6 - MOVQ AX, X5 - PCLMULQDQ $0x00, X6, X5 - PSHUFD $0xee, X6, X6 - PXOR X5, X6 - MOVQ $0x27ecfa329aef9f77, AX - MOVQ AX, X4 - PCLMULQDQ $0x00, X4, X6 - PEXTRQ $0, X6, BX - MOVQ $0x34d926535897936b, AX - MOVQ AX, X4 - PCLMULQDQ $0x00, X4, X6 - PXOR X5, X6 - PEXTRQ $1, X6, AX - XORQ BX, AX - -skip128: - NOTQ AX - MOVQ AX, checksum+32(FP) - RET diff --git a/vendor/github.com/minio/crc64nvme/crc64_arm64.go b/vendor/github.com/minio/crc64nvme/crc64_arm64.go deleted file mode 100644 index c77c819ce..000000000 --- a/vendor/github.com/minio/crc64nvme/crc64_arm64.go +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (c) 2025 Minio Inc. All rights reserved. -// Use of this source code is governed by a license that can be -// found in the LICENSE file. - -//go:build !noasm && !appengine && !gccgo - -package crc64nvme - -import ( - "github.com/klauspost/cpuid/v2" -) - -var hasAsm = cpuid.CPU.Supports(cpuid.ASIMD) && cpuid.CPU.Supports(cpuid.PMULL) - -func updateAsm(crc uint64, p []byte) (checksum uint64) diff --git a/vendor/github.com/minio/crc64nvme/crc64_arm64.s b/vendor/github.com/minio/crc64nvme/crc64_arm64.s deleted file mode 100644 index b61866f63..000000000 --- a/vendor/github.com/minio/crc64nvme/crc64_arm64.s +++ /dev/null @@ -1,155 +0,0 @@ -// Copyright (c) 2025 Minio Inc. All rights reserved. -// Use of this source code is governed by a license that can be -// found in the LICENSE file. - -#include "textflag.h" - -TEXT ·updateAsm(SB), $0-40 - MOVD crc+0(FP), R0 // checksum - MOVD p_base+8(FP), R1 // start pointer - MOVD p_len+16(FP), R2 // length of buffer - MOVD $·const(SB), R3 // constants - MVN R0, R0 - LSR $7, R2, R2 - CMP $1, R2 - BLT skip128 - - FLDPQ (R1), (F0, F1) - FLDPQ 32(R1), (F2, F3) - FLDPQ 64(R1), (F4, F5) - FLDPQ 96(R1), (F6, F7) - FMOVD R0, F8 - VMOVI $0, V9.B16 - VMOV V9.D[0], V8.D[1] - VEOR V8.B16, V0.B16, V0.B16 - CMP $1, R2 - BEQ tail128 - - MOVD 112(R3), R4 - MOVD 120(R3), R5 - FMOVD R4, F8 - VDUP R5, V9.D2 - -loop128: - ADD $128, R1, R1 - SUB $1, R2, R2 - VPMULL V0.D1, V8.D1, V10.Q1 - VPMULL2 V0.D2, V9.D2, V0.Q1 - FLDPQ (R1), (F11, F12) - VEOR3 V0.B16, V11.B16, V10.B16, V0.B16 - VPMULL V1.D1, V8.D1, V10.Q1 - VPMULL2 V1.D2, V9.D2, V1.Q1 - VEOR3 V1.B16, V12.B16, V10.B16, V1.B16 - VPMULL V2.D1, V8.D1, V10.Q1 - VPMULL2 V2.D2, V9.D2, V2.Q1 - FLDPQ 32(R1), (F11, F12) - VEOR3 V2.B16, V11.B16, V10.B16, V2.B16 - VPMULL V3.D1, V8.D1, V10.Q1 - VPMULL2 V3.D2, V9.D2, V3.Q1 - VEOR3 V3.B16, V12.B16, V10.B16, V3.B16 - VPMULL V4.D1, V8.D1, V10.Q1 - VPMULL2 V4.D2, V9.D2, V4.Q1 - FLDPQ 64(R1), (F11, F12) - VEOR3 V4.B16, V11.B16, V10.B16, V4.B16 - VPMULL V5.D1, V8.D1, V10.Q1 - VPMULL2 V5.D2, V9.D2, V5.Q1 - VEOR3 V5.B16, V12.B16, V10.B16, V5.B16 - VPMULL V6.D1, V8.D1, V10.Q1 - VPMULL2 V6.D2, V9.D2, V6.Q1 - FLDPQ 96(R1), (F11, F12) - VEOR3 V6.B16, V11.B16, V10.B16, V6.B16 - VPMULL V7.D1, V8.D1, V10.Q1 - VPMULL2 V7.D2, V9.D2, V7.Q1 - VEOR3 V7.B16, V12.B16, V10.B16, V7.B16 - CMP $1, R2 - BHI loop128 - -tail128: - MOVD (R3), R4 - FMOVD R4, F11 - VPMULL V0.D1, V11.D1, V11.Q1 - MOVD 8(R3), R4 - VDUP R4, V12.D2 - VPMULL2 V0.D2, V12.D2, V0.Q1 - VEOR3 V0.B16, V7.B16, V11.B16, V7.B16 - MOVD 16(R3), R4 - FMOVD R4, F11 - VPMULL V1.D1, V11.D1, V11.Q1 - MOVD 24(R3), R4 - VDUP R4, V12.D2 - VPMULL2 V1.D2, V12.D2, V1.Q1 - VEOR3 V1.B16, V11.B16, V7.B16, V1.B16 - MOVD 32(R3), R4 - FMOVD R4, F11 - VPMULL V2.D1, V11.D1, V11.Q1 - MOVD 40(R3), R4 - VDUP R4, V12.D2 - VPMULL2 V2.D2, V12.D2, V2.Q1 - VEOR3 V2.B16, V11.B16, V1.B16, V2.B16 - MOVD 48(R3), R4 - FMOVD R4, F11 - VPMULL V3.D1, V11.D1, V11.Q1 - MOVD 56(R3), R4 - VDUP R4, V12.D2 - VPMULL2 V3.D2, V12.D2, V3.Q1 - VEOR3 V3.B16, V11.B16, V2.B16, V3.B16 - MOVD 64(R3), R4 - FMOVD R4, F11 - VPMULL V4.D1, V11.D1, V11.Q1 - MOVD 72(R3), R4 - VDUP R4, V12.D2 - VPMULL2 V4.D2, V12.D2, V4.Q1 - VEOR3 V4.B16, V11.B16, V3.B16, V4.B16 - MOVD 80(R3), R4 - FMOVD R4, F11 - VPMULL V5.D1, V11.D1, V11.Q1 - MOVD 88(R3), R4 - VDUP R4, V12.D2 - VPMULL2 V5.D2, V12.D2, V5.Q1 - VEOR3 V5.B16, V11.B16, V4.B16, V5.B16 - MOVD 96(R3), R4 - FMOVD R4, F11 - VPMULL V6.D1, V11.D1, V11.Q1 - MOVD 104(R3), R4 - VDUP R4, V12.D2 - VPMULL2 V6.D2, V12.D2, V6.Q1 - VEOR3 V6.B16, V11.B16, V5.B16, V6.B16 - FMOVD R4, F5 - VPMULL V6.D1, V5.D1, V5.Q1 - VDUP V6.D[1], V6.D2 - VEOR V5.B8, V6.B8, V6.B8 - MOVD 128(R3), R4 - FMOVD R4, F4 - VPMULL V4.D1, V6.D1, V6.Q1 - FMOVD F6, R4 - MOVD 136(R3), R5 - FMOVD R5, F4 - VPMULL V4.D1, V6.D1, V6.Q1 - VEOR V6.B16, V5.B16, V6.B16 - VMOV V6.D[1], R5 - EOR R4, R5, R0 - -skip128: - MVN R0, R0 - MOVD R0, checksum+32(FP) - RET - -DATA ·const+0x000(SB)/8, $0xd083dd594d96319d // K_959 -DATA ·const+0x008(SB)/8, $0x946588403d4adcbc // K_895 -DATA ·const+0x010(SB)/8, $0x3c255f5ebc414423 // K_831 -DATA ·const+0x018(SB)/8, $0x34f5a24e22d66e90 // K_767 -DATA ·const+0x020(SB)/8, $0x7b0ab10dd0f809fe // K_703 -DATA ·const+0x028(SB)/8, $0x03363823e6e791e5 // K_639 -DATA ·const+0x030(SB)/8, $0x0c32cdb31e18a84a // K_575 -DATA ·const+0x038(SB)/8, $0x62242240ace5045a // K_511 -DATA ·const+0x040(SB)/8, $0xbdd7ac0ee1a4a0f0 // K_447 -DATA ·const+0x048(SB)/8, $0xa3ffdc1fe8e82a8b // K_383 -DATA ·const+0x050(SB)/8, $0xb0bc2e589204f500 // K_319 -DATA ·const+0x058(SB)/8, $0xe1e0bb9d45d7a44c // K_255 -DATA ·const+0x060(SB)/8, $0xeadc41fd2ba3d420 // K_191 -DATA ·const+0x068(SB)/8, $0x21e9761e252621ac // K_127 -DATA ·const+0x070(SB)/8, $0xa1ca681e733f9c40 // K_1087 -DATA ·const+0x078(SB)/8, $0x5f852fb61e8d92dc // K_1023 -DATA ·const+0x080(SB)/8, $0x27ecfa329aef9f77 // MU -DATA ·const+0x088(SB)/8, $0x34d926535897936b // POLY -GLOBL ·const(SB), (NOPTR+RODATA), $144 diff --git a/vendor/github.com/minio/crc64nvme/crc64_other.go b/vendor/github.com/minio/crc64nvme/crc64_other.go deleted file mode 100644 index 1d78d7431..000000000 --- a/vendor/github.com/minio/crc64nvme/crc64_other.go +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright (c) 2025 Minio Inc. All rights reserved. -// Use of this source code is governed by a license that can be -// found in the LICENSE file. - -//go:build (!amd64 || noasm || appengine || gccgo) && (!arm64 || noasm || appengine || gccgo) - -package crc64nvme - -var hasAsm = false diff --git a/vendor/github.com/minio/minio-go/v7/api.go b/vendor/github.com/minio/minio-go/v7/api.go index 1b4842ad1..ff9f69118 100644 --- a/vendor/github.com/minio/minio-go/v7/api.go +++ b/vendor/github.com/minio/minio-go/v7/api.go @@ -155,7 +155,7 @@ type Options struct { // Global constants. const ( libraryName = "minio-go" - libraryVersion = "v7.0.86" + libraryVersion = "v7.0.85" ) // User Agent should always following the below style. diff --git a/vendor/github.com/minio/minio-go/v7/checksum.go b/vendor/github.com/minio/minio-go/v7/checksum.go index c7456cda2..8e4c27ce4 100644 --- a/vendor/github.com/minio/minio-go/v7/checksum.go +++ b/vendor/github.com/minio/minio-go/v7/checksum.go @@ -30,8 +30,6 @@ "math/bits" "net/http" "sort" - - "github.com/minio/crc64nvme" ) // ChecksumType contains information about the checksum type. @@ -154,6 +152,9 @@ func (c ChecksumType) RawByteLen() int { const crc64NVMEPolynomial = 0xad93d23594c93659 +// crc64 uses reversed polynomials. +var crc64Table = crc64.MakeTable(bits.Reverse64(crc64NVMEPolynomial)) + // Hasher returns a hasher corresponding to the checksum type. // Returns nil if no checksum. func (c ChecksumType) Hasher() hash.Hash { @@ -167,7 +168,7 @@ func (c ChecksumType) Hasher() hash.Hash { case ChecksumSHA256: return sha256.New() case ChecksumCRC64NVME: - return crc64nvme.New() + return crc64.New(crc64Table) } return nil } diff --git a/vendor/modules.txt b/vendor/modules.txt index fa5d0a532..8c52d8949 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -468,11 +468,10 @@ github.com/microcosm-cc/bluemonday/css github.com/miekg/dns # github.com/minio/crc64nvme v1.0.0 ## explicit; go 1.22 -github.com/minio/crc64nvme # github.com/minio/md5-simd v1.1.2 ## explicit; go 1.14 github.com/minio/md5-simd -# github.com/minio/minio-go/v7 v7.0.86 +# github.com/minio/minio-go/v7 v7.0.85 ## explicit; go 1.22 github.com/minio/minio-go/v7 github.com/minio/minio-go/v7/pkg/cors