Rebuild patches against latest binutils source tarball

This commit is contained in:
Nicholas Clifton 2009-06-22 16:18:17 +00:00
parent 67ee9cb6f9
commit 11c397ea92
16 changed files with 151 additions and 4777 deletions

View File

@ -1 +1 @@
binutils-2.19.51.0.2.tar.bz2
binutils-2.19.51.0.10.tar.bz2

View File

@ -1,22 +0,0 @@
--- ../binutils-2.19.50.0.1.orig/bfd/elfcode.h 2008-11-26 09:29:54.000000000 +0000
+++ ./bfd/elfcode.h 2008-11-26 12:01:37.000000000 +0000
@@ -1170,6 +1170,19 @@ elf_checksum_contents (bfd *abfd,
if (i_shdr.contents)
(*process) (i_shdr.contents, i_shdr.sh_size, arg);
+ else
+ {
+ asection *sec;
+
+ sec = bfd_section_from_elf_index (abfd, count);
+ if (sec != NULL)
+ {
+ if (sec->contents == NULL)
+ bfd_malloc_and_get_section (abfd, sec, & sec->contents);
+ if (sec->contents != NULL)
+ (*process) (sec->contents, i_shdr.sh_size, arg);
+ }
+ }
}
return TRUE;

View File

@ -1,115 +0,0 @@
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=461675
http://sourceware.org/ml/binutils/2009-01/msg00412.html
http://sourceware.org/ml/binutils-cvs/2009-02/msg00003.html
bfd/
2009-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* elf-eh-frame.c (REQUIRE_CLEARED_RELOCS) Remove.
(_bfd_elf_parse_eh_frame): Do not check relocations for removed FDEs.
ld/testsuite/
2009-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* ld-elf/eh-group2.s: New `.cfi_lsda' referencing `.gcc_except_table'.
* ld-elf/eh-group.exp: New test and conditional defininiton of `ELF64'.
--- bfd/elf-eh-frame.c 2008/09/17 07:50:28 1.73
+++ bfd/elf-eh-frame.c 2009/02/01 12:05:25 1.74
@@ -549,16 +549,6 @@
< (bfd_size_type) ((buf) - ehbuf))) \
cookie->rel++
-#define REQUIRE_CLEARED_RELOCS(buf) \
- while (cookie->rel < cookie->relend \
- && (cookie->rel->r_offset \
- < (bfd_size_type) ((buf) - ehbuf))) \
- { \
- REQUIRE (cookie->rel->r_info == 0); \
- REQUIRE (cookie->rel->r_addend == 0); \
- cookie->rel++; \
- }
-
#define GET_RELOC(buf) \
((cookie->rel < cookie->relend \
&& (cookie->rel->r_offset \
@@ -817,16 +807,16 @@
buf = last_fde + 4 + hdr_length;
- /* Cleared FDE? The instructions will not be cleared but verify all
- the relocation entries for them are cleared. */
- if (rsec == NULL)
- {
- REQUIRE_CLEARED_RELOCS (buf);
- }
- else
- {
- SKIP_RELOCS (buf);
- }
+ /* For NULL RSEC (cleared FDE belonging to a discarded section)
+ the relocations are commonly cleared. We do not sanity check if
+ all these relocations are cleared as (1) relocations to
+ .gcc_except_table will remain uncleared (they will get dropped
+ with the drop of this unused FDE) and (2) BFD already safely drops
+ relocations of any type to .eh_frame by
+ elf_section_ignore_discarded_relocs.
+ TODO: The .gcc_except_table entries should be also filtered as
+ .eh_frame entries; or GCC could rather use COMDAT for them. */
+ SKIP_RELOCS (buf);
}
/* Try to interpret the CFA instructions and find the first
--- ld/testsuite/ld-elf/eh-group.exp 2008/09/25 03:16:42 1.3
+++ ld/testsuite/ld-elf/eh-group.exp 2009/02/01 12:05:25 1.4
@@ -40,12 +40,28 @@
return
}
-set build_tests_ld {
- {"Build eh-group1.o"
- "-r" ""
- {eh-group1.s eh-group2.s} {} "eh-group.o"}
+# alpha-linux-gnu does not support 64-bit relocations:
+# relocation truncated to fit: REFLONG against `.gcc_except_table'
+# arm-eabi does not support 64-bit relocations:
+# bad relocation fixup type (1)
+set testname "Guess the target size from eh-group1size.o"
+if [ld_assemble $as "$srcdir/$subdir/eh-group1.s" "tmpdir/eh-group1size.o"] {
+ pass $testname
+} else {
+ fail $testname
}
+set as_options ""
+if [is_elf64 "tmpdir/eh-group1size.o"] {
+ set as_options "$as_options --defsym ELF64=1"
+}
+
+set build_tests_ld [list \
+ [list "Build eh-group1.o" \
+ "-r" "$as_options" \
+ {eh-group1.s eh-group2.s} {} "eh-group.o"] \
+]
+
run_ld_link_tests $build_tests_ld
set testname "Link eh-group.o to eh-group"
--- ld/testsuite/ld-elf/eh-group2.s 2008/09/20 08:42:53 1.2
+++ ld/testsuite/ld-elf/eh-group2.s 2009/02/01 12:05:25 1.3
@@ -1,4 +1,15 @@
.section sect, "axG", %progbits, sectgroup, comdat
.cfi_startproc
+# Test intention is that LSDA must be provided by the discarded FDE.
+# DW_EH_PE_udata8 = 4
+# DW_EH_PE_udata4 = 3
+ .ifdef ELF64
+ .cfi_lsda 4, lsda
+ .else
+ .cfi_lsda 3, lsda
+ .endif
.skip 16
.cfi_endproc
+
+ .section .gcc_except_table, "a", %progbits
+lsda:

