aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/link
diff options
context:
space:
mode:
authorJosh Bleecher Snyder <josharian@gmail.com>2021-10-05 10:51:53 -0700
committerJosh Bleecher Snyder <josharian@gmail.com>2021-10-05 23:25:24 +0000
commit77bd0da688bf9d53db6ad34a1b17df0cab0b2105 (patch)
treec1d87a8d71dbf2259f748eadc9a4df00caa37b72 /src/cmd/link
parente31c9ab557e9f5ee20a61914f1a2bf94191997dc (diff)
downloadgo-77bd0da688bf9d53db6ad34a1b17df0cab0b2105.tar.xz
cmd/link,runtime: remove unnecessary funcdata alignment
Change-Id: I2777feaae4f266de99b56b444045370c82447cff Reviewed-on: https://go-review.googlesource.com/c/go/+/354011 Trust: Josh Bleecher Snyder <josharian@gmail.com> Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com>
Diffstat (limited to 'src/cmd/link')
-rw-r--r--src/cmd/link/internal/ld/pcln.go8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/cmd/link/internal/ld/pcln.go b/src/cmd/link/internal/ld/pcln.go
index 8f025f91e2..0bcf6c980a 100644
--- a/src/cmd/link/internal/ld/pcln.go
+++ b/src/cmd/link/internal/ld/pcln.go
@@ -591,8 +591,7 @@ func (state pclntab) calculateFunctabSize(ctxt *Link, funcs []loader.Sym) (int64
size := int64(int(state.nfunc)*2*4 + 4)
// Now find the space for the func objects. We do this in a running manner,
- // so that we can find individual starting locations, and because funcdata
- // requires alignment.
+ // so that we can find individual starting locations.
for i, s := range funcs {
size = Rnd(size, int64(ctxt.Arch.PtrSize))
startLocations[i] = uint32(size)
@@ -607,9 +606,6 @@ func (state pclntab) calculateFunctabSize(ctxt *Link, funcs []loader.Sym) (int64
}
}
size += int64(numPCData(ldr, s, fi) * 4)
- if numFuncData > 0 { // Func data is aligned.
- size = Rnd(size, int64(ctxt.Arch.PtrSize))
- }
size += int64(numFuncData * 4)
}
}
@@ -747,10 +743,8 @@ func writeFuncs(ctxt *Link, sb *loader.SymbolBuilder, funcs []loader.Sym, inlSym
// Write funcdata refs as offsets from go.func.* and go.funcrel.*.
funcdata = funcData(ldr, s, fi, inlSyms[s], funcdata)
- // funcdata must be pointer-aligned and we're only int32-aligned.
// Missing funcdata will be ^0. See runtime/symtab.go:funcdata.
off = uint32(startLocations[i] + funcSize + numPCData(ldr, s, fi)*4)
- off = uint32(Rnd(int64(off), int64(ctxt.Arch.PtrSize)))
for j := range funcdata {
dataoff := off + uint32(4*j)
fdsym := funcdata[j]