rpms/binutils/devel binutils-2.18.50.0.8-place-orphan.patch, NONE, 1.1 binutils-2.18.50.0.8-spu_ovl-dependency.patch, NONE, 1.1 binutils-2.18.50.0.8-spu_ovl-fatal.patch, NONE, 1.1 binutils-2.18.50.0.8-symbolic-envvar-revert.patch, NONE, 1.1 .cvsignore, 1.38, 1.39 binutils.spec, 1.134, 1.135 sources, 1.39, 1.40 binutils-2.18.50.0.6-pclmul.patch, 1.1, NONE binutils-2.18.50.0.6-place-orphan.patch, 1.1, NONE binutils-2.18.50.0.6-symbolic-envvar-revert.patch, 1.1, NONE

Jan Kratochvil (jkratoch) fedora-extras-commits at redhat.com
Thu Jul 31 07:41:41 UTC 2008


Author: jkratoch

Update of /cvs/pkgs/rpms/binutils/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv682

Modified Files:
	.cvsignore binutils.spec sources 
Added Files:
	binutils-2.18.50.0.8-place-orphan.patch 
	binutils-2.18.50.0.8-spu_ovl-dependency.patch 
	binutils-2.18.50.0.8-spu_ovl-fatal.patch 
	binutils-2.18.50.0.8-symbolic-envvar-revert.patch 
Removed Files:
	binutils-2.18.50.0.6-pclmul.patch 
	binutils-2.18.50.0.6-place-orphan.patch 
	binutils-2.18.50.0.6-symbolic-envvar-revert.patch 
Log Message:
* Thu Jul 31 2008 Jan Kratochvil <jan.kratochvil at redhat.com> 2.18.50.0.8-1
- Update to 2.18.50.0.8.
  - Drop the .clmul -> .pclmul renaming backport.
- Add %{binutils_target} macro to support building cross-binutils.
  (David Woodhouse)
- Support `--without testsuite' to suppress the testsuite run.
- Support `--with debug' to build without optimizations.
- Refresh the patchset with fuzz 0 (for new rpmbuild).
- Enable the spu target on ppc/ppc64 (BZ 455242).


binutils-2.18.50.0.8-place-orphan.patch:

--- NEW FILE binutils-2.18.50.0.8-place-orphan.patch ---
2003-08-05  Jakub Jelinek  <jakub at redhat.com>

	* emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Add .rela.opd.

--- ld/emulparams/elf64ppc.sh	2007-03-16 16:48:30.000000000 +0100
+++ ld/emulparams/elf64ppc.sh	2008-07-25 20:11:20.000000000 +0200
@@ -28,7 +28,8 @@ else
   .toc		0 : { *(.toc) }"
 fi
 OTHER_GOT_RELOC_SECTIONS="
-  .rela.toc	${RELOCATING-0} : { *(.rela.toc) }"
+  .rela.toc	${RELOCATING-0} : { *(.rela.toc) }
+  .rela.opd	${RELOCATING-0} : { *(.rela.opd) }"
 OTHER_READWRITE_SECTIONS="
   .toc1		${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc1) }
   .opd		${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) }

binutils-2.18.50.0.8-spu_ovl-dependency.patch:

--- NEW FILE binutils-2.18.50.0.8-spu_ovl-dependency.patch ---
2008-07-30  Jan Kratochvil  <jan.kratochvil at redhat.com>

	* Makefile.def: ld's spu_ovl.o depends on gas and binutils.
	* Makefile.in: Regenerate.

