Increase size check limit fixing test failure on ppc64le

Resolves: BZ#2030308
This commit is contained in:
Jakub Čajka 2021-12-15 12:29:40 +01:00 committed by jcajka
parent aa0c97a20c
commit f8a475e0a1
2 changed files with 42 additions and 1 deletions

View File

@ -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

View File

@ -0,0 +1,39 @@
From 69f7249bb644b8eaea9c67c369423fbbfdb6efbf Mon Sep 17 00:00:00 2001
From: Jakub Čajka <jcajka@redhat.com>
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.