diff --git a/.cvsignore b/.cvsignore index 858958b..a0182b4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -binutils-2.17.50.0.12.tar.bz2 +binutils-2.17.50.0.16.tar.bz2 diff --git a/binutils-2.17.50.0.12-osabi.patch b/binutils-2.17.50.0.12-osabi.patch deleted file mode 100644 index bacb78b..0000000 --- a/binutils-2.17.50.0.12-osabi.patch +++ /dev/null @@ -1,141 +0,0 @@ -2007-03-13 H.J. Lu - - PR binutils/3826 - * elf-bfd.h (_bfd_elf_check_osabi): Removed. - - * elf.c (_bfd_elf_check_osabi): Removed. - - * elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target - with any ELF target of the same machine for which we do not - have a specific backend. - - * elfxx-target.h (elf_backend_object_p): Default to 0. - ---- bfd/elf-bfd.h.jj 2007-01-28 11:49:30.000000000 -0500 -+++ bfd/elf-bfd.h 2007-03-14 05:28:16.000000000 -0400 -@@ -1736,8 +1736,6 @@ extern bfd_boolean _bfd_elf_setup_sectio - - extern void _bfd_elf_set_osabi (bfd * , struct bfd_link_info *); - --extern bfd_boolean _bfd_elf_check_osabi (bfd *); -- - extern const bfd_target *bfd_elf32_object_p - (bfd *); - extern const bfd_target *bfd_elf32_core_file_p ---- bfd/elf.c.jj 2007-01-28 11:49:30.000000000 -0500 -+++ bfd/elf.c 2007-03-14 05:28:31.000000000 -0400 -@@ -9135,14 +9135,3 @@ _bfd_elf_set_osabi (bfd * abfd, - - i_ehdrp->e_ident[EI_OSABI] = get_elf_backend_data (abfd)->elf_osabi; - } -- --bfd_boolean --_bfd_elf_check_osabi (bfd *abfd) --{ -- Elf_Internal_Ehdr * i_ehdrp; /* ELF file header, internal form. */ -- -- i_ehdrp = elf_elfheader (abfd); -- -- return (i_ehdrp->e_ident[EI_OSABI] -- == get_elf_backend_data (abfd)->elf_osabi); --} ---- bfd/elfxx-target.h.jj 2007-01-28 11:49:30.000000000 -0500 -+++ bfd/elfxx-target.h 2007-03-14 05:29:27.000000000 -0400 -@@ -320,7 +320,7 @@ - #define elf_backend_sym_is_global 0 - #endif - #ifndef elf_backend_object_p --#define elf_backend_object_p _bfd_elf_check_osabi -+#define elf_backend_object_p 0 - #endif - #ifndef elf_backend_symbol_processing - #define elf_backend_symbol_processing 0 ---- bfd/elfcode.h.jj 2006-09-24 11:19:58.000000000 -0400 -+++ bfd/elfcode.h 2007-03-14 05:30:17.000000000 -0400 -@@ -500,6 +500,8 @@ elf_object_p (bfd *abfd) - struct bfd_preserve preserve; - asection *s; - bfd_size_type amt; -+ const bfd_target *target; -+ const bfd_target * const *target_ptr; - - preserve.marker = NULL; - -@@ -543,10 +545,12 @@ elf_object_p (bfd *abfd) - if (!bfd_preserve_save (abfd, &preserve)) - goto got_no_match; - -+ target = abfd->xvec; -+ - /* Allocate an instance of the elf_obj_tdata structure and hook it up to - the tdata pointer in the bfd. */ - -- if (! (*abfd->xvec->_bfd_set_format[bfd_object]) (abfd)) -+ if (! (*target->_bfd_set_format[bfd_object]) (abfd)) - goto got_no_match; - preserve.marker = elf_tdata (abfd); - -@@ -586,8 +590,6 @@ elf_object_p (bfd *abfd) - && (ebd->elf_machine_alt2 == 0 - || i_ehdrp->e_machine != ebd->elf_machine_alt2)) - { -- const bfd_target * const *target_ptr; -- - if (ebd->elf_machine_code != EM_NONE) - goto got_wrong_format_error; - -@@ -628,6 +630,45 @@ elf_object_p (bfd *abfd) - goto got_no_match; - } - -+ if (ebd->elf_machine_code != EM_NONE -+ && i_ehdrp->e_ident[EI_OSABI] != ebd->elf_osabi) -+ { -+ if (ebd->elf_osabi != ELFOSABI_NONE) -+ goto got_wrong_format_error; -+ -+ /* This is an ELFOSABI_NONE ELF target. Let it match any ELF -+ target of the compatible machine for which we do not have a -+ backend with matching ELFOSABI. */ -+ for (target_ptr = bfd_target_vector; -+ *target_ptr != NULL; -+ target_ptr++) -+ { -+ const struct elf_backend_data *back; -+ -+ /* Skip this target and targets with incompatible byte -+ order. */ -+ if (*target_ptr == target -+ || (*target_ptr)->flavour != bfd_target_elf_flavour -+ || (*target_ptr)->byteorder != target->byteorder -+ || ((*target_ptr)->header_byteorder -+ != target->header_byteorder)) -+ continue; -+ -+ back = (const struct elf_backend_data *) (*target_ptr)->backend_data; -+ if (back->elf_osabi == i_ehdrp->e_ident[EI_OSABI] -+ && (back->elf_machine_code == i_ehdrp->e_machine -+ || (back->elf_machine_alt1 != 0 -+ && back->elf_machine_alt1 == i_ehdrp->e_machine) -+ || (back->elf_machine_alt2 != 0 -+ && back->elf_machine_alt2 == i_ehdrp->e_machine))) -+ { -+ /* target_ptr is an ELF backend which matches this -+ object file, so reject the ELFOSABI_NONE ELF target. */ -+ goto got_wrong_format_error; -+ } -+ } -+ } -+ - if (i_ehdrp->e_shoff != 0) - { - bfd_signed_vma where = i_ehdrp->e_shoff; -@@ -848,7 +889,7 @@ elf_object_p (bfd *abfd) - } - - bfd_preserve_finish (abfd, &preserve); -- return abfd->xvec; -+ return target; - - got_wrong_format_error: - /* There is way too much undoing of half-known state here. The caller, diff --git a/binutils-2.17.50.0.12-rh235747.patch b/binutils-2.17.50.0.12-rh235747.patch deleted file mode 100644 index 04c137d..0000000 --- a/binutils-2.17.50.0.12-rh235747.patch +++ /dev/null @@ -1,45 +0,0 @@ -2007-04-14 Jakub Jelinek - - * elflink.c (bfd_elf_final_link): Don't free symbuf for - non-elf input bfds. - (bfd_elf_size_dynamic_sections): Don't access elf_section_data - for non-elf input bfds. - ---- bfd/elflink.c.jj 2007-04-07 10:19:03.000000000 +0200 -+++ bfd/elflink.c 2007-04-14 14:49:15.000000000 +0200 -@@ -5522,15 +5522,16 @@ bfd_elf_size_dynamic_sections (bfd *outp - - for (sub = info->input_bfds; sub != NULL; - sub = sub->link_next) -- for (o = sub->sections; o != NULL; o = o->next) -- if (elf_section_data (o)->this_hdr.sh_type -- == SHT_PREINIT_ARRAY) -- { -- (*_bfd_error_handler) -- (_("%B: .preinit_array section is not allowed in DSO"), -- sub); -- break; -- } -+ if (bfd_get_flavour (sub) == bfd_target_elf_flavour) -+ for (o = sub->sections; o != NULL; o = o->next) -+ if (elf_section_data (o)->this_hdr.sh_type -+ == SHT_PREINIT_ARRAY) -+ { -+ (*_bfd_error_handler) -+ (_("%B: .preinit_array section is not allowed in DSO"), -+ sub); -+ break; -+ } - - bfd_set_error (bfd_error_nonrepresentable_section); - return FALSE; -@@ -9533,7 +9534,8 @@ bfd_elf_final_link (bfd *abfd, struct bf - if (!info->reduce_memory_overheads) - { - for (sub = info->input_bfds; sub != NULL; sub = sub->link_next) -- if (elf_tdata (sub)->symbuf) -+ if (bfd_get_flavour (sub) == bfd_target_elf_flavour -+ && elf_tdata (sub)->symbuf) - { - free (elf_tdata (sub)->symbuf); - elf_tdata (sub)->symbuf = NULL; diff --git a/binutils-2.17.50.0.12-build-fixes.patch b/binutils-2.17.50.0.16-build-fixes.patch similarity index 100% rename from binutils-2.17.50.0.12-build-fixes.patch rename to binutils-2.17.50.0.16-build-fixes.patch diff --git a/binutils-2.17.50.0.12-ia64-lib64.patch b/binutils-2.17.50.0.16-ia64-lib64.patch similarity index 100% rename from binutils-2.17.50.0.12-ia64-lib64.patch rename to binutils-2.17.50.0.16-ia64-lib64.patch diff --git a/binutils-2.17.50.0.12-ltconfig-multilib.patch b/binutils-2.17.50.0.16-ltconfig-multilib.patch similarity index 100% rename from binutils-2.17.50.0.12-ltconfig-multilib.patch rename to binutils-2.17.50.0.16-ltconfig-multilib.patch diff --git a/binutils-2.17.50.0.12-place-orphan.patch b/binutils-2.17.50.0.16-place-orphan.patch similarity index 100% rename from binutils-2.17.50.0.12-place-orphan.patch rename to binutils-2.17.50.0.16-place-orphan.patch diff --git a/binutils-2.17.50.0.12-ppc64-pie.patch b/binutils-2.17.50.0.16-ppc64-pie.patch similarity index 100% rename from binutils-2.17.50.0.12-ppc64-pie.patch rename to binutils-2.17.50.0.16-ppc64-pie.patch diff --git a/binutils-2.17.50.0.12-standards.patch b/binutils-2.17.50.0.16-standards.patch similarity index 100% rename from binutils-2.17.50.0.12-standards.patch rename to binutils-2.17.50.0.16-standards.patch diff --git a/binutils-2.17.50.0.12-symbolic-envvar-revert.patch b/binutils-2.17.50.0.16-symbolic-envvar-revert.patch similarity index 64% rename from binutils-2.17.50.0.12-symbolic-envvar-revert.patch rename to binutils-2.17.50.0.16-symbolic-envvar-revert.patch index 47895d0..7d1d834 100644 --- a/binutils-2.17.50.0.12-symbolic-envvar-revert.patch +++ b/binutils-2.17.50.0.16-symbolic-envvar-revert.patch @@ -1,16 +1,16 @@ ---- ld/NEWS.jj 2007-01-28 11:49:31.000000000 -0500 -+++ ld/NEWS 2007-03-01 04:21:37.000000000 -0500 +--- ld/NEWS.jj 2007-05-11 11:24:08.000000000 -0400 ++++ ld/NEWS 2007-06-12 05:04:49.000000000 -0400 @@ -1,7 +1,4 @@ -*- text -*- -* ELF: Support environment variables, LD_SYMBOLIC for -Bsymbolic and - LD_SYMBOLIC_FUNCTIONS for -Bsymbolic-functions. - - * Add a new command line option '--default-script=FILE' or '-dT FILE' - which specifies a replacement for the built in, default linker - script. ---- ld/ld.texinfo.jj 2007-01-28 11:49:31.000000000 -0500 -+++ ld/ld.texinfo 2007-03-01 04:25:24.000000000 -0500 -@@ -1144,21 +1144,14 @@ When creating a shared library, bind ref + * -l:foo now searches the library path for a filename called foo, + without converting it to libfoo.a or libfoo.so. + +--- ld/ld.texinfo.jj 2007-05-11 11:24:08.000000000 -0400 ++++ ld/ld.texinfo 2007-06-12 05:04:33.000000000 -0400 +@@ -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 @@ -34,19 +34,17 @@ @kindex --dynamic-list=@var{dynamic-list-file} @item --dynamic-list=@var{dynamic-list-file} ---- ld/ldmain.c.jj 2007-01-28 11:49:31.000000000 -0500 -+++ ld/ldmain.c 2007-03-01 04:22:40.000000000 -0500 -@@ -256,12 +256,7 @@ main (int argc, char **argv) - command_line.warn_mismatch = TRUE; +--- ld/ldmain.c.jj 2007-05-11 11:24:08.000000000 -0400 ++++ ld/ldmain.c 2007-06-12 05:05:48.000000000 -0400 +@@ -254,11 +254,6 @@ main (int argc, char **argv) + command_line.warn_search_mismatch = TRUE; command_line.check_section_addresses = TRUE; - command_line.accept_unknown_input_arch = FALSE; + - if (getenv ("LD_SYMBOLIC") != NULL) - command_line.symbolic = symbolic; - else if (getenv ("LD_SYMBOLIC_FUNCTIONS") != NULL) - command_line.symbolic = symbolic_functions; -- else -- command_line.symbolic = symbolic_unset; -+ command_line.symbolic = symbolic_unset; - command_line.dynamic_list = dynamic_list_unset; - - sort_section = none; +- + /* 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 diff --git a/binutils-2.17.50.0.16-version.patch b/binutils-2.17.50.0.16-version.patch new file mode 100644 index 0000000..bec1e57 --- /dev/null +++ b/binutils-2.17.50.0.16-version.patch @@ -0,0 +1,36 @@ +--- bfd/Makefile.in.jj 2007-05-11 17:23:18.000000000 +0200 ++++ bfd/Makefile.in 2007-06-12 12:28:10.000000000 +0200 +@@ -1540,12 +1540,12 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/ + report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\ + if test "x$(RELEASE)" = x ; then \ + bfd_version_date=`sed -n -e 's/.*DATE //p' < $(srcdir)/version.h` ;\ +- bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\ +- bfd_soversion="$(VERSION).$${bfd_version_date}" ;\ ++ bfd_version_string="\"$(VERSION)-%{release} $${bfd_version_date}\"" ;\ ++ bfd_soversion="$(VERSION)-%{release}" ;\ + fi ;\ + sed -e "s,@bfd_version@,$$bfd_version," \ + -e "s,@bfd_version_string@,$$bfd_version_string," \ +- -e "s,@bfd_version_package@,$$bfd_version_package," \ ++ -e "s,@bfd_version_package@,\"version \"," \ + -e "s,@report_bugs_to@,$$report_bugs_to," \ + < $(srcdir)/version.h > $@; \ + echo "$${bfd_soversion}" > libtool-soversion +--- bfd/Makefile.am.jj 2007-05-11 17:23:18.000000000 +0200 ++++ bfd/Makefile.am 2007-06-12 12:28:10.000000000 +0200 +@@ -973,12 +973,12 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/ + report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\ + if test "x$(RELEASE)" = x ; then \ + bfd_version_date=`sed -n -e 's/.*DATE //p' < $(srcdir)/version.h` ;\ +- bfd_version_string="\"$(VERSION).$${bfd_version_date}\"" ;\ +- bfd_soversion="$(VERSION).$${bfd_version_date}" ;\ ++ bfd_version_string="\"$(VERSION)-%{release} $${bfd_version_date}\"" ;\ ++ bfd_soversion="$(VERSION)-%{release}" ;\ + fi ;\ + sed -e "s,@bfd_version@,$$bfd_version," \ + -e "s,@bfd_version_string@,$$bfd_version_string," \ +- -e "s,@bfd_version_package@,$$bfd_version_package," \ ++ -e "s,@bfd_version_package@,\"version \"," \ + -e "s,@report_bugs_to@,$$report_bugs_to," \ + < $(srcdir)/version.h > $@; \ + echo "$${bfd_soversion}" > libtool-soversion diff --git a/binutils.spec b/binutils.spec index e39b127..42f36f4 100644 --- a/binutils.spec +++ b/binutils.spec @@ -1,20 +1,19 @@ Summary: A GNU collection of binary utilities. Name: binutils -Version: 2.17.50.0.12 -Release: 4 +Version: 2.17.50.0.16 +Release: 1 License: GPL 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.17.50.0.12-ltconfig-multilib.patch -Patch2: binutils-2.17.50.0.12-ppc64-pie.patch -Patch3: binutils-2.17.50.0.12-place-orphan.patch -Patch4: binutils-2.17.50.0.12-ia64-lib64.patch -Patch5: binutils-2.17.50.0.12-standards.patch -Patch6: binutils-2.17.50.0.12-build-fixes.patch -Patch7: binutils-2.17.50.0.12-symbolic-envvar-revert.patch -Patch8: binutils-2.17.50.0.12-osabi.patch -Patch9: binutils-2.17.50.0.12-rh235747.patch +Patch1: binutils-2.17.50.0.16-ltconfig-multilib.patch +Patch2: binutils-2.17.50.0.16-ppc64-pie.patch +Patch3: binutils-2.17.50.0.16-place-orphan.patch +Patch4: binutils-2.17.50.0.16-ia64-lib64.patch +Patch5: binutils-2.17.50.0.16-standards.patch +Patch6: binutils-2.17.50.0.16-build-fixes.patch +Patch7: binutils-2.17.50.0.16-symbolic-envvar-revert.patch +Patch8: binutils-2.17.50.0.16-version.patch Buildroot: %{_tmppath}/binutils-root BuildRequires: texinfo >= 4.0, dejagnu, gettext, flex, bison @@ -62,15 +61,14 @@ to consider using libelf instead of BFD. %endif %patch5 -p0 -b .standards~ %patch6 -p0 -b .build-fixes~ -%patch7 -p0 -b .tekhex~ -%patch8 -p0 -b .osabi~ -%patch9 -p0 -b .rh235747~ +%patch7 -p0 -b .symbolic-envvar-revert~ +%patch8 -p0 -b .version~ # On ppc64 we might use 64K 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* -sed -i -e 's/%{version}/%{version}-%{release}/g' bfd/configure{.in,} +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 @@ -95,7 +93,8 @@ CC="gcc -L`pwd`/bfd/.libs/" CFLAGS="${CFLAGS:-%optflags}" ../configure \ --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} \ --libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} \ --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \ - --infodir=%{_infodir} --enable-shared $CARGS --disable-werror + --infodir=%{_infodir} --enable-shared $CARGS --disable-werror \ + --with-bugurl=http://bugzilla.redhat.com/bugzilla/ make %{_smp_mflags} tooldir=%{_prefix} all make %{_smp_mflags} tooldir=%{_prefix} info make -k check < /dev/null > check.log 2>&1 || : @@ -214,6 +213,9 @@ fi %{_infodir}/bfd*info* %changelog +* Tue Jun 12 2007 Jakub Jelinek 2.17.50.0.16-1 +- update to 2.17.50.0.16 + * Sat Apr 14 2007 Jakub Jelinek 2.17.50.0.12-4 - fix linking non-ELF input objects into ELF output (#235747) diff --git a/sources b/sources index e850bf5..13a9b2b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6f3e83399b965d70008860f697c50ec2 binutils-2.17.50.0.12.tar.bz2 +1404fe9bc6105dcc27c85787b3222885 binutils-2.17.50.0.16.tar.bz2