]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link: only create .init_array section if not empty
authorIan Lance Taylor <iant@golang.org>
Fri, 7 Dec 2018 22:19:01 +0000 (14:19 -0800)
committerIan Lance Taylor <iant@golang.org>
Tue, 11 Dec 2018 03:31:35 +0000 (03:31 +0000)
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 <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/link/internal/ld/data.go

index 848087d7436bb80e6f08f15b0197b3e98fa718af..5209878b78c7d7fb19035373e87eaeb9df2abcdf 100644 (file)
@@ -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))