diff mbox series

PATCH: Hurd port of go to gcc-8 (gcc-8-8-20180310+) 16 patches

Message ID 1520857753.3197.32.camel@gmail.com
State New
Headers show
Series PATCH: Hurd port of go to gcc-8 (gcc-8-8-20180310+) 16 patches | expand

Commit Message

Svante Signell March 12, 2018, 12:29 p.m. UTC
Hi,

Attached are patches to enable gccgo to build properly on Debian
GNU/Hurd on gcc-8 (8-8-20180308/10-1).

The gcc-8-8-2018030810-1 version did FTBFS due to a regression in the
gcc/ gcc/lra*.c code. Finding the reverting commit and applying it 
gcc.git-b12c2c48c2c6aa1db9e6c50f6b26330deeee9caf.patch
gcc+gccgo builds fine again.

I know that 8-8-20180312-1,2 versions are released. I will report the build
status when the latest version is built. (an eventually provide updated patches)

The libgo tests results are improved further:

                === libgo Summary ===

# of expected passes            141
# of unexpected failures        21

The patches really changed are only four:
src_libgo_runtime.diff
src_libgo_go_go_build_syslist.go.diff
src_libgo_go_runtime.diff
src_libgo_build.diff

but for completeness, and hopefully an upstream accept, the whole set (16
patches) is supplied here. Only 14 of them are upstream material, 2 of them are
Debian specific. Additionally, a part of src_libgo_build.diff pacthing
mksigtab.sh is already committed upstream: mksigtab.sh.patch
commit a5c86484648ca0d6eb54b13a0c9e740b16568f68
but included here until Debian updates gccgo from upstream.

Thanks!

Comments

Svante Signell March 12, 2018, 1:44 p.m. UTC | #1
On Mon, 2018-03-12 at 13:29 +0100, Svante Signell wrote:


> The patches really changed are only four:
> src_libgo_runtime.diff
> src_libgo_go_go_build_syslist.go.diff
> src_libgo_go_runtime.diff
> src_libgo_build.diff

Correction: five:
add-gnu-to-libgo-headers.diff
Svante Signell March 13, 2018, 3:56 p.m. UTC | #2
On Mon, 2018-03-12 at 14:44 +0100, Svante Signell wrote:
> On Mon, 2018-03-12 at 13:29 +0100, Svante Signell wrote:
> 
> 
> > The patches really changed are only four:
> > src_libgo_runtime.diff
> > src_libgo_go_go_build_syslist.go.diff
> > src_libgo_go_runtime.diff
> > src_libgo_build.diff
> 
> Correction: five:
> add-gnu-to-libgo-headers.diff

And src_libgo_go_syscall.diff, eventually more. Best to use the complete set.

Regarding test suites the go test results are the same as for e.g. amd64:
This time the problem is with the symbol __libc_start_main@@GLIBC_2.2.6.

tail build/gcc/testsuite/go/go.sum

                === go Summary ===

# of expected passes            518
# of untested testcases         834

grep ^FAIL: build/gcc/testsuite/go/go.log
FAIL: checksyms x 8
checksyms: found unexpected symbol "__libc_start_main@@GLIBC_2.2.6"

These problems are reported in debian bug #892167
diff mbox series

Patch

Index: gcc-8-8-20171108-1.1/src/libgo/testsuite/gotest
===================================================================
--- gcc-8-8-20171108-1.1.orig/src/libgo/testsuite/gotest
+++ gcc-8-8-20171108-1.1/src/libgo/testsuite/gotest
@@ -624,7 +624,11 @@  xno)
 		wait $pid
 		status=$?
 		if ! test -f gotest-timeout; then
-		    sleeppid=`ps -o pid,ppid,comm | grep " $alarmpid " | grep sleep | sed -e 's/ *\([0-9]*\) .*$/\1/'`
+		    if test "$goos" = "gnu"; then
+			sleeppid=`ps -o pid,ppid | grep " $alarmpid " | grep sleep | sed -e 's/ *\([0-9]*\) .*$/\1/'`
+		    else
+			sleeppid=`ps -o pid,ppid,comm | grep " $alarmpid " | grep sleep | sed -e 's/ *\([0-9]*\) .*$/\1/'`
+		    fi
 		    kill $alarmpid
 		    wait $alarmpid
 		    if test "$sleeppid" != ""; then