|
|
|
%global cross cross
|
|
|
|
%global rpmprefix %{nil}
|
|
|
|
|
|
|
|
%global build_all 1
|
|
|
|
%global build_aarch64 %{build_all}
|
|
|
|
%global build_alpha %{build_all}
|
|
|
|
%global build_arc %{build_all}
|
|
|
|
%global build_arm %{build_all}
|
|
|
|
%global build_avr32 %{build_all}
|
|
|
|
%global build_blackfin %{build_all}
|
|
|
|
%global build_c6x %{build_all}
|
|
|
|
%global build_cris %{build_all}
|
|
|
|
%global build_frv %{build_all}
|
|
|
|
%global build_h8300 %{build_all}
|
|
|
|
%global build_hppa %{build_all}
|
|
|
|
%global build_hppa64 %{build_all}
|
|
|
|
%global build_ia64 %{build_all}
|
|
|
|
%global build_m32r %{build_all}
|
|
|
|
%global build_m68k %{build_all}
|
|
|
|
%global build_metag %{build_all}
|
|
|
|
%global build_microblaze %{build_all}
|
|
|
|
%global build_mips64 %{build_all}
|
|
|
|
%global build_mn10300 %{build_all}
|
|
|
|
%global build_nios2 %{build_all}
|
|
|
|
%global build_openrisc %{build_all}
|
|
|
|
%global build_powerpc64 %{build_all}
|
|
|
|
%global build_powerpc64le %{build_all}
|
|
|
|
%global build_riscv64 %{build_all}
|
|
|
|
%global build_s390x %{build_all}
|
|
|
|
%global build_score %{build_all}
|
|
|
|
%global build_sh %{build_all}
|
|
|
|
%global build_sparc64 %{build_all}
|
|
|
|
%global build_tile %{build_all}
|
|
|
|
%global build_x86_64 %{build_all}
|
|
|
|
%global build_xtensa %{build_all}
|
|
|
|
|
|
|
|
# 32-bit packages we don't build as we can use the 64-bit package instead
|
|
|
|
%global build_i386 0
|
|
|
|
%global build_mips 0
|
|
|
|
%global build_powerpc 0
|
|
|
|
%global build_s390 0
|
|
|
|
%global build_sparc 0
|
|
|
|
%global build_sh4 0
|
|
|
|
|
|
|
|
# not available in binutils-2.27
|
|
|
|
%global build_hexagon 0
|
|
|
|
%global build_unicore32 0
|
|
|
|
|
|
|
|
# Do not create deterministic archives by default (cf: BZ 1195883)
|
|
|
|
%global enable_deterministic_archives 0
|
|
|
|
|
|
|
|
# Disable the default generation of compressed debug sections.
|
|
|
|
%define default_compress_debug 0
|
|
|
|
|
|
|
|
# Default to read-only-relocations (relro) in shared binaries.
|
|
|
|
%define default_relro 1
|
|
|
|
|
|
|
|
# Disable the default generation of GNU Build notes by the assembler.
|
|
|
|
# This has turned out to be problematic for the i686 architecture.
|
|
|
|
# although the exact reason has not been determined. (See BZ 1572485)
|
|
|
|
# It also breaks building EFI binaries on AArch64, as these cannot have
|
|
|
|
# relocations against absolute symbols.
|
|
|
|
%define default_generate_notes 0
|
|
|
|
|
|
|
|
Name: %{cross}-binutils
|
|
|
|
Version: 2.35.2
|
|
|
|
Release: 1%{?dist}
|
|
|
|
Summary: A GNU collection of cross-compilation binary utilities
|
|
|
|
License: GPLv3+
|
|
|
|
URL: https://sourceware.org/binutils
|
|
|
|
|
|
|
|
# Note - the Linux Kernel binutils releases are too unstable and contain too
|
|
|
|
# many controversial patches so we stick with the official FSF version
|
|
|
|
# instead.
|
|
|
|
|
|
|
|
Source: http://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.xz
|
|
|
|
|
|
|
|
Source2: binutils-2.19.50.0.1-output-format.sed
|
|
|
|
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
# Purpose: Use /lib64 and /usr/lib64 instead of /lib and /usr/lib in the
|
|
|
|
# default library search path of 64-bit targets.
|
|
|
|
# Lifetime: Permanent, but it should not be. This is a bug in the libtool
|
|
|
|
# sources used in both binutils and gcc, (specifically the
|
|
|
|
# libtool.m4 file). These are based on a version released in 2009
|
|
|
|
# (2.2.6?) rather than the latest version. (Definitely fixed in
|
|
|
|
# libtool version 2.4.6).
|
|
|
|
Patch01: binutils-2.20.51.0.2-libtool-lib64.patch
|
|
|
|
|
|
|
|
# Purpose: Appends a RHEL or Fedora release string to the generic binutils
|
|
|
|
# version string.
|
|
|
|
# Lifetime: Permanent. This is a RHEL/Fedora specific patch.
|
|
|
|
Patch02: binutils-2.25-version.patch
|
|
|
|
|
|
|
|
# Purpose: Exports the demangle.h header file (associated with the libiberty
|
|
|
|
# sources) with the binutils-devel rpm.
|
|
|
|
# Lifetime: Permanent. This is a RHEL/Fedora specific patch.
|
|
|
|
Patch03: binutils-export-demangle.h.patch
|
|
|
|
|
|
|
|
# Purpose: Disables the check in the BFD library's bfd.h header file that
|
|
|
|
# config.h has been included before the bfd.h header. See BZ
|
|
|
|
# #845084 for more details.
|
|
|
|
# Lifetime: Permanent - but it should not be. The bfd.h header defines
|
|
|
|
# various types that are dependent upon configuration options, so
|
|
|
|
# the order of inclusion is important.
|
|
|
|
# FIXME: It would be better if the packages using the bfd.h header were
|
|
|
|
# fixed so that they do include the header files in the correct
|
|
|
|
# order.
|
|
|
|
Patch04: binutils-2.22.52.0.4-no-config-h-check.patch
|
|
|
|
|
|
|
|
# Purpose: Include the filename concerned in readelf error messages. This
|
|
|
|
# makes readelf's output more helpful when it is run on multiple
|
|
|
|
# input files.
|
|
|
|
# Lifetime: Permanent. This patch changes the format of readelf's output,
|
|
|
|
# making it better (IMHO) but also potentially breaking tools that
|
|
|
|
# depend upon readelf's current format. Hence it remains a local
|
|
|
|
# patch.
|
|
|
|
Patch05: binutils-2.29-filename-in-error-messages.patch
|
|
|
|
|
|
|
|
# Purpose: Disable an x86/x86_64 optimization that moves functions from the
|
|
|
|
# PLT into the GOTPLT for faster access. This optimization is
|
|
|
|
# problematic for tools that want to intercept PLT entries, such
|
|
|
|
# as ltrace and LD_AUDIT. See BZs 1452111 and 1333481.
|
|
|
|
# Lifetime: Permanent. But it should not be.
|
|
|
|
# FIXME: Replace with a configure time option.
|
|
|
|
Patch06: binutils-2.29-revert-PLT-elision.patch
|
|
|
|
|
|
|
|
# Purpose: Changes readelf so that when it displays extra information about
|
|
|
|
# a symbol, this information is placed at the end of the line.
|
|
|
|
# Lifetime: Permanent.
|
|
|
|
# FIXME: The proper fix would be to update the scripts that are expecting
|
|
|
|
# a fixed output from readelf. But it seems that some of them are
|
|
|
|
# no longer being maintained.
|
|
|
|
Patch07: binutils-readelf-other-sym-info.patch
|
|
|
|
|
|
|
|
# Purpose: Do not create PLT entries for AARCH64 IFUNC symbols referenced in
|
|
|
|
# debug sections.
|
|
|
|
# Lifetime: Permanent.
|
|
|
|
# FIXME: Find related bug. Decide on permanency.
|
|
|
|
Patch08: binutils-2.27-aarch64-ifunc.patch
|
|
|
|
|
|
|
|
# Purpose: Stop the binutils from statically linking with libstdc++.
|
|
|
|
# Lifetime: Permanent.
|
|
|
|
Patch09: binutils-do-not-link-with-static-libstdc++.patch
|
|
|
|
|
|
|
|
# Purpose: Add a .attach_to_group pseudo-op to the assembler for
|
|
|
|
# use by the annobin gcc plugin.
|
|
|
|
# Lifetime: Permanent.
|
|
|
|
Patch10: binutils-attach-to-group.patch
|
|
|
|
|
|
|
|
# Purpose: Allow OS specific sections in section groups.
|
|
|
|
# Lifetime: Fixed in 2.36 (maybe)
|
|
|
|
Patch11: binutils-special-sections-in-groups.patch
|
|
|
|
|
|
|
|
# Purpose: Fix linker testsuite failures.
|
|
|
|
# Lifetime: Fixed in 2.36 (maybe)
|
|
|
|
Patch12: binutils-fix-testsuite-failures.patch
|
|
|
|
|
|
|
|
# Purpose: Stop gold from aborting when input sections with the same name
|
|
|
|
# have different flags.
|
|
|
|
# Lifetime: Fixed in 2.36 (maybe)
|
|
|
|
Patch13: binutils-gold-mismatched-section-flags.patch
|
|
|
|
|
|
|
|
# Purpose: Add a check to the GOLD linker for a corrupt input file
|
|
|
|
# with a fuzzed section offset.
|
|
|
|
# Lifetime: Fixed in 2.36 (maybe)
|
|
|
|
Patch14: binutils-CVE-2019-1010204.patch
|
|
|
|
|
|
|
|
# Purpose: Change the gold configuration script to only warn about
|
|
|
|
# unsupported targets. This allows the binutils to be built with
|
|
|
|
# BPF support enabled.
|
|
|
|
# Lifetime: Permanent.
|
|
|
|
Patch15: binutils-gold-warn-unsupported.patch
|
|
|
|
|
|
|
|
# Purpose: Fix compile time warning messages building s390 target with gcc-10.
|
|
|
|
# Lifetime: Should be fixed in 2.36.
|
|
|
|
Patch16: binutils-s390-build.patch
|
|
|
|
|
|
|
|
# Purpose: Fix LTO problems running config mini-builds.
|
|
|
|
# Lifetime: Should be fixed in 2.36.
|
|
|
|
Patch17: binutils-config.patch
|
|
|
|
|
|
|
|
# Purpose: Fix compile time warning messages building with gcc-10.
|
|
|
|
# Lifetime: Should be fixed in 2.36.
|
|
|
|
Patch18: binutils-warnings.patch
|
|
|
|
|
|
|
|
# Purpose: Fix compile time warning messages building with gcc-10. (part 2).
|
|
|
|
# Lifetime: Should be fixed in 2.36.
|
|
|
|
Patch19: binutils-gcc-10-fixes.patch
|
|
|
|
|
|
|
|
# Purpose: Fixes for linking LTO objects.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch20: binutils-add-sym-cache-to-elf-link-hash.patch
|
|
|
|
Patch21: binutils-elf-add-objects.patch
|
|
|
|
|
|
|
|
# Purpose: Fix handling of relocations for AArch64 conditional branches.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch22: binutils-aarch64-condbranch-relocs.patch
|
|
|
|
|
|
|
|
# Purpose: Fix the PowerPC disassembler so that it ignores annobin symbols.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch23: binutils-ppc-annobin-disassembly.patch
|
|
|
|
|
|
|
|
# Purpose: Fix the strip program to cope when merging multiple same-named
|
|
|
|
# sections.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch24: binutils-strip-merge.patch
|
|
|
|
|
|
|
|
# Purpose: Fix various problems with the PowerPC arch10 extensions.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
# Patch25: binutils-Power10-fixes.patch
|
|
|
|
|
|
|
|
# Purpose: Allow plugin syms to mark as-needed shared libs needed.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch26: binutils-plugin-as-needed.patch
|
|
|
|
|
|
|
|
# Purpose: Recursively follow .gnu_debuglink and .gnu_debugaltlink sections.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch27: binutils-recursive-debuglink-following.patch
|
|
|
|
|
|
|
|
# Purpose: Correctly handle mixed SHF_LINK_ORDER and non-SHF_LINK_ORDER sections.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch28: binutils-SHF_LINK_ORDER.patch
|
|
|
|
|
|
|
|
# Purpose: Correctly handle multiple same-named sections in linker scripts
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch29: binutils-duplicate-sections.patch
|
|
|
|
|
|
|
|
# Purpose: Use the "unsigned long long" type for pointers on hosts where
|
|
|
|
# long is a 32-bit type but pointers are a 64-bit type. Necessary
|
|
|
|
# because users expect to be able to install both the i686- and
|
|
|
|
# x86_64 versions of binutils-devel on the same machine, so they
|
|
|
|
# need to identical versions of the bfd.h header file.
|
|
|
|
# Lifetime: Permanent.
|
|
|
|
Patch30: binutils-use-long-long.patch
|
|
|
|
|
|
|
|
# Purpose: Update the GOLD linker to support x86 .note.gnu.property sections.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch31: binutils-gold-gnu-properties.patch
|
|
|
|
|
|
|
|
# Purpose: Fix FAIL results in gas and ld testsuites.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch32: binutils-testsuite-failures.patch
|
|
|
|
|
|
|
|
# Purpose: Remove a vulnerability in the smart_rename function.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch33: binutils-CVE-2021-20197.patch
|
|
|
|
|
|
|
|
# Purpose: Add DWARF-5 sections to linker scripts.
|
|
|
|
# Lifetime: Fixed in 2.37
|
|
|
|
Patch34: binutils-ld-DWARF-5-sections.patch
|
|
|
|
|
|
|
|
# Purpose: Add support for Z instruction set extensions to the s390x
|
|
|
|
# architecture.
|
|
|
|
# Lifetime: Fixed in 2.37
|
|
|
|
Patch35: binutils-s390-arch14-insns.patch
|
|
|
|
|
|
|
|
# Purpose: Fix merging empty ppc64le notes.
|
|
|
|
# Lifetime: Fixed in 2.37
|
|
|
|
Patch36: binutils-ppc64le-note-merge.patch
|
|
|
|
|
|
|
|
# Purpose: Stop readelf from warning about gaps in build notes.
|
|
|
|
# Lifetime: Fixed in 2.37 ?
|
|
|
|
Patch37: binutils-readelf-no-warn-gaps.patch
|
|
|
|
|
|
|
|
# Purpose: Stop readelf from complaining about an unexpected form 20.
|
|
|
|
# Lifetime: Fixed in 2.37
|
|
|
|
Patch38: binutils-unexpected-form-20.patch
|
|
|
|
|
|
|
|
# Purpose: Prevent an illegal memory access when reading relocations
|
|
|
|
# for secondary reloc sections.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch39: binutils-CVE-2021-20284.patch
|
|
|
|
|
|
|
|
# Purpose: Bring in some bug fixes for Z14 support.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch40: binutils-extend-s390-arch14-support.patch
|
|
|
|
|
|
|
|
# Purpose: Fix excessive memory consumption when attempting to parse corrupt
|
|
|
|
# DWARF debug information.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch41: binutils-CVE-2021-3487.patch
|
|
|
|
|
|
|
|
# Purpose: Fix illegal memory access when parsing corrupt ELF files.
|
|
|
|
# Lifetime: Fixed in 2.36
|
|
|
|
Patch42: binutils-CVE-2020-35448.patch
|
|
|
|
|
|
|
|
# Purpose: Ensure that the 0'th entry in DWARF-5 directory tables generated
|
|
|
|
# by gas contains the current working directory.
|
|
|
|
# Lifetime: Fixed in 2.38
|
|
|
|
Patch43: binutils-dwarf-5-dir0.patch
|
|
|
|
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
BuildRequires: texinfo >= 4.0, gettext, flex, bison, zlib-devel
|
|
|
|
# BZ 920545: We need pod2man in order to build the manual pages.
|
|
|
|
BuildRequires: /usr/bin/pod2man
|
|
|
|
# Perl, sed and touch are all used in the %prep section of this spec file.
|
|
|
|
BuildRequires: gcc, perl-interpreter, sed, coreutils
|
|
|
|
BuildRequires: findutils
|
|
|
|
BuildRequires: autoconf automake
|
|
|
|
BuildRequires: make
|
|
|
|
|
|
|
|
Provides: bundled(libiberty)
|
|
|
|
|
|
|
|
%description
|
|
|
|
Binutils is a collection of binary utilities, including ar (for
|
|
|
|
creating, modifying and extracting from archives), as (a family of GNU
|
|
|
|
assemblers), gprof (for displaying call graph profile data), ld (the
|
|
|
|
GNU linker), nm (for listing symbols from object files), objcopy (for
|
|
|
|
copying and translating object files), objdump (for displaying
|
|
|
|
information from object files), ranlib (for generating an index for
|
|
|
|
the contents of an archive), readelf (for displaying detailed
|
|
|
|
information about binary files), size (for listing the section sizes
|
|
|
|
of an object or archive file), strings (for listing printable strings
|
|
|
|
from files), strip (for discarding symbols), and addr2line (for
|
|
|
|
converting addresses to file and line).
|
|
|
|
|
|
|
|
%package -n %{cross}-binutils-common
|
|
|
|
Summary: Cross-build binary utility documentation and translation files
|
|
|
|
BuildArch: noarch
|
|
|
|
%description -n %{cross}-binutils-common
|
|
|
|
Documentation, manual pages and translation files for cross-build binary image
|
|
|
|
generation, manipulation and query tools.
|
|
|
|
|
|
|
|
%global do_package() \
|
|
|
|
%if %2 \
|
|
|
|
%package -n %{rpmprefix}binutils-%1 \
|
|
|
|
Summary: Cross-build binary utilities for %1 \
|
|
|
|
Requires: %{cross}-binutils-common == %{version}-%{release} \
|
|
|
|
%description -n %{rpmprefix}binutils-%1 \
|
|
|
|
Cross-build binary image generation, manipulation and query tools. \
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%global do_symlink() \
|
|
|
|
%if %2 \
|
|
|
|
%package -n %{rpmprefix}binutils-%1 \
|
|
|
|
Summary: Cross-build binary utilities for %1 \
|
|
|
|
Requires: binutils-%3 == %{version}-%{release} \
|
|
|
|
%description -n %{rpmprefix}binutils-%1 \
|
|
|
|
Cross-build binary image generation, manipulation and query tools. \
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%do_package aarch64-linux-gnu %{build_aarch64}
|
|
|
|
%do_package alpha-linux-gnu %{build_alpha}
|
|
|
|
%do_package arc-linux-gnu %{build_arc}
|
|
|
|
%do_package arm-linux-gnu %{build_arm}
|
|
|
|
%do_package avr32-linux-gnu %{build_avr32}
|
|
|
|
%do_package bfin-linux-gnu %{build_blackfin}
|
|
|
|
%do_package c6x-linux-gnu %{build_c6x}
|
|
|
|
%do_package cris-linux-gnu %{build_cris}
|
|
|
|
%do_package frv-linux-gnu %{build_frv}
|
|
|
|
%do_package h8300-linux-gnu %{build_h8300}
|
|
|
|
%do_package hexagon-linux-gnu %{build_hexagon}
|
|
|
|
%do_package hppa-linux-gnu %{build_hppa}
|
|
|
|
%do_package hppa64-linux-gnu %{build_hppa64}
|
|
|
|
%do_package i386-linux-gnu %{build_i386}
|
|
|
|
%do_package ia64-linux-gnu %{build_ia64}
|
|
|
|
%do_package m32r-linux-gnu %{build_m32r}
|
|
|
|
%do_package m68k-linux-gnu %{build_m68k}
|
|
|
|
%do_package metag-linux-gnu %{build_metag}
|
|
|
|
%do_package microblaze-linux-gnu %{build_microblaze}
|
|
|
|
%do_package mips-linux-gnu %{build_mips}
|
|
|
|
%do_package mips64-linux-gnu %{build_mips64}
|
|
|
|
%do_package mn10300-linux-gnu %{build_mn10300}
|
|
|
|
%do_package nios2-linux-gnu %{build_nios2}
|
|
|
|
%do_package openrisc-linux-gnu %{build_openrisc} or1k-linux-gnu
|
|
|
|
%do_package powerpc-linux-gnu %{build_powerpc}
|
|
|
|
%do_package powerpc64-linux-gnu %{build_powerpc64}
|
|
|
|
%do_package powerpc64le-linux-gnu %{build_powerpc64le}
|
|
|
|
%do_symlink ppc-linux-gnu %{build_powerpc} powerpc-linux-gnu
|
|
|
|
%do_symlink ppc64-linux-gnu %{build_powerpc64} powerpc64-linux-gnu
|
|
|
|
%do_symlink ppc64le-linux-gnu %{build_powerpc64le} powerpc64le-linux-gnu
|
|
|
|
%do_package riscv64-linux-gnu %{build_riscv64}
|
|
|
|
%do_package s390-linux-gnu %{build_s390}
|
|
|
|
%do_package s390x-linux-gnu %{build_s390x}
|
|
|
|
%do_package score-linux-gnu %{build_score}
|
|
|
|
%do_package sh-linux-gnu %{build_sh}
|
|
|
|
%do_package sh4-linux-gnu %{build_sh4}
|
|
|
|
%do_package sparc-linux-gnu %{build_sparc}
|
|
|
|
%do_package sparc64-linux-gnu %{build_sparc64}
|
|
|
|
%do_package tile-linux-gnu %{build_tile}
|
|
|
|
%do_package unicore32-linux-gnu %{build_unicore32}
|
|
|
|
%do_package x86_64-linux-gnu %{build_x86_64}
|
|
|
|
%do_package xtensa-linux-gnu %{build_xtensa}
|
|
|
|
|
|
|
|
# Where the binaries aimed at gcc will live (ie. /usr/<target>/bin/)
|
|
|
|
%global auxbin_prefix %{_exec_prefix}
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
#
|
|
|
|
# Preparation
|
|
|
|
#
|
|
|
|
###############################################################################
|
|
|
|
%prep
|
|
|
|
%global srcdir binutils-%{version}
|
|
|
|
%setup -q -n %{srcdir} -c
|
|
|
|
cd %{srcdir}
|
|
|
|
%patch01 -p1
|
|
|
|
%patch02 -p1
|
|
|
|
%patch03 -p1
|
|
|
|
%patch04 -p1
|
|
|
|
%patch05 -p1
|
|
|
|
%patch06 -p1
|
|
|
|
%patch07 -p1
|
|
|
|
%patch08 -p1
|
|
|
|
%patch09 -p1
|
|
|
|
%patch10 -p1
|
|
|
|
%patch11 -p1
|
|
|
|
%patch12 -p1
|
|
|
|
%patch13 -p1
|
|
|
|
%patch14 -p1
|
|
|
|
%patch15 -p1
|
|
|
|
%patch16 -p1
|
|
|
|
%patch17 -p1
|
|
|
|
%patch18 -p1
|
|
|
|
%patch19 -p1
|
|
|
|
%patch20 -p1
|
|
|
|
%patch21 -p1
|
|
|
|
%patch22 -p1
|
|
|
|
%patch23 -p1
|
|
|
|
%patch24 -p1
|
|
|
|
#patch25 -p1
|
|
|
|
%patch26 -p1
|
|
|
|
%patch27 -p1
|
|
|
|
%patch28 -p1
|
|
|
|
%patch29 -p1
|
|
|
|
%patch30 -p1
|
|
|
|
%patch31 -p1
|
|
|
|
%patch32 -p1
|
|
|
|
%patch33 -p1
|
|
|
|
%patch34 -p1
|
|
|
|
%patch35 -p1
|
|
|
|
%patch36 -p1
|
|
|
|
%patch37 -p1
|
|
|
|
%patch38 -p1
|
|
|
|
%patch39 -p1
|
|
|
|
%patch40 -p1
|
|
|
|
%patch41 -p1
|
|
|
|
%patch42 -p1
|
|
|
|
%patch43 -p1
|
|
|
|
|
|
|
|
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
|
|
|
|
|
|
|
|
# On ppc64 and aarch64, we might use 64KiB pages
|
|
|
|
sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*ppc.c
|
|
|
|
sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*aarch64.c
|
|
|
|
sed -i -e '/common_pagesize/s/4 /64 /' gold/powerpc.cc
|
|
|
|
sed -i -e '/pagesize/s/0x1000,/0x10000,/' gold/aarch64.cc
|
|
|
|
# LTP sucks
|
|
|
|
perl -pi -e 's/i\[3-7\]86/i[34567]86/g' */conf*
|
|
|
|
sed -i -e 's/%''{release}/%{release}/g' bfd/Makefile{.am,.in}
|
|
|
|
sed -i -e '/^libopcodes_la_\(DEPENDENCIES\|LIBADD\)/s,$, ../bfd/libbfd.la,' opcodes/Makefile.{am,in}
|
|
|
|
# Build libbfd.so and libopcodes.so with -Bsymbolic-functions if possible.
|
|
|
|
if gcc %{optflags} -v --help 2>&1 | grep -q -- -Bsymbolic-functions; then
|
|
|
|
sed -i -e 's/^libbfd_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' bfd/Makefile.{am,in}
|
|
|
|
sed -i -e 's/^libopcodes_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' opcodes/Makefile.{am,in}
|
|
|
|
fi
|
|
|
|
# $PACKAGE is used for the gettext catalog name.
|
|
|
|
sed -i -e 's/^ PACKAGE=/ PACKAGE=%{cross}-/' */configure
|
|
|
|
# Undo the name change to run the testsuite.
|
|
|
|
for tool in binutils gas ld
|
|
|
|
do
|
|
|
|
sed -i -e "2aDEJATOOL = $tool" $tool/Makefile.am
|
|
|
|
sed -i -e "s/^DEJATOOL = .*/DEJATOOL = $tool/" $tool/Makefile.in
|
|
|
|
done
|
|
|
|
touch */configure
|
|
|
|
|
|
|
|
function prep_target () {
|
|
|
|
target=$1
|
|
|
|
cond=$2
|
|
|
|
|
|
|
|
if [ $cond != 0 ]
|
|
|
|
then
|
|
|
|
echo $1 >&5
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
cd ..
|
|
|
|
(
|
|
|
|
prep_target aarch64-linux-gnu %{build_aarch64}
|
|
|
|
prep_target alpha-linux-gnu %{build_alpha}
|
|
|
|
prep_target arc-linux-gnu %{build_arc}
|
|
|
|
prep_target arm-linux-gnu %{build_arm}
|
|
|
|
prep_target avr32-linux-gnu %{build_avr32}
|
|
|
|
prep_target bfin-linux-gnu %{build_blackfin}
|
|
|
|
prep_target c6x-linux-gnu %{build_c6x}
|
|
|
|
prep_target cris-linux-gnu %{build_cris}
|
|
|
|
prep_target frv-linux-gnu %{build_frv}
|
|
|
|
prep_target h8300-linux-gnu %{build_h8300}
|
|
|
|
prep_target hexagon-linux-gnu %{build_hexagon}
|
|
|
|
prep_target hppa-linux-gnu %{build_hppa}
|
|
|
|
prep_target hppa64-linux-gnu %{build_hppa64}
|
|
|
|
prep_target i386-linux-gnu %{build_i386}
|
|
|
|
prep_target ia64-linux-gnu %{build_ia64}
|
|
|
|
prep_target m32r-linux-gnu %{build_m32r}
|
|
|
|
prep_target m68k-linux-gnu %{build_m68k}
|
|
|
|
prep_target metag-linux-gnu %{build_metag}
|
|
|
|
prep_target microblaze-linux-gnu %{build_microblaze}
|
|
|
|
prep_target mips-linux-gnu %{build_mips}
|
|
|
|
prep_target mips64-linux-gnu %{build_mips64}
|
|
|
|
prep_target mn10300-linux-gnu %{build_mn10300}
|
|
|
|
prep_target nios2-linux-gnu %{build_nios2}
|
|
|
|
prep_target openrisc-linux-gnu %{build_openrisc}
|
|
|
|
prep_target powerpc-linux-gnu %{build_powerpc}
|
|
|
|
prep_target powerpc64-linux-gnu %{build_powerpc64}
|
|
|
|
prep_target powerpc64le-linux-gnu %{build_powerpc64le}
|
|
|
|
prep_target riscv64-linux-gnu %{build_riscv64}
|
|
|
|
prep_target s390-linux-gnu %{build_s390}
|
|
|
|
prep_target s390x-linux-gnu %{build_s390x}
|
|
|
|
prep_target score-linux-gnu %{build_score}
|
|
|
|
prep_target sh-linux-gnu %{build_sh}
|
|
|
|
prep_target sh4-linux-gnu %{build_sh4}
|
|
|
|
prep_target sparc-linux-gnu %{build_sparc}
|
|
|
|
prep_target sparc64-linux-gnu %{build_sparc64}
|
|
|
|
prep_target tile-linux-gnu %{build_tile}
|
|
|
|
prep_target unicore32-linux-gnu %{build_unicore32}
|
|
|
|
prep_target x86_64-linux-gnu %{build_x86_64}
|
|
|
|
prep_target xtensa-linux-gnu %{build_xtensa}
|
|
|
|
) 5>target.list
|
|
|
|
|
|
|
|
n=0
|
|
|
|
for target in `cat target.list`
|
|
|
|
do
|
|
|
|
n=1
|
|
|
|
break
|
|
|
|
done
|
|
|
|
if [ $n = 0 ]
|
|
|
|
then
|
|
|
|
echo "No targets selected" >&2
|
|
|
|
exit 8
|
|
|
|
fi
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
#
|
|
|
|
# Build
|
|
|
|
#
|
|
|
|
###############################################################################
|
|
|
|
%build
|
|
|
|
|
|
|
|
function config_target () {
|
|
|
|
arch=$1
|
|
|
|
prefix=$arch-
|
|
|
|
build_dir=${1%%%%-*}
|
|
|
|
|
|
|
|
case $arch in
|
|
|
|
aarch64-*) target=aarch64-linux-gnu;;
|
|
|
|
arc-*) target=arc-linux-gnu;;
|
|
|
|
arm-*) target=arm-linux-gnueabi;;
|
|
|
|
avr32-*) target=avr-linux;;
|
|
|
|
bfin-*) target=bfin-uclinux;;
|
|
|
|
c6x-*) target=c6x-uclinux;;
|
|
|
|
h8300-*) target=h8300-elf;;
|
|
|
|
m32r-*) target=m32r-elf;;
|
|
|
|
mn10300-*) target=am33_2.0-linux;;
|
|
|
|
m68knommu-*) target=m68k-linux;;
|
|
|
|
openrisc-*) target=or1k-linux-gnu;;
|
|
|
|
parisc-*) target=hppa-linux;;
|
|
|
|
score-*) target=score-elf;;
|
|
|
|
tile-*) target=tilegx-linux;;
|
|
|
|
v850-*) target=v850e-linux;;
|
|
|
|
x86-*) target=x86_64-linux;;
|
|
|
|
*) target=$arch;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
echo $arch: target is $target
|
|
|
|
export CFLAGS="$RPM_OPT_FLAGS -Wno-unused-const-variable"
|
|
|
|
CARGS=
|
|
|
|
|
|
|
|
case $target in i?86*|sparc*|ppc*|s390*|sh*|arm*|aarch64*|riscv*)
|
|
|
|
CARGS="$CARGS --enable-64-bit-bfd"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
case $target in ia64*)
|
|
|
|
CARGS="$CARGS --enable-targets=i386-linux"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
case $target in ppc*|ppc64*)
|
|
|
|
CARGS="$CARGS --enable-targets=spu"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
case $target in ppc64-*)
|
|
|
|
CARGS="$CARGS --enable-targets=powerpc64le-linux"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
case $target in sh-*)
|
|
|
|
CARGS="$CARGS --enable-targets=sh-linux,sh4-linux"
|
|
|
|
# sh-elf is dropped for now as it makes for ambiguity in format recognition
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
case $target in x86_64*|i?86*|arm*|aarch64*|riscv*)
|
|
|
|
CARGS="$CARGS --enable-targets=x86_64-pep"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
%if %{default_relro}
|
|
|
|
CARGS="$CARGS --enable-relro=yes"
|
|
|
|
%else
|
|
|
|
CARGS="$CARGS --enable-relro=no"
|
|
|
|
%endif
|
|
|
|
|
|
|
|
mkdir $build_dir
|
|
|
|
cd $build_dir
|
|
|
|
|
|
|
|
# We could optimize the cross builds size by --enable-shared but the produced
|
|
|
|
# binaries may be less convenient in the embedded environment.
|
|
|
|
echo LDFLAGS: $RPM_LD_FLAGS
|
|
|
|
LDFLAGS="$RPM_LD_FLAGS " \
|
|
|
|
../%{srcdir}/configure \
|
|
|
|
--disable-dependency-tracking \
|
|
|
|
--disable-silent-rules \
|
|
|
|
--enable-checking \
|
|
|
|
--prefix=%{_prefix} \
|
|
|
|
--exec-prefix=%{auxbin_prefix} \
|
|
|
|
--bindir=%{_bindir} \
|
|
|
|
--sbindir=%{_sbindir} \
|
|
|
|
--sysconfdir=%{_sysconfdir} \
|
|
|
|
--datadir=%{_datadir} \
|
|
|
|
--includedir=%{_includedir} \
|
|
|
|
--libdir=%{_libdir} \
|
|
|
|
--libexecdir=%{_libexecdir} \
|
|
|
|
--localstatedir=%{_localstatedir} \
|
|
|
|
--sharedstatedir=%{_sharedstatedir} \
|
|
|
|
--mandir=%{_mandir} \
|
|
|
|
--infodir=%{_infodir} \
|
|
|
|
--build=%{_target_platform} \
|
|
|
|
--host=%{_target_platform} \
|
|
|
|
--target=$target \
|
|
|
|
--program-prefix=$prefix \
|
|
|
|
--disable-shared \
|
|
|
|
--disable-install_libbfd \
|
|
|
|
--with-sysroot=%{_prefix}/$arch/sys-root \
|
|
|
|
%if %{enable_deterministic_archives}
|
|
|
|
--enable-deterministic-archives \
|
|
|
|
%else
|
|
|
|
--enable-deterministic-archives=no \
|
|
|
|
%endif
|
|
|
|
%if %{default_compress_debug}
|
|
|
|
--enable-compressed-debug-sections=all \
|
|
|
|
%else
|
|
|
|
--enable-compressed-debug-sections=none \
|
|
|
|
%endif
|
|
|
|
%if %{default_generate_notes}
|
|
|
|
--enable-generate-build-notes=yes \
|
|
|
|
%else
|
|
|
|
--enable-generate-build-notes=no \
|
|
|
|
%endif
|
|
|
|
--enable-lto \
|
|
|
|
$CARGS \
|
|
|
|
--enable-plugins \
|
|
|
|
--with-bugurl=https://bugzilla.powerel.org/bugzilla/
|
|
|
|
cd ..
|
|
|
|
}
|
|
|
|
|
|
|
|
# Dependencies are not set up to rebuild the configure files
|
|
|
|
# in the subdirectories. So we just rebuild the ones we care
|
|
|
|
# about after applying the configure patches
|
|
|
|
pushd %{srcdir}/libiberty
|
|
|
|
autoconf -f
|
|
|
|
popd
|
|
|
|
pushd %{srcdir}/intl
|
|
|
|
autoconf -f
|
|
|
|
popd
|
|
|
|
|
|
|
|
for target in `cat target.list`
|
|
|
|
do
|
|
|
|
config_target $target
|
|
|
|
done
|
|
|
|
|
|
|
|
function build_target () {
|
|
|
|
build_dir=${1%%%%-*}
|
|
|
|
%make_build -C $build_dir tooldir=%{_prefix} all
|
|
|
|
}
|
|
|
|
|
|
|
|
for target in `cat target.list`
|
|
|
|
do
|
|
|
|
build_target $target
|
|
|
|
done
|
|
|
|
|
|
|
|
# for documentation purposes only
|
|
|
|
mkdir %{cross}-binutils
|
|
|
|
cd %{cross}-binutils
|
|
|
|
../%{srcdir}/configure \
|
|
|
|
--disable-dependency-tracking \
|
|
|
|
--disable-silent-rules \
|
|
|
|
--prefix=%{_prefix} \
|
|
|
|
--exec-prefix=%{auxbin_prefix} \
|
|
|
|
--bindir=%{_bindir} \
|
|
|
|
--sbindir=%{_sbindir} \
|
|
|
|
--sysconfdir=%{_sysconfdir} \
|
|
|
|
--datadir=%{_datadir} \
|
|
|
|
--includedir=%{_includedir} \
|
|
|
|
--libdir=%{_libdir} \
|
|
|
|
--libexecdir=%{_libexecdir} \
|
|
|
|
--localstatedir=%{_localstatedir} \
|
|
|
|
--sharedstatedir=%{_sharedstatedir} \
|
|
|
|
--mandir=%{_mandir} \
|
|
|
|
--infodir=%{_infodir} \
|
|
|
|
--program-prefix=%{cross}- \
|
|
|
|
--disable-shared \
|
|
|
|
--with-bugurl=https://bugzilla.powerel.org/bugzilla/
|
|
|
|
%make_build tooldir=%{_prefix} all
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
#
|
|
|
|
# Installation
|
|
|
|
#
|
|
|
|
###############################################################################
|
|
|
|
%install
|
|
|
|
function install_bin () {
|
|
|
|
cpu=${1%%%%-*}
|
|
|
|
build_dir=$cpu
|
|
|
|
%make_install -C $build_dir DESTDIR=%{buildroot}
|
|
|
|
|
|
|
|
# We want links for ppc and ppc64 also if we make powerpc or powerpc64
|
|
|
|
case $cpu in
|
|
|
|
powerpc*)
|
|
|
|
cd %{buildroot}/usr/bin
|
|
|
|
for i in $cpu-*
|
|
|
|
do
|
|
|
|
ln -s $i ppc${i#powerpc}
|
|
|
|
done
|
|
|
|
cd -
|
|
|
|
cd %{buildroot}/usr/
|
|
|
|
for i in $cpu-*
|
|
|
|
do
|
|
|
|
ln -s $i ppc${i#powerpc}
|
|
|
|
done
|
|
|
|
cd -
|
|
|
|
cd %{buildroot}/usr/share/man/man1
|
|
|
|
for i in $cpu-*
|
|
|
|
do
|
|
|
|
ln -s $i ppc${i#powerpc}
|
|
|
|
done
|
|
|
|
cd -
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
}
|
|
|
|
|
|
|
|
for target in `cat target.list`
|
|
|
|
do
|
|
|
|
echo "=== INSTALL target $target ==="
|
|
|
|
mkdir -p %{buildroot}%{_prefix}/$target/sys-root
|
|
|
|
install_bin $target
|
|
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "=== INSTALL man targets ==="
|
|
|
|
make install-man1 -C %{cross}-binutils/binutils/doc DESTDIR=%{buildroot}
|
|
|
|
make install-man1 -C %{cross}-binutils/gas/doc DESTDIR=%{buildroot}
|
|
|
|
make install-man1 -C %{cross}-binutils/ld DESTDIR=%{buildroot}
|
|
|
|
make install-man1 -C %{cross}-binutils/gprof DESTDIR=%{buildroot}
|
|
|
|
|
|
|
|
echo "=== INSTALL po targets ==="
|
|
|
|
%make_install -C %{cross}-binutils/binutils/po DESTDIR=%{buildroot}
|
|
|
|
%make_install -C %{cross}-binutils/gas/po DESTDIR=%{buildroot}
|
|
|
|
%make_install -C %{cross}-binutils/ld/po DESTDIR=%{buildroot}
|
|
|
|
%make_install -C %{cross}-binutils/gprof/po DESTDIR=%{buildroot}
|
|
|
|
%make_install -C %{cross}-binutils/bfd/po DESTDIR=%{buildroot}
|
|
|
|
%make_install -C %{cross}-binutils/opcodes/po DESTDIR=%{buildroot}
|
|
|
|
|
|
|
|
# Add the additional symlink-only targets
|
|
|
|
grep ^powerpc target.list | sed -e s/powerpc/ppc/ >symlink-target.list
|
|
|
|
cat symlink-target.list >>target.list
|
|
|
|
|
|
|
|
# For cross-binutils we drop the documentation.
|
|
|
|
echo "=== REMOVE documentation ==="
|
|
|
|
rm -rf %{buildroot}%{_infodir}
|
|
|
|
rm -f %{buildroot}%{_infodir}/dir
|
|
|
|
|
|
|
|
echo "=== REMOVE libraries and scripts ==="
|
|
|
|
rm -rf %{buildroot}%{_libdir}/libiberty.a
|
|
|
|
rm -rf %{buildroot}%{auxbin_prefix}/*/lib/ldscripts
|
|
|
|
rmdir %{buildroot}%{auxbin_prefix}/*/lib || :
|
|
|
|
|
|
|
|
echo "=== BUILD file lists ==="
|
|
|
|
function build_file_list () {
|
|
|
|
arch=$1
|
|
|
|
cpu=${arch%%%%-*}
|
|
|
|
|
|
|
|
case $cpu in
|
|
|
|
avr32) target_cpu=avr;;
|
|
|
|
bfin) target_cpu=bfin;;
|
|
|
|
h8300) target_cpu=h8300;;
|
|
|
|
mn10300) target_cpu=am33_2.0;;
|
|
|
|
openrisc) target_cpu=or1k;;
|
|
|
|
score) target_cpu=score;;
|
|
|
|
tile) target_cpu=tilegx;;
|
|
|
|
v850) target_cpu=v850e;;
|
|
|
|
*) target_cpu=$cpu;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
(
|
|
|
|
echo %{_bindir}/$arch-[!l]\*
|
|
|
|
echo %{_bindir}/$arch-ld\*
|
|
|
|
echo %{_mandir}/man1/$arch-\*
|
|
|
|
echo %{auxbin_prefix}/$target_cpu-\*
|
|
|
|
) >files.$arch
|
|
|
|
}
|
|
|
|
|
|
|
|
for target in `cat target.list`
|
|
|
|
do
|
|
|
|
build_file_list $target
|
|
|
|
done
|
|
|
|
|
|
|
|
# All the installed manual pages and translation files for each program are the
|
|
|
|
# same, so symlink them to the core package
|
|
|
|
echo "=== CROSSLINK man pages ==="
|
|
|
|
cd %{buildroot}%{_mandir}/man1
|
|
|
|
for i in %{cross}-*.1*
|
|
|
|
do
|
|
|
|
j=${i#%{cross}-}
|
|
|
|
|
|
|
|
for k in *-$j
|
|
|
|
do
|
|
|
|
if [ $k != $i ]
|
|
|
|
then
|
|
|
|
ln -sf $i $k
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
# Add ld.bfd manual pages
|
|
|
|
find * -name "*ld.1*" -a ! -name "%{cross}-ld.1*" -print |
|
|
|
|
while read x
|
|
|
|
do
|
|
|
|
y=`echo $x | sed -e s/ld[.]1/ld.bfd.1/`
|
|
|
|
ln -s $x $y
|
|
|
|
done
|
|
|
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
# Find the language files which only exist in the common package
|
|
|
|
(
|
|
|
|
%find_lang %{cross}-binutils
|
|
|
|
%find_lang %{cross}-opcodes
|
|
|
|
%find_lang %{cross}-bfd
|
|
|
|
%find_lang %{cross}-gas
|
|
|
|
%find_lang %{cross}-ld
|
|
|
|
%find_lang %{cross}-gprof
|
|
|
|
cat %{cross}-binutils.lang
|
|
|
|
cat %{cross}-opcodes.lang
|
|
|
|
cat %{cross}-bfd.lang
|
|
|
|
cat %{cross}-gas.lang
|
|
|
|
cat %{cross}-ld.lang
|
|
|
|
cat %{cross}-gprof.lang
|
|
|
|
) >files.cross
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
#
|
|
|
|
# Cleanup
|
|
|
|
#
|
|
|
|
###############################################################################
|
|
|
|
###############################################################################
|
|
|
|
#
|
|
|
|
# Filesets
|
|
|
|
#
|
|
|
|
###############################################################################
|
|
|
|
%files -n %{cross}-binutils-common -f files.cross
|
|
|
|
%license %{srcdir}/COPYING*
|
|
|
|
%doc %{srcdir}/README
|
|
|
|
%{_mandir}/man1/%{cross}-*
|
|
|
|
|
|
|
|
%global do_files() \
|
|
|
|
%if %2 \
|
|
|
|
%files -n %{rpmprefix}binutils-%1 -f files.%1 \
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%do_files aarch64-linux-gnu %{build_aarch64}
|
|
|
|
%do_files alpha-linux-gnu %{build_alpha}
|
|
|
|
%do_files arc-linux-gnu %{build_arc}
|
|
|
|
%do_files arm-linux-gnu %{build_arm}
|
|
|
|
%do_files avr32-linux-gnu %{build_avr32}
|
|
|
|
%do_files bfin-linux-gnu %{build_blackfin}
|
|
|
|
%do_files c6x-linux-gnu %{build_c6x}
|
|
|
|
%do_files cris-linux-gnu %{build_cris}
|
|
|
|
%do_files frv-linux-gnu %{build_frv}
|
|
|
|
%do_files h8300-linux-gnu %{build_h8300}
|
|
|
|
%do_files hexagon-linux-gnu %{build_hexagon}
|
|
|
|
%do_files hppa-linux-gnu %{build_hppa}
|
|
|
|
%do_files hppa64-linux-gnu %{build_hppa64}
|
|
|
|
%do_files i386-linux-gnu %{build_i386}
|
|
|
|
%do_files ia64-linux-gnu %{build_ia64}
|
|
|
|
%do_files m32r-linux-gnu %{build_m32r}
|
|
|
|
%do_files m68k-linux-gnu %{build_m68k}
|
|
|
|
%do_files metag-linux-gnu %{build_metag}
|
|
|
|
%do_files microblaze-linux-gnu %{build_microblaze}
|
|
|
|
%do_files mips-linux-gnu %{build_mips}
|
|
|
|
%do_files mips64-linux-gnu %{build_mips64}
|
|
|
|
%do_files mn10300-linux-gnu %{build_mn10300}
|
|
|
|
%do_files nios2-linux-gnu %{build_nios2}
|
|
|
|
%do_files openrisc-linux-gnu %{build_openrisc}
|
|
|
|
%do_files powerpc-linux-gnu %{build_powerpc}
|
|
|
|
%do_files powerpc64-linux-gnu %{build_powerpc64}
|
|
|
|
%do_files powerpc64le-linux-gnu %{build_powerpc64le}
|
|
|
|
%do_files ppc-linux-gnu %{build_powerpc}
|
|
|
|
%do_files ppc64-linux-gnu %{build_powerpc64}
|
|
|
|
%do_files ppc64le-linux-gnu %{build_powerpc64le}
|
|
|
|
%do_files riscv64-linux-gnu %{build_riscv64}
|
|
|
|
%do_files s390-linux-gnu %{build_s390}
|
|
|
|
%do_files s390x-linux-gnu %{build_s390x}
|
|
|
|
%do_files score-linux-gnu %{build_score}
|
|
|
|
%do_files sh-linux-gnu %{build_sh}
|
|
|
|
%do_files sh4-linux-gnu %{build_sh4}
|
|
|
|
%do_files sparc-linux-gnu %{build_sparc}
|
|
|
|
%do_files sparc64-linux-gnu %{build_sparc64}
|
|
|
|
%do_files tile-linux-gnu %{build_tile}
|
|
|
|
%do_files unicore32-linux-gnu %{build_unicore32}
|
|
|
|
%do_files x86_64-linux-gnu %{build_x86_64}
|
|
|
|
%do_files xtensa-linux-gnu %{build_xtensa}
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
* Mon Aug 23 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2.35.2-1
|
|
|
|
- Update to binutils-2.35.2-5
|
|
|
|
|
|
|
|
* Sat Jul 24 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2.35.1-6
|
|
|
|
- Update to binutils-2.35.1-41.fc34
|
|
|
|
|
|
|
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.35.1-5
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
|
|
|
|
* Thu Dec 3 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2.35.1-4
|
|
|
|
- Sync to binutils-2.35.1-16
|
|
|
|
|
|
|
|
* Sun Nov 8 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2.35.1-3
|
|
|
|
- Sync to binutils 2.35.1-13
|
|
|
|
|
|
|
|
* Sat Oct 10 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2.35.1-2
|
|
|
|
- Sync to binutils 2.35.1-5
|
|
|
|
|
|
|
|
* Wed Sep 23 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2.35.1-1
|
|
|
|
- Sync to 2.35.1
|
|
|
|
|
|
|
|
* Fri Sep 04 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2.35-4
|
|
|
|
- Sync to binutils-2.35-12
|
|
|
|
|
|
|
|
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.35-3
|
|
|
|
- Second attempt - Rebuilt for
|
|
|
|
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
|
|
|
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.35-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
|
|
|
|
* Sun Jul 26 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2.35-1
|
|
|
|
- Update to 2.35
|
|
|
|
|
|
|
|
* Mon Jul 20 2020 Jeff Law <law@redhat.com> - 2.34-3
|
|
|
|
- Fix configure tests compromised by LTO
|
|
|
|
- Work around diagnostics exposed by LTO
|
|
|
|
|
|
|
|
* Thu Feb 27 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2.34-2
|
|
|
|
- Fix the plugin support architecture to allow proper symbol info handling. (PR 25355)
|
|
|
|
|
|
|
|
* Mon Feb 3 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2.34-1
|
|
|
|
- sync with binutils 2.34-1
|
|
|
|
- Enable 64-bit BFD and PEP support for riscv.
|
|
|
|
- Improve the accuracy of addr2line.
|
|
|
|
|
|
|
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.33.1-3
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
|
|
|
|
* Mon Jan 06 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2.33.1-2
|
|
|
|
- sync with binutils 2.33.1-11
|
|
|
|
|
|
|
|
* Tue Oct 15 2019 Peter Robinson <pbrobinson@fedoraproject.org> 2.33.1-1
|
|
|
|
- Sync with binutils-2.33.1-1
|
|
|
|
|
|
|
|
* Tue Aug 27 2019 Peter Robinson <pbrobinson@fedoraproject.org> 2.32-3
|
|
|
|
- Sync with binutils-2.32-24
|
|
|
|
|
|
|
|
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.32-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
|
|
|
|
* Sun May 26 2019 Peter Robinson <pbrobinson@fedoraproject.org> 2.32-1
|
|
|
|
- Sync with binutils-2.32-14
|
|
|
|
|
|
|
|
* Sun May 26 2019 Peter Robinson <pbrobinson@fedoraproject.org> 2.31.1-3
|
|
|
|
- Sync with binutils-2.31.1-31
|
|
|
|
|
|
|
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.31.1-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
|
|
|
|
|
|
* Tue Nov 6 2018 Tom Callaway <spot@fedoraproject.org> - 2.31.1-1
|
|
|
|
- update to 2.31.1
|
|
|
|
|
|
|
|
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.30-6
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
|
|
|
|
* Wed Jul 11 2018 David Howells <dhowells@redhat.com> - 2.30-5
|
|
|
|
- Switch ARC to arc-linux-gnu (#1600183).
|
|
|
|
|
|
|
|
* Tue Jul 10 2018 David Howells <dhowells@redhat.com> - 2.30-4
|
|
|
|
- Sync with binutils-2.30-26.
|
|
|
|
- Add support for the ARC arch (#1599744).
|
|
|
|
|
|
|
|
* Thu Jun 28 2018 David Howells <dhowells@redhat.com> - 2.30-3
|
|
|
|
- Fix ppc* symlink packages inclusion of files from the powerpc* packages.
|
|
|
|
- Sync with binutils-2.30-24.
|
|
|
|
|
|
|
|
* Tue May 29 2018 David Howells <dhowells@redhat.com> - 2.30-2
|
|
|
|
- Sync with binutils-2.30-21.
|
|
|
|
|
|
|
|
* Fri Mar 30 2018 David Howells <dhowells@redhat.com> - 2.30-1
|
|
|
|
- Sync with binutils-2.30-14.
|
|
|
|
|
|
|
|
* Wed Feb 14 2018 David Howells <dhowells@redhat.com> - 2.29.1-4
|
|
|
|
- Sync with binutils-2.29.1-19.
|
|
|
|
|
|
|
|
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.29.1-3
|
|
|
|
- Escape macros in %%changelog
|
|
|
|
|
|
|
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.29.1-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
|
|
|
|
|
* Mon Nov 6 2017 David Howells <dhowells@redhat.com> - 2.29.1-1
|
|
|
|
- Sync with binutils-2.29.1-4.
|
|
|
|
- Add support for riscv64 arch (#1491955).
|
|
|
|
|
|
|
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.29-3
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
|
|
|
|
|
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.29-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
|
|
|
|
|
* Tue Jul 25 2017 David Howells <dhowells@redhat.com> - 2.29-1
|
|
|
|
- Sync with binutils-2.29-1.
|
|
|
|
|
|
|
|
* Mon Jun 26 2017 David Howells <dhowells@redhat.com> - 2.28-3
|
|
|
|
- Sync with binutils-2.28-9.
|
|
|
|
|
|
|
|
* Tue May 16 2017 David Howells <dhowells@redhat.com> - 2.28-2
|
|
|
|
- Sync with binutils-2.28-6.
|
|
|
|
|
|
|
|
* Wed Mar 15 2017 David Howells <dhowells@redhat.com> - 2.28-1
|
|
|
|
- Sync with binutils-2.28-4.
|
|
|
|
|
|
|
|
* Mon Feb 6 2017 David Howells <dhowells@redhat.com> - 2.27-6
|
|
|
|
- Sync with binutils-2.27-16.
|
|
|
|
- Install COPYING[*] files using the %%license macro.
|
|
|
|
|
|
|
|
* Wed Dec 14 2016 Merlin Mathesius <mmathesi@redhat.com> - 2.27-5
|
|
|
|
- Import upstream xtensa bug fix causing cross-gcc FTBFS (BZ#1404857).
|
|
|
|
|
|
|
|
* Fri Dec 9 2016 David Howells <dhowells@redhat.com> - 2.27-4
|
|
|
|
- Sync with binutils-2.27-12.
|
|
|
|
|
|
|
|
* Thu Sep 15 2016 David Howells <dhowells@redhat.com> - 2.27-3
|
|
|
|
- Added version to obsoletion of sh64.
|
|
|
|
- Fix changelog date.
|
|
|
|
|
|
|
|
* Wed Sep 14 2016 David Howells <dhowells@redhat.com> - 2.27-1
|
|
|
|
- Sync with binutils-2.27-4.
|
|
|
|
- Obsolete sh64.
|
|
|
|
|
|
|
|
* Mon Jul 4 2016 David Howells <dhowells@redhat.com> - 2.26.1-1
|
|
|
|
- Sync with binutils-2.26.1-1.
|
|
|
|
|
|
|
|
* Tue May 10 2016 David Howells <dhowells@redhat.com> - 2.26-8
|
|
|
|
- Sync with binutils-2.26-21.
|
|
|
|
- arm: Fix uninitialised variable in arm build (#1333695).
|
|
|
|
|
|
|
|
* Wed May 4 2016 David Howells <dhowells@redhat.com> - 2.26-7
|
|
|
|
- Sync with binutils-2.26-20.
|
|
|
|
|
|
|
|
* Fri Feb 19 2016 David Howells <dhowells@redhat.com> - 2.26-6
|
|
|
|
- Sync with binutils-2.26-12.
|
|
|
|
|
|
|
|
* Thu Feb 11 2016 David Howells <dhowells@redhat.com> - 2.26-5
|
|
|
|
- Sync with binutils-2.26-10.
|
|
|
|
- c6x: Handle inconsistent .cfi_sections directives [binutils bz 19614].
|
|
|
|
|
|
|
|
* Mon Feb 8 2016 David Howells <dhowells@redhat.com> - 2.26-4
|
|
|
|
- SH: Drop sh-elf support to avoid ambiguity errors in target selection (#1296814).
|
|
|
|
|
|
|
|
* Fri Feb 5 2016 David Howells <dhowells@redhat.com> - 2.26-3
|
|
|
|
- Sync with binutils-2.26-8.
|
|
|
|
- Microblaze: Fix binutils compilation on 32-bit arch.
|
|
|
|
|
|
|
|
* Tue Jan 26 2016 David Howells <dhowells@redhat.com> - 2.26-1
|
|
|
|
- Sync with binutils-2.26-2.
|
|
|
|
|
|
|
|
* Mon Aug 24 2015 David Howells <dhowells@redhat.com> - 2.25.1-1
|
|
|
|
- Sync with binutils-2.25.1-4.
|
|
|
|
- Set --enable-targets if the target is powerpc* not just ppc*.
|
|
|
|
- Provide LE ppc and ppc64 emulations [BZ 1255947].
|
|
|
|
|
|
|
|
* Mon Apr 6 2015 David Howells <dhowells@redhat.com> - 2.25-4
|
|
|
|
- Microblaze: Fix extra-large constant handling [binutils bz 18189].
|
|
|
|
|
|
|
|
* Wed Jan 7 2015 David Howells <dhowells@redhat.com> - 2.25-3
|
|
|
|
- Fix up the target for SH64 and cease mixing 32-bit SH targets with SH64.
|
|
|
|
- SH64: Work around flags not getting set on incremental link of .a into .o [binutils bz 17288].
|
|
|
|
|
|
|
|
* Mon Jan 5 2015 David Howells <dhowells@redhat.com> - 2.25-1
|
|
|
|
- Sync with binutils-2.25 to pick up fixes.
|
|
|
|
Resolves: BZ #1162577, #1162601, #1162611, #1162625
|
|
|
|
|
|
|
|
* Thu Nov 13 2014 David Howells <dhowells@redhat.com> - 2.24-7
|
|
|
|
- Fix problems with the ar program reported in FSF PR 17533.
|
|
|
|
Resolves: BZ #1162672, #1162659
|
|
|
|
|
|
|
|
* Wed Nov 12 2014 David Howells <dhowells@redhat.com> - 2.24-6
|
|
|
|
- Sync with binutils to pick up fixes.
|
|
|
|
- Backport binutils 2.4 upstream branch to pick up more fixes.
|
|
|
|
|
|
|
|
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.24-6
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
|
|
|
|
|
|
* Fri Jul 18 2014 David Howells <dhowells@redhat.com> - 2.24-5
|
|
|
|
- Add NIOS2 arch support.
|
|
|
|
|
|
|
|
* Mon Jun 16 2014 David Howells <dhowells@redhat.com> - 2.24-4
|
|
|
|
- Fix gcc-4.9 new compile error in m68k handler in gas.
|
|
|
|
|
|
|
|
* Wed Jun 11 2014 David Howells <dhowells@redhat.com> - 2.24-4
|
|
|
|
- Sync with binutils-2.24-15 fixing the bfd_set_section_alignment() error [BZ 1106093]
|
|
|
|
- Apply the changes on binutils-2_24-branch in git to cab6c3ee9785f072a373afe31253df0451db93cf.
|
|
|
|
|
|
|
|
* Fri Mar 28 2014 David Howells <dhowells@redhat.com> - 2.24-2
|
|
|
|
- A sysroot of / is bad, so make it /usr/<program-prefix>/sys-root/.
|
|
|
|
|
|
|
|
* Thu Mar 27 2014 David Howells <dhowells@redhat.com> - 2.24-1
|
|
|
|
- Fix formatless sprintfs in Score.
|
|
|
|
|
|
|
|
* Wed Mar 26 2014 David Howells <dhowells@redhat.com> - 2.24-1
|
|
|
|
- Update to binutils-2.24-1.
|
|
|
|
- Add metag arch support.
|
|
|
|
|
|
|
|
* Fri Aug 9 2013 David Howells <dhowells@redhat.com> - 2.23.88.0.1-2
|
|
|
|
- Fix a build error in xtensa
|
|
|
|
|
|
|
|
* Thu Aug 8 2013 David Howells <dhowells@redhat.com> - 2.23.88.0.1-2
|
|
|
|
- Backport S390 .machinemode pseudo-op support from binutils-2.23.88.0.1-10.
|
|
|
|
- Add pod2man as a build requirement.
|
|
|
|
|
|
|
|
* Tue Jun 4 2013 David Howells <dhowells@redhat.com> - 2.23.88.0.1-1
|
|
|
|
- Update to binutils-2.22.88.0.1 to fix F19 texinfo issues [BZ 912921].
|
|
|
|
|
|
|
|
* Tue Jun 4 2013 David Howells <dhowells@redhat.com> - 2.23.51.0.3-2
|
|
|
|
- Backport cleanups from the RHEL-6.4 cross-compiler.
|
|
|
|
- Backport some macroisation from the RHEL-6.4 cross-compiler.
|
|
|
|
- The hppa64 target cannot actually build hppa, so provide hppa [BZ 892220].
|
|
|
|
|
|
|
|
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.23.51.0.3-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
|
|
|
|
|
|
|
* Fri Nov 2 2012 David Howells <dhowells@redhat.com> - 2.23.51.0.3-1
|
|
|
|
- Update to binutils-2.23.51.0.3.
|
|
|
|
- Added support for aarch64.
|
|
|
|
|
|
|
|
* Mon Oct 15 2012 Jon Ciesla <limburgher@gmail.com> - 2.22.52.0.3-4
|
|
|
|
- Provides: bundled(libiberty)
|
|
|
|
|
|
|
|
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.22.52.0.3-3
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
|
|
|
|
|
|
|
* Wed Jul 11 2012 Dan Horák <dan[at]danny.cz> - 2.22.52.0.3-2
|
|
|
|
- don't install libbfd/libopcode when host == target (eg. on s390x)
|
|
|
|
|
|
|
|
* Wed May 30 2012 David Howells <dhowells@redhat.com> - 2.22.52.0.3-1
|
|
|
|
- Update to binutils-2.22.52.0.3.
|
|
|
|
- Fixed a warning in the assembler for h8300 that caused the build to fail.
|
|
|
|
|
|
|
|
* Thu Mar 22 2012 David Howells <dhowells@redhat.com> - 2.22.52.0.1-8.1
|
|
|
|
- Initial import of cross-binutils [BZ 761619].
|
|
|
|
|
|
|
|
* Wed Mar 07 2012 Jakub Jelinek <jakub@redhat.com> - 2.22.52.0.1-8
|
|
|
|
- Fix up handling of hidden ifunc relocs on x86_64
|
|
|
|
- Add Intel TSX support
|