2.17.50.0.16-1
This commit is contained in:
parent
5f0e45256b
commit
44cfb8c088
@ -1 +1 @@
|
||||
binutils-2.17.50.0.12.tar.bz2
|
||||
binutils-2.17.50.0.16.tar.bz2
|
||||
|
@ -1,141 +0,0 @@
|
||||
2007-03-13 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
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,
|
@ -1,45 +0,0 @@
|
||||
2007-04-14 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* 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;
|
@ -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
|
36
binutils-2.17.50.0.16-version.patch
Normal file
36
binutils-2.17.50.0.16-version.patch
Normal file
@ -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
|
@ -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 <jakub@redhat.com> 2.17.50.0.16-1
|
||||
- update to 2.17.50.0.16
|
||||
|
||||
* Sat Apr 14 2007 Jakub Jelinek <jakub@redhat.com> 2.17.50.0.12-4
|
||||
- fix linking non-ELF input objects into ELF output (#235747)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user