• Michael Munday's avatar
    cmd/link: add Minalign field to ld.Arch · 90cb1fda
    Michael Munday authored
    The new Minalign field sets the minimum alignment for all symbols.
    This is required for the upcoming s390x port which requires symbols
    be 2-byte aligned for efficient relative addressing.
    
    All preexisting architectures have Minalign set to 1 which means
    that this commit should have no effect.
    
    I tested values of 2, 4 and 8 on linux amd64 and the tests appear to
    pass. Increasing Minalign to 16 appears to break the runtime. I
    think this is due to assumptions made about the layout of module
    data.
    
    toolstash -cmp on linux amd64 shows no changes due to this commit.
    
    Resolves #14604
    
    Change-Id: I0fe042d52c4e4732eba5fabcd0c31102a2408764
    Reviewed-on: https://go-review.googlesource.com/20149Reviewed-by: 's avatarMinux Ma <minux@golang.org>
    Run-TryBot: Minux Ma <minux@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    90cb1fda
obj.go 4.98 KB