ba313d2
%global cross cross
ba313d2
%global rpmprefix %{nil}
ba313d2
b6488ee
%global build_all		1
ba313d2
%global build_aarch64		%{build_all}
ba313d2
%global build_alpha		%{build_all}
e54aedd
%global build_arc		%{build_all}
ba313d2
%global build_arm		%{build_all}
ba313d2
%global build_avr32		%{build_all}
ba313d2
%global build_blackfin		%{build_all}
ba313d2
%global build_c6x		%{build_all}
ba313d2
%global build_cris		%{build_all}
ba313d2
%global build_frv		%{build_all}
ba313d2
%global build_h8300		%{build_all}
ba313d2
%global build_hppa		%{build_all}
ba313d2
%global build_hppa64		%{build_all}
ba313d2
%global build_ia64		%{build_all}
ba313d2
%global build_m32r		%{build_all}
ba313d2
%global build_m68k		%{build_all}
ba313d2
%global build_metag		%{build_all}
ba313d2
%global build_microblaze	%{build_all}
ba313d2
%global build_mips64		%{build_all}
ba313d2
%global build_mn10300		%{build_all}
ba313d2
%global build_nios2		%{build_all}
ba313d2
%global build_openrisc		%{build_all}
ba313d2
%global build_powerpc64		%{build_all}
ba313d2
%global build_powerpc64le	%{build_all}
157c520
%global build_riscv64		%{build_all}
ba313d2
%global build_s390x		%{build_all}
ba313d2
%global build_score		%{build_all}
ba313d2
%global build_sh		%{build_all}
ba313d2
%global build_sparc64		%{build_all}
ba313d2
%global build_tile		%{build_all}
b6488ee
%global build_x86_64		%{build_all}
ba313d2
%global build_xtensa		%{build_all}
172ecb8
172ecb8
# 32-bit packages we don't build as we can use the 64-bit package instead
ba313d2
%global build_i386		0
ba313d2
%global build_mips		0
ba313d2
%global build_powerpc		0
ba313d2
%global build_s390		0
ba313d2
%global build_sparc		0
ba313d2
%global build_sh4		0
172ecb8
7c53938
# not available in binutils-2.27
ba313d2
%global build_hexagon		0
ba313d2
%global build_unicore32		0
172ecb8
a544bfb
# Do not create deterministic archives by default  (cf: BZ 1195883)
ba313d2
%global enable_deterministic_archives 0
a544bfb
839fa38
# Disable the default generation of compressed debug sections.
839fa38
%define default_compress_debug 0
839fa38
a544bfb
# Default to read-only-relocations (relro) in shared binaries.
a544bfb
%define default_relro 1
a544bfb
839fa38
# Disable the default generation of GNU Build notes by the assembler.
839fa38
# This has turned out to be problematic for the i686 architecture.
9cb3882
# although the exact reason has not been determined.  (See BZ 1572485)
839fa38
# It also breaks building EFI binaries on AArch64, as these cannot have
839fa38
# relocations against absolute symbols.
839fa38
%define default_generate_notes 0
3941171
172ecb8
Summary: A GNU collection of cross-compilation binary utilities
6739dc5
Name: %{cross}-binutils
4b7c783
Version: 2.31.1
4b7c783
Release: 1%{?dist}
172ecb8
License: GPLv3+
172ecb8
Group: Development/Tools
a544bfb
URL: https://sourceware.org/binutils
172ecb8
c6dd967
# Note - the Linux Kernel binutils releases are too unstable and contain too
c6dd967
# many controversial patches so we stick with the official FSF version
c6dd967
# instead.
839fa38
59a2189
Source: http://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.xz
e4cc6a5
172ecb8
Source2: binutils-2.19.50.0.1-output-format.sed
057864b
a544bfb
#----------------------------------------------------------------------------
a544bfb
157c520
# Purpose:  Use /lib64 and /usr/lib64 instead of /lib and /usr/lib in the
157c520
#           default library search path of 64-bit targets.
157c520
# Lifetime: Permanent, but it should not be.  This is a bug in the libtool
157c520
#           sources used in both binutils and gcc, (specifically the
157c520
#           libtool.m4 file).  These are based on a version released in 2009
157c520
#           (2.2.6?) rather than the latest version.  (Definitely fixed in
157c520
#           libtool version 2.4.6).
172ecb8
Patch01: binutils-2.20.51.0.2-libtool-lib64.patch
157c520
157c520
# Purpose:  Appends a RHEL or Fedora release string to the generic binutils
157c520
#           version string.
157c520
# Lifetime: Permanent.  This is a RHEL/Fedora specific patch.
59a2189
Patch02: binutils-2.25-version.patch
157c520
157c520
# Purpose:  Exports the demangle.h header file (associated with the libiberty
157c520
#           sources) with the binutils-devel rpm.
157c520
# Lifetime: Permanent.  This is a RHEL/Fedora specific patch.
4b7c783
Patch03: binutils-2.31-export-demangle.h.patch
157c520
a544bfb
# Purpose:  Disables the check in the BFD library's bfd.h header file that
a544bfb
#           config.h has been included before the bfd.h header.  See BZ
a544bfb
#           #845084 for more details.
157c520
# Lifetime: Permanent - but it should not be.  The bfd.h header defines
157c520
#           various types that are dependent upon configuration options, so
157c520
#           the order of inclusion is important.
a544bfb
# FIXME:    It would be better if the packages using the bfd.h header were
157c520
#           fixed so that they do include the header files in the correct
157c520
#           order.
157c520
Patch04: binutils-2.22.52.0.4-no-config-h-check.patch
157c520
157c520
# Purpose:  Import H.J.Lu's Kernel LTO patch.
157c520
# Lifetime: Permanent, but needs continual updating.
157c520
# FIXME:    Try removing....
4b7c783
# Patch05: binutils-2.26-lto.patch
157c520
157c520
# Purpose:  Include the filename concerned in readelf error messages.  This
157c520
#           makes readelf's output more helpful when it is run on multiple
157c520
#           input files.
157c520
# Lifetime: Permanent.  This patch changes the format of readelf's output,
157c520
#           making it better (IMHO) but also potentially breaking tools that
157c520
#           depend upon readelf's current format.  Hence it remains a local
157c520
#           patch.
197b261
Patch06: binutils-2.29-filename-in-error-messages.patch
acd43bc
a544bfb
# Purpose:  Disable an x86/x86_64 optimization that moves functions from the
a544bfb
#           PLT into the GOTPLT for faster access.  This optimization is
a544bfb
#           problematic for tools that want to intercept PLT entries, such
a544bfb
#           as ltrace and LD_AUDIT.  See BZs 1452111 and 1333481.
a544bfb
# Lifetime: Permanent.  But it should not be.
a544bfb
# FIXME:    Replace with a configure time option.
197b261
Patch07: binutils-2.29-revert-PLT-elision.patch
a544bfb
a544bfb
# Purpose:  Changes readelf so that when it displays extra information about
a544bfb
#           a symbol, this information is placed at the end of the line.
a544bfb
# Lifetime: Permanent.
a544bfb
# FIXME:    The proper fix would be to update the scripts that are expecting
a544bfb
#           a fixed output from readelf.  But it seems that some of them are
a544bfb
#           no longer being maintained.
197b261
Patch08: binutils-readelf-other-sym-info.patch
a544bfb
197b261
# Purpose:  Do not create PLT entries for AARCH64 IFUNC symbols referenced in
197b261
#           debug sections.
197b261
# Lifetime: Permanent.
197b261
# FIXME:    Find related bug.  Decide on permanency.
197b261
Patch09: binutils-2.27-aarch64-ifunc.patch
197b261
4b7c783
# Purpose:  Fix linker testsuite failures
4b7c783
# Lifetime: Fixed in 2.32 (probably)
4b7c783
Patch10: binutils-fix-testsuite-failures.patch
4b7c783
4b7c783
# Purpose:  Revert fix for PR 23161 which was placing unversioned section
4b7c783
#           symbols (_edata, _end, __bss_start) into shared libraries.
4b7c783
#           See also PR 23499 and BZ 1614920
4b7c783
# Lifetime: Fixed in 2.32
4b7c783
# Patch11: binutils-do-not-provide-shared-section-symbols.patch
4b7c783
Patch11: binutils-clear-version-info.patch
4b7c783
4b7c783
# Purpose:  Stop gold from complaining about relocs in the .gnu.build.attribute
4b7c783
#           section that reference symbols in discarded sections.
4b7c783
# Lifetime: Fixed in 2.32 (maybe)
4b7c783
Patch12: binutils-gold-ignore-discarded-note-relocs.patch
4b7c783
4b7c783
# Purpose:  Improve partial relro support for 64-bit s/390.
4b7c783
# Lifetime: Fixed in 2.32 
4b7c783
Patch13: binutils-s390-partial-relro.patch
4b7c783
4b7c783
# Purpose:  Merge .gnu.build.attribute sections into a single section.
4b7c783
# Lifetime: Fixed in 2.32 
4b7c783
Patch14: binutils-merge-attribute-sections.patch
4b7c783
4b7c783
# Purpose:  Improve objcopy's --merge-notes option.
4b7c783
# Lifetime: Fixed in 2.32
4b7c783
Patch15: binutils-note-merge-improvements.patch
4b7c783
4b7c783
# Purpose:  Detect and report corrupt symbol version information.
4b7c783
# Lifetime: Fixed in 2.32
4b7c783
Patch16: binutils-detect-corrupt-sym-version-info.patch
4b7c783
4b7c783
# Purpose:  Delay the evaluation of linker script constants until
4b7c783
#            after the configuration options have been set.
4b7c783
# Lifetime: Fixed in 2.32 
4b7c783
Patch17: binutils-delay-ld-script-constant-eval.patch
4b7c783
4b7c783
# Purpose:  Stop readelf's reports of gaps in build notes - they are unreliable.
4b7c783
# Lifetime: Unknown.
4b7c783
Patch18: binutils-disable-readelf-gap-reports.patch
4b7c783
4b7c783
# Purpose:  Stop the binutils from statically linking with libstdc++.
197b261
# Lifetime: Permanent.
4b7c783
Patch20: binutils-do-not-link-with-static-libstdc++.patch
9cb3882
4b7c783
# Purpose:  Add a .attach_to_group pseudo-op to the assembler for
4b7c783
#           use by the annobin gcc plugin.
4b7c783
# Lifetime: Permanent.
4b7c783
Patch21: binutils-attach-to-group.patch
9cb3882
4b7c783
# Purpose:  Fix a potential buffer overrun when parsing a corrupt ELF file.
4b7c783
# Lifetime: Fixed in 2.32.
4b7c783
Patch22: binutils-CVE-2018-17358.patch
9cb3882
4b7c783
# Purpose:  Allow OS specific sections in section groups.
4b7c783
# Lifetime: Might be fixed in 2.32
4b7c783
Patch23: binutils-special-sections-in-groups.patch
f3ec179
acd43bc
# NOTE!!! Don't add cross-binutils patches here as "binutils-xxx".  Name them
acd43bc
# cross-binutils-xxx instead!
7c53938
a544bfb
#----------------------------------------------------------------------------
a544bfb
172ecb8
Buildroot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
172ecb8
BuildRequires: texinfo >= 4.0, gettext, flex, bison, zlib-devel
9fbc4f9
# BZ 920545: We need pod2man in order to build the manual pages.
9fbc4f9
BuildRequires: /usr/bin/pod2man
a544bfb
# Perl, sed and touch are all used in the %prep section of this spec file.
a544bfb
BuildRequires: gcc, perl, sed, coreutils
a544bfb
BuildRequires: findutils
a544bfb
 
