deliverable/binutils-gdb.git
8 years agoInitialize variables in i386_linux_handle_segmentation_fault
Simon Marchi [Thu, 25 Feb 2016 16:03:22 +0000 (11:03 -0500)] 
Initialize variables in i386_linux_handle_segmentation_fault

We see this error when building with gcc 4.3.

../../gdb/i386-linux-tdep.c: In function ‘i386_linux_handle_segmentation_fault’:
../../gdb/i386-linux-tdep.c:399: error: ‘access’ may be used uninitialized in this function
../../gdb/i386-linux-tdep.c:399: error: ‘upper_bound’ may be used uninitialized in this function
../../gdb/i386-linux-tdep.c:399: error: ‘lower_bound’ may be used uninitialized in this function

It's a false positive, since the variables will always get initialized
in the TRY clause, and the CATCH returns.

gdb/ChangeLog:

* i386-linux-tdep.c (i386_linux_handle_segmentation_fault):
Initialize variables.

8 years agogdb.trace: Remove unnecessary target check from ftrace.exp.
Marcin Kościelnicki [Fri, 19 Feb 2016 19:33:34 +0000 (20:33 +0100)] 
gdb.trace: Remove unnecessary target check from ftrace.exp.

The check used hardcoded targets and wasn't doing anything useful anyway,
since unsupported architectures blow up on link due to missing the IPA
library before they ever get to that check.

gdb/testsuite/ChangeLog:

* gdb.trace/ftrace.exp: Remove unnecessary target check.

8 years agogdb.trace: Surround $call_insn with \y in entry-values.exp
Marcin Kościelnicki [Fri, 19 Feb 2016 19:29:23 +0000 (20:29 +0100)] 
gdb.trace: Surround $call_insn with \y in entry-values.exp

The PPC64 tracepoint patch added \y at the end of the call_insn pattern -
without that, it embarassed itself and matched the 'bl' in "Dump of
assem*bl*er code for function" as the powerpc call opcode.  Since that
sounds like a generally good idea, I've added \y before and after
call_insn for every target.  As a result, I had to change x86_64's mnemonic
to 'callq'.

gdb/testsuite/ChangeLog:

* gdb.trace/entry-values.exp: Surround $call_insn with '\y',
change x86_64 call_insn to 'callq'.

8 years agoMap registers to remote numbers when encoding an ax_reg or ax_reg_mask operation
Antoine Tremblay [Wed, 24 Feb 2016 20:00:17 +0000 (15:00 -0500)] 
Map registers to remote numbers when encoding an ax_reg or ax_reg_mask operation

When encoding the agent expression operation ax_reg or ax_reg_mask, the
register number used is internal to GDB. However GDBServer expects a tdesc
based number.

This usually does not cause a problem since at the moment, for raw
registers GDBServer R trace action ignores the register mask and just
collects all registers.

It can be a problem, however with pseudo registers on some platforms if the
tdesc number doesn't match the GDB internal register number.

This is the case with ARM, the upcoming ARM tracepoint support, fails
these test cases without this patch:

gdb.trace/collection.exp: collect register locals collectively:*

GDBSever would exit with: unhandled register size
Since the register number is not mapped.

This patch fixes these issues by calling gdbarch_remote_register_number
before encoding the register number in the ax_reg or ax_reg_mask operation.

Tested on x86 native-gdbserver no regressions observed.

gdb/ChangeLog:

* ax-general.c (ax_reg): Call gdbarch_remote_register_number.
(ax_reg_mask): Likewise.

8 years agoAdd elf_x86_64_need_pic
H.J. Lu [Thu, 25 Feb 2016 00:31:29 +0000 (16:31 -0800)] 
Add elf_x86_64_need_pic

Add elf_x86_64_need_pic and replace x86_64_elf_howto_table[r_type].name
with howto->name.

* elf64-x86-64.c (elf_x86_64_need_pic): New function.
(elf_x86_64_relocate_section): Use it.  Replace
x86_64_elf_howto_table[r_type] with howto.

8 years agogas: Update tests for big-endian arc targets
Andrew Burgess [Tue, 23 Feb 2016 00:05:27 +0000 (00:05 +0000)] 
gas: Update tests for big-endian arc targets

Some gas tests are excluded for arc targets using the pattern arc-*-*,
however this only covers little endian arc targets.  This commit extends
the patter to cover big endian arc targets, the pattern is now arc*-*-*.

gas/ChangeLog:

* testsuite/gas/all/gas.exp: Change target pattern to cover
arceb-*.
* testsuite/gas/all/redef3.d: Likewise.
* testsuite/gas/elf/elf.exp: Likewise.

8 years agoRemove unused field from ld_config_type structure.
Nick Clifton [Thu, 25 Feb 2016 10:33:29 +0000 (10:33 +0000)] 
Remove unused field from ld_config_type structure.

* ld.h (struct ld_config_type): Remove specified_data_size field.

