1
0
mirror of https://github.com/golang/go synced 2024-11-15 02:10:21 -07:00

syscall: use internal/byteorder

Change-Id: I798729a6095494e9d0bd18d6b7d4372910056218
Reviewed-on: https://go-review.googlesource.com/c/go/+/585117
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
This commit is contained in:
Tobias Klauser 2024-05-14 13:48:21 +02:00 committed by Gopher Robot
parent 7008859ae1
commit 7ba8a23b67

View File

@ -7,6 +7,7 @@
package syscall
import (
"internal/byteorder"
"internal/goarch"
"runtime"
"unsafe"
@ -28,15 +29,11 @@ func readIntBE(b []byte, size uintptr) uint64 {
case 1:
return uint64(b[0])
case 2:
_ = b[1] // bounds check hint to compiler; see golang.org/issue/14808
return uint64(b[1]) | uint64(b[0])<<8
return uint64(byteorder.BeUint16(b))
case 4:
_ = b[3] // bounds check hint to compiler; see golang.org/issue/14808
return uint64(b[3]) | uint64(b[2])<<8 | uint64(b[1])<<16 | uint64(b[0])<<24
return uint64(byteorder.BeUint32(b))
case 8:
_ = b[7] // bounds check hint to compiler; see golang.org/issue/14808
return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 |
uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56
return uint64(byteorder.BeUint64(b))
default:
panic("syscall: readInt with unsupported size")
}
@ -47,15 +44,11 @@ func readIntLE(b []byte, size uintptr) uint64 {
case 1:
return uint64(b[0])
case 2:
_ = b[1] // bounds check hint to compiler; see golang.org/issue/14808
return uint64(b[0]) | uint64(b[1])<<8
return uint64(byteorder.LeUint16(b))
case 4:
_ = b[3] // bounds check hint to compiler; see golang.org/issue/14808
return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24
return uint64(byteorder.LeUint32(b))
case 8:
_ = b[7] // bounds check hint to compiler; see golang.org/issue/14808
return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 |
uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
return uint64(byteorder.LeUint64(b))
default:
panic("syscall: readInt with unsupported size")
}