172ecb8
# Required for: ld-bootstrap/bootstrap.exp bootstrap with --static
172ecb8
# It should not be required for: ld-elf/elf.exp static {preinit,init,fini} array
172ecb8
Conflicts: gcc-c++ < 4.0.0
172ecb8
%ifarch ia64
172ecb8
Obsoletes: gnupro <= 1117-1
172ecb8
%endif
9fbe009
Provides: bundled(libiberty)
172ecb8
172ecb8
%description
172ecb8
Binutils is a collection of binary utilities, including ar (for
172ecb8
creating, modifying and extracting from archives), as (a family of GNU
172ecb8
assemblers), gprof (for displaying call graph profile data), ld (the
172ecb8
GNU linker), nm (for listing symbols from object files), objcopy (for
172ecb8
copying and translating object files), objdump (for displaying
172ecb8
information from object files), ranlib (for generating an index for
172ecb8
the contents of an archive), readelf (for displaying detailed
172ecb8
information about binary files), size (for listing the section sizes
172ecb8
of an object or archive file), strings (for listing printable strings
172ecb8
from files), strip (for discarding symbols), and addr2line (for
172ecb8
converting addresses to file and line).
172ecb8
6739dc5
%package -n %{cross}-binutils-common
172ecb8
Summary: Cross-build binary utility documentation and translation files
172ecb8
Group: Development/Tools
172ecb8
BuildArch: noarch
7d1d7cb
Obsoletes: binutils-sh64-linux-gnu < 2.27-1
6739dc5
%description -n %{cross}-binutils-common
172ecb8
Documentation, manual pages and translation files for cross-build binary image
172ecb8
generation, manipulation and query tools.
172ecb8
ba313d2
%global do_package() \
172ecb8
%if %2 \
6739dc5
%package -n %{rpmprefix}binutils-%1 \
172ecb8
Summary: Cross-build binary utilities for %1 \
172ecb8
Group: Development/Tools \
6739dc5
Requires: %{cross}-binutils-common == %{version}-%{release} \
6739dc5
%description -n %{rpmprefix}binutils-%1 \
172ecb8
Cross-build binary image generation, manipulation and query tools. \
172ecb8
%endif
172ecb8
ba313d2
%global do_symlink() \
ed831d0
%if %2 \
ed831d0
%package -n %{rpmprefix}binutils-%1 \
ed831d0
Summary: Cross-build binary utilities for %1 \
ed831d0
Group: Development/Tools \
ed831d0
Requires: binutils-%3 == %{version}-%{release} \
ed831d0
%description -n %{rpmprefix}binutils-%1 \
172ecb8
Cross-build binary image generation, manipulation and query tools. \
172ecb8
%endif
172ecb8
f3ec179
%do_package aarch64-linux-gnu	%{build_aarch64}
172ecb8
%do_package alpha-linux-gnu	%{build_alpha}
e54aedd
%do_package arc-linux-gnu	%{build_arc}
172ecb8
%do_package arm-linux-gnu	%{build_arm}
172ecb8
%do_package avr32-linux-gnu	%{build_avr32}
172ecb8
%do_package bfin-linux-gnu	%{build_blackfin}
172ecb8
%do_package c6x-linux-gnu	%{build_c6x}
172ecb8
%do_package cris-linux-gnu	%{build_cris}
172ecb8
%do_package frv-linux-gnu	%{build_frv}
172ecb8
%do_package h8300-linux-gnu	%{build_h8300}
172ecb8
%do_package hexagon-linux-gnu	%{build_hexagon}
172ecb8
%do_package hppa-linux-gnu	%{build_hppa}
172ecb8
%do_package hppa64-linux-gnu	%{build_hppa64}
172ecb8
%do_package i386-linux-gnu	%{build_i386}
172ecb8
%do_package ia64-linux-gnu	%{build_ia64}
172ecb8
%do_package m32r-linux-gnu	%{build_m32r}
172ecb8
%do_package m68k-linux-gnu	%{build_m68k}
e4cc6a5
%do_package metag-linux-gnu	%{build_metag}
172ecb8
%do_package microblaze-linux-gnu %{build_microblaze}
172ecb8
%do_package mips-linux-gnu	%{build_mips}
172ecb8
%do_package mips64-linux-gnu	%{build_mips64}
172ecb8
%do_package mn10300-linux-gnu	%{build_mn10300}
4626293
%do_package nios2-linux-gnu	%{build_nios2}
8000c8f
%do_package openrisc-linux-gnu	%{build_openrisc}	or1k-linux-gnu
172ecb8
%do_package powerpc-linux-gnu	%{build_powerpc}
172ecb8
%do_package powerpc64-linux-gnu	%{build_powerpc64}
f33a5f1
%do_package powerpc64le-linux-gnu %{build_powerpc64le}
ed831d0
%do_symlink ppc-linux-gnu	%{build_powerpc}	powerpc-linux-gnu
ed831d0
%do_symlink ppc64-linux-gnu	%{build_powerpc64}	powerpc64-linux-gnu
f33a5f1
%do_symlink ppc64le-linux-gnu	%{build_powerpc64le}	powerpc64le-linux-gnu
157c520
%do_package riscv64-linux-gnu	%{build_riscv64}
172ecb8
%do_package s390-linux-gnu	%{build_s390}
172ecb8
%do_package s390x-linux-gnu	%{build_s390x}
172ecb8
%do_package score-linux-gnu	%{build_score}
172ecb8
%do_package sh-linux-gnu	%{build_sh}
172ecb8
%do_package sh4-linux-gnu	%{build_sh4}
172ecb8
%do_package sparc-linux-gnu	%{build_sparc}
172ecb8
%do_package sparc64-linux-gnu	%{build_sparc64}
172ecb8
%do_package tile-linux-gnu	%{build_tile}
172ecb8
%do_package unicore32-linux-gnu	%{build_unicore32}
172ecb8
%do_package x86_64-linux-gnu	%{build_x86_64}
172ecb8
%do_package xtensa-linux-gnu	%{build_xtensa}
172ecb8
172ecb8
# Where the binaries aimed at gcc will live (ie. /usr/<target>/bin/)
ba313d2
%global auxbin_prefix %{_exec_prefix}
172ecb8
172ecb8
###############################################################################
172ecb8
#
172ecb8
# Preparation
172ecb8
#
172ecb8
###############################################################################
172ecb8
%prep
172ecb8
ba313d2
%global srcdir binutils-%{version}
172ecb8
%setup -q -n %{srcdir} -c
172ecb8
cd %{srcdir}
157c520
%patch01 -p1
197b261
%patch02 -p1
197b261
%patch03 -p1
197b261
%patch04 -p1
157c520
%patch06 -p1
157c520
%patch07 -p1
157c520
%patch08 -p1
157c520
%patch09 -p1
a544bfb
%patch10 -p1
a544bfb
%patch11 -p1
a544bfb
%patch12 -p1
a544bfb
%patch13 -p1
a544bfb
%patch14 -p1
a544bfb
%patch15 -p1
a544bfb
%patch16 -p1
197b261
%patch17 -p1
197b261
%patch18 -p1
839fa38
%patch20 -p1
839fa38
%patch21 -p1
839fa38
%patch22 -p1
839fa38
%patch23 -p1
4b7c783
7bed8e7
172ecb8
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
172ecb8
3941171
# On ppc64 and aarch64, we might use 64KiB pages
172ecb8
sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*ppc.c
3941171
sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*aarch64.c
3941171
sed -i -e '/common_pagesize/s/4 /64 /' gold/powerpc.cc
3941171
sed -i -e '/pagesize/s/0x1000,/0x10000,/' gold/aarch64.cc
172ecb8
# LTP sucks
172ecb8
perl -pi -e 's/i\[3-7\]86/i[34567]86/g' */conf*
172ecb8
sed -i -e 's/%''{release}/%{release}/g' bfd/Makefile{.am,.in}
172ecb8
sed -i -e '/^libopcodes_la_\(DEPENDENCIES\|LIBADD\)/s,$, ../bfd/libbfd.la,' opcodes/Makefile.{am,in}
172ecb8
# Build libbfd.so and libopcodes.so with -Bsymbolic-functions if possible.
172ecb8
if gcc %{optflags} -v --help 2>&1 | grep -q -- -Bsymbolic-functions; then
172ecb8
sed -i -e 's/^libbfd_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' bfd/Makefile.{am,in}
172ecb8
sed -i -e 's/^libopcodes_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' opcodes/Makefile.{am,in}
172ecb8
fi
172ecb8
# $PACKAGE is used for the gettext catalog name.
6739dc5
sed -i -e 's/^ PACKAGE=/ PACKAGE=%{cross}-/' */configure
172ecb8
# Undo the name change to run the testsuite.
172ecb8
for tool in binutils gas ld
172ecb8
do
172ecb8
  sed -i -e "2aDEJATOOL = $tool" $tool/Makefile.am
