| Index: go/src/cmd/link/internal/ld/elf.go |
| =================================================================== |
| --- go.orig/src/cmd/link/internal/ld/elf.go |
| +++ go/src/cmd/link/internal/ld/elf.go |
| @@ -827,7 +827,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 { |
| // We set a value here that makes no indication of which |
| // float ABI the object uses, because this is information |
| // used by the dynamic linker to compare executables and |