[packages/mold] up to 1.7.0

atler atler at pld-linux.org
Sun Nov 13 09:09:16 CET 2022


commit 5ef7b19bef47f76457d62fa166acbea27b0c3e60
Author: Jan Palus <atler at pld-linux.org>
Date:   Sun Nov 13 09:08:50 2022 +0100

    up to 1.7.0

 mold.spec        |  8 +++----
 x86-nonpic.patch | 72 --------------------------------------------------------
 2 files changed, 3 insertions(+), 77 deletions(-)
---
diff --git a/mold.spec b/mold.spec
index f2a812b..4bbce2c 100644
--- a/mold.spec
+++ b/mold.spec
@@ -4,13 +4,12 @@
 
 Summary:	mold: A Modern Linker
 Name:		mold
-Version:	1.6.0
-Release:	2
+Version:	1.7.0
+Release:	1
 License:	GPL v3+
 Group:		Development/Libraries
 Source0:	https://github.com/rui314/mold/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	f6eb0adbc0ebd5dc75aed698bddd1a0e
-Patch0:		x86-nonpic.patch
+# Source0-md5:	fc81cda0d7d3335582a715624f307d36
 URL:		https://github.com/rui314/mold
 BuildRequires:	cmake >= 3.13
 %{?with_tests:BuildRequires:	glibc-static}
@@ -39,7 +38,6 @@ especially in rapid debug-edit-rebuild cycles.
 
 %prep
 %setup -q
-%patch0 -p1
 
 %{__rm} -r third-party/{mimalloc,tbb}
 
diff --git a/x86-nonpic.patch b/x86-nonpic.patch
deleted file mode 100644
index 615b112..0000000
--- a/x86-nonpic.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 2aa24949c7214c20cfc943a4862b5ff63470112f Mon Sep 17 00:00:00 2001
-From: Rui Ueyama <ruiu at bluewhale.systems>
-Date: Wed, 19 Oct 2022 19:33:18 +0800
-Subject: [PATCH] [ELF][i386] Allow R_386_PC32 after R_386_TLS_{GD,LDM}
-
-I don't know why GCC sometimes creates a PC32 relocation instead of
-PLT32 after a TLS_GD/TLS_LDM. I believe it's strictly speaking a
-violation of the psABI. But we need to handle such input.
-
-Fixes https://github.com/rui314/mold/issues/794
----
- elf/arch-i386.cc | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/elf/arch-i386.cc b/elf/arch-i386.cc
-index 46391844..20563faa 100644
---- a/elf/arch-i386.cc
-+++ b/elf/arch-i386.cc
-@@ -485,7 +485,8 @@ void InputSection<E>::scan_relocations(Context<E> &ctx) {
-         Fatal(ctx) << *this << ": TLS_GD reloc must be followed by PLT or GOT32";
- 
-       if (u32 ty = rels[i + 1].r_type;
--          ty != R_386_PLT32 && ty != R_386_GOT32 && ty != R_386_GOT32X)
-+          ty != R_386_PLT32 && ty != R_386_PC32 &&
-+          ty != R_386_GOT32 && ty != R_386_GOT32X)
-         Fatal(ctx) << *this << ": TLS_GD reloc must be followed by PLT or GOT32";
- 
-       if (relax_tlsgd(ctx, sym))
-@@ -498,7 +499,8 @@ void InputSection<E>::scan_relocations(Context<E> &ctx) {
-         Fatal(ctx) << *this << ": TLS_LDM reloc must be followed by PLT or GOT32";
- 
-       if (u32 ty = rels[i + 1].r_type;
--          ty != R_386_PLT32 && ty != R_386_GOT32 && ty != R_386_GOT32X)
-+          ty != R_386_PLT32 && ty != R_386_PC32 &&
-+          ty != R_386_GOT32 && ty != R_386_GOT32X)
-         Fatal(ctx) << *this << ": TLS_LDM reloc must be followed by PLT or GOT32";
- 
-       if (relax_tlsld(ctx))
-From 288cd5b4007a0a20da9aab52ab56067ad46866e8 Mon Sep 17 00:00:00 2001
-From: Rui Ueyama <ruiu at bluewhale.systems>
-Date: Wed, 19 Oct 2022 20:14:53 +0800
-Subject: [PATCH] [ELF][i386] Fix assertion failure
-
-https://github.com/rui314/mold/issues/794
----
- elf/arch-i386.cc | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/elf/arch-i386.cc b/elf/arch-i386.cc
-index 20563faa..87524fd1 100644
---- a/elf/arch-i386.cc
-+++ b/elf/arch-i386.cc
-@@ -234,7 +234,8 @@ void InputSection<E>::apply_reloc_alloc(Context<E> &ctx, u8 *base) {
-       } else {
-         // Relax GD to LE
-         switch (rels[i + 1].r_type) {
--        case R_386_PLT32: {
-+        case R_386_PLT32:
-+        case R_386_PC32: {
-           static const u8 insn[] = {
-             0x65, 0xa1, 0, 0, 0, 0, // mov %gs:0, %eax
-             0x81, 0xe8, 0, 0, 0, 0, // add $val, %eax
-@@ -266,7 +267,8 @@ void InputSection<E>::apply_reloc_alloc(Context<E> &ctx, u8 *base) {
-       } else {
-         // Relax LD to LE
-         switch (rels[i + 1].r_type) {
--        case R_386_PLT32: {
-+        case R_386_PLT32:
-+        case R_386_PC32: {
-           static const u8 insn[] = {
-             0x31, 0xc0,             // xor %eax, %eax
-             0x65, 0x8b, 0x00,       // mov %gs:(%eax), %eax
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mold.git/commitdiff/5ef7b19bef47f76457d62fa166acbea27b0c3e60



More information about the pld-cvs-commit mailing list