172ecb8
  sed -i -e "s/^DEJATOOL = .*/DEJATOOL = $tool/" $tool/Makefile.in
172ecb8
done
172ecb8
touch */configure
172ecb8
172ecb8
function prep_target () {
172ecb8
    target=$1
172ecb8
    cond=$2
172ecb8
0b35bb5
    if [ $cond != 0 ]
172ecb8
    then
172ecb8
	echo $1 >&5
172ecb8
    fi
172ecb8
}
172ecb8
172ecb8
cd ..
172ecb8
(
f3ec179
    prep_target aarch64-linux-gnu	%{build_aarch64}
172ecb8
    prep_target alpha-linux-gnu		%{build_alpha}
e54aedd
    prep_target arc-linux-gnu		%{build_arc}
172ecb8
    prep_target arm-linux-gnu		%{build_arm}
172ecb8
    prep_target avr32-linux-gnu		%{build_avr32}
172ecb8
    prep_target bfin-linux-gnu		%{build_blackfin}
172ecb8
    prep_target c6x-linux-gnu		%{build_c6x}
172ecb8
    prep_target cris-linux-gnu		%{build_cris}
172ecb8
    prep_target frv-linux-gnu		%{build_frv}
172ecb8
    prep_target h8300-linux-gnu		%{build_h8300}
172ecb8
    prep_target hexagon-linux-gnu	%{build_hexagon}
172ecb8
    prep_target hppa-linux-gnu		%{build_hppa}
172ecb8
    prep_target hppa64-linux-gnu	%{build_hppa64}
172ecb8
    prep_target i386-linux-gnu		%{build_i386}
172ecb8
    prep_target ia64-linux-gnu		%{build_ia64}
172ecb8
    prep_target m32r-linux-gnu		%{build_m32r}
172ecb8
    prep_target m68k-linux-gnu		%{build_m68k}
e4cc6a5
    prep_target metag-linux-gnu		%{build_metag}
172ecb8
    prep_target microblaze-linux-gnu	%{build_microblaze}
172ecb8
    prep_target mips-linux-gnu		%{build_mips}
172ecb8
    prep_target mips64-linux-gnu	%{build_mips64}
172ecb8
    prep_target mn10300-linux-gnu	%{build_mn10300}
4626293
    prep_target nios2-linux-gnu		%{build_nios2}
172ecb8
    prep_target openrisc-linux-gnu	%{build_openrisc}
172ecb8
    prep_target powerpc-linux-gnu	%{build_powerpc}
172ecb8
    prep_target powerpc64-linux-gnu	%{build_powerpc64}
f33a5f1
    prep_target powerpc64le-linux-gnu	%{build_powerpc64le}
157c520
    prep_target riscv64-linux-gnu	%{build_riscv64}
172ecb8
    prep_target s390-linux-gnu		%{build_s390}
172ecb8
    prep_target s390x-linux-gnu		%{build_s390x}
172ecb8
    prep_target score-linux-gnu		%{build_score}
172ecb8
    prep_target sh-linux-gnu		%{build_sh}
172ecb8
    prep_target sh4-linux-gnu		%{build_sh4}
172ecb8
    prep_target sparc-linux-gnu		%{build_sparc}
172ecb8
    prep_target sparc64-linux-gnu	%{build_sparc64}
172ecb8
    prep_target tile-linux-gnu		%{build_tile}
172ecb8
    prep_target unicore32-linux-gnu	%{build_unicore32}
172ecb8
    prep_target x86_64-linux-gnu	%{build_x86_64}
172ecb8
    prep_target xtensa-linux-gnu	%{build_xtensa}
172ecb8
) 5>target.list
172ecb8
172ecb8
n=0
172ecb8
for target in `cat target.list`
172ecb8
do
172ecb8
    n=1
