1. 28 Jun, 2016 19 commits
    • Nick Clifton's avatar
      Fix typo in previous commit · bb95c51a
      Nick Clifton authored
    • H.J. Lu's avatar
      Skip version check for unreferenced and undefined symbol · f4ab0e2d
      H.J. Lu authored
      No need to check version if symbol is unreferenced and undefined.
      	PR ld/20306
      	* elflink.c (elf_link_check_versioned_symbol): Return false
      	for unreferenced undefined symbol.
      	* testsuite/ld-gc/gc.exp: Run pr20306 test.
      	* ld-gc/pr20306.c: New file.
      	* ld-gc/pr20306.d: Likewise.
    • Nick Clifton's avatar
      Fix more linker testsuite failures. · 1b857aee
      Nick Clifton authored
      bfin	* elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
      	is needed.
      ld	* testsuite/ld-elf/comm-data.exp: Expect comm-data2 test to fail
      	for bfin.
      	* testsuite/ld-elf/elf.exp: Expect pr14170 and symbolic function
      	tests to fail for bfin.
      	* testsuite/ld-elf/endsym.d: Expect to fail with cr16, crx, dlx,
      	nds32 and visium.
      	* testsuite/ld-elf/var1.d: Expect to fail with d30v, dlx, ft32 and
      	* testsuite/ld-pe/pe.exp: Expect foreign symbol test to fail for
    • Nick Clifton's avatar
      Relax previous restriction on running binutils ar tests for Alpha targets,... · 50c901ed
      Nick Clifton authored
      Relax previous restriction on running binutils ar tests for Alpha targets, allowing the tests to be run for ELF variants.
      	* testsuite/binutils-all/ar.exp: Relax previous restriction on
      	Alpha targets.  Allow ELF based Alpha targets.
    • Maciej W. Rozycki's avatar
      Use `supports_gnu_unique' with the `unique_symbol' and `type' tests · eb9bb5b4
      Maciej W. Rozycki authored
      Complement commit a43942db ("LD/ELF: Unify STB_GNU_UNIQUE handling")
      and use `supports_gnu_unique' with the `unique_symbol' and `type' tests,
      fixing failures like:
      .../binutils/testsuite/binutils-all/unique.s: Assembler messages:
      .../binutils/testsuite/binutils-all/unique.s:2: Error: symbol type "gnu_unique_object" is supported only by GNU targets
      ERROR: .../binutils/testsuite/binutils-all/unique.s: assembly failed
      UNRESOLVED: ar unique symbol in archive
      .../binutils/ar -s -r -c tmpdir/artest.a tmpdir/unique.o
      Executing on host: .../binutils/ar -s -r -c tmpdir/artest.a tmpdir/unique.o   (timeout = 300)
      .../binutils/ar: tmpdir/unique.o: No such file or directory
      FAIL: ar unique symbol in archive
      .../gas/testsuite/gas/elf/type.s: Assembler messages:
      .../gas/testsuite/gas/elf/type.s:30: Error: symbol type "gnu_unique_object" is supported only by GNU targets
      ../as-new: BFD (GNU Binutils) internal error, aborting...
    • Nick Clifton's avatar
      Mark ARM mapping symbols in object files are precious, so that strip will not remove them. · fca2a38f
      Nick Clifton authored
      	* elf32-arm.c (elf32_arm_backend_symbol_processing): New
      	function.  Marks mapping symbols in object files as precious, so
      	that strip will not remove them.
      	(elf_backend_symbol_processing): Define.
    • Nick Clifton's avatar
      Fix RX and M68HC11 linker testsuite failures. · 8b9a915d
      Nick Clifton authored
      ld	* testsuite/ld-elf/merge.d: Add m68hc11 to list of targets that
      	expect to fail this test.
      	* testsuite/ld-scripts/overlay-size.d: Skip the entire test for
      	* testsuite/ld-scripts/rgn-at10.d: No longer expect this test to
      	fail for the RX.
      	* testsuite/ld-scripts/rgn-at11.d: Likewise.
      	* testsuite/ld-scripts/rgn-at2.d: Likewise.
      	* testsuite/ld-scripts/rgn-at6.d: Likewise.
      	* testsuite/ld-scripts/rgn-at7.d: Likewise.
      	* testsuite/ld-scripts/rgn-at8.d: Likewise.
    • Yao Qi's avatar
      Implement get_syscall_trapinfo for arm-linux · 79e7fd4f
      Yao Qi authored
      2016-06-28  Yao Qi  <yao.qi@linaro.org>
      	* linux-arm-low.c (arm_get_syscall_trapinfo): New function.
      	(the_low_target): Install arm_get_syscall_trapinfo.
    • Yao Qi's avatar
      Implement get_syscall_trapinfo for aarch64-linux · 061fc021
      Yao Qi authored
      2016-06-28  Yao Qi  <yao.qi@linaro.org>
      	* linux-aarch64-low.c (aarch64_get_syscall_trapinfo): New
      	(the_low_target): Install aarch64_get_syscall_trapinfo.
    • Yao Qi's avatar
      Remove parameter sysret from linux_target_ops.get_syscall_trapinfo · 4cc32bec
      Yao Qi authored
      When I implement linux_target_ops.get_syscall_trapinfo for aarch64 and arm,
      I find the second parameter sysret isn't used at all.  In RSP, we don't
      need syscall return value either, because GDB can figure out the return
      value from registers content got by 'g' packet.
      This patch is to remove them.
      2016-06-28  Yao Qi  <yao.qi@linaro.org>
      	* linux-low.c (get_syscall_trapinfo): Remove parameter sysret.
      	Callers updated.
      	* linux-low.h (struct linux_target_ops) <get_syscall_trapinfo>:
      	Remove parameter sysno.
      	* linux-x86-low.c (x86_get_syscall_trapinfo): Remove parameter
    • Yao Qi's avatar
      Probe catch syscall support · a31d2f06
      Yao Qi authored
      In 82075af2 (Implement 'catch syscall'
      for gdbserver), only x86 is supported, but the test can still be run
      on other linux targets, like aarch64 and ppc, with native-gdbserver.
      This causes many new fails.
      This patch removes the check on isnative and on target triplets.
      Instead, we can insert catch point, and resume the program to see whether
      catch syscall is supported or not.
      2016-06-28  Yao Qi  <yao.qi@linaro.org>
      	* gdb.base/catch-syscall.exp: Remove check on isnative and target
      	triplets.  Start gdb, execute catch syscall, and continue.  Check
      	gdb's output to determine catch syscall is supported.
    • James Clarke's avatar
      Don't convert R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64. · 7160c10d
      James Clarke authored
      bfd	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
      	R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
      gold	* sparc.cc (Target_sparc::Scan::local): Don't convert R_SPARC_32
      	to R_SPARC_RELATIVE if class is ELFCLASS64.
      	(Target_sparc::Scan::global): Likewise.
      ld	* testsuite/ld-elf/symbolic-func.r: Allow non-zero offsets from
    • Maciej W. Rozycki's avatar
      MIPS/LD/testsuite: Accept any UNIX OS/ABI with GNU attribute tests · 6c9a7fb6
      Maciej W. Rozycki authored
      Remove failures with FreeBSD targets, e.g:
      regexp_diff match failure
      regexp "^  OS/ABI:                            UNIX - System V$"
      line   "  OS/ABI:                            UNIX - FreeBSD"
      FAIL: ld-mips-elf/attr-gnu-4-50
      introduced with commit 351cdf24 ("[MIPS] Implement O32 FPXX, FP64
      and FP64A ABI extensions").
      	* testsuite/ld-mips-elf/attr-gnu-4-10.d: Match any UNIX OS/ABI.
      	* testsuite/ld-mips-elf/attr-gnu-4-50.d: Likewise.
      	* testsuite/ld-mips-elf/attr-gnu-4-60.d: Likewise.
      	* testsuite/ld-mips-elf/attr-gnu-4-70.d: Likewise.
    • Alan Modra's avatar
      Fix new testcase for hppa64 · d48796b5
      Alan Modra authored
      Anything in first column is a label on hppa64.
      	PR gas/20247
      	* testsuite/gas/elf/section11.s: Don't start directives in first column.
    • Alan Modra's avatar
      Don't run ld-scripts/pr20302 on linuxaout · 56a30421
      Alan Modra authored
      	PR ld/20302
      	* testsuite/ld-scripts/pr20302.d: Exclude *-*-*aout.
    • Alan Modra's avatar
      Invalid read in _bfd_elf_get_symbol_version_string · f2b2af2c
      Alan Modra authored
      	PR 20304
      	* objdump.c (objdump_print_symname): Don't attempt to retrieve
      	version info from synthetic symbols.
    • Richard Sandiford's avatar
      [AArch64] Make register indices be full 64-bit values · dab26bf4
      Richard Sandiford authored
      aarch64_opnd_info used bitfields to hold vector element indices,
      but values were stored into those bitfields before their ranges had
      been checked.  This meant large invalid indices could be silently
      truncated to smaller valid indices.
      The two obvious fixes were to do the range checking earlier or use
      a full 64-bit field for the index.  I went for the latter for two
            - Doing the range checking in operand_general_constraint_met_p
              seems structurally cleaner than doing it while parsing.
            - The bitfields didn't really buy us anything.  The imm field
              of the union is already 128 bits, so we can use a full int64_t
              index without growing the structure.
      The patch also adds missing range checks for the elements in a register
      list index.
      	* opcode/aarch64.h (aarch64_opnd_info): Change index fields to int64_t.
      	* aarch64-opc.c (operand_general_constraint_met_p): Check the
      	range of ldst_elemlist operands.
      	(print_register_list): Use PRIi64 to print the index.
      	(aarch64_print_operand): Likewise.
      	* testsuite/gas/aarch64/diagnostic.s,
      	testsuite/gas/aarch64/diagnostic.l: Add tests for out-of-range indices.
    • Maciej W. Rozycki's avatar
      MIPS16: Add R_MIPS16_PC16_S1 branch relocation support · c9775dde
      Maciej W. Rozycki authored
      For R_MIPS16_PC16_S1 the calculation is `(sign_extend(A) + S - P) >> 1'
      and the usual MIPS16 bit shuffling applies to relocated field handling,
      as per the encoding of the branch target in the extended form of the
      MIPS16 B, BEQZ, BNEZ, BTEQZ and BTNEZ instructions.
      	* elf/mips.h (R_MIPS16_PC16_S1): New relocation.
      	* elf32-mips.c (elf_mips16_howto_table_rel): Add
      	(mips16_reloc_map): Likewise.
      	* elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
      	(mips16_elf64_howto_table_rela): Likewise.
      	(mips16_reloc_map): Likewise.
      	* elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
      	(elf_mips16_howto_table_rela): Likewise.
      	(mips16_reloc_map): Likewise.
      	* elfxx-mips.c (mips16_branch_reloc_p): New function.
      	(mips16_reloc_p): Handle R_MIPS16_PC16_S1.
      	(b_reloc_p): Likewise.
      	(mips_elf_calculate_relocation): Likewise.
      	(_bfd_mips_elf_check_relocs): Likewise.
      	* reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
      	* bfd-in2.h: Regenerate.
      	* libbfd.h: Regenerate.
      	* config/tc-mips.c (mips16_reloc_p): Handle
      	(b_reloc_p): Likewise.
      	(limited_pcrel_reloc_p): Likewise.
      	(md_pcrel_from): Likewise.
      	(md_apply_fix): Likewise.
      	(tc_gen_reloc): Likewise.
      	(md_convert_frag): Likewise.
      	(mips_fix_adjustable): Update comment.
      	* testsuite/gas/mips/mips16-branch-reloc-2.d: Remove error
      	output, add dump patterns.
      	* testsuite/gas/mips/mips16-branch-reloc-3.d: Remove error
      	output, add dump patterns.
      	* testsuite/gas/mips/mips16-branch-addend-2.d: Remove error
      	output, add dump patterns.
      	* testsuite/gas/mips/mips16-branch-addend-3.d: Remove error
      	output, add dump patterns.
      	* testsuite/gas/mips/mips16-branch-absolute.d: Remove error
      	output, add dump patterns.
      	* testsuite/gas/mips/mips16-branch-reloc-2.l: Remove file.
      	* testsuite/gas/mips/mips16-branch-reloc-3.l: Remove file.
      	* testsuite/gas/mips/mips16-branch-addend-2.l: Remove file.
      	* testsuite/gas/mips/mips16-branch-addend-3.l: Remove file.
      	* testsuite/gas/mips/mips16-branch-absolute.l: Remove file.
      	* testsuite/gas/mips/mips16-branch-addend-2.s: Add padding.
      	* testsuite/gas/mips/branch-weak.s: Adjust alignment, avoid
      	implicit instruction padding, avoid MIPS16 JR->JRC conversion.
      	* testsuite/gas/mips/branch-weak-6.d: New test.
      	* testsuite/gas/mips/branch-weak-7.d: New test.
      	* testsuite/gas/mips/mips.exp: Run the new tests.
      	* testsuite/ld-mips-elf/mips16-branch-2.d: New test.
      	* testsuite/ld-mips-elf/mips16-branch-3.d: New test.
      	* testsuite/ld-mips-elf/mips16-branch-addend-2.d: New test.
      	* testsuite/ld-mips-elf/mips16-branch-addend-3.d: New test.
      	* testsuite/ld-mips-elf/mips16-branch.s: New test source.
      	* testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
    • GDB Administrator's avatar
      Automatic date update in version.in · bac13b9c
      GDB Administrator authored
  2. 27 Jun, 2016 13 commits
    • Manish Goregaokar's avatar
      Fix changelog · 6763d566
      Manish Goregaokar authored
    • Manish Goregaokar's avatar
      Print void types correctly in Rust · 921d8f54
      Manish Goregaokar authored
      Rust prefers to not specify the return type of a function when it is unit
      (`()`). The type is also referred to as "void" in debuginfo but not in actual
      usage, so we should never be printing "void" when the language is Rust.
      2016-06-27  Manish Goregaokar  <manish@mozilla.com>
          * rust-lang.c (rust_print_type): Print unit types as "()"
          * rust-lang.c (rust_print_type): Omit return type for functions
          returning unit
          * gdb.rust/simple.rs: Add test for returning unit in a function
          * gdb.rust/simple.exp: Add expectation for functions returning unit
    • Vineet Gupta's avatar
      Make the kernel dwarf stack unwinder work for ARC targets. · 45a54ee5
      Vineet Gupta authored
      	* config//tc-arc.c (tc_arc_frame_initial_instructions): Use
      	cfi_add_CFA_def_cfa to generate default CFA with offset
      	* testsuite/gas/cfi/cfi-arc-1.d: Update expected output.
    • Nick Clifton's avatar
      Allow a second -T<section>=<addr> to override a previous version on the same linker command line. · 42b7a39b
      Nick Clifton authored
      	PR ld/20302
      	* lexsup.c (set_segment_start): If resetting the start address of
      	a section, remember to generate a new script element as well.
      	* testsuite/ld-scripts/pr20302.d: New test.
      	* testsuite/ld-scripts/scripts.exp: Run the new test.
    • Nick Clifton's avatar
      oops - omitted from previous delta · 95daf210
      Nick Clifton authored
    • Nick Clifton's avatar
      Add command line option to stop the assembler from padding the end of sections... · 2edb36e7
      Nick Clifton authored
      Add command line option to stop the assembler from padding the end of sections to their alignment boundary.
      	PR gas/20247
      	* as.h (do_not_pad_sections_to_alignment): New global variable.
      	* as.c (show_usage): Add --no-pad-sections.
      	(parse_args): Likewise.
      	* write.c (size_seg): Skip padding the end of the section if
      	requested from the command line.
      	(SUB_SEGMENT_ALIGN): Likewise.
      	* doc/as.texinfo: Document the new option.
      	* NEWS: Mention the new feature.
      	* testsuite/gas/elf/section11.s: New test.
      	* testsuite/gas/elf/section11.d: New test driver.
      	* testsuite/gas/elf/elf.exp: Run the new test.
    • Alan Modra's avatar
      PR 19264 looping in ppc64_elf_size_stubs · c9301e31
      Alan Modra authored
      b3991020 fixed the testcase in this PR but it may be possible to
      trigger the problem in other ways.
      	PR ld/19264
      	* elf64-ppc.c (STUB_SHRINK_ITER): Define.
      	(ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
      	if shrinking stubs.
      	(ppc64_elf_size_stubs): Adjust to suit.
    • Pierre-Marie de Rodat's avatar
      Fix use of a dangling pointer for Python breakpoint objects · f4952523
      Pierre-Marie de Rodat authored
      When a Python script tries to create a breakpoint but fails to do so,
      gdb.Breakpoint.__init__ raises an exception and the breakpoint does not
      exist anymore in the Python interpreter. However, GDB still keeps a
      reference to the Python object to be used for a later hook, which is
      This commit adds the necessary cleanup code so that there is no stale
      reference to this Python object. It also adds a new testcase to
      reproduce the bug and check the fix.
      2016-06-25  Pierre-Marie de Rodat  <derodat@adacore.com>
      	* python/py-breakpoint.c (bppy_init): Clear bppy_pending_object
      	when there is an error during the breakpoint creation.
      	* gdb.python/py-breakpoint-create-fail.c,
      	gdb.python/py-breakpoint-create-fail.py: New testcase.
    • Trevor Saunders's avatar
      add ChangeLog entries · 3cd72572
      Trevor Saunders authored
    • Trevor Saunders's avatar
      dlx: move prototype of dlx_set_skip_hi16 to elf/dlx.h · 48afb194
      Trevor Saunders authored
      2016-06-27  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
      	* elf32-dlx.h: New file.
      	* elf32-dlx.c: Adjust.
      2016-06-27  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
      	* config/tc-dlx.c: Include bfd/elf32-dlx.h.
      	* config/tc-dlx.h: Remove prototype of dlx_set_skip_hi16.
    • Trevor Saunders's avatar
      xtensa: remove a sentinal · e066bf5f
      Trevor Saunders authored
      2016-06-27  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
      	* config/tc-xtensa.c (xtensa_elf_suffix): Use ARRAY_SIZE instead of a
      	sentinal element.
      	(map_suffix_reloc_to_operator): Likewise.
      	(map_operator_to_reloc): Likewise.
    • Trevor Saunders's avatar
      nds32: remove a sentinal · 0708347f
      Trevor Saunders authored
      2016-06-27  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
      	* config/tc-nds32.c (md_begin): Use ARRAY_SIZE instead of a sentinal
      	element in relax_table.
    • GDB Administrator's avatar
      Automatic date update in version.in · cd529d78
      GDB Administrator authored
  3. 26 Jun, 2016 1 commit
  4. 25 Jun, 2016 7 commits
    • Trevor Saunders's avatar
      aarch64: make the type of reg_entry::type aarch64_reg_type · 8a0b252a
      Trevor Saunders authored
      2016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
      	* config/tc-aarch64.c: Make the type of reg_entry::type
    • Trevor Saunders's avatar
      remove a few sentinals · 5703197e
      Trevor Saunders authored
      2016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
      	* config/tc-bfin.c (bfin_cpus): Remove sentinal.
      	(md_parse_option): Adjust.
      	* config/tc-aarch64.c (aarch64_parse_abi): Replace use of a sentinal
      	with iteration from 0 to ARRAY_SIZE.
      	* config/tc-mcore.c (md_begin): Likewise.
      	* config/tc-visium.c (visium_parse_arch): Likewise.
      2016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
      	* mcore-opc.h: Remove sentinal.
      	* mcore-dis.c (print_insn_mcore): Adjust.
    • Trevor Saunders's avatar
      simplify tic54x_set_default_include () · 4b92e388
      Trevor Saunders authored
      its only called with an argument of 0, so we might as well remove the code
      supporting other values.
      2016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
      	* config/tc-tic54x.c (tic54x_set_default_include): remove argument
      							   and simplify accordingly.
      	(tic54x_include): Adjust.
      	(tic54x_mlib): Likewise.
    • Trevor Saunders's avatar
      xtensa: prototype xtensa_make_property_section in elf/xtensa.h · 7c2c4aa1
      Trevor Saunders authored
      There's no reason to have multiple prototypes for the same function.
      2016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
      	* elf/xtensa.h (xtensa_make_property_section): New prototype.
      2016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
      	* config/tc-xtensa.c (xtensa_make_property_section): Remove prototype.
      2016-06-25  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
      	* elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
    • Tom Tromey's avatar
      Fix formatting in rust-lang.c · 9e8a8ea8
      Tom Tromey authored
      This fixes up a few formatting nits in rust-lang.c.
      Built and regtested on x86-64 Fedora 23.
      2016-06-25  Tom Tromey  <tom@tromey.com>
      	* rust-lang.c (rust_get_disr_info, rust_print_type): Fix
    • Manish Goregaokar's avatar
      Add tests for printing of NonZero-optimized enums in Rust · fccb08f8
      Manish Goregaokar authored
      2016-06-25  Manish Goregaokar  <manish@mozilla.com>
          PR gdb/20239
          * gdb.rust/simple.rs: Add more tests for printing NonZero enums.
          * gdb.rust/simple.exp: Add test expectations for new NonZero tests.
    • Manish Goregaokar's avatar
      Make evaluation and type-printing of all NonZero optimized enums work · b5a4b3c5
      Manish Goregaokar authored
      2016-06-25  Manish Goregaokar  <manish@mozilla.com>
          PR gdb/20239
          * rust-lang.c (rust_get_disr_info): Correctly interpret
          NonZero-optimized enums of arbitrary depth.
          (rust_print_type): Correctly print NonZero-optimized