mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
[dev.link] cmd: support large function alignment
This ports CL 226997 to the dev.link branch. - The assembler part and old object file writing are unchanged. - Changes to cmd/link are applied to cmd/oldlink. - Add alignment field to new object files for the new linker. Change-Id: Id00f323ae5bdd86b2709a702ee28bcaa9ba962f8 Reviewed-on: https://go-review.googlesource.com/c/go/+/227025 Reviewed-by: Than McIntosh <thanm@google.com>
This commit is contained in:
parent
8cc515ad3f
commit
d92a5a80b5
12 changed files with 144 additions and 40 deletions
|
|
@ -2256,6 +2256,10 @@ func assignAddress(ctxt *Link, sect *sym.Section, n int, s *sym.Symbol, va uint6
|
|||
funcsize = uint64(s.Size)
|
||||
}
|
||||
|
||||
if sect.Align < s.Align {
|
||||
sect.Align = s.Align
|
||||
}
|
||||
|
||||
// On ppc64x a text section should not be larger than 2^26 bytes due to the size of
|
||||
// call target offset field in the bl instruction. Splitting into smaller text
|
||||
// sections smaller than this limit allows the GNU linker to modify the long calls
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue