From f914321433430c5928de8092135d76c62bc3a70a Mon Sep 17 00:00:00 2001 From: Caio Raposo Date: Tue, 24 Oct 2023 20:24:16 -0300 Subject: [PATCH] mold: update to 2.3.1. --- .../fix-arm-range-extension-thunk2.patch | 101 ++++++++++++++++++ .../mold/patches/skip-tlsdesc-on-arm.patch | 24 +++++ srcpkgs/mold/template | 4 +- 3 files changed, 127 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/mold/patches/fix-arm-range-extension-thunk2.patch create mode 100644 srcpkgs/mold/patches/skip-tlsdesc-on-arm.patch diff --git a/srcpkgs/mold/patches/fix-arm-range-extension-thunk2.patch b/srcpkgs/mold/patches/fix-arm-range-extension-thunk2.patch new file mode 100644 index 0000000000000..063a20c79cec0 --- /dev/null +++ b/srcpkgs/mold/patches/fix-arm-range-extension-thunk2.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/srcpkgs/mold/patches/skip-tlsdesc-on-arm.patch b/srcpkgs/mold/patches/skip-tlsdesc-on-arm.patch new file mode 100644 index 0000000000000..36bd093194660 --- /dev/null +++ b/srcpkgs/mold/patches/skip-tlsdesc-on-arm.patch @@ -0,0 +1,24 @@ +From 2d4ba3ac74bdccd5409b65ced7044b67c6923ab9 Mon Sep 17 00:00:00 2001 +From: Rui Ueyama +Date: Mon, 23 Oct 2023 23:45:37 +0900 +Subject: [PATCH] Skip a test if musl + +musl's tlsdesc implementation for arm32 is buggy. + +Fixes https://github.com/rui314/mold/issues/1135 +--- + test/elf/arm_tlsdesc.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/test/elf/arm_tlsdesc.sh b/test/elf/arm_tlsdesc.sh +index 42ea8e99f..af6de79c4 100755 +--- a/test/elf/arm_tlsdesc.sh ++++ b/test/elf/arm_tlsdesc.sh +@@ -2,6 +2,7 @@ + . $(dirname $0)/common.inc + + [ $MACHINE = arm ] || skip ++is_musl && skip + + echo 'int main() {}' | $GCC -c -o /dev/null -xc - -O0 -mthumb >& /dev/null \ + || skip diff --git a/srcpkgs/mold/template b/srcpkgs/mold/template index d3497a5afeca8..af1d55f6b10ff 100644 --- a/srcpkgs/mold/template +++ b/srcpkgs/mold/template @@ -1,6 +1,6 @@ # Template file for 'mold' pkgname=mold -version=2.1.0 +version=2.3.1 revision=1 build_style=cmake configure_args="-DMOLD_USE_SYSTEM_MIMALLOC=ON @@ -14,7 +14,7 @@ maintainer="Peter Wang " license="MIT" homepage="https://github.com/rui314/mold" distfiles="https://github.com/rui314/mold/archive/refs/tags/v${version}.tar.gz" -checksum=a32bec1282671b18ea4691855aed925ea2f348dfef89cb7689cd81273ea0c5df +checksum=380f540114408c37bcdb7f3bda91a056448a93124ca6992a373ae2bda35e9af7 post_install() { vlicense LICENSE