2022-10-19 10:20:49 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Wed Oct 19 08:20:22 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Update to version 1.6.0
|
|
|
|
* [ppc64] mold now supports the original 64-bit big-endian PowerPC ABI (which is
|
|
|
|
also known as PPC64 ELFv1 or just ppc64), so that you can build applications for
|
|
|
|
older PPC64 systems with mold. Note that this should not be confused with the
|
|
|
|
modern PPC64 ELFv2 ABI (which is also known as ppc64le), which is already
|
|
|
|
supported by mold.
|
|
|
|
* [s390x] Linux/s390x is now supported. Linux/s390x is the Linux environment
|
|
|
|
running on IBM z/Architecture mainframes. I've personally never seen a
|
|
|
|
mainframe, but we wanted to support it because many Linux distros actively
|
|
|
|
support that target, which in turn means there are many enterprise users who are
|
|
|
|
using IBM mainframes. Speaking of the porting effort, we do not only port our
|
|
|
|
linker to s390x but also found a couple of issues with the existing GCC
|
|
|
|
toolchain for s390x. So, we are improving the whole IBM mainframe ecosystem!
|
|
|
|
* mold now creates smaller output files. It is most noticeable on targets with
|
|
|
|
large page sizes such as PPC64 (on which the common page size is 64 KiB), but
|
|
|
|
even on x86-64, it should save a few kilobytes per an output file.
|
|
|
|
* [arm64] mold can now link executables with -static-pie. Previously, executables
|
|
|
|
linked with that flag crashed immediately.
|
2022-10-19 13:06:46 +02:00
|
|
|
- Exclude ppc architecture as it is not supported right now.
|
2022-10-19 10:20:49 +02:00
|
|
|
|
2022-09-29 09:07:50 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Thu Sep 29 07:06:19 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Update to version 1.5.1
|
|
|
|
* We changed the memory layout to save both memory and disk space in 1.5.0. Even
|
|
|
|
though the new layout works fine on most systems, the change made the linker to
|
|
|
|
create unusable executables for systems with large pages. Specifically, if you
|
|
|
|
specify a large number for the -z max-page-size option, the loader refused to
|
|
|
|
execute it with the error while loading shared libraries: cannot apply
|
|
|
|
additional memory protection after relocation: Cannot allocate memory error. We
|
|
|
|
reverted our recent commits so that mold creates output files with the same
|
|
|
|
memory layout as it did before 1.5.0. (e62de0b)
|
|
|
|
|
2022-09-27 09:24:13 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Sep 27 07:10:17 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
2022-09-04 08:30:50 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Sun Sep 4 06:29:52 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Update to version 1.4.2
|
|
|
|
* [RV32] We've fixed several issues for 32-bit RISC-V.
|
|
|
|
mold can now build complex programs including itself for the target.
|
|
|
|
* [ARM32] mold gained range extension thunks so that it can now link programs whose
|
|
|
|
.text is larger than 16 MiB. Previously, mold couldn't link such large programs.
|
|
|
|
We've also fixed general stability issues for ARM32.
|
|
|
|
|
2022-08-18 11:35:19 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Thu Aug 18 09:28:25 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Update to version 1.4.1
|
|
|
|
* mold/macOS is now available as an alpha feature. We do not recommend using it for anything
|
|
|
|
serious though. Starting from this version, we accept not only mold/Unix issues but also
|
|
|
|
mold/macOS ones on our GitHub Issues. Feel free to file a bug if you encounter any problem.
|
|
|
|
* We started supporting CMake in addition to Make to build mold. Our long-term plan is to migrate
|
|
|
|
from Make to CMake because we want to support Windows eventually and CMake provides
|
|
|
|
a better Windows support than Make does. (e6a0e67)
|
|
|
|
* There was a bug that mold accidentally exported a hidden symbol from an executable
|
|
|
|
if a shared library linked to that executable happened to define the same symbol.
|
|
|
|
This caused a build issue with Blender (#606). The bug has been fixed. (b163068)
|
|
|
|
--hash-style=both is now the default if no --hash-style option is given. Previously,
|
|
|
|
--hash-style=sysv was the default. This change shouldn't affect most users because
|
|
|
|
the compiler driver (cc, gcc, clang, etc.) always passes --hash-style to the linker.
|
|
|
|
We made this change because GNU ld defaults to --hash-style=both.
|
|
|
|
* Alias symbols defined by the --defsym option now have the same scope as the aliased symbols.
|
|
|
|
Previously, alias symbols defined by --defsym were always hidden and never
|
|
|
|
be exported as dynamic symbols. (5dd1227)
|
|
|
|
* mold now accepts foo = bar-style linker script directive to define symbol aliases.
|
|
|
|
Previously, such statement was treated as a syntax error.
|
|
|
|
This change was made to link mariadb-connector-c correctly (f0e1237)
|
|
|
|
* Symbols in mergeable string sections now have correct output section
|
|
|
|
indices instead of SHN_UNDEF. (a595c48)
|
|
|
|
* [ARM32] Previously, calling a function from ARM code to Thumb code
|
|
|
|
caused a program crash due to bug #442. This issue has been fixed. (053b90b)
|
|
|
|
- Run tests in parallel.
|
|
|
|
|
2022-08-05 18:58:16 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Fri Aug 5 16:54:51 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Update to version 1.4.0
|
|
|
|
* Initial support for the 32-bit RISC-V (RV32) has landed. (d9db6bc)
|
|
|
|
* mold now demangles Rust symbols in error messages thanks to @eddyb's rust-demangle.c. (22e1bba)
|
|
|
|
* --export-dynamic-symbol and --export-dynamic-symbol-list are now supported for
|
|
|
|
the sake of compatibility with LLVM lld. With these options, you can specify
|
|
|
|
symbols that should be exported using glob pattern. (e115aae)
|
|
|
|
* [x86-64] PLT entries created by mold now always begins with ENDBR64 instruction
|
|
|
|
to improve compatibility with Intel IBT (Indirect Branch Tracking.) (e3e371d)
|
|
|
|
* mold now defines __dso_handle symbol. The lack of this linker-synthesized symbol
|
|
|
|
caused a link error with GCC in some environments (#507). (764d757)
|
|
|
|
- Remove fix-tests.patch.
|
|
|
|
|
2022-08-01 07:35:49 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Mon Aug 1 05:35:29 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
2022-08-01 12:58:27 +02:00
|
|
|
- Add fix-tests.patch which fixes tests on i586.
|
2022-08-01 07:35:49 +02:00
|
|
|
|
2022-07-01 11:18:34 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Fri Jul 1 09:13:58 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Update to version 1.3.1
|
|
|
|
* mold now supports .preinit_array sections. Without this,
|
|
|
|
AddressSanitizer didn't work in some environments. (3b75398)
|
|
|
|
* [ARM32] R_ARM_MOVT_PREL and R_ARM_PREL31 relocations are now handled
|
|
|
|
correctly so that mold no longer emit spurious "recompile with -fPIC" errors. (5294300)
|
|
|
|
|
2022-06-18 09:14:10 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Sat Jun 18 07:10:09 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Update to version 1.3.0
|
|
|
|
* The --icf=safe option has been supported.
|
|
|
|
* LTO now works reliably under a heavy load.
|
|
|
|
mold used to abort occasionally under such condition on Linux
|
|
|
|
due to a spurious failure of pthread_create(2). (d8a8877)
|
|
|
|
* mold now prints out undefined symbol errors in a format similar to LLVM lld. (13816a1)
|
|
|
|
* mold now prints out a better error message for the disk full situation. (5969260)
|
|
|
|
* mold can now build GCC 12 with LTO. (708ad63)
|
|
|
|
* Fixed an LTO issue on 32-bits hosts such as i686. (920266b)
|
|
|
|
* mold is now AddressSanitizer and UndefinedSanitizer clean. (fafb75b, 3499ee6)
|
|
|
|
* mold used to create broken debug info on 32-bits hosts (#490).
|
|
|
|
The bug has been fixed. (0abd0a4)
|
|
|
|
* mold used to accept not only a single dash but also double
|
|
|
|
dashes for single-letter options. For example, --S was accidentally accepted as an alias for-S.
|
|
|
|
This is unconventional, and such options are no longer accepted. (232dafa)
|
|
|
|
* --color-diagnostics is now an alias for --color-diagnostics=auto
|
|
|
|
instead of --color-diagnostics=always for compatibility with LLVM lld.
|
|
|
|
* pkg-config is no longer needed to build mold.
|
|
|
|
* The --package-metadata option is supported. (#505, e9f6715)
|
|
|
|
|
2022-05-13 11:31:45 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Fri May 13 09:31:25 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Use better CC and TEST_CC variables.
|
|
|
|
|
2022-05-13 11:22:13 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Fri May 13 09:21:22 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Add memory per job constraint.
|
|
|
|
|
2022-05-10 14:30:23 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue May 10 12:30:07 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Do not use mimalloc, use system glibc allocator.
|
|
|
|
|
2022-05-05 13:17:20 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Thu May 5 11:17:01 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Add valgrind as BuildRequire argument.
|
|
|
|
|
2022-04-28 14:50:42 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Thu Apr 28 12:49:30 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Update to version 1.2.1
|
|
|
|
* Various bugs in --gdb-index have been fixed.
|
|
|
|
* mold now recognizes --thinlto-cache-dir and --thinlto-cache-policy
|
|
|
|
for the sake of compatibility with LLVM lld. (7ebd071)
|
|
|
|
* mold can now handle TLS common symbols. It looks like GCC
|
|
|
|
sometimes creates such symbol for a thread-local variable. (cf850f8)
|
|
|
|
* In some edge cases, mold created a non-versioned symbol and
|
|
|
|
a versioned one for the same symbol, even though if one symbol is versioned,
|
|
|
|
all symbols of the same name must be versioned.
|
|
|
|
This bug has been fixed. (8298c0a)
|
|
|
|
* mold used to write a PLT address of a symbol instead
|
|
|
|
of its address to .symtab. This bug has been fixed. (e088db7)
|
|
|
|
* mold can now handle an input file
|
|
|
|
with more than 219 symbols. (f1f2d40)
|
|
|
|
* /usr/local/libexec/mold/ld is now installed
|
|
|
|
as a relative symlink instead of an absolute symlink. (5803c3c)
|
2022-04-28 14:58:56 +02:00
|
|
|
- Removed upstreamed fix-gdb-index.patch patch.
|
2022-04-28 14:50:42 +02:00
|
|
|
|
2022-04-20 08:51:04 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Wed Apr 20 06:50:40 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Run test serially.
|
|
|
|
- Install some packages in order to increase test coverage.
|
2022-04-20 13:55:42 +02:00
|
|
|
- Use ExclusiveArch.
|
2022-04-20 08:51:04 +02:00
|
|
|
|
2022-04-19 08:44:11 +02:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Apr 19 06:43:50 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Add fix-gdb-index.patch.
|
|
|
|
- Enable tests.
|
|
|
|
|
2022-04-08 17:45:32 +02:00
|
|
|
-------------------------------------------------------------------
|
2022-04-15 13:55:07 +02:00
|
|
|
Fri Apr 15 11:53:51 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Update to version 1.2.0
|
|
|
|
* The ARM32 target is now supported.
|
|
|
|
* --gdb-index is implemented.
|
|
|
|
* mold now supports the following flags: --start-address, -Tbss,
|
|
|
|
-Tdata, -Ttext, --oformat=binary, --disable-new-dtags
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
2022-04-08 17:45:32 +02:00
|
|
|
Fri Apr 8 15:40:19 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
|
|
|
|
|
|
|
|
- Set LIBEXECDIR
|
|
|
|
- Disable default stripping
|
|
|
|
|
2022-03-08 13:07:45 +01:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Mar 8 12:07:34 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Respect %{optflags}.
|
|
|
|
|
2022-03-08 10:58:43 +01:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Mar 8 09:58:13 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
2022-03-08 13:36:29 +01:00
|
|
|
- Update to version 1.1.1
|
|
|
|
* Native LTO (Link-Time Optimization) support
|
|
|
|
* RISC-V CPU architecture support
|
|
|
|
* Optimize memory usage by reducing the sizes of
|
|
|
|
frequently-allocated objects; roughly 6% redux in the maximum
|
|
|
|
RSS.
|
2022-03-08 10:58:43 +01:00
|
|
|
|
2022-02-24 13:49:12 +01:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Wed Feb 23 23:29:01 UTC 2022 - Christoph G <foss@grueninger.de>
|
|
|
|
|
2022-02-24 13:55:12 +01:00
|
|
|
- Fix building for openSUSE Leap 15.3 and 15.4.
|
2022-02-24 13:49:12 +01:00
|
|
|
|
2022-02-21 08:51:56 +01:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Mon Feb 21 07:51:37 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Update to version 1.1:
|
|
|
|
https://github.com/rui314/mold/releases/tag/v1.1.
|
|
|
|
|
2022-01-31 17:45:04 +01:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Mon Jan 31 10:24:17 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Start using system library mimalloc.
|
|
|
|
|
2022-01-30 16:53:18 +01:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Sun Jan 30 15:53:00 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Update to version 1.0.3:
|
|
|
|
https://github.com/rui314/mold/releases/tag/v1.0.3.
|
|
|
|
|
2022-01-23 13:41:38 +01:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Sun Jan 23 09:44:13 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Update to version 1.0.2: complete release notes can be found here:
|
|
|
|
https://github.com/rui314/mold/releases/tag/v1.0.2.
|
|
|
|
|
2022-01-04 19:37:29 +01:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Mon Jan 3 08:33:39 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Start using %{_libexecdir} as an installation location.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
Sat Jan 1 22:23:26 UTC 2022 - Christoph G <foss@grueninger.de>
|
|
|
|
|
|
|
|
- Remove quotationsmarks from build_args as it prevented the use
|
|
|
|
of system packages for TBB and xxHash.
|
|
|
|
- Drop configure-fix.patch as xxHash is used from system package,
|
|
|
|
so we don't need to patch the wrong configuration of xxHash.
|
|
|
|
- Use telling name of source tarball, adjust GitHub url to have
|
|
|
|
matching names.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
Sat Jan 1 21:37:43 UTC 2022 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Update to version 1.0.1:
|
|
|
|
* make install now creates /usr/local/libexec/mold/ld as
|
|
|
|
a symlink to the mold executable. We do this for GCC.
|
|
|
|
By passing -B/usr/local/libexec/mold, you can tell GCC to use ld
|
|
|
|
inside that directory instead of /usr/bin/ld. (e8dcecf)
|
|
|
|
* xxHash library is now included in the mold's source tree as a subtree for ease of building.
|
|
|
|
If you want to link against a libxxhash in a system library directory, pass SYSTEM_XXHASH=1 to make. (665bffa)
|
|
|
|
* The extern "C++" directive is now supported in the dynamic list. (7aa5c39)
|
|
|
|
* --color-diagnostics is supported. mold used to ignore that flag. (6e290aa)
|
|
|
|
* Not only * but also ? are now treated as special characters in the version script wildcard pattern. (31b0248)
|
|
|
|
* The --threads=N option has been added as
|
|
|
|
an alias for --thread-count=N. (f9ff048)
|
|
|
|
* The following option has been added: --defsym (f6e8006), -z nodefaultlib (8c86c28),
|
|
|
|
-z separate-code, -z noseparate-code and -z separate-lodable-segments (5601cf4), -z max-page-size (f3766cd)
|
|
|
|
- Add workaround patch configure-fix.patch.
|
|
|
|
|
2021-12-22 20:18:10 +01:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Dec 21 17:04:56 UTC 2021 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Ignore -Wno-sign-compare for now.
|
|
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Dec 21 16:35:38 UTC 2021 - Martin Liška <mliska@suse.cz>
|
|
|
|
|
|
|
|
- Use system package for tbb and xxhash.
|
|
|
|
|
2021-12-21 19:39:05 +01:00
|
|
|
-------------------------------------------------------------------
|
|
|
|
Tue Dec 21 15:03:07 UTC 2021 - Mark Nefedov <mark_nefedov@runbox.com>
|
|
|
|
|
|
|
|
- Start with version 1.0.0.
|