]> Cypherpunks repositories - gostls13.git/commit
cmd/link: reject non-package main toplevel.a file, remove dead code
authorRuss Cox <rsc@golang.org>
Thu, 17 Dec 2015 20:10:25 +0000 (15:10 -0500)
committerRuss Cox <rsc@golang.org>
Thu, 17 Dec 2015 20:59:51 +0000 (20:59 +0000)
commitc7b1ef9918893ca58eb36f60c9e8a28371c5325e
treef763ca9108f1f9fce85a83ed5d5fec919e2d3bfa
parent2f08bd96a0f291450c0f8cd41741fa475309cfc4
cmd/link: reject non-package main toplevel.a file, remove dead code

The test for non-package main top-level inputs is done while parsing
the export data. Issue #13468 happened because we were not parsing
the export data when using compiler-generated archives
(that is, when using go tool compile -pack).

Fix this by parsing the export data even for archives.

However, that turns up a different problem: the export data check
reports (one assumes spurious) skew errors now, because it has
not been run since Go 1.2.
(Go 1.3 was the first release to use go tool compile -pack.)

Since the code hasn't run since Go 1.2, it can't be that important.
Since it doesn't work today, just delete it.

Figuring out how to make this code work with Robert's export
format was one of the largest remaining TODOs for that format.
Now we don't have to.

Fixes #13468 and makes the world a better place.

Change-Id: I40a4b284cf140d49d48b714bd80762d6889acdb9
Reviewed-on: https://go-review.googlesource.com/17976
Reviewed-by: Robert Griesemer <gri@golang.org>
src/cmd/link/internal/ld/go.go
src/cmd/link/internal/ld/lib.go
test/linkmain.go [new file with mode: 0644]
test/linkmain_run.go [new file with mode: 0644]