Files
poky/meta/recipes-devtools/go/go-1.6/armhf-elf-header.patch
Khem Raj 760e81678c go: Add recipes for golang compilers and tools
* This is converging the recipes for go from
  meta-virtualization and oe-meta-go

* Add recipes for go 1.7

* go.bbclass is added to ease out writing
  recipes for go packages

* go-examples: Add an example, helloworld written in go
  This should serve as temlate for writing go recipes

* Disable for musl, at least for now

* Disable for x32/ppc32 which is not supported

(From OE-Core rev: 78615e9260fb5d6569de4883521b049717fa4340)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 15:51:55 +00:00

24 lines
945 B
Diff

Encode arm EABI ( hard/soft ) calling convention in ELF header
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
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