Index: go/src/cmd/link/internal/ld/elf.go =================================================================== --- go.orig/src/cmd/link/internal/ld/elf.go 2015-07-29 13:05:25.952533140 -0700 +++ go/src/cmd/link/internal/ld/elf.go 2015-07-29 13:14:53.413112995 -0700 @@ -780,7 +780,13 @@ // 32-bit architectures case '5': // we use EABI on both linux/arm and freebsd/arm. - if HEADTYPE == obj.Hlinux || HEADTYPE == obj.Hfreebsd { + if HEADTYPE == obj.Hlinux { + if Ctxt.Goarm == 7 { + ehdr.flags = 0x5000402 // has entry point, Version5 EABI, hard float + } else { + ehdr.flags = 0x5000202 // has entry point, Version5 EABI, soft float + } + } else if HEADTYPE == obj.Hfreebsd { ehdr.flags = 0x5000002 // has entry point, Version5 EABI } fallthrough