From 1aa58898d956fd8c52d065e7b407361a3c34bb0a Mon Sep 17 00:00:00 2001 From: David Abdurachmanov Date: Mon, 10 Feb 2020 22:29:59 +0100 Subject: [PATCH] Fix build error (riscv64 gofrontend) Import a fix from upstream to allow go to build within GCC. This fix should be removed once Jakub prepares GCC 10 0.8 release. Signed-off-by: David Abdurachmanov --- ...0f94e9c53153c4fae3b50a8c938f89db0c32.patch | 49 +++++++++++++++++++ gcc.spec | 5 ++ 2 files changed, 54 insertions(+) create mode 100644 79530f94e9c53153c4fae3b50a8c938f89db0c32.patch diff --git a/79530f94e9c53153c4fae3b50a8c938f89db0c32.patch b/79530f94e9c53153c4fae3b50a8c938f89db0c32.patch new file mode 100644 index 0000000..ce12794 --- /dev/null +++ b/79530f94e9c53153c4fae3b50a8c938f89db0c32.patch @@ -0,0 +1,49 @@ +From 79530f94e9c53153c4fae3b50a8c938f89db0c32 Mon Sep 17 00:00:00 2001 +From: Ian Lance Taylor +Date: Mon, 3 Feb 2020 12:29:45 -0800 +Subject: [PATCH] syscall: fix riscv64 GNU/Linux build + +Make syscall_linux_riscv64.go, new in the 1.14beta1 release, look like +the other syscall_linux_GOARCH.go files. + +Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/217577 +--- + gcc/go/gofrontend/MERGE | 2 +- + libgo/go/syscall/syscall_linux_riscv64.go | 14 -------------- + 2 files changed, 1 insertion(+), 15 deletions(-) + +diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE +index 40529518b264..27f4ce342e54 100644 +--- a/gcc/go/gofrontend/MERGE ++++ b/gcc/go/gofrontend/MERGE +@@ -1,4 +1,4 @@ +-d796680b5a78f686ed118578e81d5b1adf48508d ++c94637ad6fd38d4814fb02d094a1a73f19323d71 + + The first line of this file holds the git revision number of the last + merge done from the gofrontend repository. +diff --git a/libgo/go/syscall/syscall_linux_riscv64.go b/libgo/go/syscall/syscall_linux_riscv64.go +index e9aab94e3a1f..16d8709708dc 100644 +--- a/libgo/go/syscall/syscall_linux_riscv64.go ++++ b/libgo/go/syscall/syscall_linux_riscv64.go +@@ -4,20 +4,6 @@ + + package syscall + +-import "unsafe" +- + func (r *PtraceRegs) PC() uint64 { return r.Pc } + + func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } +- +-func (iov *Iovec) SetLen(length int) { +- iov.Len = uint64(length) +-} +- +-func (msghdr *Msghdr) SetControllen(length int) { +- msghdr.Controllen = uint64(length) +-} +- +-func (cmsg *Cmsghdr) SetLen(length int) { +- cmsg.Len = uint64(length) +-} diff --git a/gcc.spec b/gcc.spec index 0a46278..f50a149 100644 --- a/gcc.spec +++ b/gcc.spec @@ -261,6 +261,9 @@ Patch10: gcc10-rh1574936.patch Patch11: gcc10-d-shared-libphobos.patch Patch12: gcc10-pr92765-workaround.patch +# https://github.com/gcc-mirror/gcc/commit/79530f94e9c53153c4fae3b50a8c938f89db0c32 +Patch20: 79530f94e9c53153c4fae3b50a8c938f89db0c32.patch + # On ARM EABI systems, we do want -gnueabi to be part of the # target triple. %ifnarch %{arm} @@ -773,6 +776,8 @@ to NVidia PTX capable devices if available. %patch11 -p0 -b .d-shared-libphobos~ %patch12 -p0 -b .pr92765-workaround~ +%patch20 -p1 -b .gofrontend-riscv64~ + echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h