Accepting request 1154127 from devel:tools:compiler

- Align path for document installation between openSUSE versions.

- Update to version 2.4.1
  * mold 2.4.0 or prior may promote weak dynamic symbols to strong ones under a rare
    circumstance, which caused "undefined symbol" error at runtime. The bug has been
    fixed. (50bdf39)
  * Previously, if two or more VERSION clauses in a version script match to the same
    symbol, the first one took precedence. This was incompatible with GNU ld, which
    gives the last one the highest priority, causing a Qt library link failure. This
    compatibility issue has been resolved. (e1e16bf)
  * By default, we demangle symbols in error messages so that they are easier to
    read. Previously, Rust symbols could accidentally be demangled as C++ symbols.
    Now, mold attempts to demangle symbols as Rust ones only for object files
    created by rustc. (ea9864b)
  * [RISC-V] mold now relaxes a GOT-load instruction sequence into a direct address
    materialization if the symbol address is known at link time. This relaxation
    eliminates one memory load and slightly improves the linked program's
    performance. (2ccaa81)
  * [PowerPC64 ELFv2] GCC may emit references to _savegpr0_*, _restgpr0_*,
    _savegpr1_* and _restgpr1_* symbols for the -Os command line option to optimize
    the output for code size. These symbols are not defined by any object file and
    expected to be synthesized by the linker. mold didn't use to synthesize these
    symbols, and therefore object files created with -Os sometimes failed due to
    missing symbol errors. Now, mold synthesizes these symbols. (d4ff48a)
  * [PowerPC64] R_PPC64_DTPREL16_LO_DS relocation type has now been supported.
    (6d8e6af)
  * [Illumos] On Illumos OS, absolute symbols in DSOs need to be resolved at runtime
    because the dynamic linker treats such symbols in a special manner. Previously,
    mold directly used absolute symbol addresses at link-time and did not place them
    into the dynamic symbol table. That optimization has been removed for

OBS-URL: https://build.opensuse.org/request/show/1154127
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mold?expand=0&rev=40
This commit is contained in:
Dominique Leuenberger 2024-03-01 22:39:30 +00:00 committed by Git OBS Bridge
commit f3c7af2498
4 changed files with 48 additions and 10 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:be65f3d785d32ece7b3204ecaa57810847fdd25c232cf704cbfff2dafb1ac107
size 9974233

3
mold-2.4.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c9853d007d6a1b4f3e36b7314346751f4cc91bc43c76e30db51709b53b44dd68
size 9957259

View File

@ -1,3 +1,41 @@
-------------------------------------------------------------------
Fri Mar 1 16:17:35 UTC 2024 - Martin Liška <martin.liska@hey.com>
- Align path for document installation between openSUSE versions.
-------------------------------------------------------------------
Fri Mar 1 14:47:15 UTC 2024 - Martin Liška <martin.liska@hey.com>
- Update to version 2.4.1
* mold 2.4.0 or prior may promote weak dynamic symbols to strong ones under a rare
circumstance, which caused "undefined symbol" error at runtime. The bug has been
fixed. (50bdf39)
* Previously, if two or more VERSION clauses in a version script match to the same
symbol, the first one took precedence. This was incompatible with GNU ld, which
gives the last one the highest priority, causing a Qt library link failure. This
compatibility issue has been resolved. (e1e16bf)
* By default, we demangle symbols in error messages so that they are easier to
read. Previously, Rust symbols could accidentally be demangled as C++ symbols.
Now, mold attempts to demangle symbols as Rust ones only for object files
created by rustc. (ea9864b)
* [RISC-V] mold now relaxes a GOT-load instruction sequence into a direct address
materialization if the symbol address is known at link time. This relaxation
eliminates one memory load and slightly improves the linked program's
performance. (2ccaa81)
* [PowerPC64 ELFv2] GCC may emit references to _savegpr0_*, _restgpr0_*,
_savegpr1_* and _restgpr1_* symbols for the -Os command line option to optimize
the output for code size. These symbols are not defined by any object file and
expected to be synthesized by the linker. mold didn't use to synthesize these
symbols, and therefore object files created with -Os sometimes failed due to
missing symbol errors. Now, mold synthesizes these symbols. (d4ff48a)
* [PowerPC64] R_PPC64_DTPREL16_LO_DS relocation type has now been supported.
(6d8e6af)
* [Illumos] On Illumos OS, absolute symbols in DSOs need to be resolved at runtime
because the dynamic linker treats such symbols in a special manner. Previously,
mold directly used absolute symbol addresses at link-time and did not place them
into the dynamic symbol table. That optimization has been removed for
compatibility with Illumos. (bed5b17, 7f8d77d)
-------------------------------------------------------------------
Thu Nov 30 05:33:24 UTC 2023 - Martin Liška <martin.liska@hey.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package mold
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,7 +17,7 @@
Name: mold
Version: 2.4.0
Version: 2.4.1
Release: 0
Summary: A Modern Linker (mold)
License: MIT
@ -50,8 +50,8 @@ BuildRequires: zlib-devel
BuildRequires: zstd
PreReq: update-alternatives
%if %{suse_version} < 1550
%define build_args -DMOLD_USE_MIMALLOC=OFF -DMOLD_USE_MIMALLOC=OFF
%if %{suse_version} < 1600
%define build_args -DMOLD_USE_MIMALLOC=OFF -DMOLD_USE_MIMALLOC=OFF -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name}
%else
%define build_args -DMOLD_USE_MIMALLOC=OFF -DMOLD_USE_MIMALLOC=OFF -DMOLD_USE_SYSTEM_TBB=ON
%endif
@ -108,8 +108,8 @@ fi
%{_libdir}/mold/mold-wrapper.so
%{_mandir}/man1/mold.1.gz
%{_mandir}/man1/ld.mold.1.gz
%dir /usr/share/doc/mold
%doc /usr/share/doc/mold/LICENSE
%doc /usr/share/doc/mold/LICENSE.third-party
%dir %{_docdir}/mold
%doc %{_docdir}/mold/LICENSE
%doc %{_docdir}/mold/LICENSE.third-party
%changelog