From fd35a6b7272031da507ae33144ae16cc61014786 Mon Sep 17 00:00:00 2001 From: Christoph Erhardt Date: Sat, 30 Apr 2022 21:20:16 +0200 Subject: [PATCH] Drop compatibility patch for mimalloc < 2.0.6 on epel8 Now that mimalloc 2.0.6 is available there, it is no longer needed. --- 0002-Fix-compatibility-with-libstdc-9.patch | 40 --------------------- mold.spec | 4 --- 2 files changed, 44 deletions(-) delete mode 100644 0002-Fix-compatibility-with-libstdc-9.patch diff --git a/0002-Fix-compatibility-with-libstdc-9.patch b/0002-Fix-compatibility-with-libstdc-9.patch deleted file mode 100644 index 710ceb7..0000000 --- a/0002-Fix-compatibility-with-libstdc-9.patch +++ /dev/null @@ -1,40 +0,0 @@ -From d068fb0caae8c8db97ee59ba400929f5f97f8be1 Mon Sep 17 00:00:00 2001 -Message-Id: -From: Christoph Erhardt -Date: Tue, 22 Feb 2022 21:21:18 +0100 -Subject: [PATCH] Fix compatibility with libstdc++ < 9 - -mimalloc does not override the `nothrow` variants of the `delete` -operator because it assumes that their implementation in libstdc++ -redirects to the default `delete` operators. This is not the case for -libstdc++ < 9, where `std::free()` is called directly. - -Upstream bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68210 - -This patch ensures that the `nothrow` `delete` operators are overridden -as well. ---- - main.cc | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/main.cc b/main.cc -index b390b0f7..5c1f5450 100644 ---- a/main.cc -+++ b/main.cc -@@ -6,6 +6,13 @@ - - #ifdef USE_SYSTEM_MIMALLOC - #include -+ -+// Additionally override the nothrow delete operators for compatibility with -+// buggy libstdc++ < 9 -+#if MI_MALLOC_VERSION < 206 -+void operator delete(void* p, const std::nothrow_t&) noexcept { mi_free(p); } -+void operator delete[](void* p, const std::nothrow_t&) noexcept { mi_free(p); } -+#endif - #endif - - namespace mold { --- -2.35.1 - diff --git a/mold.spec b/mold.spec index 14c2bc5..ccf7284 100644 --- a/mold.spec +++ b/mold.spec @@ -17,10 +17,6 @@ Patch0: tbb-strip-werror.patch # Skip test if dwarfdump is unavailable Patch1: 0001-Skip-test-if-dwarfdump-is-unavailable.patch -# Fix mimalloc compatibility with libstdc++ < 9: -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68210 -Patch2: 0002-Fix-compatibility-with-libstdc-9.patch - # mold can produce native binaries for i686, x86_64, ARMv7, aarch64 and riscv64, # but it only runs on a 64-bit host ExclusiveArch: x86_64 aarch64 riscv64