Compare commits

...

10 Commits
master ... f26

Author SHA1 Message Date
Jakub Čajka c327652cd9 Rebase to 1.8.7
Fix CVE-2018-6574
Resolves: BZ#1543561, BZ#1543562
2018-02-09 10:48:36 +01:00
Jakub Čajka 1f497f3dfe Execute correctly tests on ppc64le 2017-11-14 13:39:02 +01:00
Jakub Čajka d178a2ea61 Upload the new sources 2017-11-14 12:44:34 +01:00
Jakub Čajka a1a192e5e3 Rebase to 1.8.5
Re-apply workaround on s390x
2017-11-14 12:21:44 +01:00
Jakub Čajka 9c3278abbd Add bcond for bootstrap 2017-10-12 15:17:57 +02:00
Jakub Čajka 45568fd716 fix CVE-2017-15041 and CVE-2017-15042 2017-10-06 13:58:58 +02:00
Jakub Čajka 96c389d958 Drop workaround for linker issue on s390x(BZ#1460254) 2017-07-18 18:12:15 +02:00
Jakub Čajka 2ee82274e4 Apply the s390x workaround... 2017-07-14 16:15:17 +02:00
Jakub Čajka b76346572f Improved l0sym patch 2017-07-12 17:25:39 +02:00
Jakub Čajka f28f703aec workaround build issue on s390x 2017-07-12 15:39:29 +02:00
5 changed files with 107 additions and 7 deletions

3
.gitignore vendored
View File

@ -41,3 +41,6 @@
/go1.8.src.tar.gz
/go1.8.1.src.tar.gz
/go1.8.3.src.tar.gz
/go1.8.4.src.tar.gz
/go1.8.5.src.tar.gz
/go1.8.7.src.tar.gz

View File

@ -1,3 +1,4 @@
%bcond_with bootstrap
# build ids are not currently generated:
# https://code.google.com/p/go/issues/detail?id=5238
#
@ -41,10 +42,10 @@
%endif
# Use golang/gcc-go as bootstrap compiler
%ifarch %{golang_arches}
%global golang_bootstrap 1
%else
%if %{with bootstrap}
%global golang_bootstrap 0
%else
%global golang_bootstrap 1
%endif
# Controls what ever we fail on failed tests
@ -94,10 +95,10 @@
%endif
%global go_api 1.8
%global go_version 1.8.3
%global go_version 1.8.7
Name: golang
Version: 1.8.3
Version: 1.8.7
Release: 1%{?dist}
Summary: The Go Programming Language
# source tree includes several copies of Mark.Twain-Tom.Sawyer.txt under Public Domain
@ -119,7 +120,7 @@ BuildRequires: hostname
BuildRequires: net-tools
%endif
# for tests
BuildRequires: pcre-devel, glibc-static, perl
BuildRequires: pcre-devel, glibc-static, perl, procps-ng
Provides: go = %{version}-%{release}
Requires: %{name}-bin = %{version}-%{release}
@ -140,6 +141,10 @@ Patch219: s390x-expose-IfInfomsg-X__ifi_pad.patch
# https://github.com/golang/go/commit/94aba76639cf4d5e30975d846bb0368db8202269
Patch220: 31bit-OID-asn1.patch
Patch221: s390x-ignore-L0syms.patch
Patch222: use-buildmode-pie-for-pie-testing.patch
# Having documentation separate was broken
Obsoletes: %{name}-docs < 1.1-4
@ -272,6 +277,9 @@ Requires: %{name} = %{version}-%{release}
%patch219 -p1
%patch220 -p1
%patch221 -p1
%patch222 -p1
cp %{SOURCE1} ./src/runtime/
# don't include chacha test vectors in buildID
@ -472,6 +480,7 @@ fi
%exclude %{goroot}/src/
%exclude %{goroot}/doc/
%exclude %{goroot}/misc/
%exclude %{goroot}/test/
%{goroot}/*
# ensure directory ownership, so they are cleaned up if empty
@ -509,10 +518,29 @@ fi
%endif
%changelog
* Thu Feb 08 2018 Jakub Čajka <jcajka@redhat.com> - 1.8.7-1
- Rebase to 1.8.7
- Fix CVE-2018-6574
- Resolves: BZ#1543561, BZ#1543562
* Tue Oct 31 2017 Jakub Čajka <jcajka@redhat.com> - 1.8.5-1
- Rebase to 1.8.5
- re-apply s390x workaround
* Thu Oct 12 2017 Jakub Čajka <jcajka@redhat.com> - 1.8.4-2
- add bcond for bootstrap
* Fri Oct 06 2017 Jakub Čajka <jcajka@redhat.com> - 1.8.4-1
- fix CVE-2017-15041 and CVE-2017-15042
* Fri Jul 14 2017 Jakub Čajka <jcajka@redhat.com> - 1.8.3-2
- apply the s390x workaround
* Thu May 25 2017 Jakub Čajka <jcajka@redhat.com> - 1.8.3-1
- bump to 1.8.3
- fix for CVE-2017-8932
- make possible to use 31bit OID in ASN1
- workaround build issue on s390x
- Resolves: BZ#1454978, BZ#1455191
* Fri Apr 21 2017 Jakub Čajka <jcajka@redhat.com> - 1.8.1-2

18
s390x-ignore-L0syms.patch Normal file
View File

@ -0,0 +1,18 @@
diff --git a/src/cmd/link/internal/ld/ldelf.go b/src/cmd/link/internal/ld/ldelf.go
index d4f9fc4..87dabaa 100644
--- a/src/cmd/link/internal/ld/ldelf.go
+++ b/src/cmd/link/internal/ld/ldelf.go
@@ -799,6 +799,13 @@ func ldelf(ctxt *Link, f *bio.Reader, pkg string, length int64, pn string) {
continue
}
+ if sect.name == ".debug_str" && sym.name == "L0" && sym.type_ == 0 {
+ // introduced by https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=49fced1206db40c71208c201165d65f92c69cebe on s390x
+ // TODO investigate from where they are actually coming from, could be possible issue with elf parsing as seeing 0x1 in name is weird
+ // See issue
+ continue
+ }
+
if strings.HasPrefix(sym.name, ".LASF") { // gcc on s390x does this
continue
}

View File

@ -1 +1 @@
SHA512 (go1.8.3.src.tar.gz) = c6e67dd9e3acdf2aa776d920f91f3fb1802d624ba5d51e06b2c7c6b71bcfaf91f4024f7a442cecde69175c589f7f1163f0ae86d887e15ddde710e53ce0961284
SHA512 (go1.8.7.src.tar.gz) = bbe78ab240ce66f0e7c0ba0d5c8915699db1538087cbcd22fa1566c62cb2e4658f467cbbde107f254e84e5744a1db578fc1a6f1784586937cba3d0942e2e6532

View File

@ -0,0 +1,51 @@
diff -up go/src/cmd/dist/test.go.origin go/src/cmd/dist/test.go
--- go/src/cmd/dist/test.go.origin 2017-10-25 19:32:35.000000000 +0200
+++ go/src/cmd/dist/test.go 2017-11-08 12:24:52.771586558 +0100
@@ -789,6 +789,16 @@ func (t *tester) supportedBuildmode(mode
return true
}
return false
+ case "pie":
+ switch pair {
+ case "linux-386", "linux-amd64", "linux-arm", "linux-arm64", "linux-ppc64le", "linux-s390x",
+ "android-amd64", "android-arm", "android-arm64", "android-386":
+ return true
+ case "darwin-amd64":
+ return true
+ }
+ return false
+
default:
log.Fatalf("internal error: unknown buildmode %s", mode)
return false
@@ -891,24 +901,16 @@ func (t *tester) cgoTest(dt *distTest) e
}
}
- if pair != "freebsd-amd64" { // clang -pie fails to link misc/cgo/test
- cmd := t.dirCmd("misc/cgo/test",
- cc, "-xc", "-o", "/dev/null", "-pie", "-")
+ if t.supportedBuildmode("pie") {
+ cmd = t.addCmd(dt, "misc/cgo/test", "go", "test", "-buildmode=pie")
cmd.Env = env
- cmd.Stdin = strings.NewReader("int main() {}")
- if err := cmd.Run(); err != nil {
- fmt.Println("No support for -pie found, skip cgo PIE test.")
- } else {
- cmd = t.addCmd(dt, "misc/cgo/test", "go", "test", "-ldflags", `-linkmode=external -extldflags "-pie"`)
- cmd.Env = env
- cmd = t.addCmd(dt, "misc/cgo/testtls", "go", "test", "-ldflags", `-linkmode=external -extldflags "-pie"`)
- cmd.Env = env
+ cmd = t.addCmd(dt, "misc/cgo/testtls", "go", "test", "-buildmode=pie")
+ cmd.Env = env
- cmd = t.addCmd(dt, "misc/cgo/nocgo", "go", "test", "-ldflags", `-linkmode=external -extldflags "-pie"`)
- cmd.Env = env
+ cmd = t.addCmd(dt, "misc/cgo/nocgo", "go", "test", "-buildmode=pie")
+ cmd.Env = env
- }
}
}
}