请在提交问题之前回答以下问题。谢谢!
您使用的Go版本是什么(go version
)?
go version go1.10.3 linux/amd64
最新版本的此问题是否会重现?
是的
您正在使用什么操作系统和处理器架构(go env
)?
bash-3.2$ ld --version
GNU ld (GNU Binutils) 2.22
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/jhart/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/jhart/go"
GORACE=""
GOROOT="/home/jhart/temp/temp/go"
GOTMPDIR=""
GOTOOLDIR="/home/jhart/temp/temp/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build636359804=/tmp/go-build -gno-record-gcc-switches"
您做了什么?
cd temp
tar xf go1.4-bootstrap-20171003.tar.gz
cd go/src
export CGO_ENABLED=0
su
cd /var
mkdir tmp
chmod go+w tmp
exit
./make.bash
### Installed Go for linux/amd64 in /home/jhart/temp/go
### Installed commands in /home/jhart/temp/go/bin
unset CGO_ENABLED
export GOROOT_BOOTSTRAP=/home/jhart/temp/go
cd ../../
mkdir temp
cd temp
git clone https://go.googlesource.com/go
cd go
git describe --tags # go1.11beta1-226-ge161b1e
git checkout go1.10.3
cd src
./all.bash
您期望看到什么?
所有测试都应成功通过
7条答案
按热度按时间vmpqdwk31#
/cc @ianlancetaylor
ncecgwcz2#
CC @rauls5382
aiazj4mn3#
ld 2.22的版本非常古老,它于2011年发布。我想知道这是否可能是导致这个问题的原因。
xxhby3vn4#
我认为您可能已经检查过您的 Bootstrap 版本。
2018年7月25日14:37,Agniva De Sarker ***@***.***>写道:/cc @ianlancetaylor < https://github.com/ianlancetaylor > — 您收到此邮件是因为您订阅了此线程。直接回复此邮件,查看GitHub上的<#26584 (comment)>,或者静音此线程< https://github.com/notifications/unsubscribe-auth/AAAcA2dSmZ8PgLnLyjcxTt8seaAupUBXks5uJ_YLgaJpZM4VfWKO > 。
puruo6ea5#
also hitting this with ld 2.22, compiled from go-1.9. I can provide more info if it would be helpful.
i1icjdpr6#
请注意,go 1.9.4似乎通过了这个测试(其他一切都一样)
这是因为TestObjFile代码是在后来引入的。
另外,请注意#23888似乎也与之相关。
pdkcd3nj7#
我认为正确的修复方法是检查binutils版本并跳过足够旧的版本的测试。但这个更改应该在上游源代码中进行。