SHA256
1
0
forked from pool/mold

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:
Ana Guerrero 2023-11-05 11:19:27 +00:00 committed by Git OBS Bridge
commit 0ef77c5478
5 changed files with 28 additions and 106 deletions

View File

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

View File

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

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:db172c0e97606565a81e37995bf5c911606d3f3b9f3829e92cd26985c9b0ed3b
size 9970530

View File

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

View File

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