From 7e6a1748ba6e4a498eec8dd47bacb8a309c681cc Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Mon, 21 Sep 2020 11:06:32 +0100 Subject: [PATCH] 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 --- .gitignore | 1 + binutils-aarch64-plt-sh_entsize.patch | 27 -- binutils-dwarf-5-fixes.patch | 426 ------------------ binutils-gas-dwarf-level-4.patch | 11 - ...ppc-rename-xvcvbf16sp-to-xvcvbf16spn.patch | 32 -- binutils.spec | 35 +- sources | 2 +- 7 files changed, 15 insertions(+), 519 deletions(-) delete mode 100644 binutils-aarch64-plt-sh_entsize.patch delete mode 100644 binutils-dwarf-5-fixes.patch delete mode 100644 binutils-gas-dwarf-level-4.patch delete mode 100644 binutils-ppc-rename-xvcvbf16sp-to-xvcvbf16spn.patch diff --git a/.gitignore b/.gitignore index 23f38dd..88ea5a7 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/binutils-aarch64-plt-sh_entsize.patch b/binutils-aarch64-plt-sh_entsize.patch deleted file mode 100644 index 41912f1..0000000 --- a/binutils-aarch64-plt-sh_entsize.patch +++ /dev/null @@ -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); diff --git a/binutils-dwarf-5-fixes.patch b/binutils-dwarf-5-fixes.patch deleted file mode 100644 index 1187973..0000000 --- a/binutils-dwarf-5-fixes.patch +++ /dev/null @@ -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 diff --git a/binutils-gas-dwarf-level-4.patch b/binutils-gas-dwarf-level-4.patch deleted file mode 100644 index acdaaf4..0000000 --- a/binutils-gas-dwarf-level-4.patch +++ /dev/null @@ -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; diff --git a/binutils-ppc-rename-xvcvbf16sp-to-xvcvbf16spn.patch b/binutils-ppc-rename-xvcvbf16sp-to-xvcvbf16spn.patch deleted file mode 100644 index f629071..0000000 --- a/binutils-ppc-rename-xvcvbf16sp-to-xvcvbf16spn.patch +++ /dev/null @@ -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 : --.*: (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}}, diff --git a/binutils.spec b/binutils.spec index 2d22955..8bb9bc4 100644 --- a/binutils.spec +++ b/binutils.spec @@ -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 - 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 - 2.35-14 - Fix the PowerPC disassembler so that it ignores annobin symbols. diff --git a/sources b/sources index e6759c6..41841e3 100644 --- a/sources +++ b/sources @@ -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