View File

@ -0,0 +1,36 @@
diff -rup ../binutils-2.19.51.0.10.orig/bfd/elfcode.h ./bfd/elfcode.h
--- ../binutils-2.19.51.0.10.orig/bfd/elfcode.h 2009-06-22 16:16:08.000000000 +0100
+++ ./bfd/elfcode.h 2009-06-22 16:20:00.000000000 +0100
@@ -1170,6 +1170,20 @@ elf_checksum_contents (bfd *abfd,
if (i_shdr.contents)
(*process) (i_shdr.contents, i_shdr.sh_size, arg);
+ else
+ {
+ asection *sec;
+
+ sec = bfd_section_from_elf_index (abfd, count);
+ if (sec != NULL)
+ {
+ if (sec->contents == NULL
+ && ! bfd_malloc_and_get_section (abfd, sec, & sec->contents))
+ continue;
+ if (sec->contents != NULL)
+ (*process) (sec->contents, i_shdr.sh_size, arg);
+ }
+ }
}
return TRUE;
diff -rup ../binutils-2.19.51.0.10.orig/bfd/section.c ./bfd/section.c
--- ../binutils-2.19.51.0.10.orig/bfd/section.c 2009-06-22 16:16:08.000000000 +0100
+++ ./bfd/section.c 2009-06-22 16:20:42.000000000 +0100
@@ -1477,7 +1477,7 @@ bfd_malloc_and_get_section (bfd *abfd, s
if (sz == 0)
return TRUE;
- p = bfd_malloc (sec->rawsize > sec->size ? sec->rawsize : sec->size);
+ p = bfd_zmalloc (sec->rawsize > sec->size ? sec->rawsize : sec->size);
if (p == NULL)
return FALSE;
*buf = p;

View File

@ -1,24 +1,37 @@
It reverts the H.J. Lu's binutils custom patch.
Index: ld/NEWS
===================================================================
--- ld/NEWS.orig 2009-02-04 19:21:50.000000000 +0100
+++ ld/NEWS 2009-02-23 16:18:35.000000000 +0100
@@ -26,9 +26,6 @@
For the switch --enable-runtime-pseudo-reloc it uses for 32-bit
runtime pseudo relocation version one, for 64-bit the version two.
diff -rup ../binutils-2.19.51.0.10.orig/ld/ldmain.c ./ld/ldmain.c
--- ../binutils-2.19.51.0.10.orig/ld/ldmain.c 2009-06-22 15:56:54.000000000 +0100
+++ ./ld/ldmain.c 2009-06-22 16:05:54.000000000 +0100
@@ -256,14 +256,6 @@ main (int argc, char **argv)
command_line.warn_search_mismatch = TRUE;
command_line.check_section_addresses = -1;
-* ELF: Support environment variables, LD_SYMBOLIC for -Bsymbolic and
- LD_SYMBOLIC_FUNCTIONS for -Bsymbolic-functions.
- if (getenv ("LD_SYMBOLIC") != NULL)
- command_line.symbolic = symbolic;
- else if (getenv ("LD_SYMBOLIC_FUNCTIONS") != NULL)
- command_line.symbolic = symbolic_functions;
-
Changes in 2.19:
- if (getenv ("LD_AS_NEEDED") != NULL)
- as_needed = TRUE;
-
/* 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 -rup ../binutils-2.19.51.0.10.orig/ld/ld.texinfo ./ld/ld.texinfo
--- ../binutils-2.19.51.0.10.orig/ld/ld.texinfo 2009-06-22 15:56:53.000000000 +0100
+++ ./ld/ld.texinfo 2009-06-22 16:05:42.000000000 +0100
@@ -1118,10 +1118,7 @@ for a library that satisfies a symbol re
which is undefined at the point that the library was linked, or, if
the library is not found in the DT_NEEDED lists of other libraries
linked up to that point, a reference from another dynamic library.
-@option{--no-as-needed} restores the default behaviour. If the
-environment variable @code{LD_AS_NEEDED} is set, the linker will
-behave as if the @option{--as-needed} option is passed to the linker as
-the first command line option.
+@option{--no-as-needed} restores the default behaviour.
* Linker scripts support a new INSERT command that makes it easier to
Index: ld/ld.texinfo
===================================================================
--- ld/ld.texinfo.orig 2009-02-04 19:21:50.000000000 +0100
+++ ld/ld.texinfo 2009-02-23 16:18:06.000000000 +0100
@@ -1163,21 +1163,14 @@ When creating a shared library, bind ref
@kindex --add-needed
@kindex --no-add-needed
@@ -1185,21 +1182,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
@ -42,19 +55,18 @@ Index: ld/ld.texinfo
@kindex --dynamic-list=@var{dynamic-list-file}
@item --dynamic-list=@var{dynamic-list-file}
Index: ld/ldmain.c
===================================================================
--- ld/ldmain.c.orig 2009-02-04 19:21:50.000000000 +0100
+++ ld/ldmain.c 2009-02-23 16:19:01.000000000 +0100
@@ -256,11 +256,6 @@ main (int argc, char **argv)
command_line.warn_search_mismatch = TRUE;
command_line.check_section_addresses = -1;
diff -rup ../binutils-2.19.51.0.10.orig/ld/NEWS ./ld/NEWS
--- ../binutils-2.19.51.0.10.orig/ld/NEWS 2009-06-22 15:56:54.000000000 +0100
+++ ./ld/NEWS 2009-06-22 16:04:15.000000000 +0100
@@ -55,11 +55,6 @@
For the switch --enable-runtime-pseudo-reloc it uses for 32-bit
runtime pseudo relocation version one, for 64-bit the version two.
- if (getenv ("LD_SYMBOLIC") != NULL)
- command_line.symbolic = symbolic;
- else if (getenv ("LD_SYMBOLIC_FUNCTIONS") != NULL)
- command_line.symbolic = symbolic_functions;
-* ELF: Support environment variable LD_AS_NEEDED for --as-needed.
-
/* 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
-* ELF: Support environment variables, LD_SYMBOLIC for -Bsymbolic and
- LD_SYMBOLIC_FUNCTIONS for -Bsymbolic-functions.
-
Changes in 2.19:
* Linker scripts support a new INSERT command that makes it easier to

View File

@ -1,7 +1,7 @@
diff -rup ../binutils-2.19.50.0.1.orig/bfd/configure ./bfd/configure
--- ../binutils-2.19.50.0.1.orig/bfd/configure 2008-11-21 16:45:02.000000000 +0000
+++ ./bfd/configure 2008-11-21 16:49:02.000000000 +0000
@@ -10487,10 +10487,34 @@ rm -f conftest.err conftest.$ac_objext \
diff -rup ../binutils-2.19.51.0.10.orig/bfd/configure ./bfd/configure
--- ../binutils-2.19.51.0.10.orig/bfd/configure 2009-06-22 15:56:55.000000000 +0100
+++ ./bfd/configure 2009-06-22 15:58:46.000000000 +0100
@@ -10137,10 +10137,34 @@ fi
# before this can be enabled.
hardcode_into_libs=yes
@ -37,10 +37,11 @@ diff -rup ../binutils-2.19.50.0.1.orig/bfd/configure ./bfd/configure
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
diff -rup ../binutils-2.19.50.0.1.orig/binutils/configure ./binutils/configure
--- ../binutils-2.19.50.0.1.orig/binutils/configure 2008-11-21 16:45:00.000000000 +0000
+++ ./binutils/configure 2008-11-21 16:49:40.000000000 +0000
@@ -10318,10 +10318,34 @@ rm -f conftest.err conftest.$ac_objext \
Only in ./bfd: configure.orig
diff -rup ../binutils-2.19.51.0.10.orig/binutils/configure ./binutils/configure
--- ../binutils-2.19.51.0.10.orig/binutils/configure 2009-06-22 15:56:54.000000000 +0100
+++ ./binutils/configure 2009-06-22 15:58:46.000000000 +0100
@@ -10362,10 +10362,34 @@ fi
# before this can be enabled.
hardcode_into_libs=yes
@ -76,10 +77,11 @@ diff -rup ../binutils-2.19.50.0.1.orig/binutils/configure ./binutils/configure
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
diff -rup ../binutils-2.19.50.0.1.orig/gas/configure ./gas/configure
--- ../binutils-2.19.50.0.1.orig/gas/configure 2008-11-21 16:45:02.000000000 +0000
+++ ./gas/configure 2008-11-21 16:50:18.000000000 +0000
@@ -10316,10 +10316,34 @@ rm -f conftest.err conftest.$ac_objext \
Only in ./binutils: configure.orig
diff -rup ../binutils-2.19.51.0.10.orig/gas/configure ./gas/configure
--- ../binutils-2.19.51.0.10.orig/gas/configure 2009-06-22 15:56:55.000000000 +0100
+++ ./gas/configure 2009-06-22 15:58:46.000000000 +0100
@@ -10330,10 +10330,34 @@ fi
# before this can be enabled.
hardcode_into_libs=yes
@ -115,10 +117,11 @@ diff -rup ../binutils-2.19.50.0.1.orig/gas/configure ./gas/configure
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
diff -rup ../binutils-2.19.50.0.1.orig/gprof/configure ./gprof/configure
--- ../binutils-2.19.50.0.1.orig/gprof/configure 2008-11-21 16:45:00.000000000 +0000
+++ ./gprof/configure 2008-11-21 16:50:42.000000000 +0000
@@ -10407,10 +10407,34 @@ rm -f conftest.err conftest.$ac_objext \
Only in ./gas: configure.orig
diff -rup ../binutils-2.19.51.0.10.orig/gprof/configure ./gprof/configure
--- ../binutils-2.19.51.0.10.orig/gprof/configure 2009-06-22 15:56:54.000000000 +0100
+++ ./gprof/configure 2009-06-22 15:58:46.000000000 +0100
@@ -10422,10 +10422,34 @@ fi
# before this can be enabled.
hardcode_into_libs=yes
@ -154,10 +157,11 @@ diff -rup ../binutils-2.19.50.0.1.orig/gprof/configure ./gprof/configure
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
diff -rup ../binutils-2.19.50.0.1.orig/ld/configure ./ld/configure
--- ../binutils-2.19.50.0.1.orig/ld/configure 2008-11-21 16:45:00.000000000 +0000
+++ ./ld/configure 2008-11-21 16:51:10.000000000 +0000
@@ -10607,10 +10607,34 @@ rm -f conftest.err conftest.$ac_objext \
Only in ./gprof: configure.orig
diff -rup ../binutils-2.19.51.0.10.orig/ld/configure ./ld/configure
--- ../binutils-2.19.51.0.10.orig/ld/configure 2009-06-22 15:56:54.000000000 +0100
+++ ./ld/configure 2009-06-22 15:58:46.000000000 +0100
@@ -10622,10 +10622,34 @@ fi
# before this can be enabled.
hardcode_into_libs=yes
@ -193,10 +197,11 @@ diff -rup ../binutils-2.19.50.0.1.orig/ld/configure ./ld/configure
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
diff -rup ../binutils-2.19.50.0.1.orig/libtool.m4 ./libtool.m4
--- ../binutils-2.19.50.0.1.orig/libtool.m4 2008-11-21 16:45:00.000000000 +0000
+++ ./libtool.m4 2008-11-21 16:51:35.000000000 +0000
@@ -2470,10 +2470,30 @@ linux* | k*bsd*-gnu)
Only in ./ld: configure.orig
diff -rup ../binutils-2.19.51.0.10.orig/libtool.m4 ./libtool.m4
--- ../binutils-2.19.51.0.10.orig/libtool.m4 2009-06-22 15:56:54.000000000 +0100
+++ ./libtool.m4 2009-06-22 15:58:46.000000000 +0100
@@ -2475,10 +2475,30 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
# before this can be enabled.
hardcode_into_libs=yes
@ -228,10 +233,11 @@ diff -rup ../binutils-2.19.50.0.1.orig/libtool.m4 ./libtool.m4
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
diff -rup ../binutils-2.19.50.0.1.orig/opcodes/configure ./opcodes/configure
--- ../binutils-2.19.50.0.1.orig/opcodes/configure 2008-11-21 16:45:00.000000000 +0000
+++ ./opcodes/configure 2008-11-21 16:52:05.000000000 +0000
@@ -10118,10 +10118,34 @@ rm -f conftest.err conftest.$ac_objext \
Only in .: libtool.m4.orig
diff -rup ../binutils-2.19.51.0.10.orig/opcodes/configure ./opcodes/configure
--- ../binutils-2.19.51.0.10.orig/opcodes/configure 2009-06-22 15:56:54.000000000 +0100
+++ ./opcodes/configure 2009-06-22 15:58:46.000000000 +0100
@@ -10132,10 +10132,34 @@ fi
# before this can be enabled.
hardcode_into_libs=yes
@ -267,3 +273,4 @@ diff -rup ../binutils-2.19.50.0.1.orig/opcodes/configure ./opcodes/configure
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
Only in ./opcodes: configure.orig

View File

@ -1,6 +1,6 @@
--- ../binutils-2.19.50.0.1.orig/bfd/elf64-ppc.c 2008-11-21 16:45:02.000000000 +0000
+++ bfd/elf64-ppc.c 2008-11-21 16:53:28.000000000 +0000
@@ -11296,7 +11296,12 @@ ppc64_elf_relocate_section (bfd *output_
--- ../binutils-2.19.51.0.10.orig/bfd/elf64-ppc.c 2009-06-22 15:56:55.000000000 +0100
+++ ./bfd/elf64-ppc.c 2009-06-22 16:00:39.000000000 +0100
@@ -11466,7 +11466,12 @@ ppc64_elf_relocate_section (bfd *output_
else if (!SYMBOL_REFERENCES_LOCAL (info, &h->elf)
&& !is_opd
&& r_type != R_PPC64_TOC)

View File

@ -1,6 +1,7 @@
--- bfd/configure.in-orig 2008-09-22 00:19:20.000000000 +0200
+++ bfd/configure.in 2008-09-22 00:43:15.000000000 +0200
@@ -149,11 +149,13 @@ if test "x${ac_cv_sizeof_long}" = "x8";
diff -rup ../binutils-2.19.51.0.10.orig/bfd/configure ./bfd/configure
--- ../binutils-2.19.51.0.10.orig/bfd/configure 2009-06-22 16:16:08.000000000 +0100
+++ ./bfd/configure 2009-06-22 16:16:14.000000000 +0100
@@ -13924,11 +13924,13 @@ if test "x${ac_cv_sizeof_long}" = "x8";
BFD_HOST_64BIT_LONG=1
test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long"
test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long"
@ -16,9 +17,10 @@
BFD_HOSTPTR_T="unsigned long long"
fi
fi
--- ../binutils-2.19.50.0.1.orig/bfd/configure 2008-11-21 16:45:02.000000000 +0000
+++ bfd/configure 2008-11-21 17:04:55.000000000 +0000
@@ -13844,11 +13868,13 @@ if test "x${ac_cv_sizeof_long}" = "x8";
diff -rup ../binutils-2.19.51.0.10.orig/bfd/configure.in ./bfd/configure.in
--- ../binutils-2.19.51.0.10.orig/bfd/configure.in 2009-06-22 16:16:08.000000000 +0100
+++ ./bfd/configure.in 2009-06-22 16:16:14.000000000 +0100
@@ -172,11 +172,13 @@ if test "x${ac_cv_sizeof_long}" = "x8";
BFD_HOST_64BIT_LONG=1
test -n "${HOST_64BIT_TYPE}" || HOST_64BIT_TYPE="long"
test -n "${HOST_U_64BIT_TYPE}" || HOST_U_64BIT_TYPE="unsigned long"

View File

@ -1,6 +1,6 @@
--- ../binutils-2.19/bfd/Makefile.am 2008-10-16 14:20:34.000000000 +0100
+++ bfd/Makefile.am 2008-11-21 15:52:53.000000000 +0000
@@ -994,12 +994,12 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/
--- ../binutils-2.19.51.0.10.orig/bfd/Makefile.am 2009-06-22 15:56:55.000000000 +0100
+++ ./bfd/Makefile.am 2009-06-22 16:13:31.000000000 +0100
@@ -1038,12 +1038,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` ;\
@ -16,9 +16,9 @@
-e "s,@report_bugs_to@,$$report_bugs_to," \
< $(srcdir)/version.h > $@; \
echo "$${bfd_soversion}" > libtool-soversion
--- ../binutils-2.19.50.0.1.orig/bfd/Makefile.in 2008-11-21 16:45:02.000000000 +0000
+++ bfd/Makefile.in 2008-11-21 16:57:07.000000000 +0000
@@ -1590,12 +1590,12 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/
--- ../binutils-2.19.51.0.10.orig/bfd/Makefile.in 2009-06-22 15:56:55.000000000 +0100
+++ ./bfd/Makefile.in 2009-06-22 16:13:31.000000000 +0100
@@ -1639,12 +1639,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` ;\

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,73 +0,0 @@
2009-06-09 Jakub Jelinek <jakub@redhat.com>
PR gas/10255
* dw2gencfi.c (output_cfi_insn): Initialize fragment before rs_cfa
to DW_CFA_advance_loc4.
* gas/cfi/cfi-common-7.d: New test.
* gas/cfi/cfi-common-7.s: New.
* gas/cfi/cfi.exp: Add cfi-common-7 test.
--- gas/dw2gencfi.c.jj 2009-01-27 17:50:43.000000000 +0100
+++ gas/dw2gencfi.c 2009-06-09 13:51:19.000000000 +0200
@@ -1,5 +1,6 @@
/* dw2gencfi.c - Support for generating Dwarf2 CFI information.
- Copyright 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ Free Software Foundation, Inc.
Contributed by Michal Ludvig <mludvig@suse.cz>
This file is part of GAS, the GNU Assembler.
@@ -1001,7 +1002,7 @@ output_cfi_insn (struct cfi_insn_data *i
is already allocated to the frag. This comes from the way
that it scans the .eh_frame section looking first for the
.byte DW_CFA_advance_loc4. */
- frag_more (1);
+ *frag_more (1) = DW_CFA_advance_loc4;
frag_var (rs_cfa, 4, 0, DWARF2_LINE_MIN_INSN_LENGTH << 3,
make_expr_symbol (&exp), frag_now_fix () - 1,
--- gas/testsuite/gas/cfi/cfi.exp.jj 2008-09-25 20:39:42.000000000 +0200
+++ gas/testsuite/gas/cfi/cfi.exp 2009-06-09 14:07:08.000000000 +0200
@@ -89,6 +89,7 @@ if { ![istarget "hppa64*-*"] } then {
run_dump_test "cfi-common-3"
run_dump_test "cfi-common-4"
run_dump_test "cfi-common-5"
+ run_dump_test "cfi-common-7"
}
# MIPS doesn't support PC relative cfi directives.
--- gas/testsuite/gas/cfi/cfi-common-7.d.jj 2009-06-09 13:58:25.000000000 +0200
+++ gas/testsuite/gas/cfi/cfi-common-7.d 2009-06-09 14:04:33.000000000 +0200
@@ -0,0 +1,22 @@
+#readelf: -wf
+#name: CFI common 7
+Contents of the .eh_frame section:
+
+00000000 00000010 00000000 CIE
+ Version: 1
+ Augmentation: "zR"
+ Code alignment factor: .*
+ Data alignment factor: .*
+ Return address column: .*
+ Augmentation data: [01]b
+
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+
+00000014 000000(1c|20) 00000018 FDE cie=00000000 pc=.*
+ DW_CFA_advance_loc: 16 to .*
+ DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
+ DW_CFA_advance_loc4: 75031 to .*
+ DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 64
+#...
--- gas/testsuite/gas/cfi/cfi-common-7.s.jj 2009-06-09 13:57:19.000000000 +0200
+++ gas/testsuite/gas/cfi/cfi-common-7.s 2009-06-09 13:59:34.000000000 +0200
@@ -0,0 +1,6 @@
+ .cfi_startproc simple
+ .skip 16
+ .cfi_def_cfa 0, 16
+ .skip 75031
+ .cfi_def_cfa 0, 64
+ .cfi_endproc

View File

@ -1,39 +0,0 @@
diff -rcp ../copy-of-build-sources/bfd/opncls.c ./bfd/opncls.c
*** ../copy-of-build-sources/bfd/opncls.c 2009-05-27 12:38:06.000000000 +0100
--- ./bfd/opncls.c 2009-06-11 15:56:04.000000000 +0100
*************** bfd_close (bfd *abfd)
*** 681,687 ****
{
struct stat buf;
! if (stat (abfd->filename, &buf) == 0)
{
unsigned int mask = umask (0);
--- 681,688 ----
{
struct stat buf;
! if (stat (abfd->filename, &buf) == 0
! && S_ISREG(buf.st_mode))
{
unsigned int mask = umask (0);
*************** bfd_close_all_done (bfd *abfd)
*** 734,740 ****
{
struct stat buf;
! if (stat (abfd->filename, &buf) == 0)
{
unsigned int mask = umask (0);
--- 735,742 ----
{
struct stat buf;
! if (stat (abfd->filename, &buf) == 0
! && S_ISREG(buf.st_mode))
{
unsigned int mask = umask (0);

View File

@ -1,40 +0,0 @@
diff -rcp ../copy-of-build-sources/bfd/elf32-i386.c bfd/elf32-i386.c
*** ../copy-of-build-sources/bfd/elf32-i386.c 2009-05-27 12:09:07.000000000 +0100
--- bfd/elf32-i386.c 2009-05-27 12:00:10.000000000 +0100
*************** elf_i386_check_tls_transition (bfd *abfd
*** 1024,1030 ****
&& h->root.root.string != NULL
&& (ELF32_R_TYPE (rel[1].r_info) == R_386_PC32
|| ELF32_R_TYPE (rel[1].r_info) == R_386_PLT32)
! && (strcmp (h->root.root.string, "___tls_get_addr") == 0));
case R_386_TLS_IE:
/* Check transition from IE access model:
--- 1024,1030 ----
&& h->root.root.string != NULL
&& (ELF32_R_TYPE (rel[1].r_info) == R_386_PC32
|| ELF32_R_TYPE (rel[1].r_info) == R_386_PLT32)
! && CONST_STRNEQ (h->root.root.string, "___tls_get_addr"));
case R_386_TLS_IE:
/* Check transition from IE access model:
diff -rcp ../copy-of-build-sources/bfd/elf64-x86-64.c bfd/elf64-x86-64.c
*** ../copy-of-build-sources/bfd/elf64-x86-64.c 2009-05-27 12:09:28.000000000 +0100
--- bfd/elf64-x86-64.c 2009-05-27 12:00:27.000000000 +0100
*************** elf64_x86_64_check_tls_transition (bfd *
*** 833,839 ****
&& h->root.root.string != NULL
&& (ELF64_R_TYPE (rel[1].r_info) == R_X86_64_PC32
|| ELF64_R_TYPE (rel[1].r_info) == R_X86_64_PLT32)
! && (strcmp (h->root.root.string, "__tls_get_addr") == 0));
case R_X86_64_GOTTPOFF:
/* Check transition from IE access model:
--- 833,839 ----
&& h->root.root.string != NULL
&& (ELF64_R_TYPE (rel[1].r_info) == R_X86_64_PC32
|| ELF64_R_TYPE (rel[1].r_info) == R_X86_64_PLT32)
! && CONST_STRNEQ (h->root.root.string, "__tls_get_addr"));
case R_X86_64_GOTTPOFF:
/* Check transition from IE access model:

View File

@ -16,25 +16,20 @@
Summary: A GNU collection of binary utilities
Name: %{?cross}binutils%{?_with_debug:-debug}
Version: 2.19.51.0.2
Release: 21%{?dist}
Version: 2.19.51.0.10
Release: 22%{?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
Source2: binutils-2.19.50.0.1-output-format.sed
Patch01: binutils-2.19.50.0.1-libtool-lib64.patch
Patch02: binutils-2.19.50.0.1-ppc64-pie.patch
Patch01: binutils-2.19.51.0.10-libtool-lib64.patch
Patch02: binutils-2.19.51.0.10-ppc64-pie.patch
Patch03: binutils-2.19.50.0.1-ia64-lib64.patch
Patch04: binutils-2.19.50.0.1-symbolic-envvar-revert.patch
Patch05: binutils-2.19.50.0.1-version.patch
Patch06: binutils-2.19.50.0.1-set-long-long.patch
Patch07: binutils-2.19.50.0.1-build-id.patch
Patch08: binutils-2.19.51.0.2-ifunc.patch
Patch09: binutils-2.19.51.0.2-IBM.patch
Patch10: binutils-2.19.51.0.2-tls-get-addr.patch
Patch11: binutils-2.19.51.0.2-pr10255.patch
Patch12: binutils-2.19.51.0.2-sisreg.patch
Patch04: binutils-2.19.51.0.10-envvar-revert.patch
Patch05: binutils-2.19.51.0.10-version.patch
Patch06: binutils-2.19.51.0.10-set-long-long.patch
Patch07: binutils-2.19.51.0.10-build-id.patch
%if 0%{?_with_debug:1}
# Define this if you want to skip the strip step and preserve debug info.
@ -73,10 +68,11 @@ 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), 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).
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 devel
Summary: BFD and opcodes static libraries and header files
@ -101,15 +97,10 @@ to consider using libelf instead of BFD.
%patch03 -p0 -b .ia64-lib64~
%endif
%endif
%patch04 -p0 -b .symbolic-envvar-revert~
%patch04 -p0 -b .envvar-revert~
%patch05 -p0 -b .version~
%patch06 -p0 -b .set-long-long~
%patch07 -p0 -b .build-id~
%patch08 -p1 -b .ifunc~
%patch09 -p0 -b .IBM~
%patch10 -p0 -b .tls-get-addr~
%patch11 -p0 -b .pr10255~
%patch12 -p0 -b .sisreg~
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
@ -353,6 +344,9 @@ fi
%endif # %{isnative}
%changelog
* Mon Jun 22 2009 Nick Clifton <nickc@redhat.com> 2.19.51.0.10-22
- Rebase sources on the 2.19.51.0.10 tarball.
* Thu Jun 11 2009 Nick Clifton <nickc@redhat.com> 2.19.51.0.2-21
- Do not attempt to set execute permission on non-regular files. (BZ 503426)

View File

@ -1 +1 @@
2b019d9f3c46a5bb775b42ab55f199cc binutils-2.19.51.0.2.tar.bz2
d8d6136bb1142080d229f799bf85345f binutils-2.19.51.0.10.tar.bz2