Rebase to GNU Binutils 2.35.1 release.

Retire: binutils-gas-dwarf-level-4.patch
Retire: binutils-aarch64-plt-sh_entsize.patch
Retire: binutils-ppc-rename-xvcvbf16sp-to-xvcvbf16spn.patch
Retire: binutils-dwarf-5-fixes.patch
This commit is contained in:
Nick Clifton 2020-09-21 11:06:32 +01:00
parent 7691c28cb0
commit 7e6a1748ba
7 changed files with 15 additions and 519 deletions

1
.gitignore vendored
View File

@ -64,3 +64,4 @@ stamp-*
/binutils-2.34.0-5dfc0c955dbe912cd328fc2688e5fceb3239ac2a.tar.xz
/binutils-2.19.50.0.1-output-format.sed
/binutils-2.35.tar.xz
/binutils-2.35.1.tar.xz

View File

@ -1,27 +0,0 @@
diff -rup binutils.orig/bfd/elfnn-aarch64.c binutils-2.35/bfd/elfnn-aarch64.c
--- binutils.orig/bfd/elfnn-aarch64.c 2020-07-30 17:20:30.607580720 +0100
+++ binutils-2.35/bfd/elfnn-aarch64.c 2020-07-30 17:22:45.629741124 +0100
@@ -9513,8 +9513,10 @@ elfNN_aarch64_init_small_plt0_entry (bfd
memcpy (htab->root.splt->contents, htab->plt0_entry,
htab->plt_header_size);
- elf_section_data (htab->root.splt->output_section)->this_hdr.sh_entsize =
- htab->plt_header_size;
+ /* PR 26312: Explicitly set the sh_entsize to 0 so that
+ consumers do not think that the section contains fixed
+ sized objects. */
+ elf_section_data (htab->root.splt->output_section)->this_hdr.sh_entsize = 0;
plt_got_2nd_ent = (htab->root.sgotplt->output_section->vma
+ htab->root.sgotplt->output_offset
@@ -9616,10 +9618,6 @@ elfNN_aarch64_finish_dynamic_sections (b
{
elfNN_aarch64_init_small_plt0_entry (output_bfd, htab);
- elf_section_data (htab->root.splt->output_section)->
- this_hdr.sh_entsize = htab->plt_entry_size;
-
-
if (htab->root.tlsdesc_plt && !(info->flags & DF_BIND_NOW))
{
BFD_ASSERT (htab->root.tlsdesc_got != (bfd_vma)-1);

View File

@ -1,426 +0,0 @@
diff -rup binutils.orig/bfd/dwarf2.c binutils-2.35/bfd/dwarf2.c
--- binutils.orig/bfd/dwarf2.c 2020-08-25 15:40:47.642219922 +0100
+++ binutils-2.35/bfd/dwarf2.c 2020-08-25 15:41:16.271039143 +0100
@@ -130,6 +130,12 @@ struct dwarf2_debug_file
/* Length of the loaded .debug_ranges section. */
bfd_size_type dwarf_ranges_size;
+ /* Pointer to the .debug_rnglists section loaded into memory. */
+ bfd_byte *dwarf_rnglists_buffer;
+
+ /* Length of the loaded .debug_rnglists section. */
+ bfd_size_type dwarf_rnglists_size;
+
/* A list of all previously read comp_units. */
struct comp_unit *all_comp_units;
@@ -327,6 +333,7 @@ const struct dwarf_debug_section dwarf_d
{ ".debug_pubnames", ".zdebug_pubnames" },
{ ".debug_pubtypes", ".zdebug_pubtypes" },
{ ".debug_ranges", ".zdebug_ranges" },
+ { ".debug_rnglists", ".zdebug_rnglist" },
{ ".debug_static_func", ".zdebug_static_func" },
{ ".debug_static_vars", ".zdebug_static_vars" },
{ ".debug_str", ".zdebug_str", },
@@ -360,6 +367,7 @@ enum dwarf_debug_section_enum
debug_pubnames,
debug_pubtypes,
debug_ranges,
+ debug_rnglists,
debug_static_func,
debug_static_vars,
debug_str,
@@ -1329,6 +1337,17 @@ read_attribute_value (struct attribute *
attr->form = DW_FORM_sdata;
attr->u.sval = implicit_const;
break;
+ case DW_FORM_data16:
+ /* This is really a "constant", but there is no way to store that
+ so pretend it is a 16 byte block instead. */
+ amt = sizeof (struct dwarf_block);
+ blk = (struct dwarf_block *) bfd_alloc (abfd, amt);
+ if (blk == NULL)
+ return NULL;
+ blk->size = 16;
+ info_ptr = read_n_bytes (info_ptr, info_ptr_end, blk);
+ attr->u.blk = blk;
+ break;
default:
_bfd_error_handler (_("DWARF error: invalid or unhandled FORM value: %#x"),
form);
@@ -2069,11 +2088,17 @@ read_formatted_entries (struct comp_unit
case DW_FORM_udata:
*uintp = attr.u.val;
break;
+
+ case DW_FORM_data16:
+ /* MD5 data is in the attr.blk, but we are ignoring those. */
+ break;
}
}
- if (!callback (table, fe.name, fe.dir, fe.time, fe.size))
- return FALSE;
+ /* Skip the first "zero entry", which is the compilation dir/file. */
+ if (datai != 0)
+ if (!callback (table, fe.name, fe.dir, fe.time, fe.size))
+ return FALSE;
}
*bufp = buf;
@@ -2617,6 +2642,19 @@ read_debug_ranges (struct comp_unit * un
&file->dwarf_ranges_buffer, &file->dwarf_ranges_size);
}
+/* Read in the .debug_rnglists section for future reference. */
+
+static bfd_boolean
+read_debug_rnglists (struct comp_unit * unit)
+{
+ struct dwarf2_debug *stash = unit->stash;
+ struct dwarf2_debug_file *file = unit->file;
+
+ return read_section (unit->abfd, &stash->debug_sections[debug_rnglists],
+ file->syms, 0,
+ &file->dwarf_rnglists_buffer, &file->dwarf_rnglists_size);
+}
+
/* Function table functions. */
static int
@@ -3107,8 +3145,8 @@ find_abstract_instance (struct comp_unit
}
static bfd_boolean
-read_rangelist (struct comp_unit *unit, struct arange *arange,
- bfd_uint64_t offset)
+read_ranges (struct comp_unit *unit, struct arange *arange,
+ bfd_uint64_t offset)
{
bfd_byte *ranges_ptr;
bfd_byte *ranges_end;
@@ -3153,6 +3191,107 @@ read_rangelist (struct comp_unit *unit,
return TRUE;
}
+static bfd_boolean
+read_rnglists (struct comp_unit *unit, struct arange *arange,
+ bfd_uint64_t offset)
+{
+ bfd_byte *rngs_ptr;
+ bfd_byte *rngs_end;
+ bfd_vma base_address = unit->base_address;
+ bfd_vma low_pc;
+ bfd_vma high_pc;
+ bfd *abfd = unit->abfd;
+
+ if (! unit->file->dwarf_rnglists_buffer)
+ {
+ if (! read_debug_rnglists (unit))
+ return FALSE;
+ }
+
+ rngs_ptr = unit->file->dwarf_rnglists_buffer + offset;
+ if (rngs_ptr < unit->file->dwarf_rnglists_buffer)
+ return FALSE;
+ rngs_end = unit->file->dwarf_rnglists_buffer;
+ rngs_end += unit->file->dwarf_rnglists_size;
+
+ for (;;)
+ {
+ enum dwarf_range_list_entry rlet;
+ unsigned int bytes_read;
+
+ if (rngs_ptr + 1 > rngs_end)
+ return FALSE;
+
+ rlet = read_1_byte (abfd, rngs_ptr, rngs_end);
+ rngs_ptr++;
+
+ switch (rlet)
+ {
+ case DW_RLE_end_of_list:
+ return TRUE;
+
+ case DW_RLE_base_address:
+ if (rngs_ptr + unit->addr_size > rngs_end)
+ return FALSE;
+ base_address = read_address (unit, rngs_ptr, rngs_end);
+ rngs_ptr += unit->addr_size;
+ continue;
+
+ case DW_RLE_start_length:
+ if (rngs_ptr + unit->addr_size > rngs_end)
+ return FALSE;
+ low_pc = read_address (unit, rngs_ptr, rngs_end);
+ rngs_ptr += unit->addr_size;
+ high_pc = low_pc;
+ high_pc += _bfd_safe_read_leb128 (abfd, rngs_ptr, &bytes_read,
+ FALSE, rngs_end);
+ rngs_ptr += bytes_read;
+ break;
+
+ case DW_RLE_offset_pair:
+ low_pc = base_address;
+ low_pc += _bfd_safe_read_leb128 (abfd, rngs_ptr, &bytes_read,
+ FALSE, rngs_end);
+ high_pc = base_address;
+ high_pc += _bfd_safe_read_leb128 (abfd, rngs_ptr, &bytes_read,
+ FALSE, rngs_end);
+ break;
+
+ case DW_RLE_start_end:
+ if (rngs_ptr + 2 * unit->addr_size > rngs_end)
+ return FALSE;
+ low_pc = read_address (unit, rngs_ptr, rngs_end);
+ rngs_ptr += unit->addr_size;
+ high_pc = read_address (unit, rngs_ptr, rngs_end);
+ rngs_ptr += unit->addr_size;
+ break;
+
+ /* TODO x-variants need .debug_addr support used for split-dwarf. */
+ case DW_RLE_base_addressx:
+ case DW_RLE_startx_endx:
+ case DW_RLE_startx_length:
+ default:
+ return FALSE;
+ }
+
+ if ((low_pc == 0 && high_pc == 0) || low_pc == high_pc)
+ return FALSE;
+
+ if (!arange_add (unit, arange, low_pc, high_pc))
+ return FALSE;
+ }
+}
+
+static bfd_boolean
+read_rangelist (struct comp_unit *unit, struct arange *arange,
+ bfd_uint64_t offset)
+{
+ if (unit->version <= 4)
+ return read_ranges (unit, arange, offset);
+ else
+ return read_rnglists (unit, arange, offset);
+}
+
static struct varinfo *
lookup_var_by_offset (bfd_uint64_t offset, struct varinfo * table)
{
diff -rup binutils.orig/binutils/testsuite/binutils-all/readelf.exp binutils-2.35/binutils/testsuite/binutils-all/readelf.exp
--- binutils.orig/binutils/testsuite/binutils-all/readelf.exp 2020-08-25 15:40:46.998223989 +0100
+++ binutils-2.35/binutils/testsuite/binutils-all/readelf.exp 2020-08-25 15:41:08.408088795 +0100
@@ -188,7 +188,7 @@ proc readelf_wi_test {} {
".*DW_TAG_subprogram.*"
".*DW_TAG_base_type.*"
".*DW_AT_producer.*(GNU C|indirect string).*"
- ".*DW_AT_language.*ANSI C.*"
+ ".*DW_AT_language.*(ANSI C|C11).*"
".*DW_AT_name.*(testprog.c|indirect string).*"
".*DW_AT_name.*fn.*"
".*DW_AT_name.*(main|indirect string).*"
diff -rup binutils.orig/gas/dwarf2dbg.c binutils-2.35/gas/dwarf2dbg.c
--- binutils.orig/gas/dwarf2dbg.c 2020-08-25 15:40:47.251222391 +0100
+++ binutils-2.35/gas/dwarf2dbg.c 2020-08-25 15:41:44.775859148 +0100
@@ -1992,18 +1992,29 @@ out_dir_and_file_list (void)
the .debug_line_str section and reference them here. */
out_uleb128 (DW_FORM_string);
- /* Now state how many rows there are in the table. */
- out_uleb128 (dirs_in_use);
+ /* Now state how many rows there are in the table. We need at
+ least 1 if there is one or more file names to store the
+ "working directory". */
+ if (dirs_in_use == 0 && files_in_use > 0)
+ out_uleb128 (1);
+ else
+ out_uleb128 (dirs_in_use);
}
/* Emit directory list. */
- if (DWARF2_LINE_VERSION >= 5 && dirs_in_use > 0)
+ if (DWARF2_LINE_VERSION >= 5 && (dirs_in_use > 0 || files_in_use > 0))
{
- if (dirs == NULL || dirs[0] == NULL)
- dir = remap_debug_filename (".");
- else
+ /* DWARF5 uses slot zero, but that is only set explicitly
+ using a .file 0 directive. If that isn't used, but dir
+ one is used, then use that as main file directory.
+ Otherwise use pwd as main file directory. */
+ if (dirs_in_use > 0 && dirs != NULL && dirs[0] != NULL)
dir = remap_debug_filename (dirs[0]);
-
+ else if (dirs_in_use > 1 && dirs != NULL && dirs[1] != NULL)
+ dir = remap_debug_filename (dirs[1]);
+ else
+ dir = remap_debug_filename (getpwd ());
+
size = strlen (dir) + 1;
cp = frag_more (size);
memcpy (cp, dir, size);
@@ -2089,8 +2100,14 @@ out_dir_and_file_list (void)
if (files[i].filename == NULL)
{
- /* Prevent a crash later, particularly for file 1. */
- files[i].filename = "";
+ /* Prevent a crash later, particularly for file 1. DWARF5
+ uses slot zero, but that is only set explicitly using a
+ .file 0 directive. If that isn't used, but file 1 is,
+ then use that as main file name. */
+ if (DWARF2_LINE_VERSION >= 5 && i == 0 && files_in_use >= 1)
+ files[0].filename = files[1].filename;
+ else
+ files[i].filename = "";
if (DWARF2_LINE_VERSION < 5 || i != 0)
{
as_bad (_("unassigned file number %ld"), (long) i);
@@ -2427,8 +2444,7 @@ out_debug_abbrev (segT abbrev_seg,
if (DWARF2_VERSION < 4)
out_abbrev (DW_AT_high_pc, DW_FORM_addr);
else
- out_abbrev (DW_AT_high_pc, (sizeof_address == 4
- ? DW_FORM_data4 : DW_FORM_data8));
+ out_abbrev (DW_AT_high_pc, DW_FORM_udata);
}
else
{
@@ -2464,12 +2480,26 @@ out_debug_info (segT info_seg, segT abbr
/* DWARF version. */
out_two (DWARF2_VERSION);
- /* .debug_abbrev offset */
- TC_DWARF2_EMIT_OFFSET (section_symbol (abbrev_seg), sizeof_offset);
+ if (DWARF2_VERSION < 5)
+ {
+ /* .debug_abbrev offset */
+ TC_DWARF2_EMIT_OFFSET (section_symbol (abbrev_seg), sizeof_offset);
+ }
+ else
+ {
+ /* unit (header) type */
+ out_byte (DW_UT_compile);
+ }
/* Target address size. */
out_byte (sizeof_address);
+ if (DWARF2_VERSION >= 5)
+ {
+ /* .debug_abbrev offset */
+ TC_DWARF2_EMIT_OFFSET (section_symbol (abbrev_seg), sizeof_offset);
+ }
+
/* DW_TAG_compile_unit DIE abbrev */
out_uleb128 (1);
@@ -2497,7 +2527,10 @@ out_debug_info (segT info_seg, segT abbr
}
exp.X_add_symbol = all_segs->text_end;
exp.X_add_number = 0;
- emit_expr (&exp, sizeof_address);
+ if (DWARF2_VERSION < 4)
+ emit_expr (&exp, sizeof_address);
+ else
+ emit_leb128_expr (&exp, 0);
}
else
{
diff -rup binutils.orig/gas/read.c binutils-2.35/gas/read.c
--- binutils.orig/gas/read.c 2020-08-25 15:40:47.251222391 +0100
+++ binutils-2.35/gas/read.c 2020-08-25 15:41:44.776859141 +0100
@@ -5138,7 +5138,7 @@ output_big_leb128 (char *p, LITTLENUM_TY
/* Generate the appropriate fragments for a given expression to emit a
leb128 value. SIGN is 1 for sleb, 0 for uleb. */
-static void
+void
emit_leb128_expr (expressionS *exp, int sign)
{
operatorT op = exp->X_op;
diff -rup binutils.orig/gas/read.h binutils-2.35/gas/read.h
--- binutils.orig/gas/read.h 2020-08-25 15:40:47.618220074 +0100
+++ binutils-2.35/gas/read.h 2020-08-25 15:41:44.776859141 +0100
@@ -132,6 +132,7 @@ extern void emit_expr_with_reloc (expres
TC_PARSE_CONS_RETURN_TYPE);
extern void emit_expr_fix (expressionS *, unsigned int, fragS *, char *,
TC_PARSE_CONS_RETURN_TYPE);
+extern void emit_leb128_expr (expressionS *, int);
extern void equals (char *, int);
extern void float_cons (int);
extern void ignore_rest_of_line (void);
diff -rup binutils.orig/gas/testsuite/gas/elf/elf.exp binutils-2.35/gas/testsuite/gas/elf/elf.exp
--- binutils.orig/gas/testsuite/gas/elf/elf.exp 2020-08-25 15:40:47.343221810 +0100
+++ binutils-2.35/gas/testsuite/gas/elf/elf.exp 2020-08-25 15:41:25.841978707 +0100
@@ -274,6 +274,8 @@ if { [is_elf_format] } then {
run_dump_test "dwarf2-18" $dump_opts
run_dump_test "dwarf2-19" $dump_opts
run_dump_test "dwarf-5-file0" $dump_opts
+ run_dump_test "dwarf-4-cu" $dump_opts
+ run_dump_test "dwarf-5-cu" $dump_opts
run_dump_test "pr25917"
run_dump_test "bss"
run_dump_test "bad-bss"
--- /dev/null 2020-08-25 08:24:40.895324651 +0100
+++ binutils-2.35/gas/testsuite/gas/elf/dwarf-4-cu.s 2020-08-25 15:41:25.841978707 +0100
@@ -0,0 +1,14 @@
+ .text
+ .file 1 "foo/bar.s"
+ .loc_mark_labels 1
+ .globl foobar
+ .type foobar, %function
+foobar:
+ .quad 0x1
+ .size foobar, .-foobar
+
+ .globl baz
+ .type baz, %function
+baz:
+ .quad 0x1
+ .size baz, .-baz
--- /dev/null 2020-08-25 08:24:40.895324651 +0100
+++ binutils-2.35/gas/testsuite/gas/elf/dwarf-4-cu.d 2020-08-25 15:41:25.841978707 +0100
@@ -0,0 +1,11 @@
+#as: --gdwarf-4
+#name: DWARF4 CU
+#readelf: -wi
+
+#...
+ Compilation Unit @ offset 0x0:
+ Length: 0x.*
+ Version: 4
+ Abbrev Offset: 0x0
+ Pointer Size: .
+#pass
--- /dev/null 2020-08-25 08:24:40.895324651 +0100
+++ binutils-2.35/gas/testsuite/gas/elf/dwarf-5-cu.d 2020-08-25 15:41:25.841978707 +0100
@@ -0,0 +1,11 @@
+#as: --gdwarf-5
+#name: DWARF5 CU
+#readelf: -wi
+
+#...
+ Compilation Unit @ offset 0x0:
+ Length: 0x.*
+ Version: 5
+ Abbrev Offset: 0x0
+ Pointer Size: .
+#pass
--- /dev/null 2020-08-25 08:24:40.895324651 +0100
+++ binutils-2.35/gas/testsuite/gas/elf/dwarf-5-cu.s 2020-08-25 15:41:25.841978707 +0100
@@ -0,0 +1,14 @@
+ .text
+ .file 1 "foo/bar.s"
+ .loc_mark_labels 1
+ .globl foobar
+ .type foobar, %function
+foobar:
+ .quad 0x1
+ .size foobar, .-foobar
+
+ .globl baz
+ .type baz, %function
+baz:
+ .quad 0x1
+ .size baz, .-baz

View File

@ -1,11 +0,0 @@
--- binutils.orig/gas/as.c 2020-07-30 08:41:25.034236441 +0100
+++ binutils-2.35/gas/as.c 2020-07-30 08:41:52.197058041 +0100
@@ -103,7 +103,7 @@ int verbose = 0;
int flag_dwarf_cie_version = -1;
/* The maximum level of DWARF DEBUG information we should manufacture. */
-unsigned int dwarf_level = 0;
+unsigned int dwarf_level = 3;
#if defined OBJ_ELF || defined OBJ_MAYBE_ELF
int flag_use_elf_stt_common = DEFAULT_GENERATE_ELF_STT_COMMON;

View File

@ -1,32 +0,0 @@
diff -rup binutils.orig/gas/testsuite/gas/ppc/vsx4.d binutils-2.35/gas/testsuite/gas/ppc/vsx4.d
--- binutils.orig/gas/testsuite/gas/ppc/vsx4.d 2020-08-24 13:52:14.230454823 +0100
+++ binutils-2.35/gas/testsuite/gas/ppc/vsx4.d 2020-08-24 13:54:15.331718297 +0100
@@ -7,6 +7,6 @@
Disassembly of section \.text:
0+0 <vsx4>:
-.*: (f0 50 6f 6f|6f 6f 50 f0) xvcvbf16sp vs34,vs45
+.*: (f0 50 6f 6f|6f 6f 50 f0) xvcvbf16spn vs34,vs45
.*: (f1 f1 27 6f|6f 27 f1 f1) xvcvspbf16 vs47,vs36
#pass
diff -rup binutils.orig/gas/testsuite/gas/ppc/vsx4.s binutils-2.35/gas/testsuite/gas/ppc/vsx4.s
--- binutils.orig/gas/testsuite/gas/ppc/vsx4.s 2020-08-24 13:52:14.230454823 +0100
+++ binutils-2.35/gas/testsuite/gas/ppc/vsx4.s 2020-08-24 13:54:27.779642594 +0100
@@ -1,4 +1,4 @@
.text
vsx4:
- xvcvbf16sp 34,45
+ xvcvbf16spn 34,45
xvcvspbf16 47,36
diff -rup binutils.orig/opcodes/ppc-opc.c binutils-2.35/opcodes/ppc-opc.c
--- binutils.orig/opcodes/ppc-opc.c 2020-08-24 13:52:13.709457991 +0100
+++ binutils-2.35/opcodes/ppc-opc.c 2020-08-24 13:53:46.810891761 +0100
@@ -8306,7 +8306,7 @@ const struct powerpc_opcode powerpc_opco
{"xvxexpsp", XX2VA(60,475,8),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}},
{"xvxsigsp", XX2VA(60,475,9),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}},
{"xxbrw", XX2VA(60,475,15),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}},
-{"xvcvbf16sp", XX2VA(60,475,16),XX2_MASK, PPCVSX4, PPCVLE, {XT6, XB6}},
+{"xvcvbf16spn", XX2VA(60,475,16),XX2_MASK, PPCVSX4, PPCVLE, {XT6, XB6}},
{"xvcvspbf16", XX2VA(60,475,17),XX2_MASK, PPCVSX4, PPCVLE, {XT6, XB6}},
{"xxbrd", XX2VA(60,475,23),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}},
{"xvcvhpsp", XX2VA(60,475,24),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}},

View File

@ -1,8 +1,8 @@
Summary: A GNU collection of binary utilities
Name: %{?cross}binutils%{?_with_debug:-debug}
Version: 2.35
Release: 14%{?dist}
Version: 2.35.1
Release: 1%{?dist}
License: GPLv3+
URL: https://sourceware.org/binutils
@ -224,34 +224,18 @@ Patch21: binutils-warnings.patch
# Lifetime: Should be fixed in 2.36.
Patch22: binutils-gcc-10-fixes.patch
# Purpose: Default to DWARF level 3 in the assembler.
# Lifetime: Fixed in 2.36.
Patch23: binutils-gas-dwarf-level-4.patch
# Purpose: Set the sh_entsize of the AArch64's PLT section to 0.
# Lifetime: Fixed in 2.36.
Patch24: binutils-aarch64-plt-sh_entsize.patch
# Purpose: Fixes for linking LTO objects.
# Lifetime: Fixed in 2.36
Patch25: binutils-add-sym-cache-to-elf-link-hash.patch
Patch26: binutils-elf-add-objects.patch
# Purpose: Rename the PPC xvcvbf16sp instruction to xvcvbf16spn
# Lifetime: Fixed in 2.36
Patch27: binutils-ppc-rename-xvcvbf16sp-to-xvcvbf16spn.patch
# Purpose: Fixes for handling DWARF-5 debug information.
# Lifetime: Fixed in 2.36
Patch28: binutils-dwarf-5-fixes.patch
Patch23: binutils-add-sym-cache-to-elf-link-hash.patch
Patch24: binutils-elf-add-objects.patch
# Purpose: Fix handling of relocations for AArch64 conditional branches.
# Lifetime: Fixed in 2.36
Patch29: binutils-aarch64-condbranch-relocs.patch
Patch25: binutils-aarch64-condbranch-relocs.patch
# Purpose: Fix the PowerPC disassembler so that it ignores annobin symbols.
# Lifetime: Fixed in 2.36
Patch30: binutils-ppc-annobin-disassembly.patch
Patch26: binutils-ppc-annobin-disassembly.patch
#----------------------------------------------------------------------------
@ -826,6 +810,13 @@ exit 0
#----------------------------------------------------------------------------
%changelog
* Mon Sep 21 2020 Nick Clifton <nickc@redhat.com> - 2.35.1-1
- Rebase to GNU Binutils 2.35.1 release.
- Retire: binutils-gas-dwarf-level-4.patch
- Retire: binutils-aarch64-plt-sh_entsize.patch
- Retire: binutils-ppc-rename-xvcvbf16sp-to-xvcvbf16spn.patch
- Retire: binutils-dwarf-5-fixes.patch
* Fri Sep 11 2020 Nick Clifton <nickc@redhat.com> - 2.35-14
- Fix the PowerPC disassembler so that it ignores annobin symbols.

View File

@ -1,2 +1,2 @@
SHA512 (binutils-2.35.tar.xz) = 9f222e4ab6720036402d03904fb11b73ab87714b85cd84997f7d357f405c7e10581d70202f9165a1ee0c70538632db27ecc9dfe627dddb1e6bc7edb1537cf786
SHA512 (binutils-2.35.1.tar.xz) = 94ff72708403413b70b247f3af4099ebaa882b6659249869f1ed9941a0f1912e313f08357d470f9fd2359e7f5e5b0eb86285e5eaf883fa8187789d6b1bd304eb
SHA512 (binutils-2.19.50.0.1-output-format.sed) = 2f8686b0c8af13c98cda056824c2820416f6e2d003f70b78ccf5314525b9ee3684d421dfa83e638a2d42d06ea4d4bdaf5226b64d6ec26f7ff59c44ffb2a23dd2