diff --git a/mold-1.4.2.tar.gz b/mold-1.4.2.tar.gz deleted file mode 100644 index 9a00025..0000000 --- a/mold-1.4.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:47e6c48d20f49e5b47dfb8197dd9ffcb11a8833d614f7a03bd29741c658a69cd -size 6287845 diff --git a/mold-1.5.0.tar.gz b/mold-1.5.0.tar.gz new file mode 100644 index 0000000..3d411e1 --- /dev/null +++ b/mold-1.5.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55f67a0531cd357fa8c8aa16f9664954188f49537126e9bd35240846de3c3434 +size 8256474 diff --git a/mold.changes b/mold.changes index 3cbfb5a..27fd110 100644 --- a/mold.changes +++ b/mold.changes @@ -1,3 +1,47 @@ +------------------------------------------------------------------- +Tue Sep 27 07:10:17 UTC 2022 - Martin Liška + +- Update to version 1.5.0 + * PPC64LE and SPARC64 are now supported as new targets. They haven't yet been as + well tested as other targets, but they are already able to link mold itself on + these platforms. (Note that PPC64LE is very unlikely to work on the most recent + POWER10 machines as we didn't have a chance to test it due to a limited + availability (POWER10 was released in 2021). If you can support us on this + matter, please contact us. We also accept donations, so please consider + supporting our project!) + * RV32BE and RV64BE (32-bit and 64-bit big-endian RISC-V) are now supported as + experimental targets. RISC-V is usually little-endian, but there exists a + big-endian RISC-V as an extension. You can make gcc to emit code for big-endian + RISC-V by passing -mbig-endian. mold can now link object files generated with + that option. + * --compress-debug-sections=zstd is now supported. This is an option to compress + debug info embedded to an output file with Zstandard compression algorithm. + Compared to the existing --compress-debug-sections=zlib, zstd is faster and + gives a higher compression ratio. You probably can't start using zstd + compression today though, because other tools such as gdb may not be able to + read zstd-compressed debug info yet. But adding this option early makes mold + future-proof. (ede7a5a) + * mold no longer aligns loadable segments to page boundaries to reduce output file + size. Previously, we allocated holes between loadable segments. The saving by + this change is most visible for small programs. For example, a "hello world" + program used to be ~18 KiB on x86-64. It's now 7.2 KiB. (2941d75) + * Bug fixes and compatibility improvements + * [RISCV] We optimized code so that the link speed for RISC-V is now comparable to + the other targets. As an example, linking mold itself (~150 MiB in size) for + RV64 used to take ~45 seconds on a simulated 16-core machine. It now takes only + ~0.25 seconds. (3ab5489) + * mold used to create more than one .rodata section under a certain condition. + It's not technically wrong but confused Valgrind. This issue has been resolved. + (25c7aee) + * [ARM32] Previously, mold failed to promote remaining undefined symbols to + dynamic symbols if symbols are undefined weak. That caused a link failure for + libxml (#660). This issue has been resolved. (72e26d9) + * mold didn't copy symbol types when creating symbol aliases for the --defsym + option. (8c7f31c) + * --compress-debug-sections=zlib-gnu has been removed. LLVM lld removed that + option too as there seems to be no usage of the flag. +- Enable ppc64le and use system zstd library as package dependency. + ------------------------------------------------------------------- Sun Sep 4 06:29:52 UTC 2022 - Martin Liška diff --git a/mold.spec b/mold.spec index 042edc7..8dc821f 100644 --- a/mold.spec +++ b/mold.spec @@ -17,14 +17,14 @@ Name: mold -Version: 1.4.2 +Version: 1.5.0 Release: 0 Summary: A Modern Linker (mold) License: AGPL-3.0-or-later Group: Development/Tools/Building URL: https://github.com/rui314/mold Source: https://github.com/rui314/mold/archive/v%{version}/mold-%{version}.tar.gz -ExclusiveArch: aarch64 %arm %ix86 x86_64 aarch64 riscv64 +ExclusiveArch: aarch64 %arm %ix86 x86_64 aarch64 riscv64 ppc64le BuildRequires: cmake %if %{suse_version} < 1550 BuildRequires: gcc10-c++ @@ -42,16 +42,18 @@ BuildRequires: gcc-32bit %endif BuildRequires: gdb BuildRequires: glibc-devel-static +BuildRequires: libzstd-devel BuildRequires: openssl-devel BuildRequires: valgrind BuildRequires: xxhash-devel BuildRequires: zlib-devel +BuildRequires: zstd PreReq: update-alternatives %if %{suse_version} < 1550 -%define build_args STRIP=true SYSTEM_XXHASH=1 USE_MIMALLOC=0 +%define build_args STRIP=true SYSTEM_XXHASH=1 USE_MIMALLOC=0 SYSTEM_ZSTD=1 %else -%define build_args STRIP=true SYSTEM_TBB=1 SYSTEM_XXHASH=1 USE_MIMALLOC=0 +%define build_args STRIP=true SYSTEM_TBB=1 SYSTEM_XXHASH=1 USE_MIMALLOC=0 SYSTEM_ZSTD=1 %endif %description