172ecb8
    break
172ecb8
done
172ecb8
if [ $n = 0 ]
172ecb8
then
172ecb8
    echo "No targets selected" >&2
172ecb8
    exit 8
172ecb8
fi
172ecb8
172ecb8
###############################################################################
172ecb8
#
172ecb8
# Build
172ecb8
#
172ecb8
###############################################################################
172ecb8
%build
172ecb8
172ecb8
function config_target () {
172ecb8
    arch=$1
172ecb8
    prefix=$arch-
0b35bb5
    build_dir=${1%%%%-*}
172ecb8
172ecb8
    case $arch in
d08d987
	aarch64-*)	target=aarch64-linux-gnu;;
2a04b55
	arc-*)		target=arc-linux-gnu;;
f3ec179
	arm-*)		target=arm-linux-gnueabi;;
172ecb8
	avr32-*)	target=avr-linux;;
172ecb8
	bfin-*)		target=bfin-uclinux;;
172ecb8
	c6x-*)		target=c6x-uclinux;;
172ecb8
	h8300-*)	target=h8300-elf;;
8000c8f
	m32r-*)		target=m32r-elf;;
172ecb8
	mn10300-*)	target=am33_2.0-linux;;
172ecb8
	m68knommu-*)	target=m68k-linux;;
8000c8f
	openrisc-*)	target=or1k-linux-gnu;;
d648358
	parisc-*)	target=hppa-linux;;
172ecb8
	score-*)	target=score-elf;;
172ecb8
	tile-*)		target=tilegx-linux;;
172ecb8
	v850-*)		target=v850e-linux;;
d648358
	x86-*)		target=x86_64-linux;;
172ecb8
	*)		target=$arch;;
172ecb8
    esac
172ecb8
172ecb8
    echo $arch: target is $target
090c947
    export CFLAGS="$RPM_OPT_FLAGS -Wno-unused-const-variable"
172ecb8
    CARGS=
172ecb8
2538e95
    case $target in i?86*|sparc*|ppc*|powerpc*|s390*|sh*|arm*)
4b7c783
	    CARGS="$CARGS --enable-64-bit-bfd"
172ecb8
	    ;;
172ecb8
    esac
172ecb8
172ecb8
    case $target in ia64*)
172ecb8
	    CARGS="$CARGS --enable-targets=i386-linux"
172ecb8
	    ;;
172ecb8
    esac
172ecb8
4b7c783
    case $target in ppc*|ppc64*)
4b7c783
	    CARGS="$CARGS --enable-targets=spu"
4b7c783
	    ;;
4b7c783
    esac
4b7c783
4b7c783
    case $target in ppc64-*)
4b7c783
	    CARGS="$CARGS --enable-targets=powerpc64le-linux"
172ecb8
	    ;;
172ecb8
    esac
172ecb8
172ecb8
    case $target in sh-*)
afd6d6a
	    CARGS="$CARGS --enable-targets=sh-linux,sh4-linux"
afd6d6a
	    # sh-elf is dropped for now as it makes for ambiguity in format recognition
172ecb8
	    ;;
172ecb8
    esac
172ecb8
4b7c783
    case $target in x86_64*|i?86*|arm*|aarch64*)
4b7c783
	    CARGS="$CARGS --enable-targets=x86_64-pep"
4b7c783
	    ;;
4b7c783
    esac
4b7c783
4b7c783
%if %{default_relro}
4b7c783
  CARGS="$CARGS --enable-relro=yes"
4b7c783
%else
4b7c783
  CARGS="$CARGS --enable-relro=no"
4b7c783
%endif
4b7c783
172ecb8
    mkdir $build_dir
172ecb8
    cd $build_dir
172ecb8
172ecb8
    # We could optimize the cross builds size by --enable-shared but the produced
172ecb8
    # binaries may be less convenient in the embedded environment.
a544bfb
    echo LDFLAGS: $RPM_LD_FLAGS
a544bfb
    LDFLAGS="$RPM_LD_FLAGS " \
172ecb8
    ../%{srcdir}/configure \
172ecb8
	--disable-dependency-tracking \
172ecb8
	--disable-silent-rules \
172ecb8
	--enable-checking \
172ecb8
	--prefix=%{_prefix} \
172ecb8
	--exec-prefix=%{auxbin_prefix} \
172ecb8
	--bindir=%{_bindir} \
172ecb8
	--sbindir=%{_sbindir} \
172ecb8
	--sysconfdir=%{_sysconfdir} \
172ecb8
	--datadir=%{_datadir} \
172ecb8
	--includedir=%{_includedir} \
172ecb8
	--libdir=%{_libdir} \
172ecb8
	--libexecdir=%{_libexecdir} \
172ecb8
	--localstatedir=%{_localstatedir} \
172ecb8
	--sharedstatedir=%{_sharedstatedir} \
172ecb8
	--mandir=%{_mandir} \
172ecb8
	--infodir=%{_infodir} \
172ecb8
	--build=%{_target_platform} \
172ecb8
	--host=%{_target_platform} \
172ecb8
	--target=$target \
172ecb8
	--program-prefix=$prefix \
172ecb8
	--disable-shared \
624ab3c
	--disable-install_libbfd \
d648358
	--with-sysroot=%{_prefix}/$arch/sys-root \
cbe1ee2
%if %{enable_deterministic_archives}
cbe1ee2
	--enable-deterministic-archives \
cbe1ee2
%else    
cbe1ee2
	--enable-deterministic-archives=no \
cbe1ee2
%endif
7c53938
%if %{default_compress_debug}
7c53938
	--enable-compressed-debug-sections=all \
7c53938
%else
7c53938
	--enable-compressed-debug-sections=none \
7c53938
%endif
839fa38
%if %{default_generate_notes}
839fa38
	--enable-generate-build-notes=yes \
839fa38
%else
839fa38
	--enable-generate-build-notes=no \
839fa38
%endif
f72ed0d
	--enable-lto \
172ecb8
	$CARGS \
4b7c783
	--enable-plugins \
172ecb8
	--with-bugurl=http://bugzilla.redhat.com/bugzilla/
172ecb8
    cd ..
172ecb8
}
172ecb8
172ecb8
for target in `cat target.list`
172ecb8
do
172ecb8
    config_target $target
172ecb8
done
172ecb8
172ecb8
function build_target () {
0b35bb5
    build_dir=${1%%%%-*}
a544bfb
    %make_build -C $build_dir tooldir=%{_prefix} all
172ecb8
}
172ecb8
172ecb8
for target in `cat target.list`
172ecb8
do
172ecb8
    build_target $target
172ecb8
done
172ecb8
172ecb8
# for documentation purposes only
6739dc5
mkdir %{cross}-binutils
6739dc5
cd %{cross}-binutils
172ecb8
../%{srcdir}/configure \
172ecb8
    --disable-dependency-tracking \
172ecb8
    --disable-silent-rules \
172ecb8
    --prefix=%{_prefix} \
172ecb8
    --exec-prefix=%{auxbin_prefix} \
172ecb8
    --bindir=%{_bindir} \
172ecb8
    --sbindir=%{_sbindir} \
172ecb8
    --sysconfdir=%{_sysconfdir} \
172ecb8
    --datadir=%{_datadir} \
172ecb8
    --includedir=%{_includedir} \
172ecb8
    --libdir=%{_libdir} \
172ecb8
    --libexecdir=%{_libexecdir} \
172ecb8
    --localstatedir=%{_localstatedir} \
172ecb8
    --sharedstatedir=%{_sharedstatedir} \
172ecb8
    --mandir=%{_mandir} \
172ecb8
    --infodir=%{_infodir} \
6739dc5
    --program-prefix=%{cross}- \
172ecb8
    --disable-shared \
172ecb8
    --with-bugurl=http://bugzilla.redhat.com/bugzilla/
a544bfb
%make_build tooldir=%{_prefix} all
172ecb8
cd ..
172ecb8
172ecb8
###############################################################################
172ecb8
#
172ecb8
# Installation
172ecb8
#
172ecb8
###############################################################################
172ecb8
%install
172ecb8
rm -rf %{buildroot}
172ecb8
172ecb8
function install_bin () {
ed831d0
    cpu=${1%%%%-*}
ed831d0
    build_dir=$cpu
a544bfb
    %make_install -C $build_dir DESTDIR=%{buildroot}
ed831d0
ed831d0
    # We want links for ppc and ppc64 also if we make powerpc or powerpc64
ed831d0
    case $cpu in
ed831d0
	powerpc*)
ed831d0
	    cd %{buildroot}/usr/bin
ed831d0
	    for i in $cpu-*
ed831d0
	    do
ed831d0
		ln -s $i ppc${i#powerpc}
ed831d0
	    done
ed831d0
	    cd -
ed831d0
	    cd %{buildroot}/usr/
ed831d0
	    for i in $cpu-*
ed831d0
	    do
ed831d0
		ln -s $i ppc${i#powerpc}
ed831d0
	    done
ed831d0
	    cd -
ed831d0
	    cd %{buildroot}/usr/share/man/man1
ed831d0
	    for i in $cpu-*
ed831d0
	    do
ed831d0
		ln -s $i ppc${i#powerpc}
ed831d0
	    done
ed831d0
	    cd -
ed831d0
	    ;;
ed831d0
    esac
172ecb8
}
172ecb8
172ecb8
for target in `cat target.list`
172ecb8
do
d17fb9c
    echo "=== INSTALL target $target ==="
d648358
    mkdir -p %{buildroot}%{_prefix}/$target/sys-root
172ecb8
    install_bin $target
d17fb9c
172ecb8
done
172ecb8
d17fb9c
echo "=== INSTALL man targets ==="
6739dc5
make install-man1 -C %{cross}-binutils/binutils/doc DESTDIR=%{buildroot}
6739dc5
make install-man1 -C %{cross}-binutils/gas/doc DESTDIR=%{buildroot}
6739dc5
make install-man1 -C %{cross}-binutils/ld DESTDIR=%{buildroot}
6739dc5
make install-man1 -C %{cross}-binutils/gprof DESTDIR=%{buildroot}
172ecb8
d17fb9c
echo "=== INSTALL po targets ==="
a544bfb
%make_install -C %{cross}-binutils/binutils/po DESTDIR=%{buildroot}
a544bfb
%make_install -C %{cross}-binutils/gas/po DESTDIR=%{buildroot}
a544bfb
%make_install -C %{cross}-binutils/ld/po DESTDIR=%{buildroot}
a544bfb
%make_install -C %{cross}-binutils/gprof/po DESTDIR=%{buildroot}
a544bfb
%make_install -C %{cross}-binutils/bfd/po DESTDIR=%{buildroot}
a544bfb
%make_install -C %{cross}-binutils/opcodes/po DESTDIR=%{buildroot}
172ecb8
ed831d0
# Add the additional symlink-only targets
ed831d0
grep ^powerpc target.list | sed -e s/powerpc/ppc/ >symlink-target.list
ed831d0
cat symlink-target.list >>target.list
172ecb8
172ecb8
# For cross-binutils we drop the documentation.
d17fb9c
echo "=== REMOVE documentation ==="
172ecb8
rm -rf %{buildroot}%{_infodir}
172ecb8
rm -f %{buildroot}%{_infodir}/dir
172ecb8
d17fb9c
echo "=== REMOVE libraries and scripts ==="
172ecb8
rm -rf %{buildroot}%{_libdir}/libiberty.a
172ecb8
rm -rf %{buildroot}%{auxbin_prefix}/*/lib/ldscripts
d17fb9c
rmdir %{buildroot}%{auxbin_prefix}/*/lib || :
172ecb8
d17fb9c
echo "=== BUILD file lists ==="
172ecb8
function build_file_list () {
172ecb8
    arch=$1
172ecb8
    cpu=${arch%%%%-*}
172ecb8
172ecb8
    case $cpu in
172ecb8
	avr32)		target_cpu=avr;;
172ecb8
	bfin)		target_cpu=bfin;;
172ecb8
	h8300)		target_cpu=h8300;;
172ecb8
	mn10300)	target_cpu=am33_2.0;;
8000c8f
	openrisc)	target_cpu=or1k;;
172ecb8
	score)		target_cpu=score;;
172ecb8
	tile)		target_cpu=tilegx;;
172ecb8
	v850)		target_cpu=v850e;;
172ecb8
	*)		target_cpu=$cpu;;
172ecb8
    esac
172ecb8
172ecb8
    (
172ecb8
	echo %{_bindir}/$arch-[!l]\*
172ecb8
	echo %{_bindir}/$arch-ld\*
172ecb8
	echo %{_mandir}/man1/$arch-\*
9b50314
	echo %{auxbin_prefix}/$target_cpu-\*
172ecb8
    ) >files.$arch
172ecb8
}
172ecb8
172ecb8
for target in `cat target.list`
172ecb8
do
172ecb8
    build_file_list $target
172ecb8
done
172ecb8
172ecb8
# All the installed manual pages and translation files for each program are the
172ecb8
# same, so symlink them to the core package
d17fb9c
echo "=== CROSSLINK man pages ==="
172ecb8
cd %{buildroot}%{_mandir}/man1
6739dc5
for i in %{cross}-*.1*
172ecb8
do
6739dc5
    j=${i#%{cross}-}
172ecb8
172ecb8
    for k in *-$j
172ecb8
    do
172ecb8
	if [ $k != $i ]
172ecb8
	then
172ecb8
	    ln -sf $i $k
172ecb8
	fi
172ecb8
    done
172ecb8
done
172ecb8
172ecb8
172ecb8
# Add ld.bfd manual pages
6739dc5
find * -name "*ld.1*" -a ! -name "%{cross}-ld.1*" -print |
172ecb8
while read x
172ecb8
do
172ecb8
    y=`echo $x | sed -e s/ld[.]1/ld.bfd.1/`
172ecb8
    ln -s $x $y
172ecb8
done
172ecb8
172ecb8
cd -
172ecb8
172ecb8
# Find the language files which only exist in the common package
172ecb8
(
6739dc5
    %find_lang %{cross}-binutils
6739dc5
    %find_lang %{cross}-opcodes
6739dc5
    %find_lang %{cross}-bfd
6739dc5
    %find_lang %{cross}-gas
6739dc5
    %find_lang %{cross}-ld
6739dc5
    %find_lang %{cross}-gprof
6739dc5
    cat %{cross}-binutils.lang
6739dc5
    cat %{cross}-opcodes.lang
6739dc5
    cat %{cross}-bfd.lang
6739dc5
    cat %{cross}-gas.lang
6739dc5
    cat %{cross}-ld.lang
6739dc5
    cat %{cross}-gprof.lang
172ecb8
) >files.cross
172ecb8
172ecb8
172ecb8
172ecb8
###############################################################################
172ecb8
#
172ecb8
# Cleanup
172ecb8
#
172ecb8
###############################################################################
172ecb8
###############################################################################
172ecb8
#
172ecb8
# Filesets
172ecb8
#
172ecb8
###############################################################################
6739dc5
%files -n %{cross}-binutils-common -f files.cross
172ecb8
%doc %{srcdir}/README
172ecb8
%doc %{srcdir}/COPYING*
6739dc5
%{_mandir}/man1/%{cross}-*
172ecb8
ba313d2
%global do_files() \
172ecb8
%if %2 \
6739dc5
%files -n %{rpmprefix}binutils-%1 -f files.%1 \
172ecb8
%endif
172ecb8
f3ec179
%do_files aarch64-linux-gnu	%{build_aarch64}
172ecb8
%do_files alpha-linux-gnu	%{build_alpha}
e54aedd
%do_files arc-linux-gnu		%{build_arc}
172ecb8
%do_files arm-linux-gnu		%{build_arm}
172ecb8
%do_files avr32-linux-gnu	%{build_avr32}
172ecb8
%do_files bfin-linux-gnu	%{build_blackfin}
172ecb8
%do_files c6x-linux-gnu		%{build_c6x}
172ecb8
%do_files cris-linux-gnu	%{build_cris}
172ecb8
%do_files frv-linux-gnu		%{build_frv}
172ecb8
%do_files h8300-linux-gnu	%{build_h8300}
172ecb8
%do_files hexagon-linux-gnu	%{build_hexagon}
172ecb8
%do_files hppa-linux-gnu	%{build_hppa}
172ecb8
%do_files hppa64-linux-gnu	%{build_hppa64}
172ecb8
%do_files i386-linux-gnu	%{build_i386}
172ecb8
%do_files ia64-linux-gnu	%{build_ia64}
172ecb8
%do_files m32r-linux-gnu	%{build_m32r}
172ecb8
%do_files m68k-linux-gnu	%{build_m68k}
e4cc6a5
%do_files metag-linux-gnu	%{build_metag}
172ecb8
%do_files microblaze-linux-gnu	%{build_microblaze}
172ecb8
%do_files mips-linux-gnu	%{build_mips}
172ecb8
%do_files mips64-linux-gnu	%{build_mips64}
172ecb8
%do_files mn10300-linux-gnu	%{build_mn10300}
4626293
%do_files nios2-linux-gnu	%{build_nios2}
172ecb8
%do_files openrisc-linux-gnu	%{build_openrisc}
172ecb8
%do_files powerpc-linux-gnu	%{build_powerpc}
172ecb8
%do_files powerpc64-linux-gnu	%{build_powerpc64}
f33a5f1
%do_files powerpc64le-linux-gnu	%{build_powerpc64le}
ed831d0
%do_files ppc-linux-gnu		%{build_powerpc}
ed831d0
%do_files ppc64-linux-gnu	%{build_powerpc64}
f33a5f1
%do_files ppc64le-linux-gnu	%{build_powerpc64le}
a544bfb
%do_files riscv64-linux-gnu	%{build_riscv64}
172ecb8
%do_files s390-linux-gnu	%{build_s390}
172ecb8
%do_files s390x-linux-gnu	%{build_s390x}
172ecb8
%do_files score-linux-gnu	%{build_score}
172ecb8
%do_files sh-linux-gnu		%{build_sh}
172ecb8
%do_files sh4-linux-gnu		%{build_sh4}
172ecb8
%do_files sparc-linux-gnu	%{build_sparc}
172ecb8
%do_files sparc64-linux-gnu	%{build_sparc64}
172ecb8
%do_files tile-linux-gnu	%{build_tile}
172ecb8
%do_files unicore32-linux-gnu	%{build_unicore32}
172ecb8
%do_files x86_64-linux-gnu	%{build_x86_64}
172ecb8
%do_files xtensa-linux-gnu	%{build_xtensa}
172ecb8
172ecb8
%changelog
4b7c783
* Tue Nov  6 2018 Tom Callaway <spot@fedoraproject.org> - 2.31.1-1
4b7c783
- update to 2.31.1
4b7c783
c1e92ba
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.30-6
c1e92ba
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
c1e92ba
2a04b55
* Wed Jul 11 2018 David Howells <dhowells@redhat.com> - 2.30-5
2a04b55
- Switch ARC to arc-linux-gnu (#1600183).
2a04b55
f3ec179
* Tue Jul 10 2018 David Howells <dhowells@redhat.com> - 2.30-4
f3ec179
- Sync with binutils-2.30-26.
e54aedd
- Add support for the ARC arch (#1599744).
f3ec179
9b50314
* Thu Jun 28 2018 David Howells <dhowells@redhat.com> - 2.30-3
9b50314
- Fix ppc* symlink packages inclusion of files from the powerpc* packages.
9cb3882
- Sync with binutils-2.30-24.
9b50314
839fa38
* Tue May 29 2018 David Howells <dhowells@redhat.com> - 2.30-2
839fa38
- Sync with binutils-2.30-21.
839fa38
197b261
* Fri Mar 30 2018 David Howells <dhowells@redhat.com> - 2.30-1
197b261
- Sync with binutils-2.30-14.
197b261
a544bfb
* Wed Feb 14 2018 David Howells <dhowells@redhat.com> - 2.29.1-4
a544bfb
- Sync with binutils-2.29.1-19.
a544bfb
3e4a2d1
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.29.1-3
3e4a2d1
- Escape macros in %%changelog
3e4a2d1
f03ef9e
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.29.1-2
f03ef9e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
f03ef9e
157c520
* Mon Nov 6 2017 David Howells <dhowells@redhat.com> - 2.29.1-1
157c520
- Sync with binutils-2.29.1-4.
157c520
- Add support for riscv64 arch (#1491955).
157c520
52c7f68
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.29-3
52c7f68
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
52c7f68
1592b23
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.29-2
1592b23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
1592b23
59a2189
* Tue Jul 25 2017 David Howells <dhowells@redhat.com> - 2.29-1
59a2189
- Sync with binutils-2.29-1.
59a2189
08e0d2a
* Mon Jun 26 2017 David Howells <dhowells@redhat.com> - 2.28-3
08e0d2a
- Sync with binutils-2.28-9.
08e0d2a
7d817f6
* Tue May 16 2017 David Howells <dhowells@redhat.com> - 2.28-2
7d817f6
- Sync with binutils-2.28-6.
7d817f6
acd43bc
* Wed Mar 15 2017 David Howells <dhowells@redhat.com> - 2.28-1
acd43bc
- Sync with binutils-2.28-4.
acd43bc
acd43bc
* Mon Feb 6 2017 David Howells <dhowells@redhat.com> - 2.27-6
acd43bc
- Sync with binutils-2.27-16.
3e4a2d1
- Install COPYING[*] files using the %%license macro.
57c6da8
05deefa
* Wed Dec 14 2016 Merlin Mathesius <mmathesi@redhat.com> - 2.27-5
05deefa
- Import upstream xtensa bug fix causing cross-gcc FTBFS (BZ#1404857).
05deefa
473d23a
* Fri Dec 9 2016 David Howells <dhowells@redhat.com> - 2.27-4
473d23a
- Sync with binutils-2.27-12.
473d23a
155210a
* Thu Sep 15 2016 David Howells <dhowells@redhat.com> - 2.27-3
7d1d7cb
- Added version to obsoletion of sh64.
155210a
- Fix changelog date.
7d1d7cb
7c53938
* Wed Sep 14 2016 David Howells <dhowells@redhat.com> - 2.27-1
7c53938
- Sync with binutils-2.27-4.
7c53938
- Obsolete sh64.
7c53938
f72ed0d
* Mon Jul 4 2016 David Howells <dhowells@redhat.com> - 2.26.1-1
f72ed0d
- Sync with binutils-2.26.1-1.
f72ed0d
b25118f
* Tue May 10 2016 David Howells <dhowells@redhat.com> - 2.26-8
b25118f
- Sync with binutils-2.26-21.
b25118f
- arm: Fix uninitialised variable in arm build (#1333695).
b25118f
a1287f2
* Wed May 4 2016 David Howells <dhowells@redhat.com> - 2.26-7
a1287f2
- Sync with binutils-2.26-20.
a1287f2
752103b
* Fri Feb 19 2016 David Howells <dhowells@redhat.com> - 2.26-6
752103b
- Sync with binutils-2.26-12.
752103b
9bc1628
* Thu Feb 11 2016 David Howells <dhowells@redhat.com> - 2.26-5
9bc1628
- Sync with binutils-2.26-10.
9bc1628
- c6x: Handle inconsistent .cfi_sections directives [binutils bz 19614].
9bc1628
afd6d6a
* Mon Feb 8 2016 David Howells <dhowells@redhat.com> - 2.26-4
afd6d6a
- SH: Drop sh-elf support to avoid ambiguity errors in target selection (#1296814).
afd6d6a
2fae820
* Fri Feb 5 2016 David Howells <dhowells@redhat.com> - 2.26-3
2fae820
- Sync with binutils-2.26-8.
0040a6e
- Microblaze: Fix binutils compilation on 32-bit arch.
c117159
cbe1ee2
* Tue Jan 26 2016 David Howells <dhowells@redhat.com> - 2.26-1
cbe1ee2
- Sync with binutils-2.26-2.
cbe1ee2
3941171
* Mon Aug 24 2015 David Howells <dhowells@redhat.com> - 2.25.1-1
3941171
- Sync with binutils-2.25.1-4.
2538e95
- Set --enable-targets if the target is powerpc* not just ppc*.
2538e95
- Provide LE ppc and ppc64 emulations [BZ 1255947].
0aaf3fa
bccbf07
* Mon Apr 6 2015 David Howells <dhowells@redhat.com> - 2.25-4
bccbf07
- Microblaze: Fix extra-large constant handling [binutils bz 18189].
bccbf07
bccbf07
* Wed Jan 7 2015 David Howells <dhowells@redhat.com> - 2.25-3
186b123
- Fix up the target for SH64 and cease mixing 32-bit SH targets with SH64.
7bed8e7
- SH64: Work around flags not getting set on incremental link of .a into .o [binutils bz 17288].
186b123
8000c8f
* Mon Jan 5 2015 David Howells <dhowells@redhat.com> - 2.25-1
8000c8f
- Sync with binutils-2.25 to pick up fixes.
8000c8f
  Resolves: BZ #1162577, #1162601, #1162611, #1162625
8000c8f
a4dc954
* Thu Nov 13 2014 David Howells <dhowells@redhat.com> - 2.24-7
a4dc954
- Fix problems with the ar program reported in FSF PR 17533.
a4dc954
  Resolves: BZ #1162672, #1162659
a4dc954
a4dc954
* Wed Nov 12 2014 David Howells <dhowells@redhat.com> - 2.24-6
a4dc954
- Sync with binutils to pick up fixes.
a4dc954
- Backport binutils 2.4 upstream branch to pick up more fixes.
a4dc954
d00afbd
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.24-6
d00afbd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
d00afbd
4626293
* Fri Jul 18 2014 David Howells <dhowells@redhat.com> - 2.24-5
4626293
- Add NIOS2 arch support.
4626293
cab55cf
* Mon Jun 16 2014 David Howells <dhowells@redhat.com> - 2.24-4
cab55cf
- Fix gcc-4.9 new compile error in m68k handler in gas.
cab55cf
057864b
* Wed Jun 11 2014 David Howells <dhowells@redhat.com> - 2.24-4
057864b
- Sync with binutils-2.24-15 fixing the bfd_set_section_alignment() error [BZ 1106093]
057864b
- Apply the changes on binutils-2_24-branch in git to cab6c3ee9785f072a373afe31253df0451db93cf.
bc120a5
d648358
* Fri Mar 28 2014 David Howells <dhowells@redhat.com> - 2.24-2
d648358
- A sysroot of / is bad, so make it /usr/<program-prefix>/sys-root/.
d648358
5884884
* Thu Mar 27 2014 David Howells <dhowells@redhat.com> - 2.24-1
5884884
- Fix formatless sprintfs in Score.
5884884
e4cc6a5
* Wed Mar 26 2014 David Howells <dhowells@redhat.com> - 2.24-1
e4cc6a5
- Update to binutils-2.24-1.
e4cc6a5
- Add metag arch support.
e4cc6a5
9b0bba2
* Fri Aug 9 2013 David Howells <dhowells@redhat.com> - 2.23.88.0.1-2
9b0bba2
- Fix a build error in xtensa
9b0bba2
9fbc4f9
* Thu Aug 8 2013 David Howells <dhowells@redhat.com> - 2.23.88.0.1-2
9fbc4f9
- Backport S390 .machinemode pseudo-op support from binutils-2.23.88.0.1-10.
9fbc4f9
- Add pod2man as a build requirement.
9fbc4f9
c6dd967
* Tue Jun 4 2013 David Howells <dhowells@redhat.com> - 2.23.88.0.1-1
c6dd967
- Update to binutils-2.22.88.0.1 to fix F19 texinfo issues [BZ 912921].
c6dd967
0b35bb5
* Tue Jun 4 2013 David Howells <dhowells@redhat.com> - 2.23.51.0.3-2
0b35bb5
- Backport cleanups from the RHEL-6.4 cross-compiler.
6739dc5
- Backport some macroisation from the RHEL-6.4 cross-compiler.
7c5a462
- The hppa64 target cannot actually build hppa, so provide hppa [BZ 892220].
0b35bb5
05605c9
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.23.51.0.3-2
05605c9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
05605c9
d7a083d
* Fri Nov 2 2012 David Howells <dhowells@redhat.com> - 2.23.51.0.3-1
d08d987
- Update to binutils-2.23.51.0.3.
d08d987
- Added support for aarch64.
d08d987
9fbe009
* Mon Oct 15 2012 Jon Ciesla <limburgher@gmail.com> - 2.22.52.0.3-4
9fbe009
- Provides: bundled(libiberty)
9fbe009
3860a20
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.22.52.0.3-3
3860a20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
3860a20
624ab3c
* Wed Jul 11 2012 Dan HorĂ¡k <dan[at]danny.cz> - 2.22.52.0.3-2
624ab3c
- don't install libbfd/libopcode when host == target (eg. on s390x)
624ab3c
d17fb9c
* Wed May 30 2012 David Howells <dhowells@redhat.com> - 2.22.52.0.3-1
d17fb9c
- Update to binutils-2.22.52.0.3.
d2cefe8
- Fixed a warning in the assembler for h8300 that caused the build to fail.
d17fb9c
172ecb8
* Thu Mar 22 2012 David Howells <dhowells@redhat.com> - 2.22.52.0.1-8.1
172ecb8
- Initial import of cross-binutils [BZ 761619].
172ecb8
172ecb8
* Wed Mar 07 2012 Jakub Jelinek <jakub@redhat.com> - 2.22.52.0.1-8
172ecb8
- Fix up handling of hidden ifunc relocs on x86_64
172ecb8
- Add Intel TSX support