summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/go-cross/go-1.6/armhf-elf-header.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-devtools/go-cross/go-1.6/armhf-elf-header.patch')
-rw-r--r--recipes-devtools/go-cross/go-1.6/armhf-elf-header.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/recipes-devtools/go-cross/go-1.6/armhf-elf-header.patch b/recipes-devtools/go-cross/go-1.6/armhf-elf-header.patch
new file mode 100644
index 00000000..6113138c
--- /dev/null
+++ b/recipes-devtools/go-cross/go-1.6/armhf-elf-header.patch
@@ -0,0 +1,19 @@
1Index: go/src/cmd/link/internal/ld/elf.go
2===================================================================
3--- go.orig/src/cmd/link/internal/ld/elf.go
4+++ go/src/cmd/link/internal/ld/elf.go
5@@ -827,7 +827,13 @@
6 // 32-bit architectures
7 case '5':
8 // we use EABI on both linux/arm and freebsd/arm.
9- if HEADTYPE == obj.Hlinux || HEADTYPE == obj.Hfreebsd {
10+ if HEADTYPE == obj.Hlinux {
11+ if Ctxt.Goarm == 7 {
12+ ehdr.flags = 0x5000402 // has entry point, Version5 EABI, hard float
13+ } else {
14+ ehdr.flags = 0x5000202 // has entry point, Version5 EABI, soft float
15+ }
16+ } else if HEADTYPE == obj.Hfreebsd {
17 // We set a value here that makes no indication of which
18 // float ABI the object uses, because this is information
19 // used by the dynamic linker to compare executables and