Accepting request 1029962 from devel:tools:compiler

- 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.
- Exclude ppc architecture as it is not supported right now.

OBS-URL: https://build.opensuse.org/request/show/1029962
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mold?expand=0&rev=23
This commit is contained in:
Dominique Leuenberger 2022-10-20 09:11:16 +00:00 committed by Git OBS Bridge
commit 567416b689
4 changed files with 41 additions and 38 deletions

View File

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

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

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

View File

@ -1,3 +1,26 @@
-------------------------------------------------------------------
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.
- Exclude ppc architecture as it is not supported right now.
-------------------------------------------------------------------
Thu Sep 29 07:06:19 UTC 2022 - Martin Liška <mliska@suse.cz>

View File

@ -17,17 +17,16 @@
Name: mold
Version: 1.5.1
Version: 1.6.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 ppc64le
BuildRequires: cmake
%if %{suse_version} < 1550
BuildRequires: gcc10-c++
BuildRequires: gcc11-c++
%else
# These libraries are not present for openSUSE Leap
BuildRequires: gcc-c++
@ -44,16 +43,18 @@ BuildRequires: gdb
BuildRequires: glibc-devel-static
BuildRequires: libzstd-devel
BuildRequires: openssl-devel
%ifnarch ppc64
BuildRequires: valgrind
BuildRequires: xxhash-devel
%endif
BuildRequires: zlib-devel
BuildRequires: zstd
PreReq: update-alternatives
ExcludeArch: ppc
%if %{suse_version} < 1550
%define build_args STRIP=true SYSTEM_XXHASH=1 USE_MIMALLOC=0 SYSTEM_ZSTD=1
%define build_args -DMOLD_USE_MIMALLOC=OFF -DMOLD_USE_MIMALLOC=OFF
%else
%define build_args STRIP=true SYSTEM_TBB=1 SYSTEM_XXHASH=1 USE_MIMALLOC=0 SYSTEM_ZSTD=1
%define build_args -DMOLD_USE_MIMALLOC=OFF -DMOLD_USE_MIMALLOC=OFF -DMOLD_USE_SYSTEM_TBB=ON
%endif
%description
@ -68,42 +69,21 @@ build time especially in rapid debug-edit-rebuild cycles.
%build
%if %{suse_version} < 1550
export CC=gcc-10
export CXX=g++-10
export CC=gcc-11
export CXX=g++-11
%endif
export CXXFLAGS="%{optflags} -Wno-sign-compare"
%make_build -e \
CXXFLAGS="${CXXFLAGS}" \
LDFLAGS="${CXXFLAGS}" \
PREFIX=%{_prefix} \
BINDIR=%{_bindir} \
MANDIR=%{_mandir} \
LIBDIR=%{_libdir} \
LIBEXECDIR=%{_libexecdir} \
%{build_args}
%cmake %{build_args}
%cmake_build
%install
%make_install -e \
PREFIX=%{_prefix} \
BINDIR=%{_bindir} \
MANDIR=%{_mandir} \
LIBDIR=%{_libdir} \
LIBEXECDIR=%{_libexecdir} \
%{build_args}
%cmake_install
%check
%if %{suse_version} < 1550
export TEST_CC=gcc-10
export TEST_CXX=g++-10
export TEST_CC=gcc-11
export TEST_CXX=g++-11
%endif
%make_build test -k -e \
PREFIX=%{_prefix} \
BINDIR=%{_bindir} \
MANDIR=%{_mandir} \
LIBDIR=%{_libdir} \
LIBEXECDIR=%{_libexecdir} \
%{build_args}
%ctest
%post
"%_sbindir/update-alternatives" --install \