--- Makefile.def	30 Jul 2008 15:03:54 -0000	1.92
+++ Makefile.def	30 Jul 2008 21:18:12 -0000
@@ -378,6 +378,9 @@ dependencies = { module=all-ld; on=all-b
 dependencies = { module=all-ld; on=all-build-byacc; };
 dependencies = { module=all-ld; on=all-build-flex; };
 dependencies = { module=all-ld; on=all-intl; };
+// spu_ovl.o depends on both gas and binutils/bin2c
+dependencies = { module=all-ld; on=all-gas; };
+dependencies = { module=all-ld; on=all-binutils; };
 dependencies = { module=configure-gold; on=configure-intl; };
 dependencies = { module=all-gold; on=all-libiberty; };
 dependencies = { module=all-gold; on=all-intl; };
--- Makefile.in	30 Jul 2008 15:03:54 -0000	1.285
+++ Makefile.in	30 Jul 2008 21:18:34 -0000
@@ -53308,6 +53308,26 @@ all-stageb3g2-ld: maybe-all-stageb3g2-in
 all-stage4-ld: maybe-all-stage4-intl
 all-stageprofile-ld: maybe-all-stageprofile-intl
 all-stagefeedback-ld: maybe-all-stagefeedback-intl
+all-ld: maybe-all-gas
+
+all-stage1-ld: maybe-all-stage1-gas
+all-stage2-ld: maybe-all-stage2-gas
+all-stageb2g0-ld: maybe-all-stageb2g0-gas
+all-stage3-ld: maybe-all-stage3-gas
+all-stageb3g2-ld: maybe-all-stageb3g2-gas
+all-stage4-ld: maybe-all-stage4-gas
+all-stageprofile-ld: maybe-all-stageprofile-gas
+all-stagefeedback-ld: maybe-all-stagefeedback-gas
+all-ld: maybe-all-binutils
+
+all-stage1-ld: maybe-all-stage1-binutils
+all-stage2-ld: maybe-all-stage2-binutils
+all-stageb2g0-ld: maybe-all-stageb2g0-binutils
+all-stage3-ld: maybe-all-stage3-binutils
+all-stageb3g2-ld: maybe-all-stageb3g2-binutils
+all-stage4-ld: maybe-all-stage4-binutils
+all-stageprofile-ld: maybe-all-stageprofile-binutils
+all-stagefeedback-ld: maybe-all-stagefeedback-binutils
 configure-gold: maybe-configure-intl
 
 configure-stage1-gold: maybe-configure-stage1-intl

binutils-2.18.50.0.8-spu_ovl-fatal.patch:

--- NEW FILE binutils-2.18.50.0.8-spu_ovl-fatal.patch ---
2008-07-30  Jan Kratochvil  <jan.kratochvil at redhat.com>

	* emultempl/spuelf.em: Abort on the missing required `spu_ovl.o'.

--- ld/emultempl/spuelf.em	19 Jun 2008 16:14:53 -0000	1.24
+++ ld/emultempl/spuelf.em	30 Jul 2008 18:28:25 -0000
@@ -57,7 +57,12 @@ char **my_argv;
 static const char ovl_mgr[] = {
 EOF
 
-../binutils/bin2c < ${srcdir}/emultempl/spu_ovl.o >> e${EMULATION_NAME}.c
+if ! ../binutils/bin2c < ${srcdir}/emultempl/spu_ovl.o >> e${EMULATION_NAME}.c
+then
+  echo >&2 "Missing ${srcdir}/emultempl/spu_ovl.o"
+  echo >&2 "You must build gas/as-new with --target=spu to build spu_ovl.o"
+  exit 1
+fi
 
 fragment <<EOF
 };

binutils-2.18.50.0.8-symbolic-envvar-revert.patch:

--- NEW FILE binutils-2.18.50.0.8-symbolic-envvar-revert.patch ---
It reverts the H.J. Lu's binutils custom patch.

--- ld/NEWS	2008-07-10 17:33:23.000000000 +0200
+++ ld/NEWS	2008-07-30 21:24:25.000000000 +0200
@@ -1,7 +1,4 @@
 -*- text -*-
-* ELF: Support environment variables, LD_SYMBOLIC for -Bsymbolic and
-  LD_SYMBOLIC_FUNCTIONS for -Bsymbolic-functions.
-
 * Linker script input section filespecs may now specify a file within an
  archive by writing "archive:file".
 
--- ld/ld.texinfo	2008-07-10 17:33:23.000000000 +0200
+++ ld/ld.texinfo	2008-07-30 21:24:05.000000000 +0200
@@ -1147,21 +1147,14 @@ When creating a shared library, bind ref
 definition within the shared library, if any.  Normally, it is possible
 for a program linked against a shared library to override the definition
 within the shared library.  This option is only meaningful on ELF
-platforms which support shared libraries.  If @option{-Bsymbolic} is not
-used when linking a shared library, the linker will also turn on this
-option if the environment variable @code{LD_SYMBOLIC} is set.
+platforms which support shared libraries.
 
 @kindex -Bsymbolic-functions
 @item -Bsymbolic-functions
 When creating a shared library, bind references to global function
 symbols to the definition within the shared library, if any.
 This option is only meaningful on ELF platforms which support shared
-libraries.  If @option{-Bsymbolic-functions} is not used when linking a
-shared library, the linker will also turn on this option if the
-environment variable @code{LD_SYMBOLIC_FUNCTIONS} is set.  When
-both environment variables @code{LD_SYMBOLIC} and
- at code{LD_SYMBOLIC_FUNCTIONS} are set, @code{LD_SYMBOLIC} will take
-precedent.
+libraries.
 
 @kindex --dynamic-list=@var{dynamic-list-file}
 @item --dynamic-list=@var{dynamic-list-file}
--- ld/ldmain.c	2008-07-10 17:33:23.000000000 +0200
+++ ld/ldmain.c	2008-07-30 21:24:05.000000000 +0200
@@ -258,11 +258,6 @@ main (int argc, char **argv)
   command_line.warn_search_mismatch = TRUE;
   command_line.check_section_addresses = TRUE;
 
-  if (getenv ("LD_SYMBOLIC") != NULL)
-    command_line.symbolic = symbolic;
-  else if (getenv ("LD_SYMBOLIC_FUNCTIONS") != NULL)
-    command_line.symbolic = symbolic_functions;
-
   /* We initialize DEMANGLING based on the environment variable
      COLLECT_NO_DEMANGLE.  The gcc collect2 program will demangle the
      output of the linker, unless COLLECT_NO_DEMANGLE is set in the


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/binutils/devel/.cvsignore,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- .cvsignore	4 Apr 2008 09:48:39 -0000	1.38
+++ .cvsignore	31 Jul 2008 07:41:11 -0000	1.39
@@ -1 +1 @@
-binutils-2.18.50.0.6.tar.bz2
+binutils-2.18.50.0.8.tar.bz2


Index: binutils.spec
===================================================================
RCS file: /cvs/pkgs/rpms/binutils/devel/binutils.spec,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -r1.134 -r1.135
--- binutils.spec	16 Jul 2008 18:39:54 -0000	1.134
+++ binutils.spec	31 Jul 2008 07:41:11 -0000	1.135
@@ -1,22 +1,44 @@
+%define _default_patch_fuzz 2
+# rpmbuild parameters:
+# --define "binutils_target arm-linux-gnu" to create arm-linux-gnu-binutils.
+# --with debug: Build without optimizations and without splitting the debuginfo.
+# --without testsuite: Do not run the testsuite.  Default is to run it.
+
+%if 0%{!?binutils_target:1}
+%define binutils_target %{_target_platform}
+%define isnative 1
+%else
+%define cross %{binutils_target}-
+%define isnative 0
+%endif
+
 Summary: A GNU collection of binary utilities.
-Name: binutils
-Version: 2.18.50.0.6
-Release: 4%{?dist}
+Name: %{?cross}binutils%{?_with_debug:-debug}
+Version: 2.18.50.0.8
+Release: 1%{?dist}
 License: GPLv3+
 Group: Development/Tools
 URL: http://sources.redhat.com/binutils
 Source: ftp://ftp.kernel.org/pub/linux/devel/binutils/binutils-%{version}.tar.bz2
 Patch1: binutils-2.18.50.0.6-ltconfig-multilib.patch
 Patch2: binutils-2.18.50.0.6-ppc64-pie.patch
-Patch3: binutils-2.18.50.0.6-place-orphan.patch
+Patch3: binutils-2.18.50.0.8-place-orphan.patch
 Patch4: binutils-2.18.50.0.6-ia64-lib64.patch
 Patch5: binutils-2.18.50.0.6-build-fixes.patch
-Patch6: binutils-2.18.50.0.6-symbolic-envvar-revert.patch
+Patch6: binutils-2.18.50.0.8-symbolic-envvar-revert.patch
 Patch7: binutils-2.18.50.0.6-version.patch
-Patch8: binutils-2.18.50.0.6-pclmul.patch
+Patch8: binutils-2.18.50.0.8-spu_ovl-fatal.patch
+Patch9: binutils-2.18.50.0.8-spu_ovl-dependency.patch
+
+%if 0%{?_with_debug:1}
+# Define this if you want to skip the strip step and preserve debug info.
+# Useful for testing.
+%define __debug_install_post : > %{_builddir}/%{?buildsubdir}/debugfiles.list
+%define debug_package %{nil}
+%endif
 
 Buildroot: %{_tmppath}/binutils-root
-BuildRequires: texinfo >= 4.0, dejagnu, gettext, flex, bison
+BuildRequires: texinfo >= 4.0, dejagnu, gettext, flex, bison, automake, autoconf
 Conflicts: gcc-c++ < 4.0.0
 Prereq: /sbin/install-info
 %ifarch ia64
@@ -54,7 +76,7 @@
 to consider using libelf instead of BFD.
 
 %prep
-%setup -q
+%setup -q -n binutils-%{version}
 %patch1 -p0 -b .ltconfig-multilib~
 %patch2 -p0 -b .ppc64-pie~
 %patch3 -p0 -b .place-orphan~
@@ -66,9 +88,12 @@
 %patch5 -p0 -b .build-fixes~
 %patch6 -p0 -b .symbolic-envvar-revert~
 %patch7 -p0 -b .version~
-%patch8 -p0 -b .pclmul~
+%patch8 -p0 -b .spu_ovl-fatal~
+%patch9 -p0 -b .spu_ovl-dependency~
+
+# We cannot run autotools as there is an exact requirement of autoconf-2.59.
 
-# On ppc64 we might use 64K pages
+# On ppc64 we might use 64KiB pages
 sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*ppc.c
 # LTP sucks
 perl -pi -e 's/i\[3-7\]86/i[34567]86/g' */conf*
@@ -79,39 +104,99 @@
 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
 
 %build
-mkdir build-%{_target_platform}
-cd build-%{_target_platform}
+echo target is %{binutils_target}
+export CFLAGS="$RPM_OPT_FLAGS"
 CARGS=
-%ifarch sparc ppc s390
-CARGS=--enable-64-bit-bfd
+
+case %{binutils_target} in sparc*|ppc*|s390*)
+  CARGS="$CARGS --enable-64-bit-bfd"
+  ;;
+esac
+
+case %{binutils_target} in ia64*)
+  CARGS="--enable-targets=i386-linux"
+  ;;
+esac
+
+case %{binutils_target} in ppc*|ppc64*)
+  CARGS="--enable-targets=spu"
+  # This file is present in CVS but missing in H. J. Lu's snapshots.
+  # To include it for --enable-targets=spu we need to build gas by --target=spu.
+  ! test -f ld/emultempl/spu_ovl.o
+  mkdir build-spu
+  cd build-spu
+  CFLAGS="${CFLAGS:-%optflags} -O0 -s" ../configure \
+    --target=spu --disable-shared --enable-static --disable-werror \
+    --with-bugurl=http://bugzilla.redhat.com/bugzilla/
+  make %{_smp_mflags} all
+  cd ..
+  test -f ld/emultempl/spu_ovl.o
+  rm -rf build-spu
+  ;;
+esac
+
+mkdir build-%{binutils_target}
+cd build-%{binutils_target}
+
+%if 0%{?_with_debug:1}
+# --enable-werror could conflict with `-Wall -O0' but this is no longer true
+# for recent GCCs.
+CFLAGS="$CFLAGS -O0 -ggdb2"
 %endif
-%ifarch ia64
-CARGS=--enable-targets=i386-linux
+
+# We could optimize the cross builds size by --enable-shared but the produced
+# binaries may be less convenient in the embedded environment.
+CC="gcc -L`pwd`/bfd/.libs/" ../configure \
+%if %{isnative}
+  %{binutils_target} \
+  --enable-shared \
+%else
+  --target %{binutils_target} --enable-targets=%{_host} \
+  --disable-shared \
+  --with-sysroot=%{_prefix}/%{binutils_target}/sys-root \
 %endif
-CC="gcc -L`pwd`/bfd/.libs/" CFLAGS="${CFLAGS:-%optflags}" ../configure \
-  %{_target_platform} --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
+  $CARGS \
+  --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
   --bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \
   --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} \
   --libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} \
   --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
-  --infodir=%{_infodir} --enable-shared $CARGS --disable-werror \
+  --infodir=%{_infodir} --disable-werror \
   --with-bugurl=http://bugzilla.redhat.com/bugzilla/
 make %{_smp_mflags} tooldir=%{_prefix} all
+# Fix: Found '%{buildroot}' in installed files; aborting
+if [ -f ld/eelf32_spu.c ]
+then
+  sed -i -e 's#%{buildroot}##g' ld/eelf32_spu.c
+fi
 make %{_smp_mflags} tooldir=%{_prefix} info
+%if 0%{?_without_testsuite:1}
+echo ====================TESTSUITE DISABLED=========================
+%else
 make -k check < /dev/null > check.log 2>&1 || :
 echo ====================TESTING=========================
 cat check.log
 echo ====================TESTING END=====================
 cd ..
+%endif
 
 %install
 rm -rf %{buildroot}
 mkdir -p %{buildroot}%{_prefix}
-cd build-%{_target_platform}
+cd build-%{binutils_target}
 %makeinstall
+%if %{isnative}
 make prefix=%{buildroot}%{_prefix} infodir=%{buildroot}%{_infodir} install-info
 gzip -q9f %{buildroot}%{_infodir}/*.info*
 
@@ -141,10 +226,6 @@
 # Remove libtool files, which reference the .so libs
 rm -f %{buildroot}%{_prefix}/%{_lib}/lib{bfd,opcodes}.la
 
-# This one comes from gcc
-rm -f %{buildroot}%{_infodir}/dir
-rm -rf %{buildroot}%{_prefix}/%{_target_platform}
-
 %ifarch %{ix86} x86_64 ppc ppc64 s390 s390x sparc sparc64
 sed -i -e '/^#include "ansidecl.h"/{p;s~^.*$~#include <bits/wordsize.h>~;}' \
 %ifarch %{ix86} x86_64
@@ -162,22 +243,36 @@
 %endif
 touch -r ../bfd/bfd-in2.h %{buildroot}%{_prefix}/include/bfd.h
 
+%else # !%{isnative}
+# For cross-binutils we drop the documentation.
+rm -rf %{buildroot}%{_infodir}
+# We keep these as one can have native + cross binutils of different versions.
+#rm -rf %{buildroot}%{_prefix}/share/locale
+#rm -rf %{buildroot}%{_mandir}
+rm -rf %{buildroot}%{_prefix}/%{_lib}/libiberty.a
+%endif # !%{isnative}
+
+# This one comes from gcc
+rm -f %{buildroot}%{_infodir}/dir
+rm -rf %{buildroot}%{_prefix}/%{binutils_target}
+
 cd ..
-%find_lang binutils
-%find_lang opcodes
-%find_lang bfd
-%find_lang gas
-%find_lang ld
-%find_lang gprof
-cat opcodes.lang >> binutils.lang
-cat bfd.lang >> binutils.lang
-cat gas.lang >> binutils.lang
-cat ld.lang >> binutils.lang
-cat gprof.lang >> binutils.lang
+%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}opcodes.lang >> %{?cross}binutils.lang
+cat %{?cross}bfd.lang >> %{?cross}binutils.lang
+cat %{?cross}gas.lang >> %{?cross}binutils.lang
+cat %{?cross}ld.lang >> %{?cross}binutils.lang
+cat %{?cross}gprof.lang >> %{?cross}binutils.lang
 
 %clean
 rm -rf %{buildroot}
 
+%if %{isnative}
 %post
 /sbin/ldconfig
 /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz
@@ -208,12 +303,14 @@
 if [ $1 = 0 ] ;then
   /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || :
 fi
+%endif # %{isnative}
 
-%files -f binutils.lang
+%files -f %{?cross}binutils.lang
 %defattr(-,root,root)
 %doc README
 %{_prefix}/bin/*
 %{_mandir}/man1/*
+%if %{isnative}
 %{_prefix}/%{_lib}/lib*.so
 %{_infodir}/[^b]*info*
 %{_infodir}/binutils*info*
@@ -223,8 +320,19 @@
 %{_prefix}/include/*
 %{_prefix}/%{_lib}/lib*.a
 %{_infodir}/bfd*info*
+%endif # %{isnative}
 
 %changelog
+* Thu Jul 31 2008 Jan Kratochvil <jan.kratochvil at redhat.com> 2.18.50.0.8-1
+- Update to 2.18.50.0.8.
+  - Drop the .clmul -> .pclmul renaming backport.
+- Add %%{binutils_target} macro to support building cross-binutils.
+  (David Woodhouse)
+- Support `--without testsuite' to suppress the testsuite run.
+- Support `--with debug' to build without optimizations.
+- Refresh the patchset with fuzz 0 (for new rpmbuild).
+- Enable the spu target on ppc/ppc64 (BZ 455242).
+
 * Wed Jul 16 2008 Jan Kratochvil <jan.kratochvil at redhat.com> 2.18.50.0.6-4
 - include the `dist' tag in the Release number
 - libbfd.a symbols visibility is now hidden (for #447426, suggested by Jakub)


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/binutils/devel/sources,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- sources	4 Apr 2008 09:48:39 -0000	1.39
+++ sources	31 Jul 2008 07:41:11 -0000	1.40
@@ -1 +1 @@
-9e474d739355c15ba6ecf5fd9fae8608  binutils-2.18.50.0.6.tar.bz2
+a49df3481468f281f42afbf915e10db2  binutils-2.18.50.0.8.tar.bz2


--- binutils-2.18.50.0.6-pclmul.patch DELETED ---


--- binutils-2.18.50.0.6-place-orphan.patch DELETED ---


--- binutils-2.18.50.0.6-symbolic-envvar-revert.patch DELETED ---




More information about the fedora-extras-commits mailing list