From: Ian Lance Taylor Date: Fri, 7 Dec 2018 22:19:01 +0000 (-0800) Subject: cmd/link: only create .init_array section if not empty X-Git-Tag: go1.12beta1~114 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=a11aa2aaecff98d6b46035704d587920c10788f9;p=gostls13.git cmd/link: only create .init_array section if not empty This avoids a warning from old versions of the GNU linker or glibc. No test because these old versions are not readily available. I tested this by hand on CentOS 6. Fixes #28722 Change-Id: I16640c9b83a79f759ec68fac64874803e74fbbfb Reviewed-on: https://go-review.googlesource.com/c/153257 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- diff --git a/src/cmd/link/internal/ld/data.go b/src/cmd/link/internal/ld/data.go index 848087d743..5209878b78 100644 --- a/src/cmd/link/internal/ld/data.go +++ b/src/cmd/link/internal/ld/data.go @@ -1313,7 +1313,7 @@ func (ctxt *Link) dodata() { case BuildModeCArchive, BuildModeCShared, BuildModeShared, BuildModePlugin: hasinitarr = true } - if hasinitarr { + if hasinitarr && len(data[sym.SINITARR]) > 0 { sect := addsection(ctxt.Arch, &Segdata, ".init_array", 06) sect.Align = dataMaxAlign[sym.SINITARR] datsize = Rnd(datsize, int64(sect.Align))