Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
88b5d499
Commit
88b5d499
authored
Apr 13, 2016
by
Ian Lance Taylor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
libgo: update to Go 1.6.1 release
Reviewed-on:
https://go-review.googlesource.com/22007
From-SVN: r234958
parent
10c3c424
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
63 additions
and
17 deletions
+63
-17
gcc/go/gofrontend/MERGE
+1
-1
libgo/MERGE
+1
-1
libgo/VERSION
+2
-2
libgo/go/crypto/dsa/dsa.go
+4
-0
libgo/go/crypto/ecdsa/ecdsa.go
+8
-3
libgo/go/crypto/rsa/rsa.go
+4
-1
libgo/go/go/build/deps_test.go
+3
-3
libgo/go/internal/syscall/windows/registry/syscall.go
+1
-1
libgo/go/internal/syscall/windows/registry/zsyscall_windows.go
+3
-2
libgo/go/internal/syscall/windows/syscall_windows.go
+1
-1
libgo/go/internal/syscall/windows/sysdll/sysdll.go
+28
-0
libgo/go/internal/syscall/windows/zsyscall_windows.go
+3
-2
libgo/go/runtime/export_windows_test.go
+4
-0
No files found.
gcc/go/gofrontend/MERGE
View file @
88b5d499
8e7b5e777333fa4cd070d96e94ea82e3e1132739
ff29ea8e4e69eb94958aef4388da09a61b2b52b6
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
libgo/MERGE
View file @
88b5d499
7bc40ffb05d8813bf9b41a331b45d37216f9e747
f5cf5673590a68c55b2330df9dfcdd6fac75b893
The first line of this file holds the git revision number of the
last merge done from the master library sources.
libgo/VERSION
View file @
88b5d499
go1.6
\ No newline at end of file
go1.6.1
\ No newline at end of file
libgo/go/crypto/dsa/dsa.go
View file @
88b5d499
...
...
@@ -249,6 +249,10 @@ func Sign(rand io.Reader, priv *PrivateKey, hash []byte) (r, s *big.Int, err err
func
Verify
(
pub
*
PublicKey
,
hash
[]
byte
,
r
,
s
*
big
.
Int
)
bool
{
// FIPS 186-3, section 4.7
if
pub
.
P
.
Sign
()
==
0
{
return
false
}
if
r
.
Sign
()
<
1
||
r
.
Cmp
(
pub
.
Q
)
>=
0
{
return
false
}
...
...
libgo/go/crypto/ecdsa/ecdsa.go
View file @
88b5d499
...
...
@@ -23,6 +23,7 @@ import (
"crypto/elliptic"
"crypto/sha512"
"encoding/asn1"
"errors"
"io"
"math/big"
)
...
...
@@ -140,6 +141,8 @@ func fermatInverse(k, N *big.Int) *big.Int {
return
new
(
big
.
Int
)
.
Exp
(
k
,
nMinus2
,
N
)
}
var
errZeroParam
=
errors
.
New
(
"zero parameter"
)
// Sign signs an arbitrary length hash (which should be the result of hashing a
// larger message) using the private key, priv. It returns the signature as a
// pair of integers. The security of the private key depends on the entropy of
...
...
@@ -180,7 +183,9 @@ func Sign(rand io.Reader, priv *PrivateKey, hash []byte) (r, s *big.Int, err err
// See [NSA] 3.4.1
c
:=
priv
.
PublicKey
.
Curve
N
:=
c
.
Params
()
.
N
if
N
.
Sign
()
==
0
{
return
nil
,
nil
,
errZeroParam
}
var
k
,
kInv
*
big
.
Int
for
{
for
{
...
...
@@ -193,7 +198,7 @@ func Sign(rand io.Reader, priv *PrivateKey, hash []byte) (r, s *big.Int, err err
if
in
,
ok
:=
priv
.
Curve
.
(
invertible
);
ok
{
kInv
=
in
.
Inverse
(
k
)
}
else
{
kInv
=
fermatInverse
(
k
,
N
)
kInv
=
fermatInverse
(
k
,
N
)
// N != 0
}
r
,
_
=
priv
.
Curve
.
ScalarBaseMult
(
k
.
Bytes
())
...
...
@@ -207,7 +212,7 @@ func Sign(rand io.Reader, priv *PrivateKey, hash []byte) (r, s *big.Int, err err
s
=
new
(
big
.
Int
)
.
Mul
(
priv
.
D
,
r
)
s
.
Add
(
s
,
e
)
s
.
Mul
(
s
,
kInv
)
s
.
Mod
(
s
,
N
)
s
.
Mod
(
s
,
N
)
// N != 0
if
s
.
Sign
()
!=
0
{
break
}
...
...
libgo/go/crypto/rsa/rsa.go
View file @
88b5d499
...
...
@@ -465,6 +465,9 @@ func decrypt(random io.Reader, priv *PrivateKey, c *big.Int) (m *big.Int, err er
err
=
ErrDecryption
return
}
if
priv
.
N
.
Sign
()
==
0
{
return
nil
,
ErrDecryption
}
var
ir
*
big
.
Int
if
random
!=
nil
{
...
...
@@ -490,7 +493,7 @@ func decrypt(random io.Reader, priv *PrivateKey, c *big.Int) (m *big.Int, err er
}
}
bigE
:=
big
.
NewInt
(
int64
(
priv
.
E
))
rpowe
:=
new
(
big
.
Int
)
.
Exp
(
r
,
bigE
,
priv
.
N
)
rpowe
:=
new
(
big
.
Int
)
.
Exp
(
r
,
bigE
,
priv
.
N
)
// N != 0
cCopy
:=
new
(
big
.
Int
)
.
Set
(
c
)
cCopy
.
Mul
(
cCopy
,
rpowe
)
cCopy
.
Mod
(
cCopy
,
priv
.
N
)
...
...
libgo/go/go/build/deps_test.go
View file @
88b5d499
...
...
@@ -132,10 +132,10 @@ var pkgDeps = map[string][]string{
// End of linear dependency definitions.
// Operating system access.
"syscall"
:
{
"L0"
,
"internal/race"
,
"unicode/utf16"
},
"syscall"
:
{
"L0"
,
"internal/race"
,
"
internal/syscall/windows/sysdll"
,
"
unicode/utf16"
},
"internal/syscall/unix"
:
{
"L0"
,
"syscall"
},
"internal/syscall/windows"
:
{
"L0"
,
"syscall"
},
"internal/syscall/windows/registry"
:
{
"L0"
,
"syscall"
,
"unicode/utf16"
},
"internal/syscall/windows"
:
{
"L0"
,
"syscall"
,
"internal/syscall/windows/sysdll"
},
"internal/syscall/windows/registry"
:
{
"L0"
,
"syscall"
,
"
internal/syscall/windows/sysdll"
,
"
unicode/utf16"
},
"time"
:
{
"L0"
,
"syscall"
,
"internal/syscall/windows/registry"
},
"os"
:
{
"L1"
,
"os"
,
"syscall"
,
"time"
,
"internal/syscall/windows"
},
"path/filepath"
:
{
"L2"
,
"os"
,
"syscall"
},
...
...
libgo/go/internal/syscall/windows/registry/syscall.go
View file @
88b5d499
...
...
@@ -8,7 +8,7 @@ package registry
import
"syscall"
//go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall_windows.go syscall.go
//go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall_windows.go
-systemdll
syscall.go
const
(
_REG_OPTION_NON_VOLATILE
=
0
...
...
libgo/go/internal/syscall/windows/registry/zsyscall_windows.go
View file @
88b5d499
...
...
@@ -4,12 +4,13 @@ package registry
import
"unsafe"
import
"syscall"
import
"internal/syscall/windows/sysdll"
var
_
unsafe
.
Pointer
var
(
modadvapi32
=
syscall
.
NewLazyDLL
(
"advapi32.dll"
)
modkernel32
=
syscall
.
NewLazyDLL
(
"kernel32.dll"
)
modadvapi32
=
syscall
.
NewLazyDLL
(
sysdll
.
Add
(
"advapi32.dll"
)
)
modkernel32
=
syscall
.
NewLazyDLL
(
sysdll
.
Add
(
"kernel32.dll"
)
)
procRegCreateKeyExW
=
modadvapi32
.
NewProc
(
"RegCreateKeyExW"
)
procRegDeleteKeyW
=
modadvapi32
.
NewProc
(
"RegDeleteKeyW"
)
...
...
libgo/go/internal/syscall/windows/syscall_windows.go
View file @
88b5d499
...
...
@@ -6,7 +6,7 @@ package windows
import
"syscall"
//go:generate go run ../../../syscall/mksyscall_windows.go -output zsyscall_windows.go syscall_windows.go
//go:generate go run ../../../syscall/mksyscall_windows.go -output zsyscall_windows.go
-systemdll
syscall_windows.go
const
GAA_FLAG_INCLUDE_PREFIX
=
0x00000010
...
...
libgo/go/internal/syscall/windows/sysdll/sysdll.go
0 → 100644
View file @
88b5d499
// Copyright 2016 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Package sysdll is an internal leaf package that records and reports
// which Windows DLL names are used by Go itself. These DLLs are then
// only loaded from the System32 directory. See Issue 14959.
package
sysdll
// IsSystemDLL reports whether the named dll key (a base name, like
// "foo.dll") is a system DLL which should only be loaded from the
// Windows SYSTEM32 directory.
//
// Filenames are case sensitive, but that doesn't matter because
// the case registered with Add is also the same case used with
// LoadDLL later.
//
// It has no associated mutex and should only be mutated serially
// (currently: during init), and not concurrent with DLL loading.
var
IsSystemDLL
=
map
[
string
]
bool
{}
// Add notes that dll is a system32 DLL which should only be loaded
// from the Windows SYSTEM32 directory. It returns its argument back,
// for ease of use in generated code.
func
Add
(
dll
string
)
string
{
IsSystemDLL
[
dll
]
=
true
return
dll
}
libgo/go/internal/syscall/windows/zsyscall_windows.go
View file @
88b5d499
...
...
@@ -4,12 +4,13 @@ package windows
import
"unsafe"
import
"syscall"
import
"internal/syscall/windows/sysdll"
var
_
unsafe
.
Pointer
var
(
modiphlpapi
=
syscall
.
NewLazyDLL
(
"iphlpapi.dll"
)
modkernel32
=
syscall
.
NewLazyDLL
(
"kernel32.dll"
)
modiphlpapi
=
syscall
.
NewLazyDLL
(
sysdll
.
Add
(
"iphlpapi.dll"
)
)
modkernel32
=
syscall
.
NewLazyDLL
(
sysdll
.
Add
(
"kernel32.dll"
)
)
procGetAdaptersAddresses
=
modiphlpapi
.
NewProc
(
"GetAdaptersAddresses"
)
procGetComputerNameExW
=
modkernel32
.
NewProc
(
"GetComputerNameExW"
)
...
...
libgo/go/runtime/export_windows_test.go
View file @
88b5d499
...
...
@@ -15,3 +15,7 @@ func NumberOfProcessors() int32 {
stdcall1
(
_GetSystemInfo
,
uintptr
(
unsafe
.
Pointer
(
&
info
)))
return
int32
(
info
.
dwnumberofprocessors
)
}
func
LoadLibraryExStatus
()
(
useEx
,
haveEx
,
haveFlags
bool
)
{
return
useLoadLibraryEx
,
_LoadLibraryExW
!=
nil
,
_AddDllDirectory
!=
nil
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment