Skip to content

Commit

Permalink
Dependency version bumps
Browse files Browse the repository at this point in the history
- Update librsvg to 2.57.1.
- Update libxml2 to 2.12.3.
- Update ImageMagick to 6.9.13-1.
  • Loading branch information
kleisauke committed Dec 17, 2023
1 parent 56f7e9a commit 81fa588
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 247 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ Run the top-level [build script](build.sh) with the `--help` parameter for help.
| [libheif] | 1.17.5 | LGPLv3 |
| [libimagequant] | 2.4.1¹ | BSD 2-Clause |
| [libpng] | 1.6.40 | [libpng License version 2] |
| [librsvg] | 2.57.0 | LGPLv3 |
| [librsvg] | 2.57.1 | LGPLv3 |
| [libspng] | 0.7.4 | BSD 2-Clause |
| [libtiff] | 4.6.0 | [libtiff License] (BSD-like) |
| [libvips] | 8.15.0 | LGPLv3 |
| [libwebp] | 1.3.2 | New BSD License |
| [libxml2] | 2.12.2 | MIT Licence |
| [libxml2] | 2.12.3 | MIT Licence |
| [mozjpeg] | 4.1.5 | [zlib License, IJG License, BSD-3-Clause] |
| [pango] | 1.51.0 | LGPLv3 |
| [pixman] | 0.42.2 | MIT Licence |
Expand Down Expand Up @@ -95,7 +95,7 @@ Same as libvips-web + these extra dependencies:
| [brotli] | 1.1.0 | MIT Licence |
| [cfitsio] | 4.3.1 | BSD-like |
| [fftw] | 3.3.10 | GPLv2 |
| [imagemagick] | 6.9.13-0 | [ImageMagick License] (Apache-2.0-like) |
| [imagemagick] | 6.9.13-1 | [ImageMagick License] (Apache-2.0-like) |
| [imath] | 3.1.9 | BSD 3-Clause |
| [libdicom] | 1.0.5 | MIT Licence |
| [libjxl] | 0.8.2 | BSD 3-Clause |
Expand Down
15 changes: 6 additions & 9 deletions build/overrides.mk
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ gdk-pixbuf_URL := https://download.gnome.org/sources/gdk-pixbuf/$(call SHOR

# no longer needed by libvips, but some of the deps need it
# upstream version is 2.11.1
libxml2_VERSION := 2.12.2
libxml2_CHECKSUM := 3f2e6464fa15073eb8f3d18602d54fafc489b7715171064615a40490c6be9f4f
libxml2_VERSION := 2.12.3
libxml2_CHECKSUM := 8c8f1092340a89ff32bc44ad5c9693aff9bc8a7a3e161bb239666e5d15ac9aaa
libxml2_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/libxml2-[0-9]*.patch)))
libxml2_SUBDIR := libxml2-$(libxml2_VERSION)
libxml2_FILE := libxml2-$(libxml2_VERSION).tar.xz
Expand All @@ -46,8 +46,8 @@ libarchive_FILE := libarchive-$(libarchive_VERSION).tar.xz
libarchive_URL := https://github.com/libarchive/libarchive/releases/download/v$(libarchive_VERSION)/$(libarchive_FILE)

# upstream version is 7, we want ImageMagick 6
imagemagick_VERSION := 6.9.13-0
imagemagick_CHECKSUM := 2885de49e8464812add81989bd400231daf66825f70da6b617cea554b83b595d
imagemagick_VERSION := 6.9.13-1
imagemagick_CHECKSUM := f2ecb7e352c6acbecb44366e415701766d54d51499160773742bf163788a31b2
imagemagick_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/imagemagick-[0-9]*.patch)))
imagemagick_GH_CONF := ImageMagick/ImageMagick6/tags

Expand All @@ -60,8 +60,8 @@ graphicsmagick_FILE := GraphicsMagick-$(graphicsmagick_VERSION).tar.lz
graphicsmagick_URL := https://$(SOURCEFORGE_MIRROR)/project/graphicsmagick/graphicsmagick/$(graphicsmagick_VERSION)/$(graphicsmagick_FILE)

