diff --git a/fix-arm.patch b/fix-arm.patch deleted file mode 100644 index dd34318..0000000 --- a/fix-arm.patch +++ /dev/null @@ -1,101 +0,0 @@ -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-2.3.1.tar.gz b/mold-2.3.1.tar.gz deleted file mode 100644 index 19998f3..0000000 --- a/mold-2.3.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:380f540114408c37bcdb7f3bda91a056448a93124ca6992a373ae2bda35e9af7 -size 9958470 diff --git a/mold-2.3.2.tar.gz b/mold-2.3.2.tar.gz new file mode 100644 index 0000000..c831f39 --- /dev/null +++ b/mold-2.3.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db172c0e97606565a81e37995bf5c911606d3f3b9f3829e92cd26985c9b0ed3b +size 9970530 diff --git a/mold.changes b/mold.changes index 21743a4..4735703 100644 --- a/mold.changes +++ b/mold.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Sun Nov 5 06:53:29 UTC 2023 - Martin Liška + +- Update to version 2.3.2 + * Remove upstream patch fix-arm.patch. + * mold no longer emits dynamic relocations against the text segment for GNU ifunc + symbols. Previously, mold emitted such relocations for position-dependent + executables. (4cdfc7e) + * mold no longer reports the "REL-type relocation table is not supported for this + target" error and instead ignore incompatible relocation tables. LLVM generates + such non-conforming relocation tables for the .llvm.call-graph-profile section. + This change was made for compatibility. (3791900) + * mold now pads unused gaps in the text segment with interrupt or NOP + instructions, instead of leaving them filled with zeros. This alteration does + not change the program's semantics but prevents disassemblers from interpreting + the spaces between functions as valid instructions. (c86a59a) + * mold now creates the .mold-lock file for MOLD_JOBS not in the home directory but + in $XDG_RUNTIME_DIR, which is usually /var/user/. (39cdf61) + * [ARM32] There was an issue preventing mold from being built on an ARMv8 64-bit + ARM processor with an ARM32 userland, such as the 32-bit Raspberry Pi OS running + on a Raspberry Pi 4. This build issue has been resolved. (02ead29) + * [LoongArch] mold can now handle R_LARCH_PCALA_LO12 relocation for the jirl + instruction. (d3188e3) + ------------------------------------------------------------------- Wed Oct 25 13:02:13 UTC 2023 - Martin Liška diff --git a/mold.spec b/mold.spec index 3e772e6..0d9a824 100644 --- a/mold.spec +++ b/mold.spec @@ -17,7 +17,7 @@ Name: mold -Version: 2.3.1 +Version: 2.3.2 Release: 0 Summary: A Modern Linker (mold) License: MIT @@ -25,7 +25,6 @@ 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++