1
0
mirror of https://github.com/golang/go synced 2024-11-08 04:26:09 -07:00
go/src/debug
YunQiang Su ff5cf4ced3 cmd/link,debug/elf: mips32, add .gnu.attributes and .MIPS.abiflags sections
MIPS32 uses .gnu.attributes and .MIPS.abiflags sections to mark FP ABI
the object is using, and the kernel will set the correct FP mode for it.

Currrently Go doesn't generate these 2 sections. If we link object
without these 2 sections togather FPXX objects, the result will be FPXX,
which is wrong:
   FP32 + FPXX -> FP32
   FPXX + FP64 -> FP64
   FP32 + FP64 -> reject

These 2 sections is also needed to support FPXX and FP64 in future.

More details about FP32/FPXX/FP64 are explained in:
    https://web.archive.org/web/20180828210612/https://dmz-portal.mips.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking

Fixes #39677

Change-Id: Ia34e7461dee38a4f575dd8ace609988744512ac1
Reviewed-on: https://go-review.googlesource.com/c/go/+/239217
Run-TryBot: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Meng Zhuo <mzh@golangcn.org>
2021-03-02 00:51:00 +00:00
..
dwarf debug/dwarf: don't try to parse addr/rnglists header 2020-12-14 18:06:06 +00:00
elf cmd/link,debug/elf: mips32, add .gnu.attributes and .MIPS.abiflags sections 2021-03-02 00:51:00 +00:00
gosym all: update to use os.ReadFile, os.WriteFile, os.CreateTemp, os.MkdirTemp 2020-12-09 19:12:23 +00:00
macho all: base64-encode binaries that will cause Apple notarization to fail 2019-11-21 14:55:12 +00:00
pe all: go fmt std cmd (but revert vendor) 2021-02-20 03:54:50 +00:00
plan9obj debug/plan9obj: simplify s[:] to s where 2018-10-13 11:24:43 +00:00