Skip to content

Commit

Permalink
Initial work on shared library.
Browse files Browse the repository at this point in the history
Change-Id: I2e779fa1b8fe14894adc0611fdfaa9bfa537e446
  • Loading branch information
nadiasvertex committed Dec 19, 2015
1 parent 916c14f commit 4a4e022
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
3 changes: 2 additions & 1 deletion src/cmd/go/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,8 @@ func buildModeInit() {
} else {
switch platform {
case "linux/amd64", "linux/arm", "linux/arm64", "linux/386",
"android/amd64", "android/arm", "android/arm64", "android/386":
"android/amd64", "android/arm", "android/arm64", "android/386",
"windows/amd64":
codegenArg = "-shared"
case "darwin/amd64":
default:
Expand Down
9 changes: 7 additions & 2 deletions src/cmd/link/internal/ld/lib.go
Original file line number Diff line number Diff line change
Expand Up @@ -1067,7 +1067,7 @@ func hostlink() {
if HEADTYPE == obj.Hopenbsd {
argv = append(argv, "-Wl,-nopie")
}
if HEADTYPE == obj.Hwindows {
if HEADTYPE == obj.Hwindows && Buildmode == BuildmodeExe {
if headstring == "windowsgui" {
argv = append(argv, "-mwindows")
} else {
Expand All @@ -1091,9 +1091,14 @@ func hostlink() {
if UseRelro() {
argv = append(argv, "-Wl,-z,relro")
}

argv = append(argv, "-shared")

// Pass -z nodelete to mark the shared library as
// non-closeable: a dlclose will do nothing.
argv = append(argv, "-shared", "-Wl,-z,nodelete")
if HEADTYPE != obj.Hwindows {
argv = append(argv, "-Wl,-z,nodelete")
}
}
case BuildmodeShared:
if UseRelro() {
Expand Down

0 comments on commit 4a4e022

Please sign in to comment.