Debian

Available patches from Ubuntu

To see Ubuntu differences wrt. to Debian, write down a grep-dctrl query identifying the packages you're interested in:
grep-dctrl -n -sPackage Sources.Debian
(e.g. -FPackage linux-ntfs or linux-ntfs)

Modified packages are listed below:

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: binutils

binutils (2.32.51.20190905-0ubuntu1) eoan; urgency=medium * Snapshot, taken from the trunk (20190905). -- Matthias Klose <doko@ubuntu.com> Thu, 05 Sep 2019 07:15:42 +0200 binutils (2.32.51.20190821-2ubuntu1) eoan; urgency=medium * Merge with Debian; remaining changes: - Build from upstream sources. - Don't build the powerpcspe package. -- Matthias Klose <doko@ubuntu.com> Thu, 22 Aug 2019 14:45:47 +0200

Modifications :
  1. Download patch gas/testsuite/gas/riscv/li64.s

    --- 2.32.51.20190821-2/gas/testsuite/gas/riscv/li64.s 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/riscv/li64.s 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,9 @@ +target: + li a0, 0x8001 + li a0, 0x1f01 + li a0, 0x12345001 + li a0, 0xf2345001 + li a0, 0xf12345001 + li a0, 0xff00ff00ff001f01 + li a0, 0x7ffffffff2345001 + li a0, 0x7f0f243ff2345001
  2. Download patch bfd/elf.c

    --- 2.32.51.20190821-2/bfd/elf.c 2019-08-19 16:10:31.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/elf.c 2019-08-28 00:02:34.000000000 +0000 @@ -2466,9 +2466,18 @@ bfd_section_from_shdr (bfd *abfd, unsign else p_hdr = &esdt->rel.hdr; - /* PR 17512: file: 0b4f81b7. */ + /* PR 17512: file: 0b4f81b7. + Also see PR 24456, for a file which deliberately has two reloc + sections. */ if (*p_hdr != NULL) - goto fail; + { + _bfd_error_handler + /* xgettext:c-format */ + (_("%pB: warning: multiple relocation sections for section %pA \ +found - ignoring all but the first"), + abfd, target_sect); + goto success; + } hdr2 = (Elf_Internal_Shdr *) bfd_alloc (abfd, sizeof (*hdr2)); if (hdr2 == NULL) goto fail;
  3. Download patch gas/testsuite/gas/riscv/li32.s

    --- 2.32.51.20190821-2/gas/testsuite/gas/riscv/li32.s 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/riscv/li32.s 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,5 @@ +target: + li a0, 0x8001 + li a0, 0x1f01 + li a0, 0x12345001 + li a0, 0xf2345001
  4. Download patch gas/testsuite/gas/arm/cpu-cortex-a76ae.d

    --- 2.32.51.20190821-2/gas/testsuite/gas/arm/cpu-cortex-a76ae.d 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/arm/cpu-cortex-a76ae.d 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,6 @@ +# name: Assemble and dump for cortex-a76ae CPU +# source: nop-asm.s +# as: -mcpu=cortex-a76ae +# objdump: -d -mcortex-a76ae + +#...
  5. Download patch ld/testsuite/ld-aarch64/undef-tls.s

    --- 2.32.51.20190821-2/ld/testsuite/ld-aarch64/undef-tls.s 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/ld/testsuite/ld-aarch64/undef-tls.s 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,13 @@ + .global get + .type get, %function +get: +.LFB0: + mrs x0, tpidr_el0 + add x0, x0, #:tprel_hi12:tls, lsl #12 + add x0, x0, #:tprel_lo12_nc:tls + add x0, x0, #:dtprel_hi12:dtl + add x0, x0, #:dtprel_lo12:dtl + ret +.LFE0: + .size get, .-get +
  6. Download patch gas/testsuite/gas/arm/cpu-cortex-a77.d

    --- 2.32.51.20190821-2/gas/testsuite/gas/arm/cpu-cortex-a77.d 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/arm/cpu-cortex-a77.d 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,6 @@ +# name: Assemble and dump for cortex-a77 CPU +# source: nop-asm.s +# as: -mcpu=cortex-a77 +# objdump: -d -mcortex-a77 + +#...
  7. Download patch gas/testsuite/gas/i386/fp.d

    --- 2.32.51.20190821-2/gas/testsuite/gas/i386/fp.d 2016-02-26 15:58:07.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/i386/fp.d 2019-08-28 00:02:34.000000000 +0000 @@ -6,3 +6,4 @@ Contents of section .data: 0000 00881bcd 4b789ad4 004071a3 79094f93 ....Kx...@q.y.O. 0010 0a40789a 5440789a 54400000 00000000 .@x.T@x.T@...... + 0020 e65e1710 20395e3b e65e1710 20395e3b .\^.. 9\^;.\^.. 9\^;
  8. Download patch binutils/objcopy.c

    --- 2.32.51.20190821-2/binutils/objcopy.c 2019-08-11 14:59:56.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/binutils/objcopy.c 2019-09-03 05:46:14.000000000 +0000 @@ -143,10 +143,12 @@ struct section_list #define SECTION_CONTEXT_ALTER_LMA (1 << 5) /* Increment or decrement the section's LMA address. */ #define SECTION_CONTEXT_SET_FLAGS (1 << 6) /* Set the section's flags. */ #define SECTION_CONTEXT_REMOVE_RELOCS (1 << 7) /* Remove relocations for this section. */ +#define SECTION_CONTEXT_SET_ALIGNMENT (1 << 8) /* Set alignment for section. */ bfd_vma vma_val; /* Amount to change by or set to. */ bfd_vma lma_val; /* Amount to change by or set to. */ flagword flags; /* What to set the section flags to. */ + unsigned int alignment; /* Alignment of output section. */ }; static struct section_list *change_sections; @@ -344,8 +346,9 @@ enum command_line_switch OPTION_REMOVE_RELOCS, OPTION_RENAME_SECTION, OPTION_REVERSE_BYTES, - OPTION_SECTION_ALIGNMENT, + OPTION_PE_SECTION_ALIGNMENT, OPTION_SET_SECTION_FLAGS, + OPTION_SET_SECTION_ALIGNMENT, OPTION_SET_START, OPTION_SREC_FORCES3, OPTION_SREC_LEN, @@ -476,8 +479,9 @@ static struct option copy_options[] = {"remove-relocations", required_argument, 0, OPTION_REMOVE_RELOCS}, {"rename-section", required_argument, 0, OPTION_RENAME_SECTION}, {"reverse-bytes", required_argument, 0, OPTION_REVERSE_BYTES}, - {"section-alignment", required_argument, 0, OPTION_SECTION_ALIGNMENT}, + {"section-alignment", required_argument, 0, OPTION_PE_SECTION_ALIGNMENT}, {"set-section-flags", required_argument, 0, OPTION_SET_SECTION_FLAGS}, + {"set-section-alignment", required_argument, 0, OPTION_SET_SECTION_ALIGNMENT}, {"set-start", required_argument, 0, OPTION_SET_START}, {"srec-forceS3", no_argument, 0, OPTION_SREC_FORCES3}, {"srec-len", required_argument, 0, OPTION_SREC_LEN}, @@ -610,6 +614,8 @@ copy_usage (FILE *stream, int exit_statu Warn if a named section does not exist\n\ --set-section-flags <name>=<flags>\n\ Set section <name>'s properties to <flags>\n\ + --set-section-alignment <name>=<align>\n\ + Set section <name>'s alignment to 2^<align> bytes\n\ --add-section <name>=<file> Add section <name> found in <file> to output\n\ --update-section <name>=<file>\n\ Update contents of section <name> with\n\ @@ -964,6 +970,7 @@ find_section_list (const char *name, bfd p->vma_val = 0; p->lma_val = 0; p->flags = 0; + p->alignment = 0; p->next = change_sections; change_sections = p; @@ -3766,6 +3773,7 @@ setup_section (bfd *ibfd, sec_ptr isecti const char * name; char *prefix = NULL; bfd_boolean make_nobits; + unsigned int alignment; if (is_strip_section (ibfd, isection)) return; @@ -3872,11 +3880,18 @@ setup_section (bfd *ibfd, sec_ptr isecti osection->lma = lma; + p = find_section_list (bfd_section_name (ibfd, isection), FALSE, + SECTION_CONTEXT_SET_ALIGNMENT); + if (p != NULL) + alignment = p->alignment; + else + alignment = bfd_section_alignment (ibfd, isection); + /* FIXME: This is probably not enough. If we change the LMA we may have to recompute the header for the file as well. */ if (!bfd_set_section_alignment (obfd, osection, - bfd_section_alignment (ibfd, isection))) + alignment)) { err = _("failed to set alignment"); goto loser; @@ -5262,6 +5277,33 @@ copy_main (int argc, char *argv[]) } break; + case OPTION_SET_SECTION_ALIGNMENT: + { + struct section_list *p; + const char *s; + int len; + char *name; + int align; + + s = strchr (optarg, '='); + if (s == NULL) + fatal (_("bad format for %s"), "--set-section-alignment"); + + align = atoi(s+1); + if (align < 0) + fatal (_("bad format for %s"), "--set-section-alignment"); + + len = s - optarg; + name = (char *) xmalloc (len + 1); + strncpy (name, optarg, len); + name[len] = '\0'; + + p = find_section_list (name, TRUE, SECTION_CONTEXT_SET_ALIGNMENT); + + p->alignment = align; + } + break; + case OPTION_RENAME_SECTION: { flagword flags; @@ -5457,7 +5499,7 @@ copy_main (int argc, char *argv[]) pe_image_base = parse_vma (optarg, "--image-base"); break; - case OPTION_SECTION_ALIGNMENT: + case OPTION_PE_SECTION_ALIGNMENT: pe_section_alignment = parse_vma (optarg, "--section-alignment"); break;
  9. Download patch bfd/elf32-ppc.c

    --- 2.32.51.20190821-2/bfd/elf32-ppc.c 2019-08-19 16:10:31.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/elf32-ppc.c 2019-09-03 05:46:14.000000000 +0000 @@ -3096,11 +3096,6 @@ ppc_elf_check_relocs (bfd *abfd, /* Indirect .sdata relocation. */ case R_PPC_EMB_SDAI16: - if (bfd_link_pic (info)) - { - bad_shared_reloc (abfd, r_type); - return FALSE; - } htab->sdata[0].sym->ref_regular = 1; if (!elf_allocate_pointer_linker_section (abfd, &htab->sdata[0], h, rel)) @@ -3114,7 +3109,7 @@ ppc_elf_check_relocs (bfd *abfd, /* Indirect .sdata2 relocation. */ case R_PPC_EMB_SDA2I16: - if (bfd_link_pic (info)) + if (!bfd_link_executable (info)) { bad_shared_reloc (abfd, r_type); return FALSE; @@ -3160,7 +3155,7 @@ ppc_elf_check_relocs (bfd *abfd, break; case R_PPC_EMB_SDA2REL: - if (bfd_link_pic (info)) + if (!bfd_link_executable (info)) { bad_shared_reloc (abfd, r_type); return FALSE; @@ -3177,11 +3172,6 @@ ppc_elf_check_relocs (bfd *abfd, case R_PPC_VLE_SDA21: case R_PPC_EMB_SDA21: case R_PPC_EMB_RELSDA: - if (bfd_link_pic (info)) - { - bad_shared_reloc (abfd, r_type); - return FALSE; - } if (h != NULL) { ppc_elf_hash_entry (h)->has_sda_refs = TRUE; @@ -3194,11 +3184,6 @@ ppc_elf_check_relocs (bfd *abfd, case R_PPC_EMB_NADDR16_LO: case R_PPC_EMB_NADDR16_HI: case R_PPC_EMB_NADDR16_HA: - if (bfd_link_pic (info)) - { - bad_shared_reloc (abfd, r_type); - return FALSE; - } if (h != NULL) h->non_got_ref = TRUE; break;
  10. Download patch ld/testsuite/ld-aarch64/weak-tls.s

    --- 2.32.51.20190821-2/ld/testsuite/ld-aarch64/weak-tls.s 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/ld/testsuite/ld-aarch64/weak-tls.s 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,16 @@ + .global get + .type get, %function + .global dtl + .weak dtl +get: +.LFB0: + mrs x0, tpidr_el0 + add x0, x0, #:tprel_hi12:tls, lsl #12 + add x0, x0, #:tprel_lo12_nc:tls + add x0, x0, #:dtprel_hi12:dtl + add x0, x0, #:dtprel_lo12:dtl + ret +.LFE0: + .size get, .-get + .weak tls +
  11. Download patch gas/testsuite/gas/aarch64/float16.s

    --- 2.32.51.20190821-2/gas/testsuite/gas/aarch64/float16.s 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/aarch64/float16.s 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,19 @@ +.data + .float16 12.0 + .float16 0.123 + .float16 0.004 + .float16 65504 + .float16 5.9605e-8 + .float16 6.0976e-5 + .float16 6.1035e-5 + .float16 1 + .float16 1.001 + .float16 NaN + .float16 +Inf + .float16 -Inf + .float16 +0 + .float16 -0 + .float16 -1 + .float16 -0.98765 + .float16 -65504 + .float16 3.0, 12.0, 543.123
  12. Download patch ld/ChangeLog

    --- 2.32.51.20190821-2/ld/ChangeLog 2019-08-20 19:38:13.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/ld/ChangeLog 2019-09-05 05:05:39.000000000 +0000 @@ -1,3 +1,24 @@ +2019-09-05 Alan Modra <amodra@gmail.com> + + * testsuite/ld-powerpc/pcrelopt.s, + * testsuite/ld-powerpc/pcrelopt.d: Test offset and prefix in + second instruction. + +2019-08-29 Alan Modra <amodra@gmail.com> + + PR ld/24406 + * plugin.c (get_symbols): Test link_info.wrap_hash before calling + unwrap_hash_lookup. + +2019-08-22 Tamar Christina <tamar.christina@arm.com> + + PR ld/24601 + * testsuite/ld-aarch64/aarch64-elf.exp (undef-tls, weak-tls): New. + * testsuite/ld-aarch64/undef-tls.d: New test. + * testsuite/ld-aarch64/undef-tls.s: New test. + * testsuite/ld-aarch64/weak-tls.d: New test. + * testsuite/ld-aarch64/weak-tls.s: New test. + 2019-08-20 Tamar Christina <tamar.christina@arm.com> * testsuite/ld-arm/cortex-a8-fix-b-plt.d: Update Testcase.
  13. Download patch gas/testsuite/gas/all/float.s

    --- 2.32.51.20190821-2/gas/testsuite/gas/all/float.s 2016-02-26 15:58:07.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/all/float.s 2019-08-28 00:02:34.000000000 +0000 @@ -2,3 +2,5 @@ foo: .single 0r1.2345e+06 .single 0f3.14159 .double 0r2.718282 + .double .0000000000000000000001 + .double 1e-22
  14. Download patch bfd/cpu-arm.c

    --- 2.32.51.20190821-2/bfd/cpu-arm.c 2019-04-24 07:28:50.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/cpu-arm.c 2019-08-28 00:02:34.000000000 +0000 @@ -147,12 +147,15 @@ processors[] = { bfd_mach_arm_8, "cortex-a73" }, { bfd_mach_arm_8, "cortex-a75" }, { bfd_mach_arm_8, "cortex-a76" }, + { bfd_mach_arm_8, "cortex-a76ae" }, + { bfd_mach_arm_8, "cortex-a77" }, { bfd_mach_arm_6SM, "cortex-m0" }, { bfd_mach_arm_6SM, "cortex-m0plus" }, { bfd_mach_arm_6SM, "cortex-m1" }, { bfd_mach_arm_8M_BASE, "cortex-m23" }, { bfd_mach_arm_7, "cortex-m3" }, { bfd_mach_arm_8M_MAIN, "cortex-m33" }, + { bfd_mach_arm_8M_MAIN, "cortex-m35p" }, { bfd_mach_arm_7EM, "cortex-m4" }, { bfd_mach_arm_7EM, "cortex-m7" }, { bfd_mach_arm_7, "cortex-r4" },
  15. Download patch ld/plugin.c

    --- 2.32.51.20190821-2/ld/plugin.c 2019-06-28 10:38:27.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/ld/plugin.c 2019-09-03 05:46:14.000000000 +0000 @@ -749,7 +749,7 @@ get_symbols (const void *handle, int nsy if (syms[n].def != LDPK_UNDEF && syms[n].def != LDPK_WEAKUNDEF) { blhe = h; - if (blhe) + if (blhe && link_info.wrap_hash != NULL) { /* Check if a symbol is a wrapper symbol. */ struct bfd_link_hash_entry *unwrap
  16. Download patch gnulib/ChangeLog

    --- 2.32.51.20190821-2/gnulib/ChangeLog 2019-06-23 21:10:51.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gnulib/ChangeLog 2019-09-03 05:46:14.000000000 +0000 @@ -1,3 +1,9 @@ +2019-08-28 Gary Benson <gbenson@redhat.com> + + * patches/0003-Fix-glob-c-Coverity-issues.patch: New file. + * update-gnulib.sh: List the above. + * import/glob.c: Rebuild. + 2019-06-21 Gary Benson <gbenson@redhat.com> * update-gnulib.sh: Adjust paths.
  17. Download patch gas/atof-generic.c

    --- 2.32.51.20190821-2/gas/atof-generic.c 2019-01-18 07:41:41.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/atof-generic.c 2019-08-28 00:02:34.000000000 +0000 @@ -184,23 +184,42 @@ atof_generic (/* return pointer to just #ifndef OLD_FLOAT_READS /* Ignore trailing 0's after the decimal point. The original code here - * (ifdef'd out) does not do this, and numbers like - * 4.29496729600000000000e+09 (2**31) - * come out inexact for some reason related to length of the digit - * string. - */ + (ifdef'd out) does not do this, and numbers like + 4.29496729600000000000e+09 (2**31) + come out inexact for some reason related to length of the digit + string. */ + + /* The case number_of_digits_before_decimal = 0 is handled for + deleting zeros after decimal. In this case the decimal mark and + the first zero digits after decimal mark are skipped. */ + seen_significant_digit = 0; + signed long subtract_decimal_exponent = 0; + if (c && IS_DECIMAL_MARK (c)) { - unsigned int zeros = 0; /* Length of current string of zeros */ + unsigned int zeros = 0; /* Length of current string of zeros. */ + + if (number_of_digits_before_decimal == 0) + /* Skip decimal mark. */ + first_digit++; for (p++; (c = *p) && ISDIGIT (c); p++) { if (c == '0') { - zeros++; + if (number_of_digits_before_decimal == 0 + && !seen_significant_digit) + { + /* Skip '0' and the decimal mark. */ + first_digit++; + subtract_decimal_exponent--; + } + else + zeros++; } else { + seen_significant_digit = 1; number_of_digits_after_decimal += 1 + zeros; zeros = 0; } @@ -287,6 +306,12 @@ atof_generic (/* return pointer to just } } +#ifndef OLD_FLOAT_READS + /* Subtract_decimal_exponent != 0 when number_of_digits_before_decimal = 0 + and first digit after decimal is '0'. */ + decimal_exponent += subtract_decimal_exponent; +#endif + *address_of_string_pointer = p; number_of_digits_available =
  18. Download patch bfd/elfcode.h

    --- 2.32.51.20190821-2/bfd/elfcode.h 2019-06-23 21:10:51.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/elfcode.h 2019-09-05 05:05:39.000000000 +0000 @@ -1652,6 +1652,7 @@ NAME(_bfd_elf,bfd_from_remote_memory) bfd_vma high_offset; bfd_vma shdr_end; bfd_vma loadbase; + char *filename; /* Read in the ELF header in external format. */ err = target_read_memory (ehdr_vma, (bfd_byte *) &x_ehdr, sizeof x_ehdr); @@ -1859,14 +1860,22 @@ NAME(_bfd_elf,bfd_from_remote_memory) free (contents); return NULL; } + filename = bfd_strdup ("<in-memory>"); + if (filename == NULL) + { + free (bim); + free (contents); + return NULL; + } nbfd = _bfd_new_bfd (); if (nbfd == NULL) { + free (filename); free (bim); free (contents); return NULL; } - nbfd->filename = xstrdup ("<in-memory>"); + nbfd->filename = filename; nbfd->xvec = templ->xvec; bim->size = high_offset; bim->buffer = contents;
  19. Download patch debian/ld.gold.1

    --- 2.32.51.20190821-2/debian/ld.gold.1 2019-06-11 12:56:39.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/debian/ld.gold.1 2018-07-18 10:15:04.000000000 +0000 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.10. -.TH GOLD "1" "June 2019" "gold (GNU Binutils for Debian 2.32.51.20190611) 1.16" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. +.TH GOLD "1" "July 2018" "gold (GNU Binutils for Ubuntu 2.31.1) 1.16" "User Commands" .SH NAME gold \- The GNU ELF linker .SH SYNOPSIS @@ -280,7 +280,7 @@ Alias for \fB\-r\fR Identical Code Folding. '\-\-icf=safe' Folds ctors, dtors and functions whose pointers are definitely not taken .TP \fB\-\-icf\-iterations\fR COUNT -Number of iterations of ICF (default 3) +Number of iterations of ICF (default 2) .TP \fB\-\-incremental\fR Do an incremental link if possible; otherwise, do a full link and prepare output for incremental linking @@ -682,12 +682,6 @@ Ignored \fB\-\-no\-warn\-constructors\fR Ignored .TP -\fB\-\-warn\-drop\-version\fR -Warn when discarding version information -.TP -\fB\-\-no\-warn\-drop\-version\fR -Do not warn when discarding version information (default) -.TP \fB\-\-warn\-execstack\fR Warn if the stack is executable .TP @@ -863,7 +857,7 @@ debian/tmp/usr/bin/ld.gold: supported em .SH "REPORTING BUGS" Report bugs to <http://www.sourceware.org/bugzilla/> .SH COPYRIGHT -Copyright \(co 2019 Free Software Foundation, Inc. +Copyright \(co 2018 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty.
  20. Download patch ld/testsuite/ld-aarch64/aarch64-elf.exp

    --- 2.32.51.20190821-2/ld/testsuite/ld-aarch64/aarch64-elf.exp 2019-06-18 08:32:56.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/ld/testsuite/ld-aarch64/aarch64-elf.exp 2019-08-28 00:02:34.000000000 +0000 @@ -424,3 +424,5 @@ run_dump_test "bti-pac-plt-1" run_dump_test "bti-pac-plt-2" run_dump_test "bti-warn" +run_dump_test "weak-tls" +run_dump_test "undef-tls"
  21. Download patch binutils/objdump.c

    --- 2.32.51.20190821-2/binutils/objdump.c 2019-07-26 17:51:19.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/binutils/objdump.c 2019-09-03 05:46:14.000000000 +0000 @@ -123,6 +123,7 @@ static int prefix_strip; /* --prefix-st static size_t prefix_length; static bfd_boolean unwind_inlines; /* --inlines. */ static const char * disasm_sym; /* Disassembly start symbol. */ +static const char * source_comment; /* --source_comment. */ static int demangle_flags = DMGL_ANSI | DMGL_PARAMS; @@ -217,6 +218,7 @@ usage (FILE *stream, int status) -D, --disassemble-all Display assembler contents of all sections\n\ --disassemble=<sym> Display assembler contents from <sym>\n\ -S, --source Intermix source code with disassembly\n\ + --source-comment[=<txt>] Prefix lines of source code with <txt>\n\ -s, --full-contents Display the full contents of all sections requested\n\ -g, --debugging Display debug information in object file\n\ -e, --debugging-tags Display debug information using ctags style\n\ @@ -313,6 +315,7 @@ enum option_values OPTION_RECURSE_LIMIT, OPTION_NO_RECURSE_LIMIT, OPTION_INLINES, + OPTION_SOURCE_COMMENT, OPTION_CTF, OPTION_CTF_PARENT }; @@ -354,6 +357,7 @@ static struct option long_options[]= {"section-headers", no_argument, NULL, 'h'}, {"show-raw-insn", no_argument, &show_raw_insn, 1}, {"source", no_argument, NULL, 'S'}, + {"source-comment", optional_argument, NULL, OPTION_SOURCE_COMMENT}, {"special-syms", no_argument, &dump_special_syms, 1}, {"include", required_argument, NULL, 'I'}, {"dwarf", optional_argument, NULL, OPTION_DWARF}, @@ -1594,8 +1598,10 @@ print_line (struct print_file_list *p, u if (linenum >= p->maxline) return; l = p->linemap [linenum]; - /* Test fwrite return value to quiet glibc warning. */ + if (source_comment != NULL && strlen (l) > 0) + printf ("%s", source_comment); len = strcspn (l, "\n\r"); + /* Test fwrite return value to quiet glibc warning. */ if (len == 0 || fwrite (l, len, 1, stdout) == 1) putchar ('\n'); } @@ -4455,6 +4461,15 @@ main (int argc, char **argv) with_source_code = TRUE; seenflag = TRUE; break; + case OPTION_SOURCE_COMMENT: + disassemble = TRUE; + with_source_code = TRUE; + seenflag = TRUE; + if (optarg) + source_comment = xstrdup (sanitize_string (optarg)); + else + source_comment = xstrdup ("# "); + break; case 'g': dump_debugging = 1; seenflag = TRUE; @@ -4566,6 +4581,7 @@ main (int argc, char **argv) free_only_list (); free (dump_ctf_section_name); free (dump_ctf_parent_name); + free ((void *) source_comment); END_PROGRESS (program_name);
  22. Download patch debian/rules

    --- 2.32.51.20190821-2/debian/rules 2019-08-21 17:08:05.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/debian/rules 2019-08-22 12:51:26.000000000 +0000 @@ -96,7 +96,7 @@ install_file = install -m 644 install_script = install -m 755 install_binary = install -m 755 -s --strip-program="$(STRIP)" -NATIVE_ARCHS ?= amd64 i386 arm64 armhf armel mips mipsel mips64el \ +NATIVE_ARCHS ?= amd64 i386 arm64 armhf armel mipsel mips64el \ ppc64el s390x NATIVE_ARCHS += alpha hppa ia64 m68k mips64 powerpc ppc64 \ riscv64 sh4 sparc64 x32
  23. Download patch bfd/libbfd.h

    --- 2.32.51.20190821-2/bfd/libbfd.h 2019-08-19 16:10:31.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/libbfd.h 2019-09-05 05:05:39.000000000 +0000 @@ -128,6 +128,15 @@ extern void *bfd_realloc2 extern void *bfd_zmalloc2 (bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; +static inline char * +bfd_strdup (const char *str) +{ + size_t len = strlen (str) + 1; + char *buf = bfd_malloc (len); + if (buf != NULL) + memcpy (buf, str, len); + return buf; +} /* These routines allocate and free things on the BFD's objalloc. */ extern void *bfd_alloc2
  24. Download patch gas/testsuite/gas/arm/mve-vmov-1.d

    --- 2.32.51.20190821-2/gas/testsuite/gas/arm/mve-vmov-1.d 2019-05-17 14:04:04.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/arm/mve-vmov-1.d 2019-09-03 05:46:14.000000000 +0000 @@ -4154,3 +4154,100 @@ Disassembly of section .text: [^>]*> ef80 0e74 vmov.i64 q0, #0x0000000000ff0000 [^>]*> ef80 0e72 vmov.i64 q0, #0x000000000000ff00 [^>]*> ef80 0e71 vmov.i64 q0, #0x00000000000000ff +[^>]*> ef20 0150 vmov q0, q0 +[^>]*> ef22 0152 vmov q0, q1 +[^>]*> ef24 0154 vmov q0, q2 +[^>]*> ef28 0158 vmov q0, q4 +[^>]*> ef2e 015e vmov q0, q7 +[^>]*> ef20 2150 vmov q1, q0 +[^>]*> ef22 2152 vmov q1, q1 +[^>]*> ef24 2154 vmov q1, q2 +[^>]*> ef28 2158 vmov q1, q4 +[^>]*> ef2e 215e vmov q1, q7 +[^>]*> ef20 4150 vmov q2, q0 +[^>]*> ef22 4152 vmov q2, q1 +[^>]*> ef24 4154 vmov q2, q2 +[^>]*> ef28 4158 vmov q2, q4 +[^>]*> ef2e 415e vmov q2, q7 +[^>]*> ef20 8150 vmov q4, q0 +[^>]*> ef22 8152 vmov q4, q1 +[^>]*> ef24 8154 vmov q4, q2 +[^>]*> ef28 8158 vmov q4, q4 +[^>]*> ef2e 815e vmov q4, q7 +[^>]*> ef20 e150 vmov q7, q0 +[^>]*> ef22 e152 vmov q7, q1 +[^>]*> ef24 e154 vmov q7, q2 +[^>]*> ef28 e158 vmov q7, q4 +[^>]*> ef2e e15e vmov q7, q7 +[^>]*> eeb0 0b40 vmov.f64 d0, d0 +[^>]*> eeb0 0b40 vmov.f64 d0, d0 +[^>]*> eeb0 0b41 vmov.f64 d0, d1 +[^>]*> eeb0 0b41 vmov.f64 d0, d1 +[^>]*> eeb0 0b42 vmov.f64 d0, d2 +[^>]*> eeb0 0b42 vmov.f64 d0, d2 +[^>]*> eeb0 0b44 vmov.f64 d0, d4 +[^>]*> eeb0 0b44 vmov.f64 d0, d4 +[^>]*> eeb0 0b48 vmov.f64 d0, d8 +[^>]*> eeb0 0b48 vmov.f64 d0, d8 +[^>]*> eeb0 0b4f vmov.f64 d0, d15 +[^>]*> eeb0 0b4f vmov.f64 d0, d15 +[^>]*> eeb0 1b40 vmov.f64 d1, d0 +[^>]*> eeb0 1b40 vmov.f64 d1, d0 +[^>]*> eeb0 1b41 vmov.f64 d1, d1 +[^>]*> eeb0 1b41 vmov.f64 d1, d1 +[^>]*> eeb0 1b42 vmov.f64 d1, d2 +[^>]*> eeb0 1b42 vmov.f64 d1, d2 +[^>]*> eeb0 1b44 vmov.f64 d1, d4 +[^>]*> eeb0 1b44 vmov.f64 d1, d4 +[^>]*> eeb0 1b48 vmov.f64 d1, d8 +[^>]*> eeb0 1b48 vmov.f64 d1, d8 +[^>]*> eeb0 1b4f vmov.f64 d1, d15 +[^>]*> eeb0 1b4f vmov.f64 d1, d15 +[^>]*> eeb0 2b40 vmov.f64 d2, d0 +[^>]*> eeb0 2b40 vmov.f64 d2, d0 +[^>]*> eeb0 2b41 vmov.f64 d2, d1 +[^>]*> eeb0 2b41 vmov.f64 d2, d1 +[^>]*> eeb0 2b42 vmov.f64 d2, d2 +[^>]*> eeb0 2b42 vmov.f64 d2, d2 +[^>]*> eeb0 2b44 vmov.f64 d2, d4 +[^>]*> eeb0 2b44 vmov.f64 d2, d4 +[^>]*> eeb0 2b48 vmov.f64 d2, d8 +[^>]*> eeb0 2b48 vmov.f64 d2, d8 +[^>]*> eeb0 2b4f vmov.f64 d2, d15 +[^>]*> eeb0 2b4f vmov.f64 d2, d15 +[^>]*> eeb0 4b40 vmov.f64 d4, d0 +[^>]*> eeb0 4b40 vmov.f64 d4, d0 +[^>]*> eeb0 4b41 vmov.f64 d4, d1 +[^>]*> eeb0 4b41 vmov.f64 d4, d1 +[^>]*> eeb0 4b42 vmov.f64 d4, d2 +[^>]*> eeb0 4b42 vmov.f64 d4, d2 +[^>]*> eeb0 4b44 vmov.f64 d4, d4 +[^>]*> eeb0 4b44 vmov.f64 d4, d4 +[^>]*> eeb0 4b48 vmov.f64 d4, d8 +[^>]*> eeb0 4b48 vmov.f64 d4, d8 +[^>]*> eeb0 4b4f vmov.f64 d4, d15 +[^>]*> eeb0 4b4f vmov.f64 d4, d15 +[^>]*> eeb0 8b40 vmov.f64 d8, d0 +[^>]*> eeb0 8b40 vmov.f64 d8, d0 +[^>]*> eeb0 8b41 vmov.f64 d8, d1 +[^>]*> eeb0 8b41 vmov.f64 d8, d1 +[^>]*> eeb0 8b42 vmov.f64 d8, d2 +[^>]*> eeb0 8b42 vmov.f64 d8, d2 +[^>]*> eeb0 8b44 vmov.f64 d8, d4 +[^>]*> eeb0 8b44 vmov.f64 d8, d4 +[^>]*> eeb0 8b48 vmov.f64 d8, d8 +[^>]*> eeb0 8b48 vmov.f64 d8, d8 +[^>]*> eeb0 8b4f vmov.f64 d8, d15 +[^>]*> eeb0 8b4f vmov.f64 d8, d15 +[^>]*> eeb0 fb40 vmov.f64 d15, d0 +[^>]*> eeb0 fb40 vmov.f64 d15, d0 +[^>]*> eeb0 fb41 vmov.f64 d15, d1 +[^>]*> eeb0 fb41 vmov.f64 d15, d1 +[^>]*> eeb0 fb42 vmov.f64 d15, d2 +[^>]*> eeb0 fb42 vmov.f64 d15, d2 +[^>]*> eeb0 fb44 vmov.f64 d15, d4 +[^>]*> eeb0 fb44 vmov.f64 d15, d4 +[^>]*> eeb0 fb48 vmov.f64 d15, d8 +[^>]*> eeb0 fb48 vmov.f64 d15, d8 +[^>]*> eeb0 fb4f vmov.f64 d15, d15 +[^>]*> eeb0 fb4f vmov.f64 d15, d15
  25. Download patch bfd/dwarf2.c

    --- 2.32.51.20190821-2/bfd/dwarf2.c 2019-08-19 16:10:31.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/dwarf2.c 2019-09-03 05:46:14.000000000 +0000 @@ -802,20 +802,21 @@ read_alt_indirect_string (struct comp_un if (stash->alt_bfd_ptr == NULL) { - bfd * debug_bfd; - char * debug_filename = bfd_follow_gnu_debugaltlink (unit->abfd, DEBUGDIR); + bfd *debug_bfd; + char *debug_filename = bfd_follow_gnu_debugaltlink (unit->abfd, DEBUGDIR); if (debug_filename == NULL) return NULL; - if ((debug_bfd = bfd_openr (debug_filename, NULL)) == NULL - || ! bfd_check_format (debug_bfd, bfd_object)) - { - if (debug_bfd) - bfd_close (debug_bfd); + debug_bfd = bfd_openr (debug_filename, NULL); + free (debug_filename); + if (debug_bfd == NULL) + /* FIXME: Should we report our failure to follow the debuglink ? */ + return NULL; - /* FIXME: Should we report our failure to follow the debuglink ? */ - free (debug_filename); + if (!bfd_check_format (debug_bfd, bfd_object)) + { + bfd_close (debug_bfd); return NULL; } stash->alt_bfd_ptr = debug_bfd; @@ -850,20 +851,21 @@ read_alt_indirect_ref (struct comp_unit if (stash->alt_bfd_ptr == NULL) { - bfd * debug_bfd; - char * debug_filename = bfd_follow_gnu_debugaltlink (unit->abfd, DEBUGDIR); + bfd *debug_bfd; + char *debug_filename = bfd_follow_gnu_debugaltlink (unit->abfd, DEBUGDIR); if (debug_filename == NULL) return FALSE; - if ((debug_bfd = bfd_openr (debug_filename, NULL)) == NULL - || ! bfd_check_format (debug_bfd, bfd_object)) - { - if (debug_bfd) - bfd_close (debug_bfd); + debug_bfd = bfd_openr (debug_filename, NULL); + free (debug_filename); + if (debug_bfd == NULL) + /* FIXME: Should we report our failure to follow the debuglink ? */ + return NULL; - /* FIXME: Should we report our failure to follow the debuglink ? */ - free (debug_filename); + if (!bfd_check_format (debug_bfd, bfd_object)) + { + bfd_close (debug_bfd); return NULL; } stash->alt_bfd_ptr = debug_bfd; @@ -4385,18 +4387,20 @@ _bfd_dwarf2_slurp_debug_info (bfd *abfd, fail more quickly. */ return FALSE; + debug_bfd = bfd_openr (debug_filename, NULL); + free (debug_filename); + if (debug_bfd == NULL) + /* FIXME: Should we report our failure to follow the debuglink ? */ + return FALSE; + /* Set BFD_DECOMPRESS to decompress debug sections. */ - if ((debug_bfd = bfd_openr (debug_filename, NULL)) == NULL - || !(debug_bfd->flags |= BFD_DECOMPRESS, - bfd_check_format (debug_bfd, bfd_object)) + debug_bfd->flags |= BFD_DECOMPRESS; + if (!bfd_check_format (debug_bfd, bfd_object) || (msec = find_debug_info (debug_bfd, debug_sections, NULL)) == NULL || !bfd_generic_link_read_symbols (debug_bfd)) { - if (debug_bfd) - bfd_close (debug_bfd); - /* FIXME: Should we report our failure to follow the debuglink ? */ - free (debug_filename); + bfd_close (debug_bfd); return FALSE; }
  26. Download patch gas/testsuite/gas/i386/fp.s

    --- 2.32.51.20190821-2/gas/testsuite/gas/i386/fp.s 2016-02-26 15:58:07.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/i386/fp.s 2019-08-28 00:02:34.000000000 +0000 @@ -11,3 +11,7 @@ .single 3.32192809488736218171e0 # .byte 0x78, 0x9a, 0x54, 0x40, 0, 0, 0, 0 .byte 0, 0, 0, 0, 0, 0 + +# The assembler used to treat the next value as zero instead of 1e-22. + .double .0000000000000000000001 + .double 1e-22
  27. Download patch bfd/elf32-or1k.c

    --- 2.32.51.20190821-2/bfd/elf32-or1k.c 2019-07-26 17:51:19.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/elf32-or1k.c 2019-08-28 00:02:34.000000000 +0000 @@ -2377,8 +2377,11 @@ or1k_elf_finish_dynamic_symbol (bfd *out or1k_write_plt_entry (output_bfd, splt->contents + h->plt.offset, plt0, plt1, plt2, OR1K_JR(12)); - /* Fill in the entry in the global offset table. */ - bfd_put_32 (output_bfd, plt_addr, sgot->contents + got_offset); + /* Fill in the entry in the global offset table. We initialize it to + point to the top of the plt. This is done to lazy lookup the actual + symbol as the first plt entry will be setup by libc to call the + runtime dynamic linker. */ + bfd_put_32 (output_bfd, plt_base_addr, sgot->contents + got_offset); /* Fill in the entry in the .rela.plt section. */ rela.r_offset = got_addr;
  28. Download patch debian/control

    --- 2.32.51.20190821-2/debian/control 2019-08-21 17:08:17.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/debian/control 2019-08-22 12:51:55.000000000 +0000 @@ -10,8 +10,8 @@ Build-Depends: autoconf (>= 2.64), dpkg- g++-aarch64-linux-gnu [amd64 i386 x32] <!nocheck>, g++-arm-linux-gnueabi [amd64 arm64 i386 x32] <!nocheck>, g++-arm-linux-gnueabihf [amd64 arm64 i386 x32] <!nocheck>, - g++-mips64el-linux-gnuabi64 [amd64 i386 x32] <!nocheck>, - g++-mipsel-linux-gnu [amd64 i386 x32] <!nocheck>, +# g++-mips64el-linux-gnuabi64 [amd64 i386 x32] <!nocheck>, +# g++-mipsel-linux-gnu [amd64 i386 x32] <!nocheck>, g++-powerpc64le-linux-gnu [amd64 arm64 i386 ppc64 x32] <!nocheck>, g++-s390x-linux-gnu [amd64 arm64 i386 ppc64el x32] <!nocheck>, g++-alpha-linux-gnu [amd64 i386 x32] <!nocheck>, @@ -318,32 +318,6 @@ Depends: binutils-arm-linux-gnueabi (= $ Description: GNU binary utilities, for arm-linux-gnueabi target (debug symbols) This package provides debug symbols for binutils-arm-linux-gnueabi. -Package: binutils-mips-linux-gnu -Priority: optional -Architecture: mips -Multi-Arch: allowed -Depends: binutils-common (= ${binary:Version}), - ${shlibs:Depends}, ${extraDepends} -Suggests: binutils-doc (= ${source:Version}) -Provides: -Breaks: binutils (<< 2.29-6) -Replaces: binutils (<< 2.29-6) -Description: GNU binary utilities, for mips-linux-gnu target - This package provides GNU assembler, linker and binary utilities - for the mips-linux-gnu target. - . - You don't need this package unless you plan to cross-compile programs - for mips-linux-gnu and mips-linux-gnu is not your native platform. - -Package: binutils-mips-linux-gnu-dbg -Section: debug -Priority: optional -Architecture: mips -Multi-Arch: foreign -Depends: binutils-mips-linux-gnu (= ${binary:Version}) -Description: GNU binary utilities, for mips-linux-gnu target (debug symbols) - This package provides debug symbols for binutils-mips-linux-gnu. - Package: binutils-mipsel-linux-gnu Priority: optional Architecture: mipsel amd64 i386 x32
  29. Download patch bfd/ChangeLog

    --- 2.32.51.20190821-2/bfd/ChangeLog 2019-08-20 19:38:13.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/ChangeLog 2019-09-05 05:05:39.000000000 +0000 @@ -1,3 +1,131 @@ +2019-09-05 Alan Modra <amodra@gmail.com> + + * elf64-ppc.c (xlate_pcrel_opt): Handle prefix loads and stores + in second instruction. + (ppc64_elf_relocate_section): Likewise. + +2019-09-05 Alan Modra <amodra@gmail.com> + + PR 24955 + * libbfd-in.h (bfd_strdup): New inline function. + * archive.c (_bfd_get_elt_at_filepos): Use bfd_strdup. Close + bfd on error. + * elfcode.h (_bfd_elf_bfd_from_remote_memory): Use bfd_strdup. + * opncls.c (bfd_fopen): Use bfd_strdup. Close fd and stream + on error. + (bfd_openstreamr): Use bfd_strdup. + (bfd_openr_iovec, bfd_openw, bfd_create): Likewise. + * plugin.c (try_load_plugin): Use bfd_malloc. + * libbfd.h: Regenerate. + +2019-09-02 Alan Modra <amodra@gmail.com> + + PR 11983 + * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Free debug_filename + on success. Tidy. + (read_alt_indirect_string): Likewise. + (read_alt_indirect_ref): Likewise. + +2019-08-31 Jim Wilson <jimw@sifive.com> + + PR 23825 + * elfnn-riscv.c (riscv_elf_create_dynamic_sections): Add SEC_LOAD, + SEC_DATA, and SEC_HAS_CONTENTS to .tdata.dyn section. + +2019-08-30 Jim Wilson <jimw@sifive.com> + + * elfnn-riscv.c (riscv_elf_relocate_section): For unresolvable reloc + error, call bfd_set_error, set ret to FALSE, and goto out label. + +2019-08-30 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/24951 + * archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS, + BFD_DECOMPRESS and BFD_COMPRESS_GABI flags for thin archive. + +2019-08-29 Alan Modra <amodra@gmail.com> + + PR 24697 + * elf32-ppc.c (ppc_elf_check_relocs): Call bad_shared_reloc + when !bfd_link_executable for R_PPC_EMB_SDA2I16 and + R_PPC_EMB_SDA2REL. Don't call bad_shared_reloc for any other + reloc. + +2019-08-29 Alan Modra <amodra@gmail.com> + + * elf64-ppc.c (xlate_pcrel_opt): Add poff parameter. Allow offset + on second insn, return it in poff. + (ppc64_elf_relocate_section): Add offset to paddi addend for + PCREL_OPT. + +2019-08-28 Jim Wilson <jimw@sifive.com> + + * elfnn-riscv.c (_bfd_riscv_relax_lui): Add check to exclude abs + section when setting max_alignment. Update comment. + (_bfd_riscv_relax_pc): Likewise. + +2019-08-29 Alan Modra <amodra@gmail.com> + + PR 24891 + * bfd.c (struct bfd): Add no_element_cache. + * archive.c (_bfd_get_elt_at_filepos): Don't add element to + archive cache when no_element_cache. + (bfd_generic_archive_p): Set no_element_cache when opening first + element to check format. Close first element too. + (do_slurp_bsd_armap): Don't zero ardata->cache here. + * bfd-in2.h: Regenerate. + +2019-08-24 Alan Modra <amodra@gmail.com> + + * elf64-ppc.c (ppc64_elf_edit_toc): Exclude undefined weak + symbols from GOT optimisation. + +2019-08-23 Stafford Horne <shorne@gmail.com> + + * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Use correct value for + PLT GOT entries. + +2019-08-23 Nick Clifton <nickc@redhat.com> + + PR 24456 + * elf.c (bfd_section_from_shdr): Issue an informative warning + message and continue processing other sections after encountering + a reloc section for a section which already has other relocs + associated with it. + +2019-08-23 Alan Modra <amodra@gmail.com> + + PR 24933 + * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Don't exit + on error without freeing plts[] contents. + +2019-08-22 Dennis Zhang <dennis.zhang@arm.com> + + * cpu-arm.c: New entries for Cortex-M35P, Cortex-A77, Cortex-A76AE. + +2019-08-22 Nick Clifton <nickc@redhat.com> + + PR 24922 + * pei-x86_64.c (pex64_xdata_print_uwd_codes): Add checks before + reading data from extra records. + +2019-08-22 Tamar Christina <tamar.christina@arm.com> + + PR ld/24601 + * elfnn-aarch64.c (aarch64_relocate): Handle weak TLS and undefined TLS. + Also Pass input_bfd to _bfd_aarch64_elf_resolve_relocation. + * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use it. + * elfxx-aarch64.h (_bfd_aarch64_elf_resolve_relocation): Emit warning + for weak TLS. + +2019-08-22 Alan Modra <amodra@gmail.com> + + * elf32-arm.c (cmse_scan): Don't use ARM_GET_SYM_CMSE_SPCL, + instead recognize CMSE_PREFIX in symbol name. + (elf32_arm_gc_mark_extra_sections): Likewise. + (elf32_arm_filter_cmse_symbols): Don't test ARM_GET_SYM_CMSE_SPCL. + (elf32_arm_swap_symbol_in): Don't invoke ARM_SET_SYM_CMSE_SPCL. + 2019-08-20 Dennis Zhang <dennis.zhang@arm.com> * cpu-aarch64.c: New entries for Cortex-A34, Cortex-A65,
  30. Download patch gnulib/import/glob.c
  31. Download patch debian/control.in

    --- 2.32.51.20190821-2/debian/control.in 2019-08-21 17:06:11.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/debian/control.in 2019-08-22 12:49:02.000000000 +0000 @@ -10,8 +10,8 @@ Build-Depends: autoconf (>= 2.64), @dpkg g++-aarch64-linux-gnu [amd64 i386 x32] <!nocheck>, g++-arm-linux-gnueabi [amd64 arm64 i386 x32] <!nocheck>, g++-arm-linux-gnueabihf [amd64 arm64 i386 x32] <!nocheck>, - g++-mips64el-linux-gnuabi64 [amd64 i386 x32] <!nocheck>, - g++-mipsel-linux-gnu [amd64 i386 x32] <!nocheck>, +# g++-mips64el-linux-gnuabi64 [amd64 i386 x32] <!nocheck>, +# g++-mipsel-linux-gnu [amd64 i386 x32] <!nocheck>, g++-powerpc64le-linux-gnu [amd64 arm64 i386 ppc64 x32] <!nocheck>, g++-s390x-linux-gnu [amd64 arm64 i386 ppc64el x32] <!nocheck>, g++-alpha-linux-gnu [amd64 i386 x32] <!nocheck>,
  32. Download patch bfd/archive.c

    --- 2.32.51.20190821-2/bfd/archive.c 2019-08-11 14:59:56.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/archive.c 2019-09-05 05:05:39.000000000 +0000 @@ -692,6 +692,13 @@ _bfd_get_elt_at_filepos (bfd *archive, f return NULL; } n_bfd->proxy_origin = bfd_tell (archive); + + /* Copy BFD_COMPRESS, BFD_DECOMPRESS and BFD_COMPRESS_GABI + flags. */ + n_bfd->flags |= archive->flags & (BFD_COMPRESS + | BFD_DECOMPRESS + | BFD_COMPRESS_GABI); + return n_bfd; } @@ -721,7 +728,9 @@ _bfd_get_elt_at_filepos (bfd *archive, f else { n_bfd->origin = n_bfd->proxy_origin; - n_bfd->filename = xstrdup (filename); + n_bfd->filename = bfd_strdup (filename); + if (n_bfd->filename == NULL) + goto out; } n_bfd->arelt_data = new_areldata; @@ -734,11 +743,14 @@ _bfd_get_elt_at_filepos (bfd *archive, f /* Copy is_linker_input. */ n_bfd->is_linker_input = archive->is_linker_input; - if (_bfd_add_bfd_to_archive_cache (archive, filepos, n_bfd)) + if (archive->no_element_cache + || _bfd_add_bfd_to_archive_cache (archive, filepos, n_bfd)) return n_bfd; + out: free (new_areldata); n_bfd->arelt_data = NULL; + bfd_close (n_bfd); return NULL; } @@ -885,6 +897,7 @@ bfd_generic_archive_p (bfd *abfd) if (abfd->target_defaulted && bfd_has_map (abfd)) { bfd *first; + unsigned int save; /* This archive has a map, so we may presume that the contents are object files. Make sure that if the first file in the @@ -897,14 +910,17 @@ bfd_generic_archive_p (bfd *abfd) normal archive, regardless of the format of the object files. We do accept an empty archive. */ + save = abfd->no_element_cache; + abfd->no_element_cache = 1; first = bfd_openr_next_archived_file (abfd, NULL); + abfd->no_element_cache = save; if (first != NULL) { first->target_defaulted = FALSE; if (bfd_check_format (first, bfd_object) && first->xvec != abfd->xvec) bfd_set_error (bfd_error_wrong_object_format); - /* And we ought to close `first' here too. */ + bfd_close (first); } } @@ -974,7 +990,6 @@ do_slurp_bsd_armap (bfd *abfd) goto byebye; } - ardata->cache = 0; rbase = raw_armap + BSD_SYMDEF_COUNT_SIZE; stringbase = ((char *) rbase + ardata->symdef_count * BSD_SYMDEF_SIZE
  33. Download patch gas/testsuite/gas/arm/mve-vmov-1.s

    --- 2.32.51.20190821-2/gas/testsuite/gas/arm/mve-vmov-1.s 2019-05-17 14:04:04.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/arm/mve-vmov-1.s 2019-09-03 05:46:14.000000000 +0000 @@ -130,3 +130,16 @@ vmov.i64 q0, #4278190080 @ 0x00000000FF0 vmov.i64 q0, #16711680 @ 0x00000000000FF0000 vmov.i64 q0, #65280 @ 0x0000000000000FF00 vmov.i64 q0, #255 @ 0x000000000000000FF + +.irp op1, q0, q1, q2, q4, q7 +.irp op2, q0, q1, q2, q4, q7 +vmov \op1, \op2 +.endr +.endr + +.irp op1, d0, d1, d2, d4, d8, d15 +.irp op2, d0, d1, d2, d4, d8, d15 +vmov \op1, \op2 +vmov.f64 \op1, \op2 +.endr +.endr
  34. Download patch gas/po/sv.po

    --- 2.32.51.20190821-2/gas/po/sv.po 2019-08-19 16:10:31.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/po/sv.po 2019-08-28 00:02:34.000000000 +0000 @@ -20,7 +20,7 @@ msgstr "" "Project-Id-Version: gas 2.31.90\n" "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n" "POT-Creation-Date: 2019-01-19 16:32+0000\n" -"PO-Revision-Date: 2019-08-13 14:05+0200\n" +"PO-Revision-Date: 2019-08-22 16:30+0200\n" "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "Language: sv\n" @@ -856,10 +856,8 @@ msgid ".size pseudo-op used outside of . msgstr ".size pseudoopkod använd utanför .def/.endef: överhoppad." #: config/obj-coff.c:943 -#, fuzzy -#| msgid ".scl pseudo-op used outside of .def/.endef ignored." msgid ".scl pseudo-op used outside of .def/.endef: ignored." -msgstr ".scl pseudoopkod använd utanför .def/.endef överhoppad." +msgstr ".scl pseudoopkod använd utanför .def/.endef: överhoppad." #: config/obj-coff.c:960 msgid ".tag pseudo-op used outside of .def/.endef: ignored." @@ -875,10 +873,8 @@ msgid ".type pseudo-op used outside of . msgstr ".type pseudoopkod använd utanför .def/.endef: överhoppad." #: config/obj-coff.c:1009 -#, fuzzy -#| msgid ".val pseudo-op used outside of .def/.endef ignored." msgid ".val pseudo-op used outside of .def/.endef: ignored." -msgstr ".val pseudoopkod använd utanför .def/.endef överhoppad." +msgstr ".val pseudoopkod använd utanför .def/.endef: överhoppad." #: config/obj-coff.c:1156 msgid "badly formed .weak directive ignored" @@ -1396,10 +1392,8 @@ msgid "integer or zero register expected msgstr "heltals- eller nollregister förväntat" #: config/tc-aarch64.c:401 -#, fuzzy -#| msgid "base register expected" msgid "offset register expected" -msgstr "basregister förväntat" +msgstr "avståndsregister förväntat" #: config/tc-aarch64.c:404 msgid "integer or SP register expected" @@ -2858,10 +2852,9 @@ msgid "ARC-specific assembler options:\n msgstr "ARM-specifika assemblerflaggor:\n" #: config/tc-arc.c:3561 -#, fuzzy, c-format -#| msgid " -mrelax Enable relaxation\n" +#, c-format msgid " -mrelax enable relaxation\n" -msgstr " -mrelax Aktivera lättnad\n" +msgstr " -mrelax aktivera lättnad\n" #: config/tc-arc.c:3564 #, c-format @@ -3896,16 +3889,12 @@ msgid "Rd and Rm should be different in msgstr "Rd och Rm bör vara olika i mla" #: config/tc-arm.c:9155 config/tc-arm.c:12236 -#, fuzzy -#| msgid ":lower16: not allowed this instruction" msgid ":lower16: not allowed in this instruction" msgstr ":lower16: inte tillåten i denna instruktion" #: config/tc-arm.c:9157 config/tc-arm.c:12241 -#, fuzzy -#| msgid ":upper16: not allowed this instruction" msgid ":upper16: not allowed in this instruction" -msgstr ":upper16: tillåter inte denna instruktion" +msgstr ":upper16: inte tillåten i denna instruktion" #: config/tc-arm.c:9174 msgid "operand 1 must be FPSCR" @@ -16097,22 +16086,19 @@ msgid "bad call to MD_ATOF()" msgstr "felaktigt anrop till MD_ATOF()" #: config/tc-score.c:7185 config/tc-score.c:7251 -#, fuzzy, c-format -#| msgid " branch relocation truncate (0x%x) [-2^9 ~ 2^9]" +#, c-format msgid " branch relocation truncate (0x%x) [-2^9 ~ 2^9-1]" -msgstr " grenomlokalisering trunkerad (0x%x) [-2^9 ~ 2^9]" +msgstr " grenomlokalisering trunkerad (0x%x) [-2^9 ~ 2^9-1]" #: config/tc-score.c:7200 config/tc-score.c:7229 config/tc-score.c:7281 -#, fuzzy, c-format -#| msgid " branch relocation truncate (0x%x) [-2^19 ~ 2^19]" +#, c-format msgid " branch relocation truncate (0x%x) [-2^19 ~ 2^19-1]" -msgstr " grenomlokalisering trunkerad (0x%x) [-2^19 ~ 2^19]" +msgstr " grenomlokalisering trunkerad (0x%x) [-2^19 ~ 2^19-1]" #: config/tc-score.c:7306 -#, fuzzy, c-format -#| msgid " branch relocation truncate (0x%x) [-2^9 ~ 2^9]" +#, c-format msgid " branch relocation truncate (0x%x) [-2^9 ~ 2^9-1]" -msgstr " grenomlokalisering trunkerad (0x%x) [-2^9 ~ 2^9]" +msgstr " grenomlokalisering trunkerad (0x%x) [-2^9 ~ 2^9-1]" #: config/tc-score.c:7476 #, c-format @@ -16687,10 +16673,8 @@ msgid ": unrecognizable hyperprivileged msgstr ": oigenkännbart hyperprivilegierat register" #: config/tc-sparc.c:1975 config/tc-sparc.c:1981 config/tc-sparc.c:1990 -#, fuzzy -#| msgid ": unrecognizable v9a ancillary state register" msgid ": unrecognizable ancillary state register" -msgstr ": oigenkännbart v9a-underordnat stillståndsregister" +msgstr ": oigenkännbart underordnat tillståndsregister" #: config/tc-sparc.c:2023 msgid ": asr number must be between 0 and 31" @@ -17481,8 +17465,7 @@ msgid "pseudo-op illegal within .struct/ msgstr "pseudo-op otillåten inom .struct/.union" #: config/tc-tic54x.c:232 -#, fuzzy, c-format -#| msgid "C54x-specific command line options:\n" +#, c-format msgid "C54x-specific command line options:\n" msgstr "C54x-specifika kommandoradsflaggor:\n" @@ -20250,10 +20233,8 @@ msgid "wrong argument to .cfi_personalit msgstr "felaktigt argument till .cfi_personality_id" #: dw2gencfi.c:1397 -#, fuzzy -#| msgid ".cfi_endproc without corresponding .cfi_startproc" msgid ".cfi_fde_data without corresponding .cfi_startproc" -msgstr ".cfi_endproc utan föregående .cfi_startproc" +msgstr ".cfi_fde_data utan motsvarande .cfi_startproc" #: dw2gencfi.c:1506 msgid "unexpected .cfi_inline_lsda" @@ -20277,22 +20258,16 @@ msgid "Alignment negative: 0 assumed." msgstr "Justering negativ: 0 antaget." #: dw2gencfi.c:1564 -#, fuzzy -#| msgid "CFI is not supported for this target" msgid ".cfi_inline_lsda is not supported for this target" -msgstr "CFI stöds inte för detta mål" +msgstr ".cfi_inline_lsda stöds inte för detta mål" #: dw2gencfi.c:1571 -#, fuzzy -#| msgid "CFI is not supported for this target" msgid ".cfi_fde_data is not supported for this target" -msgstr "CFI stöds inte för detta mål" +msgstr ".cfi_fde_data stöds inte för detta mål" #: dw2gencfi.c:1578 -#, fuzzy -#| msgid "CFI is not supported for this target" msgid ".cfi_personality_id is not supported for this target" -msgstr "CFI stöds inte för detta mål" +msgstr ".cfi_personality_id stöds inte för detta mål" #: dw2gencfi.c:2364 dw2gencfi.c:2520 msgid "open CFI at the end of file; missing .cfi_endproc directive" @@ -20958,10 +20933,9 @@ msgid "cannot change section or subsecti msgstr "kan inte ändra sektion eller undersektion inuti .bundle_lock" #: read.c:719 -#, fuzzy, c-format -#| msgid ".bundle_lock sequence at %u bytes but .bundle_align_mode limit is %u bytes" +#, c-format msgid ".bundle_lock sequence at %u bytes, but .bundle_align_mode limit is %u bytes" -msgstr ".bundle_lock-sekvens vid %u byte men .bundle_align_mode-begränsing är %u byte" +msgstr ".bundle_lock-sekvens vid %u byte, men .bundle_align_mode-begränsing är %u byte" #: read.c:728 #, c-format @@ -21371,8 +21345,7 @@ msgid ".bundle_unlock without preceding msgstr ".bundle_unlock utan föregående .bundle_lock" #: read.c:6098 -#, fuzzy, c-format -#| msgid ".bundle_lock sequence is %u bytes, but bundle size only %u" +#, c-format msgid ".bundle_lock sequence is %u bytes, but bundle size is only %u bytes" msgstr ".bundle_lock-sekvens är %u byte, men buntstorlek är bara %u"
  35. Download patch binutils/dwarf.c
  36. Download patch binutils/debug.c

    --- 2.32.51.20190821-2/binutils/debug.c 2019-01-18 07:41:41.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/binutils/debug.c 2019-08-28 00:02:34.000000000 +0000 @@ -2419,6 +2419,9 @@ debug_write_type (struct debug_handle *i int is; const char *tag = NULL; + if (type == DEBUG_TYPE_NULL) + return (*fns->empty_type) (fhandle); + /* If we have a name for this type, just output it. We only output typedef names after they have been defined. We output type tags whenever we are not actually defining them. */ @@ -2481,8 +2484,6 @@ debug_write_type (struct debug_handle *i debug_error (_("debug_write_type: illegal type encountered")); return FALSE; case DEBUG_KIND_INDIRECT: - if (*type->u.kindirect->slot == DEBUG_TYPE_NULL) - return (*fns->empty_type) (fhandle); return debug_write_type (info, fns, fhandle, *type->u.kindirect->slot, name); case DEBUG_KIND_VOID:
  37. Download patch gas/testsuite/gas/arm/mve-vorr.d
  38. Download patch gas/doc/c-arm.texi

    --- 2.32.51.20190821-2/gas/doc/c-arm.texi 2019-08-13 10:02:13.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/doc/c-arm.texi 2019-08-28 00:02:34.000000000 +0000 @@ -129,6 +129,8 @@ recognized: @code{cortex-a73}, @code{cortex-a75}, @code{cortex-a76}, +@code{cortex-a76ae}, +@code{cortex-a77}, @code{ares}, @code{cortex-r4}, @code{cortex-r4f}, @@ -136,6 +138,7 @@ recognized: @code{cortex-r7}, @code{cortex-r8}, @code{cortex-r52}, +@code{cortex-m35p}, @code{cortex-m33}, @code{cortex-m23}, @code{cortex-m7},
  39. Download patch gas/testsuite/gas/arm/cpu-cortex-m35p.d

    --- 2.32.51.20190821-2/gas/testsuite/gas/arm/cpu-cortex-m35p.d 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/arm/cpu-cortex-m35p.d 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,6 @@ +# name: Assemble and dump for cortex-m35p CPU +# source: nop-asm.s +# as: -mcpu=cortex-m35p +# objdump: -d -M force-thumb -mcortex-m35p + +#...
  40. Download patch gas/doc/c-aarch64.texi

    --- 2.32.51.20190821-2/gas/doc/c-aarch64.texi 2019-08-20 19:38:13.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/doc/c-aarch64.texi 2019-08-28 00:02:34.000000000 +0000 @@ -358,6 +358,14 @@ The @code{.even} directive aligns the ou boundary. @c FFFFFFFFFFFFFFFFFFFFFFFFFF + +@cindex @code{.float16} directive, AArch64 +@item .float16 @var{value [,...,value_n]} +Place the half precision floating point representation of one or more +floating-point values into the current section. +The format used to encode the floating point values is always the +IEEE 754-2008 half precision floating point format. + @c GGGGGGGGGGGGGGGGGGGGGGGGGG @c HHHHHHHHHHHHHHHHHHHHHHHHHH @c IIIIIIIIIIIIIIIIIIIIIIIIII
  41. Download patch bfd/elf32-arm.c

    --- 2.32.51.20190821-2/bfd/elf32-arm.c 2019-08-20 19:38:13.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/elf32-arm.c 2019-08-28 00:02:34.000000000 +0000 @@ -6002,12 +6002,12 @@ cmse_scan (bfd *input_bfd, struct elf32_ if (i < ext_start) { cmse_sym = &local_syms[i]; - /* Not a special symbol. */ - if (!ARM_GET_SYM_CMSE_SPCL (cmse_sym->st_target_internal)) - continue; sym_name = bfd_elf_string_from_elf_section (input_bfd, symtab_hdr->sh_link, cmse_sym->st_name); + if (!sym_name || !CONST_STRNEQ (sym_name, CMSE_PREFIX)) + continue; + /* Special symbol with local binding. */ cmse_invalid = TRUE; } @@ -6015,9 +6015,7 @@ cmse_scan (bfd *input_bfd, struct elf32_ { cmse_hash = elf32_arm_hash_entry (sym_hashes[i - ext_start]); sym_name = (char *) cmse_hash->root.root.root.string; - - /* Not a special symbol. */ - if (!ARM_GET_SYM_CMSE_SPCL (cmse_hash->root.target_internal)) + if (!CONST_STRNEQ (sym_name, CMSE_PREFIX)) continue; /* Special symbol has incorrect binding or type. */ @@ -15990,7 +15988,8 @@ elf32_arm_gc_mark_extra_sections (struct /* Assume it is a special symbol. If not, cmse_scan will warn about it and user can do something about it. */ - if (ARM_GET_SYM_CMSE_SPCL (cmse_hash->root.target_internal)) + if (CONST_STRNEQ (cmse_hash->root.root.root.string, + CMSE_PREFIX)) { cmse_sec = cmse_hash->root.root.u.def.section; if (!cmse_sec->gc_mark @@ -18610,9 +18609,6 @@ elf32_arm_filter_cmse_symbols (bfd *abfd || cmse_hash->root.type != STT_FUNC) continue; - if (!ARM_GET_SYM_CMSE_SPCL (cmse_hash->root.target_internal)) - continue; - syms[dst_count++] = sym; } free (cmse_name); @@ -19935,9 +19931,6 @@ elf32_arm_swap_symbol_in (bfd * abfd, const void *pshn, Elf_Internal_Sym *dst) { - Elf_Internal_Shdr *symtab_hdr; - const char *name = NULL; - if (!bfd_elf32_swap_symbol_in (abfd, psrc, pshn, dst)) return FALSE; dst->st_target_internal = 0; @@ -19966,13 +19959,6 @@ elf32_arm_swap_symbol_in (bfd * abfd, else ARM_SET_SYM_BRANCH_TYPE (dst->st_target_internal, ST_BRANCH_UNKNOWN); - /* Mark CMSE special symbols. */ - symtab_hdr = & elf_symtab_hdr (abfd); - if (symtab_hdr->sh_size) - name = bfd_elf_sym_name (abfd, symtab_hdr, dst, NULL); - if (name && CONST_STRNEQ (name, CMSE_PREFIX)) - ARM_SET_SYM_CMSE_SPCL (dst->st_target_internal); - return TRUE; }
  42. Download patch opcodes/aarch64-opc.c

    --- 2.32.51.20190821-2/opcodes/aarch64-opc.c 2019-07-26 17:51:19.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/opcodes/aarch64-opc.c 2019-08-28 00:02:34.000000000 +0000 @@ -3966,11 +3966,11 @@ const aarch64_sys_reg aarch64_sys_regs [ { "rndr", CPENC(3,3,C2,C4,0), F_ARCHEXT | F_REG_READ }, /* RO */ { "rndrrs", CPENC(3,3,C2,C4,1), F_ARCHEXT | F_REG_READ }, /* RO */ { "tco", CPENC(3,3,C4,C2,7), F_ARCHEXT }, - { "tfsre0_el1", CPENC(3,0,C6,C6,1), F_ARCHEXT }, - { "tfsr_el1", CPENC(3,0,C6,C5,0), F_ARCHEXT }, - { "tfsr_el2", CPENC(3,4,C6,C5,0), F_ARCHEXT }, - { "tfsr_el3", CPENC(3,6,C6,C6,0), F_ARCHEXT }, - { "tfsr_el12", CPENC(3,5,C6,C6,0), F_ARCHEXT }, + { "tfsre0_el1", CPENC(3,0,C5,C6,1), F_ARCHEXT }, + { "tfsr_el1", CPENC(3,0,C5,C6,0), F_ARCHEXT }, + { "tfsr_el2", CPENC(3,4,C5,C6,0), F_ARCHEXT }, + { "tfsr_el3", CPENC(3,6,C5,C6,0), F_ARCHEXT }, + { "tfsr_el12", CPENC(3,5,C5,C6,0), F_ARCHEXT }, { "rgsr_el1", CPENC(3,0,C1,C0,5), F_ARCHEXT }, { "gcr_el1", CPENC(3,0,C1,C0,6), F_ARCHEXT }, { "gmid_el1", CPENC(3,1,C0,C0,4), F_ARCHEXT | F_REG_READ }, /* RO */ @@ -4439,11 +4439,11 @@ aarch64_sys_reg_supported_p (const aarch /* System Registers in ARMv8.5-A with AARCH64_FEATURE_MEMTAG. */ if ((reg->value == CPENC (3, 3, C4, C2, 7) - || reg->value == CPENC (3, 0, C6, C6, 1) - || reg->value == CPENC (3, 0, C6, C5, 0) - || reg->value == CPENC (3, 4, C6, C5, 0) - || reg->value == CPENC (3, 6, C6, C6, 0) - || reg->value == CPENC (3, 5, C6, C6, 0) + || reg->value == CPENC (3, 0, C5, C6, 1) + || reg->value == CPENC (3, 0, C5, C6, 0) + || reg->value == CPENC (3, 4, C5, C6, 0) + || reg->value == CPENC (3, 6, C5, C6, 0) + || reg->value == CPENC (3, 5, C5, C6, 0) || reg->value == CPENC (3, 0, C1, C0, 5) || reg->value == CPENC (3, 0, C1, C0, 6) || reg->value == CPENC (3, 1, C0, C0, 4))
  43. Download patch gnulib/update-gnulib.sh

    --- 2.32.51.20190821-2/gnulib/update-gnulib.sh 2019-06-23 21:10:51.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gnulib/update-gnulib.sh 2019-09-03 05:46:14.000000000 +0000 @@ -171,6 +171,7 @@ apply_patches () apply_patches "patches/0001-Fix-PR-gdb-23558-Use-system-s-getcwd-when-cross-comp.patch" apply_patches "patches/0002-mkostemp-mkostemps-Fix-compilation-error-in-C-mode-o.patch" +apply_patches "patches/0003-Fix-glob-c-Coverity-issues.patch" # Regenerate all necessary files... aclocal -Iimport/m4 -I../config &&
  44. Download patch opcodes/mmix-dis.c
  45. Download patch bfd/plugin.c

    --- 2.32.51.20190821-2/bfd/plugin.c 2019-05-07 21:28:02.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/plugin.c 2019-09-05 05:05:39.000000000 +0000 @@ -262,7 +262,9 @@ try_load_plugin (const char *pname, bfd } } - plugin_list_iter = (struct plugin_list_entry *) xmalloc (sizeof *plugin_list_iter); + plugin_list_iter = bfd_malloc (sizeof *plugin_list_iter); + if (plugin_list_iter == NULL) + return 0; plugin_list_iter->handle = plugin_handle; plugin_list_iter->claim_file = NULL; plugin_list_iter->next = plugin_list;
  46. Download patch gas/config/tc-arm.c

    --- 2.32.51.20190821-2/gas/config/tc-arm.c 2019-08-19 16:10:31.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/config/tc-arm.c 2019-09-03 05:46:14.000000000 +0000 @@ -6743,8 +6743,10 @@ parse_neon_mov (char **str, int *which_o inst.operands[i].present = 1; } } - else if ((val = arm_typed_reg_parse (&ptr, REG_TYPE_NSDQ, &rtype, - &optype)) != FAIL) + else if (((val = arm_typed_reg_parse (&ptr, REG_TYPE_NSDQ, &rtype, + &optype)) != FAIL) + || ((val = arm_typed_reg_parse (&ptr, REG_TYPE_MQ, &rtype, + &optype)) != FAIL)) { /* Case 0: VMOV<c><q> <Qd>, <Qm> Case 1: VMOV<c><q> <Dd>, <Dm> @@ -19857,7 +19859,13 @@ do_neon_mov (void) et = neon_check_type (2, rs, N_EQK, N_F64 | N_KEY); /* It is not an error here if no type is given. */ inst.error = NULL; - if (et.type == NT_float && et.size == 64) + + /* In MVE we interpret the following instructions as same, so ignoring + the following type (float) and size (64) checks. + a: VMOV<c><q> <Dd>, <Dm> + b: VMOV<c><q>.F64 <Dd>, <Dm>. */ + if ((et.type == NT_float && et.size == 64) + || (ARM_CPU_HAS_FEATURE (cpu_variant, mve_ext))) { do_vfp_nsyn_opcode ("fcpyd"); break; @@ -30591,6 +30599,12 @@ static const struct arm_cpu_option_table ARM_CPU_OPT ("cortex-a76", "Cortex-A76", ARM_ARCH_V8_2A, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD), + ARM_CPU_OPT ("cortex-a76ae", "Cortex-A76AE", ARM_ARCH_V8_2A, + ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD), + ARM_CPU_OPT ("cortex-a77", "Cortex-A77", ARM_ARCH_V8_2A, + ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD), ARM_CPU_OPT ("ares", "Ares", ARM_ARCH_V8_2A, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD), @@ -30612,6 +30626,9 @@ static const struct arm_cpu_option_table ARM_CPU_OPT ("cortex-r52", "Cortex-R52", ARM_ARCH_V8R, ARM_FEATURE_COPROC (CRC_EXT_ARMV8), FPU_ARCH_NEON_VFP_ARMV8), + ARM_CPU_OPT ("cortex-m35p", "Cortex-M35P", ARM_ARCH_V8M_MAIN, + ARM_FEATURE_CORE_LOW (ARM_EXT_V5ExP | ARM_EXT_V6_DSP), + FPU_NONE), ARM_CPU_OPT ("cortex-m33", "Cortex-M33", ARM_ARCH_V8M_MAIN, ARM_FEATURE_CORE_LOW (ARM_EXT_V5ExP | ARM_EXT_V6_DSP), FPU_NONE),
  47. Download patch gas/config/tc-aarch64.c

    --- 2.32.51.20190821-2/gas/config/tc-aarch64.c 2019-08-20 19:38:13.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/config/tc-aarch64.c 2019-08-28 00:02:34.000000000 +0000 @@ -529,7 +529,7 @@ const char EXP_CHARS[] = "eE"; /* As in 0f12.456 */ /* or 0d1.2345e12 */ -const char FLT_CHARS[] = "rRsSfFdDxXeEpP"; +const char FLT_CHARS[] = "rRsSfFdDxXeEpPhH"; /* Prefix character that indicates the start of an immediate value. */ #define is_immediate_prefix(C) ((C) == '#') @@ -2106,6 +2106,7 @@ const pseudo_typeS md_pseudo_table[] = { {"dword", s_aarch64_elf_cons, 8}, {"variant_pcs", s_variant_pcs, 0}, #endif + {"float16", float_cons, 'h'}, {0, 0, 0} };
  48. Download patch opcodes/arm-dis.c

    --- 2.32.51.20190821-2/opcodes/arm-dis.c 2019-08-13 10:02:13.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/opcodes/arm-dis.c 2019-08-28 00:02:34.000000000 +0000 @@ -2951,6 +2951,16 @@ static const struct mopcode32 mve_opcode 0xef200150, 0xffb11f51, "vorr%v\t%13-15,22Q, %17-19,7Q, %1-3,5Q"}, + /* Vector VMOV, vector to vector move. While decoding MVE_VORR_REG if + "Qm==Qn", VORR should replaced by its alias VMOV. For that to happen + MVE_VMOV_VEC_TO_VEC need to placed after MVE_VORR_REG in this mve_opcodes + array. */ + + {ARM_FEATURE_COPROC (FPU_MVE), + MVE_VMOV_VEC_TO_VEC, + 0xef200150, 0xffb11f51, + "vmov%v\t%13-15,22Q, %17-19,7Q"}, + /* Vector VQDMULL T1 variant. */ {ARM_FEATURE_COPROC (FPU_MVE), MVE_VQDMULL_T1, @@ -6104,6 +6114,12 @@ is_mve_undefined (unsigned long given, e else return FALSE; + case MVE_VMOV_VEC_TO_VEC: + if ((arm_decode_field (given, 5, 5) == 1) + || (arm_decode_field (given, 22, 22) == 1)) + return TRUE; + return FALSE; + case MVE_VMOV_IMM_TO_VEC: if (arm_decode_field (given, 5, 5) == 0) { @@ -9214,6 +9230,13 @@ print_insn_mve (struct disassemble_info if (is_mve_undefined (given, insn->mve_op, &undefined_cond)) is_undefined = TRUE; + /* In "VORR Qd, Qm, Qn", if Qm==Qn, VORR is nothing but VMOV, + i.e "VMOV Qd, Qm". */ + if ((insn->mve_op == MVE_VORR_REG) + && (arm_decode_field (given, 1, 3) + == arm_decode_field (given, 17, 19))) + continue; + for (c = insn->assembler; *c; c++) { if (*c == '%')
  49. Download patch gas/testsuite/gas/aarch64/float16-be.d

    --- 2.32.51.20190821-2/gas/testsuite/gas/aarch64/float16-be.d 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/aarch64/float16-be.d 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,11 @@ +# name: Big endian float16 literals (IEEE 754 format) +# source: float16.s +# objdump: -s --section=.data +# as: -mbig-endian + +.*: +file format .* + +Contents of section \.data: + 0000 4a002fdf 1c197bff 000103ff 04003c00.* + 0010 3c017fff 7c00fc00 00008000 bc00bbe7.* + 0020 fbff4200 4a00603e.*
  50. Download patch bfd/elfnn-aarch64.c

    --- 2.32.51.20190821-2/bfd/elfnn-aarch64.c 2019-08-19 16:10:31.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/elfnn-aarch64.c 2019-08-28 00:02:34.000000000 +0000 @@ -3004,7 +3004,8 @@ aarch64_relocate (unsigned int r_type, b + offset); r_type = elfNN_aarch64_bfd_reloc_from_type (input_bfd, r_type); - value = _bfd_aarch64_elf_resolve_relocation (r_type, place, value, 0, FALSE); + value = _bfd_aarch64_elf_resolve_relocation (input_bfd, r_type, place, + value, 0, FALSE); return _bfd_aarch64_elf_put_addend (input_bfd, input_section->contents + offset, r_type, howto, value) == bfd_reloc_ok; @@ -5585,7 +5586,8 @@ bad_ifunc_reloc: /* FALLTHROUGH */ case BFD_RELOC_AARCH64_CALL26: case BFD_RELOC_AARCH64_JUMP26: - value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value, + value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, + place, value, signed_addend, weak_undef_p); return _bfd_aarch64_elf_put_addend (input_bfd, hit_data, bfd_r_type, @@ -5662,7 +5664,8 @@ bad_ifunc_reloc: addend = (globals->root.sgot->output_section->vma + globals->root.sgot->output_offset); - value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value, + value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, + place, value, addend, weak_undef_p); return _bfd_aarch64_elf_put_addend (input_bfd, hit_data, bfd_r_type, howto, value); case BFD_RELOC_AARCH64_ADD_LO12: @@ -5840,7 +5843,8 @@ bad_ifunc_reloc: signed_addend = 0; } } - value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value, + value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, + place, value, signed_addend, weak_undef_p); *unresolved_reloc_p = FALSE; break; @@ -5900,7 +5904,8 @@ bad_ifunc_reloc: case BFD_RELOC_AARCH64_MOVW_G2_S: case BFD_RELOC_AARCH64_MOVW_G3: case BFD_RELOC_AARCH64_TSTBR14: - value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value, + value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, + place, value, signed_addend, weak_undef_p); break; @@ -5945,7 +5950,8 @@ bad_ifunc_reloc: if (aarch64_relocation_aginst_gp_p (bfd_r_type)) addend = (globals->root.sgot->output_section->vma + globals->root.sgot->output_offset); - value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value, + value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, + place, value, addend, weak_undef_p); } else @@ -5992,7 +5998,8 @@ bad_ifunc_reloc: if (aarch64_relocation_aginst_gp_p (bfd_r_type)) addend = base_got->output_section->vma + base_got->output_offset; - value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value, + value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, + place, value, addend, weak_undef_p); } @@ -6029,7 +6036,8 @@ bad_ifunc_reloc: + globals->root.sgot->output_section->vma + globals->root.sgot->output_offset); - value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value, + value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, + place, value, 0, weak_undef_p); *unresolved_reloc_p = FALSE; break; @@ -6042,7 +6050,8 @@ bad_ifunc_reloc: return bfd_reloc_notsupported; value = symbol_got_offset (input_bfd, h, r_symndx); - value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value, + value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, + place, value, 0, weak_undef_p); *unresolved_reloc_p = FALSE; break; @@ -6063,10 +6072,26 @@ bad_ifunc_reloc: case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1: case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC: case BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2: - value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value, - signed_addend - dtpoff_base (info), - weak_undef_p); - break; + { + if (!(weak_undef_p || elf_hash_table (info)->tls_sec)) + { + int howto_index = bfd_r_type - BFD_RELOC_AARCH64_RELOC_START; + _bfd_error_handler + /* xgettext:c-format */ + (_("%pB: TLS relocation %s against undefined symbol `%s'"), + input_bfd, elfNN_aarch64_howto_table[howto_index].name, + h->root.root.string); + bfd_set_error (bfd_error_bad_value); + return bfd_reloc_notsupported; + } + + bfd_vma def_value + = weak_undef_p ? 0 : signed_addend - dtpoff_base (info); + value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, + place, value, + def_value, weak_undef_p); + break; + } case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12: case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12: @@ -6084,11 +6109,27 @@ bad_ifunc_reloc: case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1: case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC: case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2: - value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value, - signed_addend - tpoff_base (info), - weak_undef_p); - *unresolved_reloc_p = FALSE; - break; + { + if (!(weak_undef_p || elf_hash_table (info)->tls_sec)) + { + int howto_index = bfd_r_type - BFD_RELOC_AARCH64_RELOC_START; + _bfd_error_handler + /* xgettext:c-format */ + (_("%pB: TLS relocation %s against undefined symbol `%s'"), + input_bfd, elfNN_aarch64_howto_table[howto_index].name, + h->root.root.string); + bfd_set_error (bfd_error_bad_value); + return bfd_reloc_notsupported; + } + + bfd_vma def_value + = weak_undef_p ? 0 : signed_addend - tpoff_base (info); + value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, + place, value, + def_value, weak_undef_p); + *unresolved_reloc_p = FALSE; + break; + } case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12: case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21: @@ -6103,7 +6144,8 @@ bad_ifunc_reloc: + globals->root.sgotplt->output_offset + globals->sgotplt_jump_table_size); - value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value, + value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, + place, value, 0, weak_undef_p); *unresolved_reloc_p = FALSE; break; @@ -6121,7 +6163,8 @@ bad_ifunc_reloc: value -= (globals->root.sgot->output_section->vma + globals->root.sgot->output_offset); - value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value, + value = _bfd_aarch64_elf_resolve_relocation (input_bfd, bfd_r_type, + place, value, 0, weak_undef_p); *unresolved_reloc_p = FALSE; break;
  51. Download patch gas/config/tc-riscv.c

    --- 2.32.51.20190821-2/gas/config/tc-riscv.c 2019-06-11 08:18:22.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/config/tc-riscv.c 2019-08-28 00:02:34.000000000 +0000 @@ -928,6 +928,29 @@ macro_build (expressionS *ep, const char append_insn (&insn, ep, r); } +/* Build an instruction created by a macro expansion. Like md_assemble but + accept a printf-style format string and arguments. */ + +static void +md_assemblef (const char *format, ...) +{ + char *buf = NULL; + va_list ap; + int r; + + va_start (ap, format); + + r = vasprintf (&buf, format, ap); + + if (r < 0) + as_fatal (_("internal error: vasprintf failed")); + + md_assemble (buf); + free(buf); + + va_end (ap); +} + /* Sign-extend 32-bit mode constants that have bit 31 set and all higher bits unset. */ static void @@ -1013,6 +1036,7 @@ static void load_const (int reg, expressionS *ep) { int shift = RISCV_IMM_BITS; + bfd_vma upper_imm; expressionS upper = *ep, lower = *ep; lower.X_add_number = (int32_t) ep->X_add_number << (32-shift) >> (32-shift); upper.X_add_number -= lower.X_add_number; @@ -1032,9 +1056,10 @@ load_const (int reg, expressionS *ep) upper.X_add_number = (int64_t) upper.X_add_number >> shift; load_const (reg, &upper); - macro_build (NULL, "slli", "d,s,>", reg, reg, shift); + md_assemblef ("slli x%d, x%d, 0x%x", reg, reg, shift); if (lower.X_add_number != 0) - macro_build (&lower, "addi", "d,s,j", reg, reg, BFD_RELOC_RISCV_LO12_I); + md_assemblef ("addi x%d, x%d, %" BFD_VMA_FMT "d", reg, reg, + lower.X_add_number); } else { @@ -1043,13 +1068,16 @@ load_const (int reg, expressionS *ep) if (upper.X_add_number != 0) { - macro_build (ep, "lui", "d,u", reg, BFD_RELOC_RISCV_HI20); + /* Discard low part and zero-extend upper immediate. */ + upper_imm = ((uint32_t)upper.X_add_number >> shift); + + md_assemblef ("lui x%d, 0x%" BFD_VMA_FMT "x", reg, upper_imm); hi_reg = reg; } if (lower.X_add_number != 0 || hi_reg == 0) - macro_build (ep, ADD32_INSN, "d,s,j", reg, hi_reg, - BFD_RELOC_RISCV_LO12_I); + md_assemblef ("%s x%d, x%d, %" BFD_VMA_FMT "d", ADD32_INSN, reg, hi_reg, + lower.X_add_number); } }
  52. Download patch include/opcode/arc.h

    --- 2.32.51.20190821-2/include/opcode/arc.h 2019-07-26 17:51:19.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/include/opcode/arc.h 2019-09-03 05:46:14.000000000 +0000 @@ -59,7 +59,6 @@ typedef enum EI, ENTER, FLOAT, - FASTMATH, INVALID, JLI, JUMP, @@ -99,6 +98,7 @@ typedef enum DP = (1U << 6), DPA = (1U << 7), DPX = (1U << 8), + FASTMATH = (1U << 23), LL64 = (1U << 9), MPY1E = (1U << 10), MPY6E = (1U << 11),
  53. Download patch gas/testsuite/gas/aarch64/float16-le.d

    --- 2.32.51.20190821-2/gas/testsuite/gas/aarch64/float16-le.d 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/aarch64/float16-le.d 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,11 @@ +# name: Little endian float16 literals (IEEE 754 format) +# source: float16.s +# objdump: -s --section=.data +# as: -mlittle-endian + +.*: +file format .* + +Contents of section \.data: + 0000 004adf2f 191cff7b 0100ff03 0004003c.* + 0010 013cff7f 007c00fc 00000080 00bce7bb.* + 0020 fffb0042 004a3e60.*
  54. Download patch gas/NEWS

    --- 2.32.51.20190821-2/gas/NEWS 2019-08-20 19:38:13.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/NEWS 2019-08-28 00:02:34.000000000 +0000 @@ -3,10 +3,10 @@ * Add support for the Armv8.1-M Mainline and M-profile Vector Extension (MVE) instructions. -* For MIPS, Add -m[no-]fix-loongson3-llsc option to fix (or not) Loongson3 LLSC - Errata. Add a --enable-mips-fix-loongson3-llsc=[yes|no] configure time option - to set the default behavior. Set the default if the configure option is not used - to "no". +* For MIPS, Add -m[no-]fix-loongson3-llsc option to fix (or not) Loongson3 + LLSC Errata. Add a --enable-mips-fix-loongson3-llsc=[yes|no] configure + time option to set the default behavior. Set the default if the configure + option is not used to "no". * Add support for the Arm Cortex-A76AE, Cortex-A77 and Cortex-M35P processors. @@ -14,6 +14,11 @@ * Add support for the AArch64 Cortex-A34, Cortex-A65, Cortex-A65AE, Cortex-A76AE, and Cortex-A77 processors. +* Add .float16 directive for both Arm and AArch64 to allow encoding of 16-bit + floating point literals. Add .float16_format directive and + -mfp16-format=[ieee|alternative] option for Arm to control the format of the + encoding. + Changes in 2.32: * Add -mvexwig=[0|1] option to x86 assembler to control encoding of
  55. Download patch binutils/testsuite/binutils-all/objdump.exp

    --- 2.32.51.20190821-2/binutils/testsuite/binutils-all/objdump.exp 2019-08-11 14:59:56.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/binutils/testsuite/binutils-all/objdump.exp 2019-09-03 05:46:14.000000000 +0000 @@ -803,6 +803,46 @@ proc test_objdump_dotnet_assemblies {} { test_objdump_dotnet_assemblies +# Test objdump -S + +proc test_objdump_S { } { + global srcdir + global subdir + global OBJDUMP + global OBJDUMPFLAGS + + set test "objdump -S" + + if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog executable debug] != "" } { + unsupported "$test (build)" + return + } + + set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS -S tmpdir/testprog"] + + set want "static int local = 2" + + if [regexp $want $got] then { + pass $test + } else { + fail $test + } + + set test "objdump --source-comment" + + set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS --source-comment=// tmpdir/testprog"] + + set want "//static int local = 2" + + if [regexp $want $got] then { + pass $test + } else { + fail $test + } +} + +test_objdump_S + # Options which are not tested: -a -D -R -T -x -l --stabs # I don't see any generic way to test any of these other than -a. # Tests could be written for specific targets, and that should be done
  56. Download patch bfd/bfd.c

    --- 2.32.51.20190821-2/bfd/bfd.c 2019-08-11 14:59:56.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/bfd.c 2019-09-03 05:46:14.000000000 +0000 @@ -220,6 +220,9 @@ CODE_FRAGMENT . {* Set if this is a thin archive. *} . unsigned int is_thin_archive : 1; . +. {* Set if this archive should not cache element positions. *} +. unsigned int no_element_cache : 1; +. . {* Set if only required symbols should be added in the link hash table for . this object. Used by VMS linkers. *} . unsigned int selective_search : 1;
  57. Download patch binutils/doc/binutils.texi

    --- 2.32.51.20190821-2/binutils/doc/binutils.texi 2019-08-19 16:10:31.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/binutils/doc/binutils.texi 2019-09-03 05:46:14.000000000 +0000 @@ -1175,6 +1175,7 @@ objcopy [@option{-F} @var{bfdname}|@opti [@option{--change-section-vma} @var{sectionpattern}@{=,+,-@}@var{val}] [@option{--change-warnings}] [@option{--no-change-warnings}] [@option{--set-section-flags} @var{sectionpattern}=@var{flags}] + [@option{--set-section-alignment} @var{sectionpattern}=@var{align}] [@option{--add-section} @var{sectionname}=@var{filename}] [@option{--dump-section} @var{sectionname}=@var{filename}] [@option{--update-section} @var{sectionname}=@var{filename}] @@ -1620,6 +1621,11 @@ to clear the @samp{contents} flag of a s contents--just remove the section instead. Not all flags are meaningful for all object file formats. +@item --set-section-alignment @var{sectionpattern}=@var{align} +Set the alignment for any sections matching @var{sectionpattern}. @var{align} +specifies the alignment as the exponent for the power of two, i.e. the +alignment in bytes will be 2^@var{align}. + @item --add-section @var{sectionname}=@var{filename} Add a new section named @var{sectionname} while copying the file. The contents of the new section are taken from the file @var{filename}. The @@ -1975,8 +1981,9 @@ for dlls. [This option is specific to PE targets.] @item --section-alignment @var{num} -Sets the section alignment. Sections in memory will always begin at -addresses which are a multiple of this number. Defaults to 0x1000. +Sets the section alignment field in the PE header. Sections in memory +will always begin at addresses which are a multiple of this number. +Defaults to 0x1000. [This option is specific to PE targets.] @item --stack @var{reserve} @@ -2104,6 +2111,7 @@ objdump [@option{-a}|@option{--archive-h [@option{-j} @var{section}|@option{--section=}@var{section}] [@option{-l}|@option{--line-numbers}] [@option{-S}|@option{--source}] + [@option{--source-comment}[=@var{text}]] [@option{-m} @var{machine}|@option{--architecture=}@var{machine}] [@option{-M} @var{options}|@option{--disassembler-options=}@var{options}] [@option{-p}|@option{--private-headers}] @@ -2613,6 +2621,15 @@ non-empty sections are displayed. Display source code intermixed with disassembly, if possible. Implies @option{-d}. +@item --source-comment[=@var{txt}] +@cindex source disassembly +@cindex disassembly, with source +Like the @option{-S} option, but all source code lines are displayed +with a prefix of @var{txt}. Typically @var{txt} will be a comment +string which can be used to distinguish the assembler code from the +source code. If @var{txt} is not provided then a default string of +@var{``# ``} (hash followed by a space), will be used. + @item --prefix=@var{prefix} @cindex Add prefix to absolute paths Specify @var{prefix} to add to the absolute paths when used with
  58. Download patch bfd/doc/bfdint.texi
  59. Download patch bfd/elfxx-aarch64.c

    --- 2.32.51.20190821-2/bfd/elfxx-aarch64.c 2019-06-11 08:18:22.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/elfxx-aarch64.c 2019-08-28 00:02:34.000000000 +0000 @@ -395,10 +395,12 @@ _bfd_aarch64_elf_put_addend (bfd *abfd, } bfd_vma -_bfd_aarch64_elf_resolve_relocation (bfd_reloc_code_real_type r_type, +_bfd_aarch64_elf_resolve_relocation (bfd *input_bfd, + bfd_reloc_code_real_type r_type, bfd_vma place, bfd_vma value, bfd_vma addend, bfd_boolean weak_undef_p) { + bfd_boolean tls_reloc = TRUE; switch (r_type) { case BFD_RELOC_AARCH64_NONE: @@ -446,6 +448,8 @@ _bfd_aarch64_elf_resolve_relocation (bfd case BFD_RELOC_AARCH64_MOVW_G2_NC: case BFD_RELOC_AARCH64_MOVW_G2_S: case BFD_RELOC_AARCH64_MOVW_G3: + tls_reloc = FALSE; + /* fall-through. */ case BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC: case BFD_RELOC_AARCH64_TLSDESC_OFF_G1: case BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC: @@ -466,6 +470,15 @@ _bfd_aarch64_elf_resolve_relocation (bfd case BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12: case BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12: case BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12: + /* Weak Symbols and TLS relocations are implementation defined. For this + case we choose to emit 0. */ + if (weak_undef_p && tls_reloc) + { + _bfd_error_handler (_("%pB: warning: Weak TLS is implementation " + "defined and may not work as expected"), + input_bfd); + value = place; + } value = value + addend; break;
  60. Download patch gnulib/patches/0003-Fix-glob-c-Coverity-issues.patch
  61. Download patch gas/testsuite/gas/aarch64/sysreg-4.d

    --- 2.32.51.20190821-2/gas/testsuite/gas/aarch64/sysreg-4.d 2019-07-26 17:51:19.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/aarch64/sysreg-4.d 2019-08-28 00:02:34.000000000 +0000 @@ -21,21 +21,21 @@ Disassembly of section \.text: .*: d5380388 mrs x8, id_pfr2_el1 .*: d53b42e1 mrs x1, tco .*: d53b42e2 mrs x2, tco -.*: d5386621 mrs x1, tfsre0_el1 -.*: d5386501 mrs x1, tfsr_el1 -.*: d53c6502 mrs x2, tfsr_el2 -.*: d53e6603 mrs x3, tfsr_el3 -.*: d53d660c mrs x12, tfsr_el12 +.*: d5385621 mrs x1, tfsre0_el1 +.*: d5385601 mrs x1, tfsr_el1 +.*: d53c5602 mrs x2, tfsr_el2 +.*: d53e5603 mrs x3, tfsr_el3 +.*: d53d560c mrs x12, tfsr_el12 .*: d53810a1 mrs x1, rgsr_el1 .*: d53810c3 mrs x3, gcr_el1 .*: d5390084 mrs x4, gmid_el1 .*: d51b42e1 msr tco, x1 .*: d51b42e2 msr tco, x2 -.*: d5186621 msr tfsre0_el1, x1 -.*: d5186501 msr tfsr_el1, x1 -.*: d51c6502 msr tfsr_el2, x2 -.*: d51e6603 msr tfsr_el3, x3 -.*: d51d660c msr tfsr_el12, x12 +.*: d5185621 msr tfsre0_el1, x1 +.*: d5185601 msr tfsr_el1, x1 +.*: d51c5602 msr tfsr_el2, x2 +.*: d51e5603 msr tfsr_el3, x3 +.*: d51d560c msr tfsr_el12, x12 .*: d51810a1 msr rgsr_el1, x1 .*: d51810c3 msr gcr_el1, x3 .*: d503489f msr tco, #0x8
  62. Download patch gas/ChangeLog

    --- 2.32.51.20190821-2/gas/ChangeLog 2019-08-20 19:38:13.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/ChangeLog 2019-08-28 00:02:34.000000000 +0000 @@ -1,3 +1,49 @@ +2019-08-27 Srinath Parvathaneni <srinath.parvathaneni@arm.com> + + * config/tc-arm.c (parse_neon_mov): Add check to accept vector + register to both the arguments in VMOV instruction. + * testsuite/gas/arm/mve-vmov-1.d: Modify. + * testsuite/gas/arm/mve-vmov-1.s: Likewise. + * testsuite/gas/arm/mve-vorr.d: Likewise. + +2019-08-23 Nick Clifton <nickc@redhat.com> + + * po/sv.po: Updated Swedish translation. + +2019-08-22 Dennis Zhang <dennis.zhang@arm.com> + + * config/tc-arm.c: New entries for Cortex-M35P, Cortex-A77, + and Cortex-A76AE. + * doc/c-arm.texi: Document new processors. + * testsuite/gas/arm/cpu-cortex-a76ae.d: New test. + * testsuite/gas/arm/cpu-cortex-a77.d: New test. + * testsuite/gas/arm/cpu-cortex-m35p.d: New test. + +2019-08-22 Bosco García <jbgg.gnu@gmail.com> + Nick Clifton <nickc@redhat.com> + + * atof-generic.c (atof_generic): Do not ignore leading zeros if + they appear after a decimal point. + * testsuite/gas/all/float.s: Extend test to include a number with + a leading decimal point followed by several zeroes. + * testsuite/gas/i386/fp.s: Likewise. + * testsuite/gas/i386/fp.d: Update expected output. + +2019-08-22 Barnaby Wilks <barnaby.wilks@arm.com> + + * config/tc-aarch64.c: Add float16 directive and add "Hh" to + acceptable float characters. + * doc/c-aarch64.texi: Documentation for float16 directive. + * testsuite/gas/aarch64/float16-be.d: New test. + * testsuite/gas/aarch64/float16-le.d: New test. + * testsuite/gas/aarch64/float16.s: New test. + * NEWS: Add NEWS entry. + +2019-08-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * testsuite/gas/aarch64/sysreg-4.d: Update expected disassembly for + tfsre0_el1, tfsr_el1, tfsr_el2, tfsr_el3, tfsr_el12 system registers. + 2019-08-20 Dennis Zhang <dennis.zhang@arm.com> * NEWS: Mention the Arm and AArch64 new processors.
  63. Download patch bfd/pei-x86_64.c

    --- 2.32.51.20190821-2/bfd/pei-x86_64.c 2019-04-06 04:15:20.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/pei-x86_64.c 2019-08-28 00:02:34.000000000 +0000 @@ -228,27 +228,41 @@ pex64_xdata_print_uwd_codes (FILE *file, int unexpected = FALSE; fprintf (file, "\t pc+0x%02x: ", (unsigned int) dta[0]); + switch (PEX64_UNWCODE_CODE (dta[1])) { case UWOP_PUSH_NONVOL: fprintf (file, "push %s", pex_regs[info]); break; + case UWOP_ALLOC_LARGE: if (info == 0) { - tmp = bfd_get_16 (abfd, &dta[2]) * 8; + if (dta + 4 > ui->rawUnwindCodesEnd) + { + fprintf (file, _("warning: corrupt unwind data\n")); + return; + } + tmp = bfd_get_16 (abfd, dta + 2) * 8; i++; } else { - tmp = bfd_get_32 (abfd, &dta[2]); + if (dta + 6 > ui->rawUnwindCodesEnd) + { + fprintf (file, _("warning: corrupt unwind data\n")); + return; + } + tmp = bfd_get_32 (abfd, dta + 2); i += 2; } fprintf (file, "alloc large area: rsp = rsp - 0x%x", tmp); break; + case UWOP_ALLOC_SMALL: fprintf (file, "alloc small area: rsp = rsp - 0x%x", (info + 1) * 8); break; + case UWOP_SET_FPREG: /* According to the documentation, info field is unused. */ fprintf (file, "FPReg: %s = rsp + 0x%x (info = 0x%x)", @@ -257,22 +271,40 @@ pex64_xdata_print_uwd_codes (FILE *file, unexpected = ui->FrameRegister == 0; save_allowed = FALSE; break; + case UWOP_SAVE_NONVOL: - tmp = bfd_get_16 (abfd, &dta[2]) * 8; + if (dta + 4 > ui->rawUnwindCodesEnd) + { + fprintf (file, _("warning: corrupt unwind data\n")); + return; + } + tmp = bfd_get_16 (abfd, dta + 2) * 8; i++; fprintf (file, "save %s at rsp + 0x%x", pex_regs[info], tmp); unexpected = !save_allowed; break; + case UWOP_SAVE_NONVOL_FAR: - tmp = bfd_get_32 (abfd, &dta[2]); + if (dta + 6 > ui->rawUnwindCodesEnd) + { + fprintf (file, _("warning: corrupt unwind data\n")); + return; + } + tmp = bfd_get_32 (abfd, dta + 2); i += 2; fprintf (file, "save %s at rsp + 0x%x", pex_regs[info], tmp); unexpected = !save_allowed; break; + case UWOP_SAVE_XMM: if (ui->Version == 1) { - tmp = bfd_get_16 (abfd, &dta[2]) * 8; + if (dta + 4 > ui->rawUnwindCodesEnd) + { + fprintf (file, _("warning: corrupt unwind data\n")); + return; + } + tmp = bfd_get_16 (abfd, dta + 2) * 8; i++; fprintf (file, "save mm%u at rsp + 0x%x", info, tmp); unexpected = !save_allowed; @@ -283,24 +315,43 @@ pex64_xdata_print_uwd_codes (FILE *file, unexpected = TRUE; } break; + case UWOP_SAVE_XMM_FAR: - tmp = bfd_get_32 (abfd, &dta[2]) * 8; + if (dta + 6 > ui->rawUnwindCodesEnd) + { + fprintf (file, _("warning: corrupt unwind data\n")); + return; + } + tmp = bfd_get_32 (abfd, dta + 2) * 8; i += 2; fprintf (file, "save mm%u at rsp + 0x%x", info, tmp); unexpected = !save_allowed; break; + case UWOP_SAVE_XMM128: - tmp = bfd_get_16 (abfd, &dta[2]) * 16; + if (dta + 4 > ui->rawUnwindCodesEnd) + { + fprintf (file, _("warning: corrupt unwind data\n")); + return; + } + tmp = bfd_get_16 (abfd, dta + 2) * 16; i++; fprintf (file, "save xmm%u at rsp + 0x%x", info, tmp); unexpected = !save_allowed; break; + case UWOP_SAVE_XMM128_FAR: - tmp = bfd_get_32 (abfd, &dta[2]) * 16; + if (dta + 6 > ui->rawUnwindCodesEnd) + { + fprintf (file, _("warning: corrupt unwind data\n")); + return; + } + tmp = bfd_get_32 (abfd, dta + 2) * 16; i += 2; fprintf (file, "save xmm%u at rsp + 0x%x", info, tmp); unexpected = !save_allowed; break; + case UWOP_PUSH_MACHFRAME: fprintf (file, "interrupt entry (SS, old RSP, EFLAGS, CS, RIP"); if (info == 0) @@ -310,11 +361,13 @@ pex64_xdata_print_uwd_codes (FILE *file, else fprintf (file, ", unknown(%u))", info); break; + default: /* PR 17512: file: 2245-7442-0.004. */ fprintf (file, _("Unknown: %x"), PEX64_UNWCODE_CODE (dta[1])); break; - } + } + if (unexpected) fprintf (file, " [Unexpected!]"); fputc ('\n', file);
  64. Download patch ld/testsuite/ld-powerpc/pcrelopt.d

    --- 2.32.51.20190821-2/ld/testsuite/ld-powerpc/pcrelopt.d 2019-05-24 08:08:27.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/ld/testsuite/ld-powerpc/pcrelopt.d 2019-09-05 05:05:39.000000000 +0000 @@ -80,10 +80,17 @@ Disassembly of section \.text: .*: (04 10 00 01|01 00 10 04) pstxv vs0,66028 .*: (d8 00 01 ec|ec 01 00 d8) .*: (60 00 00 00|00 00 00 60) nop -.*: (04 10 00 01|01 00 10 04) pld r9,66008 -.*: (e5 20 01 d8|d8 01 20 e5) -.*: (e8 09 00 00|00 00 09 e8) ld r0,0\(r9\) +.*: (06 10 00 01|01 00 10 06) plbz r3,70676 +.*: (88 60 14 14|14 14 60 88) +.*: (60 00 00 00|00 00 00 60) nop .*: (60 00 00 00|00 00 00 60) nop -.*: (06 10 00 01|01 00 10 06) pla r7,66000 -.*: (38 e0 01 d0|d0 01 e0 38) +.*: (04 10 12 35|35 12 10 04) plq r4,305485896 +.*: (e0 80 58 48|48 58 80 e0) +.*: (07 00 00 00|00 00 00 07) pnop +.*: (00 00 00 00|00 00 00 00) +.*: (04 10 00 01|01 00 10 04) pld r9,65976 +.*: (e5 20 01 b8|b8 01 20 e5) +.*: (e8 09 00 00|00 00 09 e8) ld r0,0\(r9\) +.*: (06 10 00 01|01 00 10 06) pla r7,65972 +.*: (38 e0 01 b4|b4 01 e0 38) .*: (88 c7 00 00|00 00 c7 88) lbz r6,0\(r7\)
  65. Download patch bfd/version.h

    --- 2.32.51.20190821-2/bfd/version.h 2019-08-21 08:31:36.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/version.h 2019-09-05 05:05:39.000000000 +0000 @@ -16,7 +16,7 @@ In releases, the date is not included in either version strings or sonames. */ -#define BFD_VERSION_DATE 20190821 +#define BFD_VERSION_DATE 20190905 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@
  66. Download patch opcodes/tic30-dis.c

    --- 2.32.51.20190821-2/opcodes/tic30-dis.c 2019-01-18 07:41:42.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/opcodes/tic30-dis.c 2019-09-03 15:43:26.000000000 +0000 @@ -253,7 +253,9 @@ get_indirect_operand (unsigned short fra for (i = 0, bufcnt = 0; i < len; i++, bufcnt++) { buffer[bufcnt] = current_ind->syntax[i]; - if (buffer[bufcnt - 1] == 'a' && buffer[bufcnt] == 'r') + if (bufcnt > 0 + && buffer[bufcnt - 1] == 'a' + && buffer[bufcnt] == 'r') buffer[++bufcnt] = arnum + '0'; if (buffer[bufcnt] == '(' && current_ind->displacement == DISP_REQUIRED) Binary files 2.32.51.20190821-2/zlib/contrib/dotzlib/DotZLib.chm and 2.32.51.20190905-0ubuntu1/zlib/contrib/dotzlib/DotZLib.chm differ
  67. Download patch gas/testsuite/gas/riscv/li64.d

    --- 2.32.51.20190821-2/gas/testsuite/gas/riscv/li64.d 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/riscv/li64.d 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,44 @@ +#as: -march=rv64ic -mabi=lp64 +#objdump: -dr + +.*: file format elf64-littleriscv + + +Disassembly of section .text: + +0000000000000000 <target>: +[^:]+:[ ]+6521[ ]+lui[ ]+a0,0x8 +[^:]+:[ ]+2505[ ]+addiw[ ]+a0,a0,1 +[^:]+:[ ]+6509[ ]+lui[ ]+a0,0x2 +[^:]+:[ ]+f015051b[ ]+addiw[ ]+a0,a0,-255 +[^:]+:[ ]+12345537[ ]+lui[ ]+a0,0x12345 +[^:]+:[ ]+2505[ ]+addiw[ ]+a0,a0,1 +[^:]+:[ ]+000f2537[ ]+lui[ ]+a0,0xf2 +[^:]+:[ ]+3455051b[ ]+addiw[ ]+a0,a0,837 +[^:]+:[ ]+0532[ ]+slli[ ]+a0,a0,0xc +[^:]+:[ ]+0505[ ]+addi[ ]+a0,a0,1 +[^:]+:[ ]+00f12537[ ]+lui[ ]+a0,0xf12 +[^:]+:[ ]+3455051b[ ]+addiw[ ]+a0,a0,837 +[^:]+:[ ]+0532[ ]+slli[ ]+a0,a0,0xc +[^:]+:[ ]+0505[ ]+addi[ ]+a0,a0,1 +[^:]+:[ ]+ff010537[ ]+lui[ ]+a0,0xff010 +[^:]+:[ ]+f015051b[ ]+addiw[ ]+a0,a0,-255 +[^:]+:[ ]+054e[ ]+slli[ ]+a0,a0,0x13 +[^:]+:[ ]+80150513[ ]+addi[ ]+a0,a0,-2047 # .* +[^:]+:[ ]+0536[ ]+slli[ ]+a0,a0,0xd +[^:]+:[ ]+f0150513[ ]+addi[ ]+a0,a0,-255 +[^:]+:[ ]+0010051b[ ]+addiw[ ]+a0,zero,1 +[^:]+:[ ]+151a[ ]+slli[ ]+a0,a0,0x26 +[^:]+:[ ]+1565[ ]+addi[ ]+a0,a0,-7 +[^:]+:[ ]+0536[ ]+slli[ ]+a0,a0,0xd +[^:]+:[ ]+34550513[ ]+addi[ ]+a0,a0,837 +[^:]+:[ ]+0532[ ]+slli[ ]+a0,a0,0xc +[^:]+:[ ]+0505[ ]+addi[ ]+a0,a0,1 +[^:]+:[ ]+01fc4537[ ]+lui[ ]+a0,0x1fc4 +[^:]+:[ ]+c915051b[ ]+addiw[ ]+a0,a0,-879 +[^:]+:[ ]+0536[ ]+slli[ ]+a0,a0,0xd +[^:]+:[ ]+1565[ ]+addi[ ]+a0,a0,-7 +[^:]+:[ ]+0536[ ]+slli[ ]+a0,a0,0xd +[^:]+:[ ]+34550513[ ]+addi[ ]+a0,a0,837 # .* +[^:]+:[ ]+0532[ ]+slli[ ]+a0,a0,0xc +[^:]+:[ ]+0505[ ]+addi[ ]+a0,a0,1
  68. Download patch binutils/testsuite/binutils-all/dwarf-attributes.S

    --- 2.32.51.20190821-2/binutils/testsuite/binutils-all/dwarf-attributes.S 2019-01-18 07:41:41.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/binutils/testsuite/binutils-all/dwarf-attributes.S 2019-08-28 00:02:34.000000000 +0000 @@ -38,7 +38,7 @@ .byte 1 /* Inline: inlined. */ .byte 1 /* Accessibility: public. */ .byte 1 /* Calling convention: normal. */ - .byte 1 /* Discriminate list: range. */ + .byte 3,1,1,2 /* Discriminate list: range. */ .byte 1 /* Encoding: address. */ .byte 1 /* Identifier case: up. */ .byte 1 /* Virtuality: virtual. */ @@ -53,7 +53,7 @@ .byte 0 /* Inline: not. */ .byte 2 /* Accessibility: protected. */ .byte 5 /* Calling convention: pass by value. */ - .byte 0 /* Discriminate list: label. */ + .byte 2,0,1 /* Discriminate list: label. */ .byte 0x12 /* Encoding: ASCII. */ .byte 0 /* Identifier case: sensitive. */ .byte 0 /* Virtuality: none. */ @@ -68,7 +68,7 @@ .byte 3 /* Inline: declared. */ .byte 3 /* Accessibility: private. */ .byte 0x40 /* Calling convention: Renesas SH. */ - .byte 1 /* Discriminate list: range. */ + .byte 5,1,2,3,0,4 /* Discriminate list: range and label. */ .byte 0x81 /* Encoding: user specified. */ .byte 3 /* Identifier case: insensitive. */ .byte 2 /* Virtuality: pure. */ @@ -107,7 +107,7 @@ .uleb128 0x0b /* (DW_FORM_data1) */ .uleb128 0x3d /* (DW_AT_discr_lists) */ - .uleb128 0x0b /* (DW_FORM_data1) */ + .uleb128 0x0a /* (DW_FORM_block1) */ .uleb128 0x3e /* (DW_AT_encoding) */ .uleb128 0x0b /* (DW_FORM_data1) */
  69. Download patch bfd/elfxx-aarch64.h

    --- 2.32.51.20190821-2/bfd/elfxx-aarch64.h 2019-04-06 04:15:20.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/elfxx-aarch64.h 2019-08-28 00:02:34.000000000 +0000 @@ -40,8 +40,8 @@ _bfd_aarch64_elf_put_addend (bfd *, bfd_ reloc_howto_type *, bfd_signed_vma); extern bfd_vma -_bfd_aarch64_elf_resolve_relocation (bfd_reloc_code_real_type, bfd_vma, bfd_vma, - bfd_vma, bfd_boolean); +_bfd_aarch64_elf_resolve_relocation (bfd *, bfd_reloc_code_real_type, bfd_vma, + bfd_vma, bfd_vma, bfd_boolean); extern bfd_boolean _bfd_aarch64_elf_grok_prstatus (bfd *, Elf_Internal_Note *);
  70. Download patch gas/testsuite/gas/riscv/li32.d

    --- 2.32.51.20190821-2/gas/testsuite/gas/riscv/li32.d 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/gas/testsuite/gas/riscv/li32.d 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,17 @@ +#as: -march=rv32ic -mabi=ilp32 +#objdump: -dr + +.*: file format elf32-littleriscv + + +Disassembly of section .text: + +0+000 <target>: +[^:]+:[ ]+6521[ ]+lui[ ]+a0,0x8 +[^:]+:[ ]+0505[ ]+addi[ ]+a0,a0,1 +[^:]+:[ ]+6509[ ]+lui[ ]+a0,0x2 +[^:]+:[ ]+f0150513[ ]+addi[ ]+a0,a0,-255 # .* +[^:]+:[ ]+12345537[ ]+lui[ ]+a0,0x12345 +[^:]+:[ ]+0505[ ]+addi[ ]+a0,a0,1 +[^:]+:[ ]+f2345537[ ]+lui[ ]+a0,0xf2345 +[^:]+:[ ]+0505[ ]+addi[ ]+a0,a0,1
  71. Download patch bfd/elfnn-riscv.c

    --- 2.32.51.20190821-2/bfd/elfnn-riscv.c 2019-08-19 16:10:31.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/elfnn-riscv.c 2019-09-03 05:46:14.000000000 +0000 @@ -373,9 +373,23 @@ riscv_elf_create_dynamic_sections (bfd * if (!bfd_link_pic (info)) { + /* Technically, this section doesn't have contents. It is used as the + target of TLS copy relocs, to copy TLS data from shared libraries into + the executable. However, if we don't mark it as loadable, then it + matches the IS_TBSS test in ldlang.c, and there is no run-time address + space allocated for it even though it has SEC_ALLOC. That test is + correct for .tbss, but not correct for this section. There is also + a second problem that having a section with no contents can only work + if it comes after all sections with contents in the same segment, + but the linker script does not guarantee that. This is just mixed in + with other .tdata.* sections. We can fix both problems by lying and + saying that there are contents. This section is expected to be small + so this should not cause a significant extra program startup cost. */ htab->sdyntdata = bfd_make_section_anyway_with_flags (dynobj, ".tdata.dyn", (SEC_ALLOC | SEC_THREAD_LOCAL + | SEC_LOAD | SEC_DATA + | SEC_HAS_CONTENTS | SEC_LINKER_CREATED)); } @@ -2297,7 +2311,10 @@ riscv_elf_relocate_section (bfd *output_ (uint64_t) rel->r_offset, howto->name, h->root.root.string); - continue; + + bfd_set_error (bfd_error_bad_value); + ret = FALSE; + goto out; } if (r == bfd_reloc_ok) @@ -3533,12 +3550,13 @@ _bfd_riscv_relax_lui (bfd *abfd, if (gp) { - /* If gp and the symbol are in the same output section, then - consider only that section's alignment. */ + /* If gp and the symbol are in the same output section, which is not the + abs section, then consider only that output section's alignment. */ struct bfd_link_hash_entry *h = bfd_link_hash_lookup (link_info->hash, RISCV_GP_SYMBOL, FALSE, FALSE, TRUE); - if (h->u.def.section->output_section == sym_sec->output_section) + if (h->u.def.section->output_section == sym_sec->output_section + && sym_sec->output_section != bfd_abs_section_ptr) max_alignment = (bfd_vma) 1 << sym_sec->output_section->alignment_power; } @@ -3767,11 +3785,13 @@ _bfd_riscv_relax_pc (bfd *abfd ATTRIBUT if (gp) { - /* If gp and the symbol are in the same output section, then - consider only that section's alignment. */ + /* If gp and the symbol are in the same output section, which is not the + abs section, then consider only that output section's alignment. */ struct bfd_link_hash_entry *h = - bfd_link_hash_lookup (link_info->hash, RISCV_GP_SYMBOL, FALSE, FALSE, TRUE); - if (h->u.def.section->output_section == sym_sec->output_section) + bfd_link_hash_lookup (link_info->hash, RISCV_GP_SYMBOL, FALSE, FALSE, + TRUE); + if (h->u.def.section->output_section == sym_sec->output_section + && sym_sec->output_section != bfd_abs_section_ptr) max_alignment = (bfd_vma) 1 << sym_sec->output_section->alignment_power; }
  72. Download patch ld/testsuite/ld-aarch64/undef-tls.d

    --- 2.32.51.20190821-2/ld/testsuite/ld-aarch64/undef-tls.d 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/ld/testsuite/ld-aarch64/undef-tls.d 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,17 @@ +#source: undef-tls.s +#ld: -e0 --emit-relocs +#objdump: -dr +#... +#error:.*: in function `get':.* +#error:.*: undefined reference to `tls'.* +#error:.*: TLS relocation R_AARCH64_TLSLE_ADD_TPREL_HI12 against undefined symbol `tls'.* +#error:.*: dangerous relocation: unsupported relocation.* +#error:.*: undefined reference to `tls'.* +#error:.*: TLS relocation R_AARCH64_TLSLE_ADD_TPREL_LO12_NC against undefined symbol `tls'.* +#error:.*: dangerous relocation: unsupported relocation.* +#error:.*: undefined reference to `dtl'.* +#error:.*: TLS relocation R_AARCH64_TLSLD_ADD_DTPREL_HI12 against undefined symbol `dtl'.* +#error:.*: dangerous relocation: unsupported relocation.* +#error:.*: undefined reference to `dtl'.* +#error:.*: TLS relocation R_AARCH64_TLSLD_ADD_DTPREL_LO12 against undefined symbol `dtl'.* +#error:.*: dangerous relocation: unsupported relocation.*
  73. Download patch binutils/testsuite/binutils-all/dwarf-attributes.W

    --- 2.32.51.20190821-2/binutils/testsuite/binutils-all/dwarf-attributes.W 2017-10-16 12:02:36.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/binutils/testsuite/binutils-all/dwarf-attributes.W 2019-08-28 00:02:34.000000000 +0000 @@ -1,7 +1,7 @@ Contents of the .debug_info section: Compilation Unit @ offset 0x0: - Length: 0x36 \(32-bit\) + Length: 0x40 \(32-bit\) Version: 5 Abbrev Offset: 0x0 Pointer Size: 4 @@ -12,38 +12,38 @@ Contents of the .debug_info section: <11> DW_AT_inline : 1 \(inlined\) <12> DW_AT_accessibility: 1 \(public\) <13> DW_AT_calling_convention: 1 \(normal\) - <14> DW_AT_discr_list : 1 \(range\) - <15> DW_AT_encoding : 1 \(machine address\) - <16> DW_AT_identifier_case: 1 \(up_case\) - <17> DW_AT_virtuality : 1 \(virtual\) - <18> DW_AT_decimal_sign: 1 \(unsigned\) - <19> DW_AT_endianity : 1 \(big\) - <1a> DW_AT_defaulted : 1 \(in class\) - <0><1b>: Abbrev Number: 1 \(User TAG value: 0x5555\) - <1c> DW_AT_ordering : 0 \(row major\) - <1d> DW_AT_language : 22 \(Go\) - <1f> DW_AT_visibility : 2 \(exported\) - <20> DW_AT_inline : 0 \(not inlined\) - <21> DW_AT_accessibility: 2 \(protected\) - <22> DW_AT_calling_convention: 5 \(pass by value\) - <23> DW_AT_discr_list : 0 \(label\) - <24> DW_AT_encoding : 18 \(ASCII\) - <25> DW_AT_identifier_case: 0 \(case_sensitive\) - <26> DW_AT_virtuality : 0 \(none\) - <27> DW_AT_decimal_sign: 2 \(leading overpunch\) - <28> DW_AT_endianity : 0 \(default\) - <29> DW_AT_defaulted : 0 \(no\) - <0><2a>: Abbrev Number: 1 \(User TAG value: 0x5555\) - <2b> DW_AT_ordering : 255 \(undefined\) - <2c> DW_AT_language : 32769 \(MIPS assembler\) - <2e> DW_AT_visibility : 3 \(qualified\) - <2f> DW_AT_inline : 3 \(declared as inline and inlined\) - <30> DW_AT_accessibility: 3 \(private\) - <31> DW_AT_calling_convention: 64 \(Rensas SH\) - <32> DW_AT_discr_list : 1 \(range\) - <33> DW_AT_encoding : 129 \(HP_complex_float80\) - <34> DW_AT_identifier_case: 3 \(case_insensitive\) - <35> DW_AT_virtuality : 2 \(pure_virtual\) - <36> DW_AT_decimal_sign: 5 \(trailing separate\) - <37> DW_AT_endianity : 80 \(user specified\) - <38> DW_AT_defaulted : 2 \(out of class\) + <14> DW_AT_discr_list : 3 byte block: 1 1 2 \(range 1..2\)\(unsigned\) + <18> DW_AT_encoding : 1 \(machine address\) + <19> DW_AT_identifier_case: 1 \(up_case\) + <1a> DW_AT_virtuality : 1 \(virtual\) + <1b> DW_AT_decimal_sign: 1 \(unsigned\) + <1c> DW_AT_endianity : 1 \(big\) + <1d> DW_AT_defaulted : 1 \(in class\) + <0><1e>: Abbrev Number: 1 \(User TAG value: 0x5555\) + <1f> DW_AT_ordering : 0 \(row major\) + <20> DW_AT_language : 22 \(Go\) + <22> DW_AT_visibility : 2 \(exported\) + <23> DW_AT_inline : 0 \(not inlined\) + <24> DW_AT_accessibility: 2 \(protected\) + <25> DW_AT_calling_convention: 5 \(pass by value\) + <26> DW_AT_discr_list : 2 byte block: 0 1 \(label 1\)\(unsigned\) + <29> DW_AT_encoding : 18 \(ASCII\) + <2a> DW_AT_identifier_case: 0 \(case_sensitive\) + <2b> DW_AT_virtuality : 0 \(none\) + <2c> DW_AT_decimal_sign: 2 \(leading overpunch\) + <2d> DW_AT_endianity : 0 \(default\) + <2e> DW_AT_defaulted : 0 \(no\) + <0><2f>: Abbrev Number: 1 \(User TAG value: 0x5555\) + <30> DW_AT_ordering : 255 \(undefined\) + <31> DW_AT_language : 32769 \(MIPS assembler\) + <33> DW_AT_visibility : 3 \(qualified\) + <34> DW_AT_inline : 3 \(declared as inline and inlined\) + <35> DW_AT_accessibility: 3 \(private\) + <36> DW_AT_calling_convention: 64 \(Rensas SH\) + <37> DW_AT_discr_list : 5 byte block: 1 2 3 0 4 \(range 2..3, label 4\)\(unsigned\) + <3d> DW_AT_encoding : 129 \(HP_complex_float80\) + <3e> DW_AT_identifier_case: 3 \(case_insensitive\) + <3f> DW_AT_virtuality : 2 \(pure_virtual\) + <40> DW_AT_decimal_sign: 5 \(trailing separate\) + <41> DW_AT_endianity : 80 \(user specified\) + <42> DW_AT_defaulted : 2 \(out of class\)
  74. Download patch bfd/elfxx-x86.c

    --- 2.32.51.20190821-2/bfd/elfxx-x86.c 2019-04-24 07:28:50.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/elfxx-x86.c 2019-08-28 00:02:34.000000000 +0000 @@ -2171,17 +2171,18 @@ _bfd_x86_elf_get_synthetic_symtab (bfd * bfd_vma); bfd_boolean (*valid_plt_reloc_p) (unsigned int); + dynrelbuf = NULL; if (count == 0) - return -1; + goto bad_return; dynrelbuf = (arelent **) bfd_malloc (relsize); if (dynrelbuf == NULL) - return -1; + goto bad_return; dynrelcount = bfd_canonicalize_dynamic_reloc (abfd, dynrelbuf, dynsyms); if (dynrelcount <= 0) - return -1; + goto bad_return; /* Sort the relocs by address. */ qsort (dynrelbuf, dynrelcount, sizeof (arelent *),
  75. Download patch bfd/bfd-in2.h

    --- 2.32.51.20190821-2/bfd/bfd-in2.h 2019-08-11 14:59:56.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/bfd-in2.h 2019-09-03 05:46:14.000000000 +0000 @@ -7180,6 +7180,9 @@ struct bfd /* Set if this is a thin archive. */ unsigned int is_thin_archive : 1; + /* Set if this archive should not cache element positions. */ + unsigned int no_element_cache : 1; + /* Set if only required symbols should be added in the link hash table for this object. Used by VMS linkers. */ unsigned int selective_search : 1;
  76. Download patch ld/testsuite/ld-aarch64/weak-tls.d

    --- 2.32.51.20190821-2/ld/testsuite/ld-aarch64/weak-tls.d 1970-01-01 00:00:00.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/ld/testsuite/ld-aarch64/weak-tls.d 2019-08-28 00:02:34.000000000 +0000 @@ -0,0 +1,8 @@ +#source: weak-tls.s +#ld: -e0 --emit-relocs +#objdump: -dr +#... +#error:.*: warning: Weak TLS is implementation defined and may not work as expected.* +#error:.*: warning: Weak TLS is implementation defined and may not work as expected.* +#error:.*: in function `get':.* +#error:.*: relocation truncated to fit: R_AARCH64_TLSLD_ADD_DTPREL_LO12 against undefined symbol `dtl'.*
  77. Download patch binutils/ChangeLog

    --- 2.32.51.20190821-2/binutils/ChangeLog 2019-08-19 16:10:31.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/binutils/ChangeLog 2019-09-03 05:46:14.000000000 +0000 @@ -1,3 +1,78 @@ +2019-08-29 Alan Modra <amodra@gmail.com> + + * dwarf.c (check_uvalue): Remove unnecessary pointer checks. + +2019-08-28 Niklas Gürtler <profclonk@gmail.com> + + PR 24942 + * objcopy.c (SECTION_CONTEXT_SET_ALIGNMENT): New constant. + (struct section_list): Add alignment field. + (command_line_switch): Add OPTION_SET_SECTION_ALIGNMENT. + (copy_options): Add --set-section-alignment. + (copy_usage): Describe --set-section-alignment. + (find_section_list): Initialise the alignment field. + (setup_section): Handle the alignment field. + (copy_main): Handle OPTION_SET_SECTION_ALIGNMENT. + * doc/binutils.texi: Document the new feature. + * NEWS: Mention the new feature. + +2019-08-28 Nick Clifton <nickc@redhat.com> + + PR 24931 + * objdump.c (source_comment): New static variable. + (option_values): Add OPTION_SOURCE_COMMENT. + (long_opions): Add --source-comment. + (print_line): If source comment is set, use it as a prefix to the + source code line. + (main): Handle OPTION_SOURCE_COMMENT. + * doc/binutils.texi: Document the new option. + * NEWS: Mention the new feature. + * testsuite/binutils-all/objdump.exp (test_objdump_S): Add tests + of the -S and --source-comment options. + +2019-08-27 Nick Clifton <nickc@redhat.com> + + PR 24510 + * dwarf.c (MAX_CU_NESTING): New constant. + (level_type_signed): New static array. + (skip_attr_bytes): New function. + (get_type_signedness): New function. + (read_and_print_leb128): New function. + (display_discr_list): New function. + (read_and_display_attr_value): Add start parameter. + Use new functions when handling DW_AT_type and DW_AT_discr_list. + (read_and_display_attr): Add start parameter. Pass to + read_and_display_attr_value. + (process_debug_info): Update call to read_and_display_attr. + (display_formatted_table): Likewise. + (display_debug_lines_decoded): Likewise. Also add start + parameter. + (display_debug_lines): Likewise. + * testsuite/binutils-all/dwarf-attributes.S: Update discrimination + lists. + * testsuite/binutils-all/dwarf-attributes.W: Update expected + output. + +2019-08-26 Alan Modra <amodra@gmail.com> + + PR 24938 + * debug.c (debug_write_type): Call empty_type for NULL type here.. + (debug_write_type): ..rather than in just one case here. + +2019-08-23 Nick Clifton <nickc@redhat.com> + + PR 24829 + * dwarf.c (check_uvalue): New function. Ensures that a block's + size is valid. + (read_and_display_attr_value): Use check_value when processsing + DW_FORM_block<n> attributes. + +2019-08-22 Nick Clifton <nickc@redhat.com> + + PR 24921 + * dwarf.c (process_cu_tu_index): Handle the case where a table + does not have any columns. + 2019-08-19 Alan Modra <amodra@gmail.com> PR 24898
  78. Download patch include/elf/arm.h

    --- 2.32.51.20190821-2/include/elf/arm.h 2019-05-17 14:04:04.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/include/elf/arm.h 2019-08-28 00:02:34.000000000 +0000 @@ -399,11 +399,4 @@ enum arm_st_branch_type { | ((TYPE) & ENUM_ARM_ST_BRANCH_TYPE_BITMASK)) #endif -/* Get or set whether a symbol is a special symbol of an entry function of CMSE - secure code. */ -#define ARM_GET_SYM_CMSE_SPCL(SYM_TARGET_INTERNAL) \ - (((SYM_TARGET_INTERNAL) >> 2) & 1) -#define ARM_SET_SYM_CMSE_SPCL(SYM_TARGET_INTERNAL) \ - (SYM_TARGET_INTERNAL) |= 4 - #endif /* _ELF_ARM_H */
  79. Download patch binutils/NEWS

    --- 2.32.51.20190821-2/binutils/NEWS 2019-05-29 05:55:07.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/binutils/NEWS 2019-09-03 05:46:14.000000000 +0000 @@ -1,4 +1,9 @@ -*- text -*- +* Add --source-comment[=<txt>] option to objdump which if present, + provides a prefix to source code lines displayed in a disassembly. + +* Add --set-section-alignment <section-name>=<align> option to objcopy to allow + the changing of section alignments. * Add --verilog-data-width option to objcopy for verilog targets to control width of data elements in verilog hex format.
  80. Download patch include/ChangeLog

    --- 2.32.51.20190821-2/include/ChangeLog 2019-08-11 14:59:56.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/include/ChangeLog 2019-09-03 05:46:14.000000000 +0000 @@ -1,3 +1,12 @@ +2019-08-30 Claudiu Zissulescu <claziss@gmail.com> + + * opcode/arc.h (FASTMATH): Move it from insn_class_t to + insn_subclass_t enum. + +2019-08-22 Alan Modra <amodra@gmail.com> + + * elf/arm.h (ARM_GET_SYM_CMSE_SPCL, ARM_SET_SYM_CMSE_SPCL): Delete. + 2019-08-09 Mihailo Stojanovic <mihailo.stojanovic@rt-rk.com> * elf/mips.h (SHT_GNU_XHASH): New define.
  81. Download patch bfd/libbfd-in.h

    --- 2.32.51.20190821-2/bfd/libbfd-in.h 2019-08-19 16:10:31.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/libbfd-in.h 2019-09-05 05:05:39.000000000 +0000 @@ -123,6 +123,15 @@ extern void *bfd_realloc2 extern void *bfd_zmalloc2 (bfd_size_type, bfd_size_type) ATTRIBUTE_HIDDEN; +static inline char * +bfd_strdup (const char *str) +{ + size_t len = strlen (str) + 1; + char *buf = bfd_malloc (len); + if (buf != NULL) + memcpy (buf, str, len); + return buf; +} /* These routines allocate and free things on the BFD's objalloc. */ extern void *bfd_alloc2
  82. Download patch ld/testsuite/ld-powerpc/pcrelopt.s

    --- 2.32.51.20190821-2/ld/testsuite/ld-powerpc/pcrelopt.s 2019-05-24 08:08:27.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/ld/testsuite/ld-powerpc/pcrelopt.s 2019-09-05 05:05:39.000000000 +0000 @@ -103,6 +103,18 @@ _start: .reloc .-8,R_PPC64_PCREL_OPT,0f-(.-8) 0: stxv 0,0(9) +#offsets are allowed too + pld 9,sym@got@pcrel +0: + lbz 3,0x1234(9) + .reloc 0b-8,R_PPC64_PCREL_OPT,(.-4)-(0b-8) + +#and prefix insns as the second insn + pld 9,sym@got@pcrel +0: + plq 4,0x12345678(9) + .reloc 0b-8,R_PPC64_PCREL_OPT,(.-8)-(0b-8) + # This should not optimize .extern i .type i,@object
  83. Download patch debian/dwp.1

    --- 2.32.51.20190821-2/debian/dwp.1 2019-06-11 12:56:39.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/debian/dwp.1 2018-07-18 10:15:04.000000000 +0000 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.10. -.TH DWP "1" "June 2019" "dwp (GNU Binutils for Debian) 2.32.51.20190611" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. +.TH DWP "1" "July 2018" "dwp (GNU Binutils for Ubuntu) 2.31.1" "User Commands" .SH NAME dwp \- The DWARF packaging utility .SH SYNOPSIS @@ -27,7 +27,7 @@ Print version number .SH "REPORTING BUGS" Report bugs to <http://www.sourceware.org/bugzilla/> .SH COPYRIGHT -Copyright \(co 2019 Free Software Foundation, Inc. +Copyright \(co 2018 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) any later version. This program has absolutely no warranty.
  84. Download patch bfd/opncls.c

    --- 2.32.51.20190821-2/bfd/opncls.c 2019-01-18 07:41:41.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/bfd/opncls.c 2019-09-05 05:05:39.000000000 +0000 @@ -223,6 +223,8 @@ bfd_fopen (const char *filename, const c if (nbfd->iostream == NULL) { bfd_set_error (bfd_error_system_call); + if (fd != -1) + close (fd); _bfd_delete_bfd (nbfd); return NULL; } @@ -231,7 +233,13 @@ bfd_fopen (const char *filename, const c /* PR 11983: Do not cache the original filename, but rather make a copy - the original might go away. */ - nbfd->filename = xstrdup (filename); + nbfd->filename = bfd_strdup (filename); + if (nbfd->filename == NULL) + { + fclose (nbfd->iostream); + _bfd_delete_bfd (nbfd); + return NULL; + } /* Figure out whether the user is opening the file for reading, writing, or both, by looking at the MODE argument. */ @@ -243,8 +251,9 @@ bfd_fopen (const char *filename, const c else nbfd->direction = write_direction; - if (! bfd_cache_init (nbfd)) + if (!bfd_cache_init (nbfd)) { + fclose (nbfd->iostream); _bfd_delete_bfd (nbfd); return NULL; } @@ -398,7 +407,12 @@ bfd_openstreamr (const char *filename, c nbfd->iostream = stream; /* PR 11983: Do not cache the original filename, but rather make a copy - the original might go away. */ - nbfd->filename = xstrdup (filename); + nbfd->filename = bfd_strdup (filename); + if (nbfd->filename == NULL) + { + _bfd_delete_bfd (nbfd); + return NULL; + } nbfd->direction = read_direction; if (! bfd_cache_init (nbfd)) @@ -594,7 +608,12 @@ bfd_openr_iovec (const char *filename, c /* PR 11983: Do not cache the original filename, but rather make a copy - the original might go away. */ - nbfd->filename = xstrdup (filename); + nbfd->filename = bfd_strdup (filename); + if (nbfd->filename == NULL) + { + _bfd_delete_bfd (nbfd); + return NULL; + } nbfd->direction = read_direction; /* `open_p (...)' would get expanded by an the open(2) syscall macro. */ @@ -661,7 +680,12 @@ bfd_openw (const char *filename, const c /* PR 11983: Do not cache the original filename, but rather make a copy - the original might go away. */ - nbfd->filename = xstrdup (filename); + nbfd->filename = bfd_strdup (filename); + if (nbfd->filename == NULL) + { + _bfd_delete_bfd (nbfd); + return NULL; + } nbfd->direction = write_direction; if (bfd_open_file (nbfd) == NULL) @@ -801,7 +825,12 @@ bfd_create (const char *filename, bfd *t return NULL; /* PR 11983: Do not cache the original filename, but rather make a copy - the original might go away. */ - nbfd->filename = xstrdup (filename); + nbfd->filename = bfd_strdup (filename); + if (nbfd->filename == NULL) + { + _bfd_delete_bfd (nbfd); + return NULL; + } if (templ) nbfd->xvec = templ->xvec; nbfd->direction = no_direction;
  85. Download patch opcodes/ChangeLog

    --- 2.32.51.20190821-2/opcodes/ChangeLog 2019-08-13 10:02:13.000000000 +0000 +++ 2.32.51.20190905-0ubuntu1/opcodes/ChangeLog 2019-09-03 15:43:26.000000000 +0000 @@ -1,3 +1,31 @@ +2019-09-03 Nick Clifton <nickc@redhat.com> + + PR 24961 + * tic30-dis.c (get_indirect_operand): Check for bufcnt being + greater than zero before indexing via (bufcnt -1). + +2019-09-03 Nick Clifton <nickc@redhat.com> + + PR 24958 + * mmix-dis.c (MAX_REG_NAME_LEN): Define. + (MAX_SPEC_REG_NAME_LEN): Define. + (struct mmix_dis_info): Use defined constants for array lengths. + (get_reg_name): New function. + (get_sprec_reg_name): New function. + (print_insn_mmix): Use new functions. + +2019-08-27 Srinath Parvathaneni <srinath.parvathaneni@arm.com> + + * arm-dis.c (mve_opcodes): Add entry for MVE_VMOV_VEC_TO_VEC. + (is_mve_undefined): Add case for MVE_VMOV_VEC_TO_VEC. + (print_insn_mve): Add condition to check Qm==Qn of VORR instruction. + +2019-08-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * aarch64-opc.c (aarch64_sys_regs): Update encoding of tfsre0_el1, + tfsr_el1, tfsr_el2, tfsr_el3, tfsr_el12. + (aarch64_sys_reg_supported_p): Update checks for the above. + 2019-08-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com> * arm-dis.c (struct mopcode32 mve_opcodes): Modify the mask for
  86. Download patch bfd/elf64-ppc.c

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: binutils-mingw-w64

binutils-mingw-w64 (8.3ubuntu2) disco; urgency=medium * No-change rebuild. -- Matthias Klose <doko@ubuntu.com> Tue, 09 Apr 2019 01:27:16 +0200 binutils-mingw-w64 (8.3ubuntu1) disco; urgency=medium * Build using binutils 2.32. * Update the specify-timestamp patch. -- Matthias Klose <doko@ubuntu.com> Tue, 05 Mar 2019 10:52:38 +0100

Modifications :
  1. Download patch debian/patches/specify-timestamp.patch

    --- 8.3/debian/patches/specify-timestamp.patch 2018-07-01 20:57:52.000000000 +0000 +++ 8.3ubuntu2/debian/patches/specify-timestamp.patch 2019-03-05 09:52:38.000000000 +0000 @@ -13,10 +13,10 @@ Author: Stephen Kitt <skitt@debian.org> /* NOTE: it's strange to be including an architecture specific header in what's supposed to be general (to PE/PEI) code. However, that's where the definitions are, and they don't vary per architecture -@@ -878,10 +881,38 @@ - H_PUT_16 (abfd, filehdr_in->f_nscns, filehdr_out->f_nscns); +@@ -879,10 +882,38 @@ _bfd_XXi_only_swap_filehdr_out (bfd * ab - /* Only use a real timestamp if the option was chosen. */ + /* Use a real timestamp by default, unless the no-insert-timestamp + option was chosen. */ - if ((pe_data (abfd)->insert_timestamp)) - H_PUT_32 (abfd, time (0), filehdr_out->f_timdat); - else @@ -66,7 +66,7 @@ Author: Stephen Kitt <skitt@debian.org> #include <time.h> #include "ld.h" -@@ -1202,8 +1204,36 @@ +@@ -1202,8 +1204,36 @@ fill_edata (bfd *abfd, struct bfd_link_i memset (edata_d, 0, edata_sz); @@ -107,7 +107,7 @@ Author: Stephen Kitt <skitt@debian.org> { --- a/upstream/ld/emultempl/pe.em +++ b/upstream/ld/emultempl/pe.em -@@ -303,7 +303,7 @@ +@@ -303,7 +303,7 @@ gld${EMULATION_NAME}_add_options OPTION_USE_NUL_PREFIXED_IMPORT_TABLES}, {"no-leading-underscore", no_argument, NULL, OPTION_NO_LEADING_UNDERSCORE}, {"leading-underscore", no_argument, NULL, OPTION_LEADING_UNDERSCORE}, @@ -118,7 +118,7 @@ Author: Stephen Kitt <skitt@debian.org> /* getopt allows abbreviations, so we do this to stop it --- a/upstream/ld/emultempl/pep.em +++ b/upstream/ld/emultempl/pep.em -@@ -321,7 +321,7 @@ +@@ -321,7 +321,7 @@ gld${EMULATION_NAME}_add_options {"no-bind", no_argument, NULL, OPTION_NO_BIND}, {"wdmdriver", no_argument, NULL, OPTION_WDM_DRIVER}, {"tsaware", no_argument, NULL, OPTION_TERMINAL_SERVER_AWARE},
  1. binutils
  2. binutils-mingw-w64