From e0fb05e68f4f7f102d284f451994ffcef167c8d264d2ff2ad844db34847c3e7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Li=C5=A1ka?= Date: Wed, 25 Oct 2023 13:03:08 +0000 Subject: [PATCH] - Add fix-arm.patch in order to fix failing arm-arm_range-extension-thunk2 test. OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/mold?expand=0&rev=102 --- fix-arm.patch | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++ mold.changes | 5 +++ mold.spec | 1 + 3 files changed, 107 insertions(+) create mode 100644 fix-arm.patch diff --git a/fix-arm.patch b/fix-arm.patch new file mode 100644 index 0000000..dd34318 --- /dev/null +++ b/fix-arm.patch @@ -0,0 +1,101 @@ +From aa4b3f7d01bb846142c9863a3f6db6cd08b87e65 Mon Sep 17 00:00:00 2001 +From: Rui Ueyama +Date: Mon, 23 Oct 2023 17:54:35 +0900 +Subject: [PATCH] Attemp to fix a test + +https://github.com/rui314/mold/issues/1134 +--- + test/elf/arm_range-extension-thunk2.sh | 80 +++++++++++++++++++------- + 1 file changed, 59 insertions(+), 21 deletions(-) + +diff --git a/test/elf/arm_range-extension-thunk2.sh b/test/elf/arm_range-extension-thunk2.sh +index 8d8634132..758f6afcc 100755 +--- a/test/elf/arm_range-extension-thunk2.sh ++++ b/test/elf/arm_range-extension-thunk2.sh +@@ -25,27 +25,65 @@ void f17(); + void f18(); + void f19(); + +-__attribute__((aligned(1024*1024))) void f0(int x) { printf("0 "); if (!x) f9(); } +-__attribute__((aligned(1024*1024))) void f1(int x) { printf("1 "); f8(x); } +-__attribute__((aligned(1024*1024))) void f2(int x) { printf("2 "); f7(x); } +-__attribute__((aligned(1024*1024))) void f3(int x) { printf("3 "); f6(x); } +-__attribute__((aligned(1024*1024))) void f4(int x) { printf("4 "); f5(x); } +-__attribute__((aligned(1024*1024))) void f5(int x) { printf("5 "); f10(x); } +-__attribute__((aligned(1024*1024))) void f6(int x) { printf("6 "); f4(x); } +-__attribute__((aligned(1024*1024))) void f7(int x) { printf("7 "); f3(x); } +-__attribute__((aligned(1024*1024))) void f8(int x) { printf("8 "); f2(x); } +-__attribute__((aligned(1024*1024))) void f9(int x) { printf("9 "); f1(x); } +- +-__attribute__((aligned(8*1024*1024))) void f10(int x) { printf("10 "); f19(x); } +-__attribute__((aligned(8*1024*1024))) void f11(int x) { printf("11 "); f18(x); } +-__attribute__((aligned(8*1024*1024))) void f12(int x) { printf("12 "); f17(x); } +-__attribute__((aligned(8*1024*1024))) void f13(int x) { printf("13 "); f16(x); } +-__attribute__((aligned(8*1024*1024))) void f14(int x) { printf("14 "); f15(x); } +-__attribute__((aligned(8*1024*1024))) void f15(int x) { printf("15 "); f0(x + 1); } +-__attribute__((aligned(8*1024*1024))) void f16(int x) { printf("16 "); f14(x); } +-__attribute__((aligned(8*1024*1024))) void f17(int x) { printf("17 "); f13(x); } +-__attribute__((aligned(8*1024*1024))) void f18(int x) { printf("18 "); f12(x); } +-__attribute__((aligned(8*1024*1024))) void f19(int x) { printf("19 "); f11(x); } ++void f0(int x) { printf("0 "); if (!x) f9(); } ++void space0() { __asm__(".space 1024*1024"); } ++ ++void f1(int x) { printf("1 "); f8(x); } ++void space1() { __asm__(".space 1024*1024"); } ++ ++void f2(int x) { printf("2 "); f7(x); } ++void space2() { __asm__(".space 1024*1024"); } ++ ++void f3(int x) { printf("3 "); f6(x); } ++void space3() { __asm__(".space 1024*1024"); } ++ ++void f4(int x) { printf("4 "); f5(x); } ++void space4() { __asm__(".space 1024*1024"); } ++ ++void f5(int x) { printf("5 "); f10(x); } ++void space5() { __asm__(".space 1024*1024"); } ++ ++void f6(int x) { printf("6 "); f4(x); } ++void space6() { __asm__(".space 1024*1024"); } ++ ++void f7(int x) { printf("7 "); f3(x); } ++void space7() { __asm__(".space 1024*1024"); } ++ ++void f8(int x) { printf("8 "); f2(x); } ++void space8() { __asm__(".space 1024*1024"); } ++ ++void f9(int x) { printf("9 "); f1(x); } ++void space9() { __asm__(".space 1024*1024"); } ++ ++void f10(int x) { printf("10 "); f19(x); } ++void space10() { __asm__(".space 8*1024*1024"); } ++ ++void f11(int x) { printf("11 "); f18(x); } ++void space11() { __asm__(".space 8*1024*1024"); } ++ ++void f12(int x) { printf("12 "); f17(x); } ++void space12() { __asm__(".space 8*1024*1024"); } ++ ++void f13(int x) { printf("13 "); f16(x); } ++void space13() { __asm__(".space 8*1024*1024"); } ++ ++void f14(int x) { printf("14 "); f15(x); } ++void space14() { __asm__(".space 8*1024*1024"); } ++ ++void f15(int x) { printf("15 "); f0(x + 1); } ++void space15() { __asm__(".space 8*1024*1024"); } ++ ++void f16(int x) { printf("16 "); f14(x); } ++void space16() { __asm__(".space 8*1024*1024"); } ++ ++void f17(int x) { printf("17 "); f13(x); } ++void space17() { __asm__(".space 8*1024*1024"); } ++ ++void f18(int x) { printf("18 "); f12(x); } ++void space18() { __asm__(".space 8*1024*1024"); } ++ ++void f19(int x) { printf("19 "); f11(x); } ++void space19() { __asm__(".space 8*1024*1024"); } + + int main() { + f0(0); diff --git a/mold.changes b/mold.changes index 1e59714..21743a4 100644 --- a/mold.changes +++ b/mold.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Oct 25 13:02:13 UTC 2023 - Martin Liška + +- Add fix-arm.patch in order to fix failing arm-arm_range-extension-thunk2 test. + ------------------------------------------------------------------- Fri Oct 20 08:21:20 UTC 2023 - Martin Liška diff --git a/mold.spec b/mold.spec index 8a632db..3e772e6 100644 --- a/mold.spec +++ b/mold.spec @@ -25,6 +25,7 @@ Group: Development/Tools/Building URL: https://github.com/rui314/mold Source: https://github.com/rui314/mold/archive/v%{version}/mold-%{version}.tar.gz Patch0: build-blake-3-as-static.patch +Patch1: fix-arm.patch BuildRequires: cmake %if %{suse_version} < 1550 BuildRequires: gcc11-c++