• Michael Hudson-Doyle's avatar
    cmd/link/internal/loadelf: fix logic for computing ELF flags on ARM · b2d3d6e6
    Michael Hudson-Doyle authored
    The linker contains complicated logic for figuring out which float ABI to
    indicate it is using on (32 bit) ARM systems: it parses a special section in
    host object files to look for a flag indicating use of the hard float ABI. When
    loadelf got split into its own package a bug was introduced: if the last host
    object file does not contain a float ABI related tag, the ELF header's flag was
    set to 0, rather than using the value from the last object file which contained
    an ABI tag. Fix the code to only change the value used for the ELF header if a
    tag was found.
    
    This fixes an extremely confusing build failure on Ubuntu's armhf builders.
    
    Change-Id: I0845d68d082d1383e4cae84ea85164cdc6bcdddb
    Reviewed-on: https://go-review.googlesource.com/92515
    Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    b2d3d6e6
ldelf.go 31.1 KB