Accepting request 1123388 from devel:tools:compiler
- 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/<uid>. (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) OBS-URL: https://build.opensuse.org/request/show/1123388 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mold?expand=0&rev=37
This commit is contained in:
commit
0ef77c5478
101
fix-arm.patch
101
fix-arm.patch
@ -1,101 +0,0 @@
|
||||
From aa4b3f7d01bb846142c9863a3f6db6cd08b87e65 Mon Sep 17 00:00:00 2001
|
||||
From: Rui Ueyama <ruiu@cs.stanford.edu>
|
||||
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);
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:380f540114408c37bcdb7f3bda91a056448a93124ca6992a373ae2bda35e9af7
|
||||
size 9958470
|
3
mold-2.3.2.tar.gz
Normal file
3
mold-2.3.2.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:db172c0e97606565a81e37995bf5c911606d3f3b9f3829e92cd26985c9b0ed3b
|
||||
size 9970530
|
24
mold.changes
24
mold.changes
@ -1,3 +1,27 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 5 06:53:29 UTC 2023 - Martin Liška <martin.liska@hey.com>
|
||||
|
||||
- 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/<uid>. (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 <martin.liska@hey.com>
|
||||
|
||||
|
@ -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++
|
||||
|
Loading…
x
Reference in New Issue
Block a user