8 years agoAutomatic date update in version.in
GDB Administrator [Thu, 25 Feb 2016 00:00:16 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agoUpdate symbol version for symbol from linker script
H.J. Lu [Wed, 24 Feb 2016 23:13:35 +0000 (15:13 -0800)] 
Update symbol version for symbol from linker script

We need to update symbol version for symbols from linker script.

bfd/

PR ld/19698
* elflink.c (bfd_elf_record_link_assignment): Set versioned if
symbol version is unknown.

ld/

PR ld/19698
* testsuite/ld-elf/pr19698.d: New file.
* testsuite/ld-elf/pr19698.s: Likewise.
* testsuite/ld-elf/pr19698.t: Likewise.

8 years agoHandle MIPS Linux SIGTRAP siginfo.si_code values
Pedro Alves [Wed, 24 Feb 2016 22:52:06 +0000 (22:52 +0000)] 
Handle MIPS Linux SIGTRAP siginfo.si_code values

This unbreaks pending/delayed breakpoints handling, as well as
hardware watchpoints, on MIPS.

Ref: https://sourceware.org/ml/gdb-patches/2016-02/msg00681.html

The MIPS kernel reports SI_KERNEL for all kernel generated traps,
instead of TRAP_BRKPT / TRAP_HWBKPT, but GDB isn't aware of this.

Basically, this commit:

- Folds watchpoints logic into check_stopped_by_breakpoint, and
  renames it to save_stop_reason.

- Adds GDB_ARCH_IS_TRAP_HWBKPT.

- Makes MIPS set both GDB_ARCH_IS_TRAP_BRPT and
  GDB_ARCH_IS_TRAP_HWBKPT to SI_KERNEL.  In save_stop_reason, we
  handle the case of the same si_code returning true for both
  TRAP_BRPT and TRAP_HWBKPT by looking at what the debug registers
  say.

Tested on x86-64 Fedora 20, native and gdbserver.

gdb/ChangeLog:
2016-02-24  Pedro Alves  <palves@redhat.com>

* linux-nat.c (save_sigtrap) Delete.
(stop_wait_callback): Call save_stop_reason instead of
save_sigtrap.
(check_stopped_by_breakpoint): Rename to ...
(save_stop_reason): ... this.  Bits of save_sigtrap folded here.
Use GDB_ARCH_IS_TRAP_HWBKPT and handle ambiguous
GDB_ARCH_IS_TRAP_BRKPT / GDB_ARCH_IS_TRAP_HWBKPT.  Factor out
common code between the USE_SIGTRAP_SIGINFO and
!USE_SIGTRAP_SIGINFO blocks.
(linux_nat_filter_event): Call save_stop_reason instead of
save_sigtrap.
* nat/linux-ptrace.h: Check for both SI_KERNEL and TRAP_BRKPT
si_code for MIPS.
* nat/linux-ptrace.h: Fix "TRAP_HWBPT" typo in x86 table.  Add
comments on MIPS behavior.
(GDB_ARCH_IS_TRAP_HWBKPT): Define for all archs.

gdb/gdbserver/ChangeLog:
2016-02-24  Pedro Alves  <palves@redhat.com>

* linux-low.c (check_stopped_by_breakpoint): Rename to ...
(save_stop_reason): ... this.  Use GDB_ARCH_IS_TRAP_HWBKPT and
handle ambiguous GDB_ARCH_IS_TRAP_BRKPT / GDB_ARCH_IS_TRAP_HWBKPT.
Factor out common code between the USE_SIGTRAP_SIGINFO and
!USE_SIGTRAP_SIGINFO blocks.
(linux_low_filter_event): Call save_stop_reason instead of
check_stopped_by_breakpoint and check_stopped_by_watchpoint.
Update comments.
(linux_wait_1): Update comments.

8 years ago[OBV] gdb/rs6000: Fix maybe-uninitialized warning.
Marcin Kościelnicki [Wed, 24 Feb 2016 21:00:59 +0000 (22:00 +0100)] 
[OBV] gdb/rs6000: Fix maybe-uninitialized warning.

Introduced by 657f9cde9d531c9929bef9e02a8064101d568f50.

gdb/ChangeLog:

* rs6000-tdep.c (rs6000_frame_cache): Initialize frame and pc to 0
to avoid spurious warnings.

8 years agoMove tfile-avx.exp to tracefile-pseudo-reg.exp
Antoine Tremblay [Wed, 24 Feb 2016 19:23:47 +0000 (14:23 -0500)] 
Move tfile-avx.exp to tracefile-pseudo-reg.exp

As it is planned to add more architectures to this test, rename to a more
generic name.

gdb/testsuite/ChangeLog:

* gdb.trace/tfile-avx.c: Move to...
* gdb.trace/tracefile-pseudo-reg.c: Here.
* gdb.trace/tfile-avx.exp: Move to...
* gdb.trace/tracefile-pseudo-reg.exp: Here.

8 years agoMove new skip features to proper section (post 7.11).
Doug Evans [Wed, 24 Feb 2016 18:19:50 +0000 (10:19 -0800)] 
Move new skip features to proper section (post 7.11).

8 years ago[GAS][ARM][3/3]Add armv8.2 fp16 scalar instruction support. Based on SE_H instruction...
Renlin Li [Wed, 24 Feb 2016 17:59:35 +0000 (17:59 +0000)] 
[GAS][ARM][3/3]Add armv8.2 fp16 scalar instruction support. Based on SE_H instruction shape.

gas/

2016-02-24  Renlin Li  <renlin.li@arm.com>

* config/tc-arm.c (BAD_FP16): New error message macro.
(do_scalar_fp16_v82_encode): Change the coproc field to 9 for armv8.2
fp16 scalar instructions.
(neon_check_type): Allow different size from key.
(do_vfp_nsyn_add_sub): Add support SE_H shape support.
(try_vfp_nsyn): Likewise.
(do_vfp_nsyn_mla_mls): Likewise.
(do_vfp_nsyn_fma_fms): Likewise.
(do_vfp_nsyn_ldm_stm): Likewise
(do_vfp_nsyn_sqrt): Likewise
(do_vfp_nsyn_div): Likewise
(do_vfp_nsyn_nmul): Likewise.
(do_vfp_nsyn_cmp): Likewise.
(do_neon_shll): Likewise.
(do_vfp_nsyn_cvt_fpv8): Likewise.
(do_neon_cvttb_2): Likewise.
(do_neon_mov): Likewise.
(do_neon_rshift_round_imm): Likewise.
(do_neon_ldr_str): Likewise.
(do_vfp_nsyn_fpv8): Likewise.
(do_vmaxnm): Likewise.
(do_vrint_1): Likewise.
(insns): New entry for vins, vmovx.
(md_apply_fix): Left shift 1 bit for fp16 vldr/vstr.
* testsuite/gas/arm/armv8-2-fp16-scalar-thumb.d: New.
* testsuite/gas/arm/armv8-2-fp16-scalar.d: New.
* testsuite/gas/arm/armv8-2-fp16-scalar.s: New.
* testsuite/gas/arm/armv8-2-fp16-scalar-bad.s: New
* testsuite/gas/arm/armv8-2-fp16-scalar-bad.d: New
* testsuite/gas/arm/armv8-2-fp16-scalar-bad.l: New

8 years agopowerpc: Support z-point type in gdbserver.
Wei-cheng Wang [Sat, 27 Jun 2015 16:21:39 +0000 (00:21 +0800)] 
powerpc: Support z-point type in gdbserver.

Support z-point, so tracepoints and breakpoints can be inserted at the same
location.

gdb/gdbserver/ChangeLog:

2016-02-24  Wei-cheng Wang  <cole945@gmail.com>

* linux-ppc-low.c (ppc_supports_z_point_type): New function:
(ppc_insert_point, ppc_remove_point): Insert/remove z-packet breakpoints.
(ppc64_emit_ops_vector): Add target ops - ppc_supports_z_point_type,
ppc_insert_point, ppc_remove_point.

8 years agoRevert "ABS32"
Renlin Li [Wed, 24 Feb 2016 14:51:12 +0000 (14:51 +0000)] 
Revert "ABS32"

This reverts commit 30bdf5c82e5734ac9f0b18eb7af631806d419270.

8 years ago[GAS][ARM][2/3]Add SE_H shape to represent fp16 type.
Renlin Li [Wed, 24 Feb 2016 14:18:16 +0000 (14:18 +0000)] 
[GAS][ARM][2/3]Add SE_H shape to represent fp16 type.

gas/

2016-02-24  Renlin Li  <renlin.li@arm.com>

* config/tc-arm.c (NEON_ENC_TAB): Add fp16 instruction shape.
(neon_shape_class): New SC_HALF.
(neon_shape_el): New SE_H.
(neon_shape_el_size): New size for SE_H.
(N_F_ALL): New macro to aggregate N_F16, N_F32, N_64.
(neon_select_shape): Add SE_H support code.
(el_type_of_type_chk): Use N_F_ALL.
(do_vfp_nsyn_cvt): Add SE_H shape support.
(do_neon_cvtz): Likewise.
(do_neon_cvt_1): Likewise.
(do_neon_cvttb_1): Likewise.

8 years ago[OPCODES][ARM][1/3]Add armv8.2 fp16 instruction dissembler support.
Renlin Li [Wed, 24 Feb 2016 14:08:39 +0000 (14:08 +0000)] 
[OPCODES][ARM][1/3]Add armv8.2 fp16 instruction dissembler support.

opcodes/

2016-02-24  Renlin Li  <renlin.li@arm.com>

* arm-dis.c (coprocessor_opcodes): Add fp16 instruction entries.
(print_insn_coprocessor): Support fp16 instruction.

gas/

2016-02-24  Renlin Li  <renlin.li@arm.com>

* testsuite/gas/arm/copro.d: Adjust output.
* testsuite/gas/arm/copro.s: Adjust co-processor num.

8 years ago[OPCODES][ARM]Fix mask for a few coprocessor opcodes.
Renlin Li [Wed, 24 Feb 2016 13:55:30 +0000 (13:55 +0000)] 
[OPCODES][ARM]Fix mask for a few coprocessor opcodes.

opcodes/

2016-02-24  Renlin Li  <renlin.li@arm.com>

* arm-dis.c (coprocessor_opcodes): Fix mask for vsel, vmaxnm, vminnm,
vrint(mpna).

gas/

2016-02-24  Renlin Li  <renlin.li@arm.com>

* testsuite/gas/arm/mask_1.d: New.
* testsuite/gas/arm/mask_1.s: New.

8 years ago[OPCODE][ARM]Correct disassembler for cdp/cdp2, mcr/mcr2, mrc/mrc2, ldc/ldc2, stc...
Renlin Li [Wed, 24 Feb 2016 13:48:59 +0000 (13:48 +0000)] 
[OPCODE][ARM]Correct disassembler for cdp/cdp2, mcr/mcr2, mrc/mrc2, ldc/ldc2, stc/stc2

opcodes/

2016-02-24  Renlin Li  <renlin.li@arm.com>

* arm-dis.c (print_insn_coprocessor): Check co-processor number for
cpd/cpd2, mcr/mcr2, mrc/mrc2, ldc/ldc2, stc/stc2.

gas/

2016-02-24  Renlin Li  <renlin.li@arm.com>

* testsuite/gas/arm/copro.s: Use coprocessor other than 10, 11.
* testsuite/gas/arm/copro.d: Update.

8 years agoABS32
Renlin Li [Thu, 18 Feb 2016 16:50:50 +0000 (16:50 +0000)] 
ABS32

8 years agoSet plt_got.offset to (bfd_vma) -1
H.J. Lu [Wed, 24 Feb 2016 13:42:27 +0000 (05:42 -0800)] 
Set plt_got.offset to (bfd_vma) -1

Since plt_got.offset may be updated in x86 allocate_dynrelocs, set
plt_got.offset to (bfd_vma) -1 when setting needs_plt to 0.

* elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
to (bfd_vma) -1 when setting needs_plt to 0.
* elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.

8 years agoFix logic in exec_file_locate_attach
Gary Benson [Wed, 24 Feb 2016 11:31:58 +0000 (11:31 +0000)] 
Fix logic in exec_file_locate_attach

This commit fixes an error in exec_file_locate_attach where
the main executable could be loaded from outside the sysroot
if a nonempty, non-"target:" sysroot was set but the discovered
executable filename did not exist in that sysroot and did exist
on the main filesystem.

gdb/ChangeLog:

* exec.c (exec_file_locate_attach): Do not attempt to
locate main executable locally if not found in sysroot.

gdb/testsuite/ChangeLog:

* gdb.base/attach-pie-noexec.exp: Do not expect an error
message on attach.

8 years ago[ARM][gas] Add support for Cortex-A32
Kyrylo Tkachov [Wed, 24 Feb 2016 10:55:09 +0000 (10:55 +0000)] 
[ARM][gas] Add support for Cortex-A32

2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

    * config/tc-arm.c (arm_cpus): Add entry for cortex-a32.
    * doc/c-arm.texi (ARM Options): Document cortex-a32.

8 years ago[ARM][doc] Document cortex-a17 mcpu option
Kyrylo Tkachov [Wed, 24 Feb 2016 10:53:55 +0000 (10:53 +0000)] 
[ARM][doc] Document cortex-a17 mcpu option

2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

    * doc/c-arm.texi (ARM Options): Document cortex-a17.

8 years agoDocument the GDB 7.11 release in gdb/ChangeLog
Joel Brobecker [Wed, 24 Feb 2016 10:07:27 +0000 (11:07 +0100)] 
Document the GDB 7.11 release in gdb/ChangeLog

gdb/ChangeLog:

GDB 7.11 released.

8 years agoBuild unavailable-stack frames for tracepoint.
Wei-cheng Wang [Mon, 30 Mar 2015 16:30:31 +0000 (00:30 +0800)] 
Build unavailable-stack frames for tracepoint.

gdb/ChangeLog:

2016-02-24  Wei-cheng Wang  <cole945@gmail.com>

* rs6000-tdep.c (rs6000_frame_cache, rs6000_frame_this_id): Handle
unavailable PC/SP to build unavailable frame.

8 years agoAutomatic date update in version.in
GDB Administrator [Wed, 24 Feb 2016 00:00:18 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agoExtend "skip" command to support -file, -gfile, -function, -rfunction.
Doug Evans [Tue, 23 Feb 2016 21:25:18 +0000 (13:25 -0800)] 
Extend "skip" command to support -file, -gfile, -function, -rfunction.

gdb/ChangeLog:

Extend "skip" command to support -file, -gfile, -function, -rfunction.
* NEWS: Document new features.
* skip.c: #include "fnmatch.h", "gdb_regex.h".
(skiplist_entry) <file>: Renamed from filename.
<function>: Renamed from function_name.
<file_is_glob, function_is_regexp>: New members.
<compiled_function_regexp, compiled_function_regexp_is_valid>:
New members.
(make_skip_entry): New function.
(free_skiplist_entry, free_skiplist_entry_cleanup): New functions.
(make_free_skiplist_entry_cleanup): New function.
(skip_file_command): Update.
(skip_function, skip_function_command): Update.
(compile_skip_regexp): New functions.
(skip_command): Add support for new options.
(skip_info): Update.
(skip_file_p, skip_gfile_p): New functions.
(skip_function_p, skip_rfunction_p): New functions.
(function_name_is_marked_for_skip): Update and simplify.
(_initialize_step_skip): Update.
* symtab.c: #include "fnmatch.h".
(compare_glob_filenames_for_search): New function.
* symtab.h (compare_glob_filenames_for_search): Declare.
* utils.c (count_path_elements): New function.
(strip_leading_path_elements): New function.
* utils.h (count_path_elements): Declare.
(strip_leading_path_elements): Declare.

gdb/doc/ChangeLog:

* gdb.texinfo (Skipping Over Functions and Files): Document new
options to "skip" command.  Update docs of output of "info skip".

gdb/testsuite/ChangeLog:

* gdb.base/skip.c (test_skip): New function.
(end_test_skip_file_and_function): New function.
(test_skip_file_and_function): New function.
* gdb.base/skip1.c (test_skip): New function.
(skip1_test_skip_file_and_function): New function.
* gdb.base/skip.exp: Add tests for new skip options.
* gdb.base/skip-solib.exp: Update expected output.
* gdb.perf/skip-command.cc: New file.
* gdb.perf/skip-command.exp: New file.
* gdb.perf/skip-command.py: New file.

8 years agoSkip tests for common directive on hpux
H.J. Lu [Tue, 23 Feb 2016 18:40:03 +0000 (10:40 -0800)] 
Skip tests for common directive on hpux

hpux has a non-standard common directive.

* testsuite/gas/elf/elf.exp: Skip tests for common directive on
hpux.

8 years agoarm-tdep.c: Remove unused "to" parameters
Simon Marchi [Tue, 23 Feb 2016 18:21:10 +0000 (13:21 -0500)] 
arm-tdep.c: Remove unused "to" parameters

gdb/ChangeLog:

* arm-tdep.c (arm_decode_svc_copro): Remove "to" parameter.
(thumb_process_displaced_insn): Likewise.
(arm_process_displaced_insn): Adjust calls.

8 years agoReplace $(ELF_DEPS) with $(ELF_X86_DEPS)
H.J. Lu [Tue, 23 Feb 2016 16:24:18 +0000 (08:24 -0800)] 
Replace $(ELF_DEPS) with $(ELF_X86_DEPS)

Define ELF_X86_DEPS with $(ELF_DEPS) plus emulparams/plt_unwind.sh,
extern_protected_data.sh and call_nop.sh.

* Makefile.am (ELF_X86_DEPS): New.
(eelf_i386.c): Replace $(ELF_DEPS) with $(ELF_X86_DEPS).
(eelf_i386_chaos.c): Likewise.
(eelf_i386_fbsd.c): Likewise.
(eelf_i386_ldso.c): Likewise.
(eelf_i386_nacl.c): Likewise.
(eelf_i386_sol2.c): Likewise.
(eelf_iamcu.c): Likewise.
(eelf32_x86_64.c): Likewise.
(eelf32_x86_64_nacl.c): Likewise.
(eelf_l1om.c): Likewise.
(eelf_l1om_fbsd.c): Likewise.
(eelf_k1om.c): Likewise.
(eelf_k1om_fbsd.c): Likewise.
(eelf_x86_64.c): Likewise.
(eelf_x86_64_cloudabi.c): Likewise.
(eelf_x86_64_fbsd.c): Likewise.
(eelf_x86_64_sol2.c): Likewise.
* Makefile.in: Regenerated.

8 years agoMake linker assigned symbol dynamic only for shared object
H.J. Lu [Tue, 23 Feb 2016 13:18:43 +0000 (05:18 -0800)] 
Make linker assigned symbol dynamic only for shared object

Linker assigned symbols should be made dynamic by default only when
creating shared object or relocatable executable.

bfd/

* elflink.c (bfd_elf_record_link_assignment): Check for shared
library, instead of PIC, and don't check PDE when making linker
assigned symbol dynamic.

ld/

* testsuite/ld-frv/fdpic-pie-6.d: Updated.
* testsuite/ld-mips-elf/pie-n32.d: Likewise.
* testsuite/ld-mips-elf/pie-n64.d: Likewise.
* testsuite/ld-mips-elf/pie-o32.d: Likewise.

8 years agoIncrement the ABIVERSION to 5 for MIPS objects with non-executable stacks.
Faraz Shahbazker [Tue, 23 Feb 2016 12:58:03 +0000 (12:58 +0000)] 
Increment the ABIVERSION to 5 for MIPS objects with non-executable stacks.

* bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
ABIVERSION for non-executable stack.

8 years agoFix the genetation of GOT entries for the Microblaze target.
Rich Felker [Tue, 23 Feb 2016 10:37:24 +0000 (10:37 +0000)] 
Fix the genetation of GOT entries for the Microblaze target.

PR target/19516
* elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
Always produce a RELATIVE reloc for a local symbol.

8 years agoProcess record for aarch64-linux syscall
Yao Qi [Tue, 23 Feb 2016 09:21:09 +0000 (09:21 +0000)] 
Process record for aarch64-linux syscall

This patch updates the syscalls in sync with syscalls/aarch64-linux.xml.
Some syscalls are still not supported by gdb/linux-record.c yet.  Mark
them UNSUPPORTED_SYSCALL_MAP.

This patch fixes the following test fail,

Process record and replay target doesn't support syscall number 56^M
Process record: failed to record execution log.^M
^M
Program stopped.^M
0x00000020000e9dfc in open () from /lib/aarch64-linux-gnu/libc.so.6^M
(gdb) FAIL: gdb.reverse/fstatat-reverse.exp: continue to breakpoint: marker2

gdb:

2016-02-23  Yao Qi  <yao.qi@linaro.org>

* aarch64-linux-tdep.c (enum aarch64_syscall) <aarch64_sys_mknod>:
Remove.
<aarch64_sys_mkdir, aarch64_sys_unlink, aarch64_sys_symlink>: Remove.
<aarch64_sys_link, aarch64_sys_rename, aarch64_sys_faccess>: Remove.
<aarch64_sys_mknodat, aarch64_sys_mkdirat>: New.
<aarch64_sys_unlinkat, aarch64_sys_symlinkat>: New.
<aarch64_sys_linkat, aarch64_sys_renameat, aarch64_sys_faccessat>: New.
<aarch64_sys_open, aarch64_sys_readlink, aarch64_sys_fstatat>: Remove.
<aarch64_sys_openat, aarch64_sys_readlinkat>: New.
<aarch64_sys_newfstatat>: New.
(UNSUPPORTED_SYSCALL_MAP): New macro.
(aarch64_canonicalize_syscall): Add missing syscalls.

8 years agoFix test-case ld-elf/pr19617b
Hans-Peter Nilsson [Tue, 23 Feb 2016 01:06:45 +0000 (02:06 +0100)] 
Fix test-case ld-elf/pr19617b

* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
discard unused non-function symbols when --dynamic-list-data.

8 years agoAlways create dynsym section with dynamic sections
H.J. Lu [Tue, 23 Feb 2016 00:30:30 +0000 (16:30 -0800)] 
Always create dynsym section with dynamic sections

We should always create the dynsym section, even if it is empty, with
dynamic sections.

* elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
dynsym section, even if it is empty, with dynamic sections.

8 years agoAutomatic date update in version.in
GDB Administrator [Tue, 23 Feb 2016 00:00:22 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agogdb.trace: Fix unavailable.exp if last register happens to be PC.
Marcin Kościelnicki [Mon, 22 Feb 2016 07:28:38 +0000 (08:28 +0100)] 
gdb.trace: Fix unavailable.exp if last register happens to be PC.

unavailable.exp executes "info registers", expecting to find at least
two instances of "<unavailable>".  However, it uses
"<unavailable>.*<unavailable>" as the pattern, which doesn't match
when the last register happens to be available (eg. PC).  Change it
to ".*<unavailable>.*<unavailable>.*" instead.

Noticed on s390, no regression on x86_64.

gdb/testsuite/ChangeLog:

* gdb.trace/unavailable.exp (gdb_unavailable_registers_test_1): Fix
info registers pattern.

8 years agogdb-gdb.py: SyntaxError: Missing parentheses in call to 'print'
Jan Kratochvil [Mon, 22 Feb 2016 16:15:14 +0000 (17:15 +0100)] 
gdb-gdb.py: SyntaxError: Missing parentheses in call to 'print'

After building GDB
--with-python=/usr/bin/python3
and for example stripping ./gdb and running:
./gdb -data-directory data-directory/ -iex "add-auto-load-safe-path $PWD/gdb-gdb.gdb" -iex "add-auto-load-safe-path $PWD/gdb-gdb.
py" ./gdb
I get:
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]
  File "/home/jkratoch/redhat/gdb-test-python3/gdb/gdb-gdb.py", line 91
    print "Warning: Cannot find enum type_flag_value type."
  ^
SyntaxError: Missing parentheses in call to 'print'
(top-gdb) q

gdb/ChangeLog
2016-02-22  Jan Kratochvil  <jan.kratochvil@redhat.com>

* gdb-gdb.py (class TypeFlagsPrinter): Use parentheses for print.

8 years agoAdd more const type qualifiers to GAS sources.
Trevor Saunders [Mon, 22 Feb 2016 14:11:27 +0000 (14:11 +0000)] 
Add more const type qualifiers to GAS sources.

* output-file.c (output_file_create): Make file name argument const.
(output_file_close): Likewise.
* output-file.h (output_file_create): Adjust.
(output_file_close): Likewise.
* depend.c (quote_string_for_make): Make src argument const char *.
(register_dependency): Likewise.
(wrap_output): Likewise.
* as.h (register_dependency): Adjust.
* config/tc-xtensa.c (finish_vinsn): Remove unnecessary calls to
as_where ();
* symbols.c (S_SET_EXTERNAL): Likewise.
* input-scrub.c (as_where): Return the file name.
* as.h (as_where): Adjust prototype.
* app.c (do_scrub_chars): Adjust.
* cond.c (s_elseif): Likewise.
(s_else): Likewise.
(initialize_cframe): Likewise.
* config/obj-coff.c (obj_coff_init_stab_section): Likewise.
* config/obj-elf.c (obj_elf_init_stab_section): Likewise.
* config/obj-som.c (obj_som_init_stab_section): Likewise.
* config/tc-aarch64.c (output_info): Likewise.
* config/tc-ia64.c (md_assemble): Likewise.
(dot_alias): Likewise.
* config/tc-m68k.c (m68k_frob_label): Likewise.
* config/tc-mmix.c (s_bspec): Likewise.
(mmix_handle_mmixal): Likewise.
* config/tc-rx.c (rx_include): Likewise.
* config/tc-tic54x.c (tic54x_set_default_include): Likewise.
(tic54x_adjust_symtab): Likewise.
* config/tc-xtensa.c (directive_push): Likewise.
(xtensa_sanity_check): Likewise.
(xtensa_relax_frag): Likewise.
(md_convert_frag): Likewise.
(tinsn_to_slotbuf): Likewise.
* dwarf2dbg.c (dwarf2_where): Likewise.
* ecoff.c (add_file): Likewise.
(ecoff_generate_asm_lineno): Likewise.
* expr.c (make_expr_symbol): Likewise.
* frags.c (frag_new): Likewise.
(frag_var_init): Likewise.
* listing.c (listing_newline): Likewise.
* messages.c (identify): Likewise.
(as_show_where): Likewise.
(as_warn_internal): Likewise.
(as_bad_internal): Likewise.
* read.c (s_irp): Likewise.
(s_macro): Likewise.
(s_reloc): Likewise.
* stabs.c (stabs_generate_asm_file): Likewise.
(stabs_generate_asm_lineno): Likewise.
(stabs_generate_asm_func): Likewise.
* write.c (fix_new_internal): Likewise.
* as.h (PRINTF_WHERE_LIKE): Make file name argument const.
(as_warn_value_out_of_range): Adjust prototype.
(as_bad_value_out_of_range): Adjust prototype.
* messages.c (identify): Make file name argument const char *.
(as_warn_internal): Likewise.
(as_warn_where): Likewise.
(as_bad_internal): Likewise.
(as_bad_where): Likewise.
(as_internal_value_out_of_range): Likewise.
(as_warn_value_out_of_range): Likewise.
(as_bad_value_out_of_range): Likewise.
* as.h (found_comment_file): Change type to const char *.
* cond.c (file_line::file): Likewise.
* config/obj-coff.c (obj_coff_init_stab_section): Make variable const.
* config/obj-elf.c (obj_elf_init_stab_section): Likewise.
* config/obj-som.c (obj_som_init_stab_section): Likewise.
* config/tc-aarch64.c (output_info): Likewise.
* config/tc-alpha.c (insert_operand): Likewise.
* config/tc-arc.c (insert_operand): Likewise.
* config/tc-d30v.c (check_size): Likewise.
* config/tc-ia64.c (struct alias): Likewise.
* config/tc-m68k.c (struct label_line): Likewise.
* config/tc-mcore.c (md_apply_fix): Likewise.
* config/tc-microblaze.c (md_estimate_size_before_relax): Likewise.
* config/tc-mips.c (mips16_immed): Likewise.
* config/tc-mmix.c (mmix_handle_mmixal): Likewise.
* config/tc-ppc.c (ppc_insert_operand): Likewise.
* config/tc-rx.c (rx_include): Likewise.
* config/tc-s390.c (s390_insert_operand): Likewise.
* config/tc-tic54x.c (tic54x_set_default_include): Likewise.
(tic54x_adjust_symtab): Likewise.
* config/tc-tilegx.c (insert_operand): Likewise.
(apply_special_operator): Likewise.
* config/tc-tilepro.c (insert_operand): Likewise.
* config/tc-xtensa.c (directive_push): Likewise.
* ecoff.c (add_file): Likewise.
(ecoff_generate_asm_lineno): Likewise.
* listing.c (listing_newline): Likewise.
* read.c (s_irp): Likewise.
* write.c (install_reloc): Likewise.
* write.h (struct fix): Likewise.
* input-file.c (file_name): Change type to const char *.
(saved_file::file_name): Likewise.
(input_file_open): Change type of argument to const char *.
* input-file.h (input_file_open): Adjust.
* input-scrub.c (logical_input_file): change type to const char *.
(physical_input_file): Likewise.
        (struct input_save): Adjust.
(input_scrub_push): Adjust.
(input_scrub_begin): Adjust.
(as_where): Adjust.
* input-scrub.c (input_scrub_new_file): Make file name argument const.
(input_scrub_include_file): Likewise.
(new_logical_line_flags): Likewise.
(new_logical_line): Likewise.
* as.h: Adjust.
* frags.h (struct frag): Change type of fr_file to const char *.
* expr.c (expr_symbol_where): Change type of file argument to
const char **.
* expr.h (expr_symbol_where): Likewise.
* config/tc-i370.c (md_apply_fix): adjust.
* config/tc-mmix.c (mmix_md_end): Likewise.
* config/tc-ppc.c (md_apply_fix): Likewise.
* config/tc-s390.c (md_apply_fix): Likewise.
* symbols.c (report_op_error): Likewise.
(resolve_symbol_value): Likewise.
* config/tc-ia64.c (slot::src_file): Change type to const char *.
(rsrc::file): Likewise.
* config/tc-xtensa.c (xtensa_sanity_check): Change type of variable to
const char *.
(xtensa_relax_frag): Likewise.
(md_convert_frag): Likewise.
(tinsn_to_slotbuf): Likewise.
* expr.c (expr_symbol_line): Likewise.
* macro.c (define_macro): Likewise.
* macro.h (macro_struct): Likewise.
* messages.c (as_show_where): Likewise.
* read.c (s_macro): Likewise.
* stabs.c (stabs_generate_asm_file): Likewise.
(generate_asm_file): Likewise.
(stabs_generate_asm_lineno): Likewise.
* write.h (struct reloc_list): Likewise.
* input-scrub.c (as_where): Change return type to const char *.
* as.h (as_wheree): Adjust.

8 years agoRemove BSF_COMMON from comments
H.J. Lu [Mon, 22 Feb 2016 12:39:21 +0000 (04:39 -0800)] 
Remove BSF_COMMON from comments

BSF_COMMON isn't defined in BFD.

* syms.c: Remove BSF_COMMON from comments.
* bfd-in2.h: Regenerated.

8 years ago[AArch64] Remove redundant calculation of plt stub destination for veneer
Jiong Wang [Mon, 22 Feb 2016 12:16:06 +0000 (12:16 +0000)] 
[AArch64] Remove redundant calculation of plt stub destination for veneer

elfNN_aarch64_size_stubs, the caller of aarch64_type_stub has redirected
the final destination of long branch veneer to plt stub if the call
should go through it.

It's redundant to do the same check and redirect again from scratch
inside aarch64_type_stub.

bfd/
  * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
  for destination.  Remove useless function parameters.
  (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.

8 years agoFix arm process record code format
Yao Qi [Mon, 22 Feb 2016 12:08:51 +0000 (12:08 +0000)] 
Fix arm process record code format

This patch fixes the various code format issues in arm process record
in arm-tdep.c, such as using tab instead of spaces.

gdb:

2016-02-22  Yao Qi  <yao.qi@linaro.org>

* arm-tdep.c: Fix code format issues.

8 years agoAutomatic date update in version.in
GDB Administrator [Mon, 22 Feb 2016 00:00:18 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agoAlso update recursive call to d_lookup_symbol_imports.
Iain Buclaw [Sun, 21 Feb 2016 21:05:46 +0000 (22:05 +0100)] 
Also update recursive call to d_lookup_symbol_imports.

8 years agoRemove search_parents parameter from d_lookup_symbol_imports.
Iain Buclaw [Sun, 21 Feb 2016 20:38:10 +0000 (21:38 +0100)] 
Remove search_parents parameter from d_lookup_symbol_imports.

gdb/ChangeLog:

* d-namespace.c (d_lookup_symbol_imports): Remove argument
'search_parents'.  All callers updated.

8 years agoSet BFD compression bits in write_object_file
H.J. Lu [Sun, 21 Feb 2016 14:43:20 +0000 (06:43 -0800)] 
Set BFD compression bits in write_object_file

There is no need to set BFD compression bits for each section.  We
should just set it once in write_object_file.

* write.c (compress_debug): Move BFD compression bits setting
to ...
(write_object_file): Here.

8 years agoAutomatic date update in version.in
GDB Administrator [Sun, 21 Feb 2016 00:00:17 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agoSkip pr19539 test for cris*-*-* targets
H.J. Lu [Sat, 20 Feb 2016 22:43:52 +0000 (14:43 -0800)] 
Skip pr19539 test for cris*-*-* targets

cris*-*-* targets doesn't support PIE with relocation in pr19539 test.

* testsuite/ld-elf/pr19539.d: Skip cris*-*-* targets.

8 years ago[i386] Check RegVRex in register_number
H.J. Lu [Sat, 20 Feb 2016 17:23:20 +0000 (09:23 -0800)] 
[i386] Check RegVRex in register_number

Increment register number by 16 if RegVRex is set.

* config/tc-i386.c (register_number): Check RegVRex.
* testsuite/gas/i386/x86-64-avx512f.s: Add a test for vgatherqpd
with %zmm19 and %zmm3.
* testsuite/gas/i386/x86-64-avx512f-intel.d: Updated.
* testsuite/gas/i386/x86-64-avx512f.d: Likewise.

8 years agoAutomatic date update in version.in
GDB Administrator [Sat, 20 Feb 2016 00:00:08 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agoFix snafu - add missing const declaration to 'string' local variable in s_stab_generic.
Nick Clifton [Fri, 19 Feb 2016 16:15:48 +0000 (16:15 +0000)] 
Fix snafu - add missing const declaration to 'string' local variable in s_stab_generic.

8 years agoPrevent a seg-fault in the linker when accessing a specially crafted, corrupt, aout...
Nick Clifton [Fri, 19 Feb 2016 15:55:06 +0000 (15:55 +0000)] 
Prevent a seg-fault in the linker when accessing a specially crafted, corrupt, aout binary.

PR ld/19629
* aoutx.h (aout_link_add_symbols): Check for out of range string
table offsets.

8 years agoFix a seg-fault in the linker when it encounters a corrupt binary containing a reloc...
Nick Clifton [Fri, 19 Feb 2016 15:20:30 +0000 (15:20 +0000)] 
Fix a seg-fault in the linker when it encounters a corrupt binary containing a reloc with no associated symbol.

PR ld/19628
* reloc.c (bfd_generic_get_relocated_section_contents): Stop
processing if we encounter a reloc without an associated symbol.

8 years ago[ARM] Add FP16 feature extension for ARMv8.2 architecture
Jiong Wang [Fri, 19 Feb 2016 14:27:23 +0000 (14:27 +0000)] 
[ARM] Add FP16 feature extension for ARMv8.2 architecture

include/
  * opcode/arm.h (ARM_EXT2_FP16_INSN): New.

gas/
  * config/tc-arm.c (arm_ext_fp16): New.
  (arm_extensions): New entry for "fp16".

8 years agoPrevent seg-fault in gas reading a binary input file.
Nick Clifton [Fri, 19 Feb 2016 13:19:57 +0000 (13:19 +0000)] 
Prevent seg-fault in gas reading a binary input file.

PR 19630
* read.c (read_a_source_file): Check for assemble_one returning
with input_line_pointer set to NULL.

8 years agoChange the return type of the rebuffer_line function to void.
Trevor Saunders [Fri, 19 Feb 2016 12:13:08 +0000 (12:13 +0000)] 
Change the return type of the rebuffer_line function to void.

* listing.c (rebuffer_line): Change return type to void.

8 years agoAdd const to various variables in the gas sources.
Trevor Saunders [Fri, 19 Feb 2016 12:03:08 +0000 (12:03 +0000)] 
Add const to various variables in the gas sources.

* symbols.c (decode_local_label_name): Make type a const char *.
* listing.c (print_source): Make type of p const char *.
(print_line): Make type of string const char *.
(buffer_line): Return const char *.
(title): Make type const char *.
(subtitle): Likewise.
(listing_listing): Make type of p const char *.
* messages.c (as_internal_value_out_of_range): Make type of prefix
const char *.
* stabs.c (s_stab_generic): make type of stab_secname, stabstr_secname
and string const char *.
* read.c (_bfd_rel): Make type of name const char *.
* app.c (out_string): Change type to const char *.
        (struct app_save::out_string): Likewise.

8 years agoAutomatic date update in version.in
GDB Administrator [Fri, 19 Feb 2016 00:00:10 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agoAdd D support to gdb_default_target_compile.
Iain Buclaw [Thu, 18 Feb 2016 21:01:44 +0000 (22:01 +0100)] 
Add D support to gdb_default_target_compile.

gdb/testsuite/ChangeLog:

* lib/future.exp: Add D support.
(gdb_find_gdc): New proc.
(gdb_default_target_compile): Add D support.

8 years agoDetermine the iteration count based on wallclock instead of user+system time.
Wei-cheng Wang [Thu, 20 Aug 2015 17:32:18 +0000 (01:32 +0800)] 
Determine the iteration count based on wallclock instead of user+system time.

gdb/testsuite/ChangeLog:

2016-02-18  Wei-cheng Wang  <cole945@gmail.com>

* gdb.trace/tspeed.c (myclock): Return wallclock instead of
user+system time.
(trace_speed_test): Determine the iteration count for a time
between 15..30 seconds.

8 years agogdb/s390: Fill guess_tracepoint_registers hook.
Marcin Kościelnicki [Sat, 23 Jan 2016 22:53:41 +0000 (23:53 +0100)] 
gdb/s390: Fill guess_tracepoint_registers hook.

gdb/ChangeLog:

* s390-linux-tdep.c (s390_guess_tracepoint_registers): New function.
(s390_gdbarch_init): Fill guess_tracepoint_registers hook.

8 years agoIntel MPX bound violation handling
Walfred Tedeschi [Thu, 18 Feb 2016 16:24:59 +0000 (17:24 +0100)] 
Intel MPX bound violation handling

With Intel Memory Protection Extensions it was introduced the concept of
boundary violation.  A boundary violations is presented to the inferior as
a segmentation fault having SIGCODE 3.  This patch adds a
handler for a boundary violation extending the information displayed
when a bound violation is presented to the inferior.  In the stop mode
case the debugger will also display the kind of violation: "upper" or
"lower", bounds and the address accessed.
On no stop mode the information will still remain unchanged.  Additional
information about bound violations are not meaningful in that case user
does not know the line in which violation occurred as well.

When the segmentation fault handler is stop mode the out puts will be
changed as exemplified below.

The usual output of a segfault is:
Program received signal SIGSEGV, Segmentation fault
0x0000000000400d7c in upper (p=0x603010, a=0x603030, b=0x603050,
c=0x603070, d=0x603090, len=7) at i386-mpx-sigsegv.c:68
68        value = *(p + len);

In case it is a bound violation it will be presented as:
Program received signal SIGSEGV, Segmentation fault
Upper bound violation while accessing address 0x7fffffffc3b3
Bounds: [lower = 0x7fffffffc390, upper = 0x7fffffffc3a3]
0x0000000000400d7c in upper (p=0x603010, a=0x603030, b=0x603050,
c=0x603070, d=0x603090, len=7) at i386-mpx-sigsegv.c:68
68        value = *(p + len);

In mi mode the output of a segfault is:
*stopped,reason="signal-received",signal-name="SIGSEGV",
signal-meaning="Segmentation fault", frame={addr="0x0000000000400d7c",
func="upper",args=[{name="p", value="0x603010"},{name="a",value="0x603030"}
,{name="b",value="0x603050"}, {name="c",value="0x603070"},
{name="d",value="0x603090"},{name="len",value="7"}],
file="i386-mpx-sigsegv.c",fullname="i386-mpx-sigsegv.c",line="68"},
thread-id="1",stopped-threads="all",core="6"

in the case of a bound violation:
*stopped,reason="signal-received",signal-name="SIGSEGV",
signal-meaning="Segmentation fault",
sigcode-meaning="Upper bound violation",
lower-bound="0x603010",upper-bound="0x603023",bound-access="0x60302f",
frame={addr="0x0000000000400d7c",func="upper",args=[{name="p",
value="0x603010"},{name="a",value="0x603030"},{name="b",value="0x603050"},
{name="c",value="0x603070"},{name="d",value="0x603090"},
{name="len",value="7"}],file="i386-mpx-sigsegv.c",
fullname="i386-mpx-sigsegv.c",line="68"},thread-id="1",
stopped-threads="all",core="6"

2016-02-18  Walfred Tedeschi  <walfred.tedeschi@intel.com>

gdb/ChangeLog:

* NEWS: Add entry for bound violation.
* amd64-linux-tdep.c (amd64_linux_init_abi_common):
Add handler for segmentation fault.
* gdbarch.sh (handle_segmentation_fault): New.
* gdbarch.c: Regenerate.
* gdbarch.h: Regenerate.
* i386-linux-tdep.c (i386_linux_handle_segmentation_fault): New.
(SIG_CODE_BONDARY_FAULT): New define.
(i386_linux_init_abi): Use i386_mpx_bound_violation_handler.
* i386-linux-tdep.h (i386_linux_handle_segmentation_fault) New.
* i386-tdep.c (i386_mpx_enabled): Add as external.
* i386-tdep.c (i386_mpx_enabled): Add as external.
* infrun.c (handle_segmentation_fault): New function.
(print_signal_received_reason): Use handle_segmentation_fault.

gdb/testsuite/ChangeLog:

* gdb.arch/i386-mpx-sigsegv.c: New file.
* gdb.arch/i386-mpx-sigsegv.exp: New file.
* gdb.arch/i386-mpx-simple_segv.c: New file.
* gdb.arch/i386-mpx-simple_segv.exp: New file.

gdb/doc/ChangeLog:

* gdb.texinfo (Signals): Add bound violation display hints for
a SIGSEGV.

8 years agogdb: Add guess_tracepoint_registers hook to gdbarch.
Marcin Kościelnicki [Thu, 18 Feb 2016 08:21:38 +0000 (09:21 +0100)] 
gdb: Add guess_tracepoint_registers hook to gdbarch.

When we're looking at a tracefile trace frame where registers are not
available, and the tracepoint has only one location, we supply
the location's address as the PC register.  However, this only works
if PC is not a pseudo register, and individual architectures may want
to guess more registers.  Add a gdbarch hook that will handle that.

gdb/ChangeLog:

* arch-utils.c (default_guess_tracepoint_registers): New function.
* arch-utils.h (default_guess_tracepoint_registers): New prototype.
* gdbarch.c: Regenerate.
* gdbarch.h: Regenerate.
* gdbarch.sh: Add guess_tracepoint_registers hook.
* tracefile.c (tracefile_fetch_registers): Use the new gdbarch hook.

8 years agoEnable PR ld/19617 tests only for Linux/GNU/Solaris
H.J. Lu [Thu, 18 Feb 2016 15:48:57 +0000 (07:48 -0800)] 
Enable PR ld/19617 tests only for Linux/GNU/Solaris

Since PR ld/19617 tests require share library support, enable them
only for Linux/GNU/Solaris targets.

* testsuite/ld-elf/pr19617a.d: Enable only for *-*-linux*,
*-*-gnu* and *-*-solaris*.
* testsuite/ld-elf/pr19617b.d: Likewise.
* testsuite/ld-elf/pr19617c.d: Likewise.

8 years agoRemove setup_kfail server/13796 in disp-step-syscall.exp
Yao Qi [Thu, 18 Feb 2016 13:02:12 +0000 (13:02 +0000)] 
Remove setup_kfail server/13796 in disp-step-syscall.exp

This patch series add fork support in target remote,

  [PATCH v2 0/3] Target remote mode fork and exec support
  https://sourceware.org/ml/gdb-patches/2015-12/msg00144.html

so GDB can be informed about the child, and adjust child correctly in
displaced stepping.  The PR server/13796 was fixed by this patch
series actually.  Test results on buildbot show this KFAIL->KPASS
change https://sourceware.org/ml/gdb-testers/2015-q4/msg10128.html

gdb/testsuite:

2016-02-18  Yao Qi  <yao.qi@linaro.org>

* gdb.base/disp-step-syscall.exp (disp_step_cross_syscall):
Don't call setup_kfail.

8 years agoSet breakpoint condition-evaluation in forking-threads-plus-breakpoint.exp
Yao Qi [Thu, 18 Feb 2016 12:04:32 +0000 (12:04 +0000)] 
Set breakpoint condition-evaluation in forking-threads-plus-breakpoint.exp

Proc do_test in forking-threads-plus-breakpoint.exp has an argument
cond_bp_target, but the test doesn't use it to set
"breakpoint condition-evaluation", which is an oversight in the test.

This patch fixes it by setting "breakpoint condition-evaluation" per
$cond_bp_target.

gdb/testsuite:

2016-02-18  Yao Qi  <yao.qi@linaro.org>

* gdb.threads/forking-threads-plus-breakpoint.exp (do_test):
Set "set breakpoint condition-evaluation" per $cond_bp_target.

8 years agoAlways create dynamic sections for -E/--dynamic-list
H.J. Lu [Thu, 18 Feb 2016 11:13:19 +0000 (03:13 -0800)] 
Always create dynamic sections for -E/--dynamic-list

In embedded environments, including boot loaders, the non-PIC executable
needs to export its symbols to modules loaded in the future.  We should
always create dynamic sections for -E/--dynamic-list.

bfd/

PR ld/19617
* elflink.c (elf_link_add_object_symbols): Always create dynamic
sections for -E/--dynamic-list.

ld/

PR ld/19617
* testsuite/ld-elf/pr19617.s: New file.
* testsuite/ld-elf/pr19617a.d: Likewise.
* testsuite/ld-elf/pr19617b.d: Likewise.
* testsuite/ld-elf/pr19617c.d: Likewise.

8 years agoFix computation of CXX_FOR_TARGET so that it can detect an in-tree xg++ executable.
Nick Clifton [Thu, 18 Feb 2016 10:10:36 +0000 (10:10 +0000)] 
Fix computation of CXX_FOR_TARGET so that it can detect an in-tree xg++ executable.

* Makefile.am (CXX_FOR_TARGET): Check for the presence of an
in-tree xg++ executable after checking for the presence of an
in-tree g++ executable.
* Makefile.in: Regenerate.

8 years agoAvoid setting or recording negative alignments when the target stores multiple octets...
Dan Gisselquist [Thu, 18 Feb 2016 09:47:31 +0000 (09:47 +0000)] 
Avoid setting or recording negative alignments when the target stores multiple octets in a single byte.

gas * read.c (finish_bundle): Avoid recording a negative alignment.
(do_align): Use unsigned values for n, len and max.  Only create
a frag if the alignment requirement is greater than the minimum
byte alignment.  Avoid recording a negative alignment.
(s_align): Use unsigned values where appropriate.
(bss_alloc): Use an unsigned value for the alignment.
(sizeof_sleb128): Add a comment noting that we encode one octet
per byte, regardless of the value of OCTETS_PER_BYTE_POWER.
(emit_leb129_expr): Abort if the emitted encoding was longer than
expected.
* read.h (output_leb128): Update prototype.
(sizeof_leb128): Update prototype.
(bss_alloc): Update prototype.
* write.c (record_alignment): Use an unsigned value for the
alignment.  Do not record alignments less than the minimum
alignment for a byte.
* write.h (record_alignment): Update prototype.

8 years agogdb/doc: Add documentation for tfile description section lines.
Marcin Kościelnicki [Wed, 10 Feb 2016 20:09:24 +0000 (21:09 +0100)] 
gdb/doc: Add documentation for tfile description section lines.

gdb/doc/ChangeLog:

* gdb.texinfo (Trace File Format): Add documentation for description
section lines.

8 years agoAutomatic date update in version.in
GDB Administrator [Thu, 18 Feb 2016 00:00:19 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agoUpdate IFUNC tests for x32
H.J. Lu [Wed, 17 Feb 2016 21:05:06 +0000 (13:05 -0800)] 
Update IFUNC tests for x32

* testsuite/ld-ifunc/ifunc-1-local-x86.d: Updated.
* testsuite/ld-ifunc/ifunc-1-x86.d: Likewise.
* testsuite/ld-ifunc/ifunc-3a-x86.d: Likewise.

8 years agoxtensa: fix .init/.fini literals moving
Max Filippov [Mon, 15 Feb 2016 23:23:28 +0000 (02:23 +0300)] 
xtensa: fix .init/.fini literals moving

Despite the documentation and the comment in xtensa_move_literals, in
the presence of --text-section-literals and --auto-litpools literals are
moved from the separate literal sections into .init and .fini, because
the check in the xtensa_move_literals is incorrect.

This moving was broken with introduction of auto litpools: some literals
now may be lost. This happens because literal frags emitted from .init
and .fini are not closed when new .literal_position marks new literal
pool. Then frag_align(2, 0, 0) changes type of the last literal frag to
rs_align. rs_align frags are skipped in the xtensa_move_literals. As a
result fixups against such literals are not moved out of .init.literal/
.fini.literal sections producing the following assembler error:

  test.S: Warning: fixes not all moved from .init.literal
  test.S: Internal error!

Fix check for .init.literal/.fini.literal in the xtensa_move_literals
and don't let it move literals from there in the presence of
--text-section-literals or --auto-litpools.

2016-02-17  Max Filippov  <jcmvbkbc@gmail.com>
gas/
* config/tc-xtensa.c (xtensa_move_literals): Fix check for
.init.literal/.fini.literal section name.
* testsuite/gas/xtensa/all.exp: Add init-fini-literals to the
list of xtensa tests.
* testsuite/gas/xtensa/init-fini-literals.d: New file:
init-fini-literals test result patterns.
* testsuite/gas/xtensa/init-fini-literals.s: New file:
init-fini-literals test.

8 years ago[x86-64] Omit dynamic sections symbols
H.J. Lu [Wed, 17 Feb 2016 19:18:53 +0000 (11:18 -0800)] 
[x86-64] Omit dynamic sections symbols

Define elf_backend_omit_section_dynsym to bfd_true for x86-64, similar
to i386, x86-64 doesn't need dynamic sections symbols.

bfd/

* elf64-x86-64.c (elf_backend_omit_section_dynsym): New.  Defined
to bfd_true.

ld/

* testsuite/ld-ifunc/ifunc-1-local-x86.d: Updated.
* testsuite/ld-ifunc/ifunc-1-x86.d: Likewise.
* testsuite/ld-ifunc/ifunc-2-local-x86-64.d: Likewise.
* testsuite/ld-ifunc/ifunc-2-x86-64.d: Likewise.
* testsuite/ld-ifunc/ifunc-3a-x86.d: Likewise.
* testsuite/ld-ifunc/pr17154-x86-64.d: Likewise.
* testsuite/ld-x86-64/bnd-ifunc-1.d: Likewise.
* testsuite/ld-x86-64/bnd-ifunc-2.d: Likewise.
* testsuite/ld-x86-64/bnd-plt-1.d: Likewise.
* testsuite/ld-x86-64/ilp32-4-nacl.d: Likewise.
* testsuite/ld-x86-64/ilp32-4.d: Likewise.
* testsuite/ld-x86-64/load1c-nacl.d: Likewise.
* testsuite/ld-x86-64/load1c.d: Likewise.
* testsuite/ld-x86-64/load1d-nacl.d: Likewise.
* testsuite/ld-x86-64/load1d.d: Likewise.
* testsuite/ld-x86-64/pr14207.d: Likewise.
* testsuite/ld-x86-64/pr19162.d: Likewise.
* testsuite/ld-x86-64/tlsdesc-nacl.rd: Likewise.
* testsuite/ld-x86-64/tlsdesc.rd: Likewise.
* testsuite/ld-x86-64/tlsgdesc-nacl.rd: Likewise.
* testsuite/ld-x86-64/tlsgdesc.rd: Likewise.
* testsuite/ld-x86-64/tlspic-nacl.rd: Likewise.
* testsuite/ld-x86-64/tlspic.rd: Likewise.

8 years agoAdd missing cleanup in exec_file_locate_attach
Gary Benson [Wed, 17 Feb 2016 14:38:36 +0000 (14:38 +0000)] 
Add missing cleanup in exec_file_locate_attach

exec_file_locate_attach allocates memory for full_exec_path (using
either exec_file_find, source_full_path_of or xstrdup) but this
memory is never freed.  This commit adds the necessary cleanup.

gdb/ChangeLog:

* exec.c (exec_file_locate_attach): Add missing cleanup.

8 years agoSkip eh-frame-hdr test for arc-elf targets.
Nick Clifton [Wed, 17 Feb 2016 10:20:53 +0000 (10:20 +0000)] 
Skip eh-frame-hdr test for arc-elf targets.

ld * testsuite/ld-elf/eh-frame-hdr.d: Skip for ARC ELF targets.

8 years agoUpdate list of known MSP430 MCUs.
Nick Clifton [Wed, 17 Feb 2016 09:55:32 +0000 (09:55 +0000)] 
Update list of known MSP430 MCUs.

* config/tc-msp430.c (msp430_mcu_data): Sync with data from TI's
devices.csv file as of March 2016.

8 years agogdbserver/s390: Advertise Z0 packet support.
Marcin Kościelnicki [Tue, 19 Jan 2016 18:37:38 +0000 (19:37 +0100)] 
gdbserver/s390: Advertise Z0 packet support.

This is necessary for upcoming tracepoint support - otherwise, setting
a tracepoint and a breakpoint on the same address will fail, since gdbserver
won't know about gdb's breakpoint.

Tested on s390x-ibm-linux-gnu and s390-ibm-linux-gnu, RHEL 7.2.

gdb/gdbserver/ChangeLog:

* linux-s390-low.c (s390_supports_z_point_type): New function.
(struct linux_target_ops): Wire s390_supports_z_point_type in.

8 years agoAutomatic date update in version.in
GDB Administrator [Wed, 17 Feb 2016 00:00:22 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agoAdd a missing break to readelf.c
H.J. Lu [Tue, 16 Feb 2016 23:03:39 +0000 (15:03 -0800)] 
Add a missing break to readelf.c

PR binutils/19647
* readelf.c (get_section_type_name): Add a missing break.

8 years agoWhitespace cleanup for skip testcase.
Doug Evans [Tue, 16 Feb 2016 20:39:16 +0000 (12:39 -0800)] 
Whitespace cleanup for skip testcase.

gdb/testsuite/ChangeLog:

* gdb.base/skip.c: Add copyright.  Whitespace cleanup.
* gdb.base/skip1.c: Ditto.
* gdb.base/skip.exp: Whitespace cleanup.

8 years agoPR remote/19496, internal err forking-threads-plus-bkpt
Don Breazeal [Tue, 16 Feb 2016 16:56:06 +0000 (08:56 -0800)] 
PR remote/19496, internal err forking-threads-plus-bkpt

This patch fixes an internal error that occurs in
gdb.threads/forking-threads-plus-breakpoint.exp:

/blah/binutils-gdb/gdb/target.c:2723: internal-error: Can't determine the
current address space of thread Thread 3170.3170

In default_thread_address_space, find_inferior_ptid couldn't find 3170.3170
because it had been overwritten in inferior_appeared, called as follows:

inferior_appeared
  remote_add_inferior
    remote_notice_new_inferior
      remote_update_thread_list

The cause of the problem was the following sequence of events:

* GDB knows only about the main thread

* the first fork event is reported to GDB, saved as pending_event

* qXfer:threads:read gets the threads from the remote.
  remove_new_fork_children id's the fork child from the pending event
  and removes it from the list reported to GDB.  All the rest of the
  threads, including the fork parent, are added to the GDB thread list.

* GDB stops all the threads.  All the stop events are pushed onto the
  stop reply queue behind the pending fork event.  The fork waitstatus
  is saved in the fork parent thread's pending status field
  thread_info.suspend.

* remote_wait_ns calls queued_stop_reply and process_stop_reply to
  remove the fork event from the front of the stop reply queue and save
  event information in the thread_info structure for the fork parent
  thread.  Unfortunately, none of the information saved in this way is
  the fork-specific information.

* A subsequent qXfer:threads:read packet gets the thread list including
  the fork parent and fork child.  remove_new_fork_children checks the
  thread list to see if there is a fork parent, doesn't find one, checks
  the stop reply queue for a pending fork event, doesn't find one, and
  allows the fork child thread to be reported to GDB before the fork
  event has been handled.  remote_update_thread_list calls
  remote_notice_new_thread and overwrites the current (main) thread in
  inferior_appeared.

So the fork event has been reported out of target_wait but it was left
pending on the infrun side (infrun.c:save_waitstatus).  IOW, the fork
event hasn't been processed by handle_inferior_event yet, so it hasn't
made it to tp->pending_follow yet.

The fix is to check thread_info.suspend along with the
thread_info.pending_follow in remote.c:remove_new_fork_children, to
prevent premature reporting of the fork child thread creation.

gdb/ChangeLog:

PR remote/19496
* remote.c (remove_new_fork_children): Check for pending
fork status in thread_info.suspend.

gdb/testsuite/ChangeLog:

PR remote/19496
* gdb.threads/forking-threads-plus-breakpoint.exp (do_test):
Remove kfail for PR remote/19496.

8 years ago[ARC] Enable .cfi_* pseudo-ops.
Claudiu Zissulescu [Tue, 16 Feb 2016 14:56:04 +0000 (15:56 +0100)] 
[ARC] Enable .cfi_* pseudo-ops.

gas/
2016-02-16  Claudiu Zissulescu  <claziss@synopsys.com>

* config/tc-arc.c (tc_arc_frame_initial_instructions): New
function.
(tc_arc_regname_to_dw2regnum): Likewise.
* config/tc-arc.h (TARGET_USE_CFIPOP): Define
(tc_cfi_frame_initial_instructions): Likewise.
(tc_regname_to_dw2regnum): Likewise.

gas/testsuite
2016-02-16  Claudiu Zissulescu  <claziss@synopsys.com>

* gas/cfi/cfi-arc-1.d: New file.
* gas/cfi/cfi-arc-1.s: Likewise.
* gas/cfi/cfi.exp: Allow running tests for arc.

binutils/
2016-02-16  Claudiu Zissulescu  <claziss@synopsys.com>

* readelf.c (is_32bit_pcrel_reloc): Add R_ARC_32_PCREL.

8 years agotestsuite: Make standard_temp_file use invocation-specific directories
Simon Marchi [Tue, 16 Feb 2016 14:00:51 +0000 (09:00 -0500)] 
testsuite: Make standard_temp_file use invocation-specific directories

Just like standard_output_file, standard_temp_file should use multiple
directories to make the tests parallel-safe.  However,
standard_temp_file is sometimes called in some procedures that are not
test-specific.  For example, gdb_init uses it, but is called once before
all test files are ran.  Therefore, we can't organize it in a
temp/gdb.subdir/testname layout, like standard_output_file.

Because it's just meant for temporary files that don't really need to be
inspected after the test, we can just put them in a directory based on
the runtest pid.  There is always a single exp file being executed by a
particular runtest invocation at any given time, so it should be safe.

gdb/testsuite/ChangeLog:

* lib/gdb.exp (standard_temp_file): Return a path specific to
the runtest invocation.

8 years agotestsuite: Fix save-trace.exp writing outside standard output directory
Simon Marchi [Tue, 16 Feb 2016 14:00:50 +0000 (09:00 -0500)] 
testsuite: Fix save-trace.exp writing outside standard output directory

In save-trace.exp, we want to test loading of a tracepoint definition
file with a relative path (I am not sure why in fact).  We currently use
"savetrace-relative.tr", which ends up directly in testsuite/.  If we
use [standard_output_file] on that path, it becomes absolute.  I decided
to just replace [pwd] with . (a dot) in the path given by
standard_output_file to make it relative.  However, this trick only
works because [pwd] is a prefix of the standard output directory.  So I
added a check to verify that precondition.

gdb/testsuite/ChangeLog:

* gdb.trace/save-trace.exp: Change relative path to be in the
standard output directory.

8 years agoPass -mrelax-relocations=yes to $(TEST_AS)
H.J. Lu [Tue, 16 Feb 2016 13:55:11 +0000 (05:55 -0800)] 
Pass -mrelax-relocations=yes to $(TEST_AS)

x86_64_mov_to_lea5.o and x86_64_mov_to_lea6.o must be assembled with
-mrelax-relocations=yes since when assembler is configured with
--disable-x86-relax-relocations, R_X86_64_GOTPCRELX relocation won't
be generated.  This linker optimization requires R_X86_64_GOTPCRELX
relocation.

This patch also removed the duplicated x86_64_overflow_pc32.o target.

* testsuite/Makefile.am (x86_64_mov_to_lea5.o): Pass
-mrelax-relocations=yes to $(TEST_AS).
(x86_64_mov_to_lea6.o): Likewise.
(x86_64_overflow_pc32.o): Remove duplicated target.
* testsuite/Makefile.in: Regenerated.

8 years agoFix cleanup in arm_linux_software_single_step
Yao Qi [Tue, 16 Feb 2016 13:53:35 +0000 (13:53 +0000)] 
Fix cleanup in arm_linux_software_single_step

I see the following error in testing aarch64 GDB debugging arm
program.

(gdb) PASS: gdb.reverse/readv-reverse.exp: set breakpoint at marker2
continue
Continuing.
=================================================================
==32273==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0x000000ce4c00 in thread T0
    #0 0x2ba5615645c7 in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x545c7)^M
    #1 0x4be8b5 in VEC_CORE_ADDR_cleanup /home/yao/SourceCode/gnu/gdb/git/gdb/common/gdb_vecs.h:34^M
    #2 0x5e6d95 in do_my_cleanups /home/yao/SourceCode/gnu/gdb/git/gdb/common/cleanups.c:154^M
    #3 0x64c99a in fetch_inferior_event /home/yao/SourceCode/gnu/gdb/git/gdb/infrun.c:3975^M
    #4 0x678437 in inferior_event_handler /home/yao/SourceCode/gnu/gdb/git/gdb/inf-loop.c:44^M
    #5 0x5078f6 in remote_async_serial_handler /home/yao/SourceCode/gnu/gdb/git/gdb/remote.c:13223^M
    #6 0x4cecfd in run_async_handler_and_reschedule /home/yao/SourceCode/gnu/gdb/git/gdb/ser-base.c:137^M
    #7 0x676864 in gdb_wait_for_event /home/yao/SourceCode/gnu/gdb/git/gdb/event-loop.c:834^M
    #8 0x676a27 in gdb_do_one_event /home/yao/SourceCode/gnu/gdb/git/gdb/event-loop.c:323^M
    #9 0x676aed in start_event_loop /home/yao/SourceCode/gnu/gdb/git/gdb/event-loop.c:347^M
    #10 0x6706d2 in captured_command_loop /home/yao/SourceCode/gnu/gdb/git/gdb/main.c:318^M
    #11 0x66db8c in catch_errors /home/yao/SourceCode/gnu/gdb/git/gdb/exceptions.c:240^M
    #12 0x6716dd in captured_main /home/yao/SourceCode/gnu/gdb/git/gdb/main.c:1157^M
    #13 0x66db8c in catch_errors /home/yao/SourceCode/gnu/gdb/git/gdb/exceptions.c:240^M
    #14 0x671b7a in gdb_main /home/yao/SourceCode/gnu/gdb/git/gdb/main.c:1165^M
    #15 0x467684 in main /home/yao/SourceCode/gnu/gdb/git/gdb/gdb.c:32^M
    #16 0x2ba563ed7ec4 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)^M
    #17 0x4676b2 (/scratch/yao/gdb/build-git/aarch64-linux-gnu/gdb/gdb+0x4676b2)

looks we should discard cleanup if function
arm_linux_software_single_step returns early, or create cleanup when
it is needed.

gdb:

2016-02-16  Yao Qi  <yao.qi@linaro.org>

* arm-linux-tdep.c (arm_linux_software_single_step): Assign
'old_chain' later.

8 years agoRemove PC from syscall_next_pc
Yao Qi [Tue, 16 Feb 2016 13:47:17 +0000 (13:47 +0000)] 
Remove PC from syscall_next_pc

Method syscall_next_pc of struct arm_get_next_pcs_ops has an argument
PC, which is not necessary, because PC can be got from regcache in
'struct arm_get_next_pcs'.  This patch removes the PC argument of
syscall_next_pc.

gdb:

2016-02-16  Yao Qi  <yao.qi@linaro.org>

* arch/arm-get-next-pcs.h (struct arm_get_next_pcs_ops)
<syscall_next_pc>: Remove argument PC.  Callers updated.
* arm-linux-tdep.c (arm_linux_get_next_pcs_syscall_next_pc):
Remove argument PC.  Get pc from regcache_read_pc.
* arm-tdep.c (arm_get_next_pcs_syscall_next_pc): Remove
argument PC.

gdb/gdbserver:

2016-02-16  Yao Qi  <yao.qi@linaro.org>

* linux-arm-low.c (get_next_pcs_syscall_next_pc): Remove argument
PC.  Get pc from regcache_read_pc.

8 years agoRemove documentation of deleted function S_IS_EXTERN.
Trevor Saunders [Tue, 16 Feb 2016 10:37:32 +0000 (10:37 +0000)] 
Remove documentation of deleted function S_IS_EXTERN.

8 years agoFix formatting problems caused by previous update to as.texinfo.
Nick Clifton [Tue, 16 Feb 2016 10:35:54 +0000 (10:35 +0000)] 
Fix formatting problems caused by previous update to as.texinfo.

* doc/as.texinfo (Section): Fix up texinfo snafus in previous
update.

8 years ago[PR19620][GAS][AArch64]Remove mov[z,k,n] relocation symbol name restriction.
Renlin Li [Tue, 16 Feb 2016 10:00:29 +0000 (10:00 +0000)] 
[PR19620][GAS][AArch64]Remove mov[z,k,n] relocation symbol name restriction.

In AArch64 gas, register name or string starts with valid register name
is not allowed as symbol name for mov[z,k,n] instruction.
This patch removes the restriction.

gas/
PR gas/19620
* config/tc-aarch64.c (parse_half): Remove restrictions on symbol name.
* testsuite/gas/aarch64/movw_label.d: New.
* testsuite/gas/aarch64/movw_label.s: New.

8 years agoFix BFD format matching for x86_64-w64-mingw32 -m32 LTO.
Joseph Myers [Tue, 16 Feb 2016 00:27:11 +0000 (00:27 +0000)] 
Fix BFD format matching for x86_64-w64-mingw32 -m32 LTO.

In <https://sourceware.org/ml/binutils/2015-12/msg00190.html> (commit
4a07dc81356ed8728e204e9aabeb256703c59aef), Kwok fixed a problem with
the template used for a dummy BFD for an IR file for LTO on MinGW,
where the input and output formats are not the same.

A problem, however, remains in the case of linking for
x86_64-w64-mingw32 -m32, where LTO linking reports an ambiguity
between the pe-i386 and pei-i386 formats.  An object (pe-i386) with
plugin data is being tested by the linker to see what formats match.
The default format initially set by the linker when
bfd_check_format_matches is called is pei-i386 (as that's the output
format from the linker script), which does not match, so the function
goes on to the loop over possible BFD vectors.  The pe-i386 vector
matches, as it should.  One other vector matches: the plugin vector.

bfd_check_format_matches tests a vector for matching by temporarily
modifying the BFD object to use that vector then using
_bfd_check_format on it.  So the BFD object is temporarily using
plugin_vec.  _bfd_check_format ends up using bfd_plugin_object_p which
uses plugin_object_p from ld which uses plugin_get_ir_dummy_bfd which
succeeds, having created a BFD based on link_info.output_bfd (because
srctemplate is the BFD temporarily using plugin_vec, even after Kwok's
patch link_info.output_bfd is all that's available to base the dummy
BFD on).  So we end up with a match from the plugin vector which uses
the pei-i386 vector even though the pei-i386 vector itself does not
match the input object.  (In the i686-mingw32 case, as opposed to this
multilib case, pe-i386 is the default BFD target, which would
short-circuit that logic.)

There are two cases of the linker handling inputs with a plugin: they
may be inputs that are also accepted by some non-plugin BFD format, as
here, or they may be a format that would not be recognized at all, as
with some tests in the ld testsuite.  In the former case, there is no
need for BFD to accept the objects using the plugin vector, as the
linker has its own logic to allow plugins to claim objects accepted by
some other BFD vector.  Thus, this patch arranges for the plugin
vector to have the lowest match priority, and for the priority from
that vector to be used in the relevant case (the attempted match to
the plugin vector results in TEMP pointing to the pei-i386 vector).

Tested for GCC and Binutils testsuites for x86_64-pc-linux-gnu, as
well as verifying that it fixes the observed LTO issue for
x86_64-w64-mingw32.

* plugin.c (plugin_vec): Set match priority to 255.
* format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
matching against the plugin vector, take priority from there not
from TEMP.

8 years agoFix typos in gas/ChangeLog
H.J. Lu [Tue, 16 Feb 2016 00:11:23 +0000 (16:11 -0800)] 
Fix typos in gas/ChangeLog

8 years agoAdd parentheses to prevent truncated addresses
H.J. Lu [Mon, 15 Feb 2016 23:58:42 +0000 (15:58 -0800)] 
Add parentheses to prevent truncated addresses

* i386-dis.c (print_insn): Parenthesize expression to prevent
truncated addresses.
(OP_J): Likewise.

8 years agoAutomatic date update in version.in
GDB Administrator [Tue, 16 Feb 2016 00:00:20 +0000 (00:00 +0000)] 
Automatic date update in version.in

8 years agoAdd missing gdb.arch/i386-prologue.c prototypes
Jan Kratochvil [Mon, 15 Feb 2016 18:01:03 +0000 (19:01 +0100)] 
Add missing gdb.arch/i386-prologue.c prototypes

The testfile has not ran because:
gdb.arch/i386-prologue.c:34:3: warning: implicit declaration of function 'standard' [-Wimplicit-function-declaration]
   standard ();
   ^
gdb.arch/i386-prologue.c:35:3: warning: implicit declaration of function 'stack_align_ecx' [-Wimplicit-function-declaration]
   stack_align_ecx ();
   ^
gdb.arch/i386-prologue.c:36:3: warning: implicit declaration of function 'stack_align_edx' [-Wimplicit-function-declaration]
   stack_align_edx ();
   ^
gdb.arch/i386-prologue.c:37:3: warning: implicit declaration of function 'stack_align_eax' [-Wimplicit-function-declaration]
   stack_align_eax ();
   ^

gdb/testsuite/ChangeLog
2016-02-15  Jan Kratochvil  <jan.kratochvil@redhat.com>

* gdb.arch/i386-prologue.c: Add missing prototypes.

8 years agoFix more testcases with standard_output_file.
Jan Kratochvil [Mon, 15 Feb 2016 17:54:03 +0000 (18:54 +0100)] 
Fix more testcases with standard_output_file.

Since
commit 2151ccc56c74b55a8f0debf0724a495368f92591
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Feb 8 14:02:36 2016 -0500
    Always organize test artifacts in a directory hierarchy
these testfiles could not build.

gdb/testsuite/ChangeLog
2016-02-15  Jan Kratochvil  <jan.kratochvil@redhat.com>

* gdb.arch/i386-gnu-cfi.exp: Use standard_output_file.
* gdb.arch/i386-prologue.exp: Likewise.
* gdb.arch/i386-size.exp: Likewise.

This page took 0.114911 seconds and 4 git commands to generate.