clang lacks proper gas support, implement stubs for sha256,sha512 for darwin.

REF: http://llvm.org/bugs/show_bug.cgi?id=18918
master
Harshavardhana 10 years ago
parent 43f3866842
commit bf5a314144
  1. 0
      pkg/utils/crypto/sha256/sha256-avx-asm_linux.S
  2. 0
      pkg/utils/crypto/sha256/sha256-avx2-asm_linux.S
  3. 0
      pkg/utils/crypto/sha256/sha256-ssse3-asm_linux.S
  4. 31
      pkg/utils/crypto/sha256/sha256_darwin.go
  5. 4
      pkg/utils/crypto/sha256/sha256_linux.go
  6. 0
      pkg/utils/crypto/sha256/sha256_linux_test.go
  7. 0
      pkg/utils/crypto/sha256/sha256block_linux.go
  8. 0
      pkg/utils/crypto/sha512/sha512-avx-asm_linux.S
  9. 0
      pkg/utils/crypto/sha512/sha512-avx2-asm_linux.S
  10. 0
      pkg/utils/crypto/sha512/sha512-ssse3-asm_linux.S
  11. 46
      pkg/utils/crypto/sha512/sha512_darwin.go
  12. 4
      pkg/utils/crypto/sha512/sha512_linux.go
  13. 0
      pkg/utils/crypto/sha512/sha512_linux_test.go
  14. 0
      pkg/utils/crypto/sha512/sha512block_linux.go

@ -0,0 +1,31 @@
package sha256
import (
"io"
"crypto/sha256"
)
// Sum256 - single caller sha256 helper
func Sum256(data []byte) []byte {
d := sha256.New()
d.Write(data)
return d.Sum(nil)
}
// Sum - io.Reader based streaming sha256 helper
func Sum(reader io.Reader) ([]byte, error) {
d := sha256.New()
var err error
for err == nil {
length := 0
byteBuffer := make([]byte, 1024*1024)
length, err = reader.Read(byteBuffer)
byteBuffer = byteBuffer[0:length]
d.Write(byteBuffer)
}
if err != io.EOF {
return nil, err
}
return d.Sum(nil), nil
}

@ -152,11 +152,11 @@ func (d *digest) checkSum() [Size]byte {
/// Convenience functions
// Sum256 - single caller sha256 helper
func Sum256(data []byte) [Size]byte {
func Sum256(data []byte) []byte {
var d digest
d.Reset()
d.Write(data)
return d.checkSum()
return d.Sum(nil)
}
// Sum - io.Reader based streaming sha256 helper

@ -0,0 +1,46 @@
package sha512
import (
"io"
"crypto/sha512"
)
const (
Size = sha512.Size
)
// Sum512 - single caller sha512 helper
func Sum512(data []byte) []byte {
d := sha512.New()
d.Write(data)
return d.Sum(nil)
}
// Sum - io.Reader based streaming sha512 helper
func Sum(reader io.Reader) ([]byte, error) {
d := sha512.New()
var err error
for err == nil {
length := 0
byteBuffer := make([]byte, 1024*1024)
length, err = reader.Read(byteBuffer)
byteBuffer = byteBuffer[0:length]
d.Write(byteBuffer)
}
if err != io.EOF {
return nil, err
}
return d.Sum(nil), nil
}
// SumStream - similar to 'Sum()' but returns a [sha512.Size]byte
func SumStream(reader io.Reader) ([sha512.Size]byte, error) {
var returnValue [sha512.Size]byte
sumSlice, err := Sum(reader)
if err != nil {
return returnValue, err
}
copy(returnValue[:], sumSlice)
return returnValue, err
}

@ -158,11 +158,11 @@ func (d *digest) checkSum() [Size]byte {
/// Convenience functions
// Sum512 - single caller sha512 helper
func Sum512(data []byte) [Size]byte {
func Sum512(data []byte) []byte {
var d digest
d.Reset()
d.Write(data)
return d.checkSum()
return d.Sum(nil)
}
// Sum - io.Reader based streaming sha512 helper
Loading…
Cancel
Save