# upstream version is 2.40.21
librsvg_VERSION := 2.57.0
librsvg_CHECKSUM := 335fe2e0c2cbf1b7bf0668651224a23e135451f0b1793cd813649be2bffa74e8
librsvg_VERSION := 2.57.1
librsvg_CHECKSUM := 074671a3ed6fbcd67cae2a40e539107f4f097ca8a4ab1a894c05e2524ff340ef
librsvg_PATCHES := $(realpath $(sort $(wildcard $(dir $(lastword $(MAKEFILE_LIST)))/patches/librsvg-[0-9]*.patch)))
librsvg_SUBDIR := librsvg-$(librsvg_VERSION)
librsvg_FILE := librsvg-$(librsvg_VERSION).tar.xz
Expand Down Expand Up @@ -581,9 +581,6 @@ define librsvg_BUILD
# Update expected Cargo SHA256 hashes for the vendored files we have patched
$(SED) -i 's/1cb3a78f27813219776604dc99a86b95c3c4649c34a06f840440433ffb178c1d/930123760293dc184dbabc209c73cbfc079af5ca3eaabd76a06316bafbd399a3/' '$(SOURCE_DIR)/vendor/cfg-expr/.cargo-checksum.json'; \
$(SED) -i 's/c3d31731175775918d2e7b3e4c19457085be966b85992e33e75435bda32acd9f/0ffa5a52d0b1c19b327ead7d1d39c9582c950a4d0770bf8c0ec2ec462ff710c7/' '$(SOURCE_DIR)/vendor/compiler_builtins/.cargo-checksum.json'; \
$(SED) -i 's/8bf710288f88cfbf67e510f68abbb5a4f7173d2ea9ef32f98d594935fc051641/891c080ebd853786846af1987ca5bdb92485a792d3ec7281cf20ddaef94c9b21/' '$(SOURCE_DIR)/vendor/compiler_builtins/.cargo-checksum.json'; \
$(SED) -i 's/01bdacaccadd2b9b69183f9b5a28d010d3454d886841432f51aa79cb274c24ec/014ceac5eddbc6492e09f1a1f1bbc6dc65bb061450df613f1b3e32c00387e1df/' '$(SOURCE_DIR)/vendor/windows-sys/.cargo-checksum.json'; \
$(SED) -i 's/e990dd3ef1561f99521c4129a261a38130c823addf52f46b341fe99960d4cb74/b819750a2bb403807ebabb845b88707e81359b1c01782424dcb07f44acd001de/' '$(SOURCE_DIR)/vendor/windows-sys/.cargo-checksum.json'; \
# Install Cargo config
$(INSTALL) -d '$(SOURCE_DIR)/.cargo'
(echo '[source.crates-io]'; \
Expand Down
4 changes: 2 additions & 2 deletions build/patches/librsvg-2-fixes.patch
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ index 1111111..2222222 100644
[dependencies]
# Keep these in sync with respect to the cairo-rs version:
# src/lib.rs - toplevel example in the docs
-cairo-rs = { version = "0.18", features=["v1_16", "png", "pdf", "ps", "svg"] }
+cairo-rs = { version = "0.18", features=["v1_16", "png", "svg"] }
-cairo-rs = { version = "0.18.2", features=["v1_16", "png", "pdf", "ps", "svg"] }
+cairo-rs = { version = "0.18.2", features=["v1_16", "png", "svg"] }
cast = "0.3.0"
cssparser = "~0.31"
data-url = "0.3.0"
226 changes: 2 additions & 224 deletions build/patches/librsvg-llvm-mingw.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kleis Auke Wolthuizen <[email protected]>
Date: Wed, 5 May 2021 21:00:00 +0200
Subject: [PATCH 1/4] Add llvm-mingw i686/ARMv7 targets
Subject: [PATCH 1/2] Add llvm-mingw i686/ARMv7 targets

Upstream-Status: Inappropriate [enable feature]
Upstream only accepts Rust targets that are available in stable releases.
Expand Down Expand Up @@ -54,7 +54,7 @@ index 1111111..2222222 100644
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kleis Auke Wolthuizen <[email protected]>
Date: Mon, 21 Sep 2020 11:00:00 +0200
Subject: [PATCH 2/4] Fix linker error on `armv7-pc-windows-gnullvm`
Subject: [PATCH 2/2] Fix linker error on `armv7-pc-windows-gnullvm`

Details:
lld-link: error: undefined symbol: __aeabi_idiv
Expand All @@ -75,225 +75,3 @@ index 1111111..2222222 100644
{
sources.extend(&[
("__aeabi_div0", "arm/aeabi_div0.c"),

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kleis Auke Wolthuizen <[email protected]>
Date: Tue, 15 Feb 2022 11:38:18 +0100
Subject: [PATCH 3/4] Use appropriate fix/float aliases on llvm-mingw

See: https://github.com/llvm/llvm-project/commit/e6407356ba008e474322d52b7d031f65fa4913fc

Details:
ld.lld: error: duplicate symbol: __floatdisf
>>> defined at libclang_rt.builtins-arm.a(floatdisf.c.obj)
>>> defined at libcompiler_builtins-<HASH>.rlib(<O_FILE>)

ld.lld: error: duplicate symbol: __floatdidf
>>> defined at libclang_rt.builtins-arm.a(floatdidf.c.obj)
>>> defined at libcompiler_builtins-<HASH>.rlib(<O_FILE>)

ld.lld: error: duplicate symbol: __floatundisf
>>> defined at libclang_rt.builtins-arm.a(floatundisf.c.obj)
>>> defined at libcompiler_builtins-<HASH>.rlib(<O_FILE>)

ld.lld: error: duplicate symbol: __floatundidf
>>> defined at libclang_rt.builtins-arm.a(floatundidf.c.obj)
>>> defined at libcompiler_builtins-<HASH>.rlib(<O_FILE>)

ld.lld: error: duplicate symbol: __fixsfdi
>>> defined at libclang_rt.builtins-arm.a(fixsfdi.c.obj)
>>> defined at libcompiler_builtins-<HASH>.rlib(<O_FILE>)

ld.lld: error: duplicate symbol: __fixdfdi
>>> defined at libclang_rt.builtins-arm.a(fixdfdi.c.obj)
>>> defined at libcompiler_builtins-<HASH>.rlib(<O_FILE>)

ld.lld: error: duplicate symbol: __fixunssfdi
>>> defined at libclang_rt.builtins-arm.a(fixunssfdi.c.obj)
>>> defined at libcompiler_builtins-<HASH>.rlib(<O_FILE>)

ld.lld: error: duplicate symbol: __fixunsdfdi
>>> defined at libclang_rt.builtins-arm.a(fixunsdfdi.c.obj)
>>> defined at libcompiler_builtins-<HASH>.rlib(<O_FILE>)

Upstream-Status: Inappropriate [Windows specific]
This is Windows specific and would break compatibility with other Rust ARMv7 targets.

diff --git a/vendor/compiler_builtins/src/float/conv.rs b/vendor/compiler_builtins/src/float/conv.rs
index 1111111..2222222 100644
--- a/vendor/compiler_builtins/src/float/conv.rs
+++ b/vendor/compiler_builtins/src/float/conv.rs
@@ -82,12 +82,12 @@ intrinsics! {
f64::from_bits(int_to_float::u32_to_f64_bits(i))
}

- #[arm_aeabi_alias = __aeabi_ul2f]
+ #[arm_aeabi_alias = __u64tos]
pub extern "C" fn __floatundisf(i: u64) -> f32 {
f32::from_bits(int_to_float::u64_to_f32_bits(i))
}

- #[arm_aeabi_alias = __aeabi_ul2d]
+ #[arm_aeabi_alias = __u64tod]
pub extern "C" fn __floatundidf(i: u64) -> f64 {
f64::from_bits(int_to_float::u64_to_f64_bits(i))
}
@@ -117,13 +117,13 @@ intrinsics! {
f64::from_bits(int_to_float::u32_to_f64_bits(i.unsigned_abs()) | sign_bit)
}

- #[arm_aeabi_alias = __aeabi_l2f]
+ #[arm_aeabi_alias = __i64tos]
pub extern "C" fn __floatdisf(i: i64) -> f32 {
let sign_bit = ((i >> 63) as u32) << 31;
f32::from_bits(int_to_float::u64_to_f32_bits(i.unsigned_abs()) | sign_bit)
}

- #[arm_aeabi_alias = __aeabi_l2d]
+ #[arm_aeabi_alias = __i64tod]
pub extern "C" fn __floatdidf(i: i64) -> f64 {
let sign_bit = ((i >> 63) as u64) << 63;
f64::from_bits(int_to_float::u64_to_f64_bits(i.unsigned_abs()) | sign_bit)
@@ -160,7 +160,7 @@ intrinsics! {
}
}

- #[arm_aeabi_alias = __aeabi_f2ulz]
+ #[arm_aeabi_alias = __stou64]
pub extern "C" fn __fixunssfdi(f: f32) -> u64 {
let fbits = f.to_bits();
if fbits < 127 << 23 { // >= 0, < 1
@@ -208,7 +208,7 @@ intrinsics! {
}
}

- #[arm_aeabi_alias = __aeabi_d2ulz]
+ #[arm_aeabi_alias = __dtou64]
pub extern "C" fn __fixunsdfdi(f: f64) -> u64 {
let fbits = f.to_bits();
if fbits < 1023 << 52 { // >= 0, < 1
@@ -260,7 +260,7 @@ intrinsics! {
}
}

- #[arm_aeabi_alias = __aeabi_f2lz]
+ #[arm_aeabi_alias = __stoi64]
pub extern "C" fn __fixsfdi(f: f32) -> i64 {
let fbits = f.to_bits() & !0 >> 1; // Remove sign bit.
if fbits < 127 << 23 { // >= 0, < 1
@@ -311,7 +311,7 @@ intrinsics! {
}
}

- #[arm_aeabi_alias = __aeabi_d2lz]
+ #[arm_aeabi_alias = __dtoi64]
pub extern "C" fn __fixdfdi(f: f64) -> i64 {
let fbits = f.to_bits() & !0 >> 1; // Remove sign bit.
if fbits < 1023 << 52 { // >= 0, < 1

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kleis Auke Wolthuizen <[email protected]>
Date: Sat, 30 Apr 2022 16:05:00 +0200
Subject: [PATCH 4/4] Fix build errors on `armv7-pc-windows-gnullvm`

Details:
error[E0412]: cannot find type `WSADATA` in this scope
--> vendor/windows-sys/src/Windows/Win32/Networking/WinSock/mod.rs:347:63
|
347 | pub fn WSAStartup(wversionrequested: u16, lpwsadata: *mut WSADATA) -> i32;
| ^^^^^^^ help: a struct with a similar name exists: `WSPDATA`
...
8679 | pub struct WSPDATA {
| ------------------ similarly named struct `WSPDATA` defined here

error[E0412]: cannot find type `SERVENT` in this scope
--> vendor/windows-sys/src/Windows/Win32/Networking/WinSock/mod.rs:481:103
|
481 | pub fn getservbyname(name: ::windows_sys::core::PCSTR, proto: ::windows_sys::core::PCSTR) -> *mut SERVENT;
| ^^^^^^^ not found in this scope

error[E0412]: cannot find type `SERVENT` in this scope
--> vendor/windows-sys/src/Windows/Win32/Networking/WinSock/mod.rs:483:80
|
483 | pub fn getservbyport(port: i32, proto: ::windows_sys::core::PCSTR) -> *mut SERVENT;
| ^^^^^^^ not found in this scope

error[E0412]: cannot find type `DELAYLOAD_INFO` in this scope
--> vendor/windows-sys/src/Windows/Win32/System/WindowsProgramming/mod.rs:3241:140
|
3241 | ..._CALLBACK = ::core::option::Option<unsafe extern "system" fn(notificationreason: u32, delayloadinfo: *const DELAYLOAD_INFO) -> *mut ::...
| - help: you might be missing a type parameter: `<DELAYLOAD_INFO>` ^^^^^^^^^^^^^^ not found in this scope

Upstream-Status: Pending

diff --git a/vendor/windows-sys/src/Windows/Win32/Networking/WinSock/mod.rs b/vendor/windows-sys/src/Windows/Win32/Networking/WinSock/mod.rs
index 1111111..2222222 100644
--- a/vendor/windows-sys/src/Windows/Win32/Networking/WinSock/mod.rs
+++ b/vendor/windows-sys/src/Windows/Win32/Networking/WinSock/mod.rs
@@ -6619,16 +6619,16 @@ impl ::core::clone::Clone for SERVENT {
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Networking_WinSock\"`*"]
-#[cfg(target_arch = "x86")]
+#[cfg(any(target_arch = "arm", target_arch = "x86"))]
pub struct SERVENT {
pub s_name: ::windows_sys::core::PSTR,
pub s_aliases: *mut *mut i8,
pub s_port: i16,
pub s_proto: ::windows_sys::core::PSTR,
}
-#[cfg(target_arch = "x86")]
+#[cfg(any(target_arch = "arm", target_arch = "x86"))]
impl ::core::marker::Copy for SERVENT {}
-#[cfg(target_arch = "x86")]
+#[cfg(any(target_arch = "arm", target_arch = "x86"))]
impl ::core::clone::Clone for SERVENT {
fn clone(&self) -> Self {
*self
@@ -7860,7 +7860,7 @@ impl ::core::clone::Clone for WSADATA {
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_Networking_WinSock\"`*"]
-#[cfg(target_arch = "x86")]
+#[cfg(any(target_arch = "arm", target_arch = "x86"))]
pub struct WSADATA {
pub wVersion: u16,
pub wHighVersion: u16,
@@ -7870,9 +7870,9 @@ pub struct WSADATA {
pub iMaxUdpDg: u16,
pub lpVendorInfo: ::windows_sys::core::PSTR,
}
-#[cfg(target_arch = "x86")]
+#[cfg(any(target_arch = "arm", target_arch = "x86"))]
impl ::core::marker::Copy for WSADATA {}
-#[cfg(target_arch = "x86")]
+#[cfg(any(target_arch = "arm", target_arch = "x86"))]
impl ::core::clone::Clone for WSADATA {
fn clone(&self) -> Self {
*self

diff --git a/vendor/windows-sys/src/Windows/Win32/System/WindowsProgramming/mod.rs b/vendor/windows-sys/src/Windows/Win32/System/WindowsProgramming/mod.rs
index 1111111..2222222 100644
--- a/vendor/windows-sys/src/Windows/Win32/System/WindowsProgramming/mod.rs
+++ b/vendor/windows-sys/src/Windows/Win32/System/WindowsProgramming/mod.rs
@@ -2241,7 +2241,7 @@ impl ::core::clone::Clone for DELAYLOAD_INFO {
}
#[repr(C)]
#[doc = "*Required features: `\"Win32_System_WindowsProgramming\"`*"]
-#[cfg(target_arch = "x86")]
+#[cfg(any(target_arch = "arm", target_arch = "x86"))]
pub struct DELAYLOAD_INFO {
pub Size: u32,
pub DelayloadDescriptor: *mut IMAGE_DELAYLOAD_DESCRIPTOR,
@@ -2252,9 +2252,9 @@ pub struct DELAYLOAD_INFO {
pub Unused: *mut ::core::ffi::c_void,
pub LastError: u32,
}
-#[cfg(target_arch = "x86")]
+#[cfg(any(target_arch = "arm", target_arch = "x86"))]
impl ::core::marker::Copy for DELAYLOAD_INFO {}
-#[cfg(target_arch = "x86")]
+#[cfg(any(target_arch = "arm", target_arch = "x86"))]
impl ::core::clone::Clone for DELAYLOAD_INFO {
fn clone(&self) -> Self {
*self
34 changes: 29 additions & 5 deletions build/plugins/llvm-mingw/patches/rust-1-fixes.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Contains ad hoc patches for cross building.
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kleis Auke Wolthuizen <[email protected]>
Date: Tue, 15 Sep 2020 11:50:00 +0200
Subject: [PATCH 1/4] Add `armv7-pc-windows-gnullvm` triple
Subject: [PATCH 1/5] Add `armv7-pc-windows-gnullvm` triple

Upstream-Status: Pending

Expand Down Expand Up @@ -36,7 +36,7 @@ diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/s
index 1111111..2222222 100644
--- a/compiler/rustc_target/src/spec/mod.rs
+++ b/compiler/rustc_target/src/spec/mod.rs
@@ -1592,6 +1592,7 @@ supported_targets! {
@@ -1595,6 +1595,7 @@ supported_targets! {
("i686-uwp-windows-gnu", i686_uwp_windows_gnu),
("x86_64-uwp-windows-gnu", x86_64_uwp_windows_gnu),

Expand All @@ -48,7 +48,7 @@ index 1111111..2222222 100644
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kleis Auke Wolthuizen <[email protected]>
Date: Tue, 22 Sep 2020 10:00:00 +0200
Subject: [PATCH 2/4] std/unwind: Fix linker errors on `armv7-pc-windows-gnullvm`
Subject: [PATCH 2/5] std/unwind: Fix linker errors on `armv7-pc-windows-gnullvm`

Details:
ld.lld: error: undefined symbol: __gnu_unwind_frame
Expand Down Expand Up @@ -101,7 +101,7 @@ index 1111111..2222222 100644
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kleis Auke Wolthuizen <[email protected]>
Date: Tue, 30 Aug 2022 23:20:27 +0200
Subject: [PATCH 3/4] windows-gnullvm: Avoid linking to libunwind statically
Subject: [PATCH 3/5] windows-gnullvm: Avoid linking to libunwind statically

Avoid linking against the static variant of libunwind, which is not
always available. Instead, prefer to use the unwind library from the
Expand Down Expand Up @@ -160,7 +160,7 @@ index 1111111..2222222 100644
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kleis Auke Wolthuizen <[email protected]>
Date: Mon, 17 Oct 2022 11:50:00 +0200
Subject: [PATCH 4/4] Use GCC-style unwinding on MinGW targets other than i686
Subject: [PATCH 4/5] Use GCC-style unwinding on MinGW targets other than i686

See: https://github.com/msys2/MINGW-packages/pull/13278

Expand Down Expand Up @@ -205,3 +205,27 @@ index 1111111..2222222 100644
// We declare these as opaque types. This is fine since you just need to
// pass them to _GCC_specific_handler and forget about them.
pub enum EXCEPTION_RECORD {}

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kleis Auke Wolthuizen <[email protected]>
Date: Sun, 17 Dec 2023 11:52:24 +0100
Subject: [PATCH 5/5] Don't consider weak symbols as built-in functions

See: https://github.com/rust-lang/rust/issues/118609

Upstream-Status: Pending

diff --git a/compiler/rustc_codegen_ssa/src/back/symbol_export.rs b/compiler/rustc_codegen_ssa/src/back/symbol_export.rs
index 1111111..2222222 100644
--- a/compiler/rustc_codegen_ssa/src/back/symbol_export.rs
+++ b/compiler/rustc_codegen_ssa/src/back/symbol_export.rs
@@ -112,7 +112,8 @@ fn reachable_non_generics_provider(tcx: TyCtxt<'_>, _: LocalCrate) -> DefIdMap<S
let is_builtin_fn = is_compiler_builtins
&& symbol_export_level(tcx, def_id.to_def_id())
.is_below_threshold(SymbolExportLevel::C)
- && codegen_attrs.flags.contains(CodegenFnAttrFlags::NO_MANGLE);
+ && codegen_attrs.flags.contains(CodegenFnAttrFlags::NO_MANGLE)
+ && codegen_attrs.linkage != Some(rustc_middle::mir::mono::Linkage::WeakAny);
let used = name == "rust_eh_personality";

let export_level = if special_runtime_crate {
Loading

0 comments on commit 81fa588

Please sign in to comment.