From f8a475e0a10488edd8b1d59798cecbeaf03cd291 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Cajka?= Date: Wed, 15 Dec 2021 12:29:40 +0100 Subject: [PATCH] Increase size check limit fixing test failure on ppc64le Resolves: BZ#2030308 --- golang.spec | 4 +++- testshared-size-limit.patch | 39 +++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 testshared-size-limit.patch diff --git a/golang.spec b/golang.spec index 6b3bc28..41bcedf 100644 --- a/golang.spec +++ b/golang.spec @@ -1,7 +1,7 @@ %bcond_with bootstrap # temporalily ignore test failures # due to https://github.com/golang/go/issues/39466 -%ifarch aarch64 ppc64le +%ifarch aarch64 %bcond_without ignore_tests %else %bcond_with ignore_tests @@ -160,6 +160,8 @@ Requires: go-srpm-macros Patch1: 0001-Don-t-use-the-bundled-tzdata-at-runtime-except-for-t.patch Patch2: 0002-syscall-expose-IfInfomsg.X__ifi_pad-on-s390x.patch Patch3: 0003-cmd-go-disable-Google-s-proxy-and-sumdb.patch +#https://go-review.googlesource.com/c/go/+/371634 +Patch4: testshared-size-limit.patch # Having documentation separate was broken Obsoletes: %{name}-docs < 1.1-4 diff --git a/testshared-size-limit.patch b/testshared-size-limit.patch new file mode 100644 index 0000000..2ce88aa --- /dev/null +++ b/testshared-size-limit.patch @@ -0,0 +1,39 @@ +From 69f7249bb644b8eaea9c67c369423fbbfdb6efbf Mon Sep 17 00:00:00 2001 +From: Jakub Čajka +Date: Mon, 13 Dec 2021 15:57:25 +0100 +Subject: [PATCH] misc/cgo/testshared: increase size limit in size check + +Recently in Fedora we switched binutils ld's separate-code on. This +led to increased size of binaries, especially on 64k aligned arches. +For example trivial test binary size grew from 80k to 211k on ppc64le +tripping the size check(RHBZ#2030308). Therefore adjusting the size limit. + +Change-Id: Ic722d90c338739c0b285f40b12ba4d675e9626a2 +--- + +diff --git a/misc/cgo/testshared/shared_test.go b/misc/cgo/testshared/shared_test.go +index d5d018f..6508152 100644 +--- a/misc/cgo/testshared/shared_test.go ++++ b/misc/cgo/testshared/shared_test.go +@@ -462,7 +462,9 @@ + run(t, "trivial executable", "../../bin/trivial") + AssertIsLinkedTo(t, "../../bin/trivial", soname) + AssertHasRPath(t, "../../bin/trivial", gorootInstallDir) +- checkSize(t, "../../bin/trivial", 100000) // it is 19K on linux/amd64, 100K should be enough ++ // It is 19K on linux/amd64, with separate-code in binutils ld and 64k being most common alignment ++ // 4*64k should be enough, but this might need revision eventually. ++ checkSize(t, "../../bin/trivial", 256000) + } + + // Build a trivial program in PIE mode that links against the shared runtime and check it runs. +@@ -471,7 +473,9 @@ + run(t, "trivial executable", "./trivial.pie") + AssertIsLinkedTo(t, "./trivial.pie", soname) + AssertHasRPath(t, "./trivial.pie", gorootInstallDir) +- checkSize(t, "./trivial.pie", 100000) // it is 19K on linux/amd64, 100K should be enough ++ // It is 19K on linux/amd64, with separate-code in binutils ld and 64k being most common alignment ++ // 4*64k should be enough, but this might need revision eventually. ++ checkSize(t, "./trivial.pie", 256000) + } + + // Check that the file size does not exceed a limit.