Commit Graph

85255 Commits

Author SHA1 Message Date
Yao Qi
7232d38966 [aarch64] Remove argument pc from disas_aarch64_insn
I happen to see that argument pc is not used inside disas_aarch64_insn
at all.  This patch is to remove it.

OK to apply?

opcodes:

2015-10-02  Yao Qi  <yao.qi@linaro.org>

	* aarch64-dis.c (disas_aarch64_insn): Remove argument PC.
	(print_insn_aarch64_word): Caller updated.
2015-10-02 15:23:54 +01:00
GDB Administrator
371517f576 Automatic date update in version.in 2015-10-02 00:00:07 +00:00
H.J. Lu
5db4f0d383 Create a PLT entry for R_X86_64_PC32 in non-code sections
Since something like ".long foo - ." may be used as pointer, we make
sure that PLT is used if foo is a function defined in a shared library.

bfd/

	PR ld/19031
	* elf64-x86-64.c (elf_x86_64_check_relocs): Set
	pointer_equality_needed for R_X86_64_PC32 reloc in non-code
	sections.

ld/testsuite/

	PR ld/19031
	* ld-x86-64/x86-64.exp: Run PR ld/19031 test.
	* ld-x86-64/pr19031.out: New file.
	* ld-x86-64/pr19031a.c: Likewise.
	* ld-x86-64/pr19031b.S: Likewise.
	* ld-x86-64/pr19031c.c: Likewise.
2015-10-01 10:49:33 -07:00
Simon Marchi
dd0a637a3d vec.h: Add casts for C++ compat
gdb/ChangeLog:

	* common/vec.h (VEC_OP (T,cleanup)): Add pointer cast.
2015-10-01 11:29:08 -04:00
Renlin Li
73524045d3 [BFD][AARCH64]Emit single AARCH64_MAP_INSN symbol for the whole plt.
bfd/

2015-10-01  Renlin Li  <renlin.li@arm.com>

	* elfnn-aarch64.c (elfNN_aarch64_output_plt_map): Remove.
	(elfNN_aarch64_output_arch_local_syms): Emit AARCH64_MAP_INSN once.

ld/testsuite/

2015-10-01  Renlin Li  <renlin.li@arm.com>

	* ld-aarch64/plt_mapping_symbol.d: New.
	* ld-aarch64/plt_mapping_symbol.s: New.
	* ld-aarch64/aarch64-elf.exp: Run the new test.
2015-10-01 14:27:56 +01:00
Kaz Kojima
0e1e4a7512 ld/configure.tgt: Drop non-linux non-fdpic stuff from the last change of targ_extra_emuls for sh*-linux cases 2015-10-01 14:19:53 +09:00
Kaz Kojima
de48f481b1 bfd/config.bfd: Drop non-linux non-fdpic stuff from the last change of targ_selvecs of sh*-linux cases 2015-10-01 14:13:26 +09:00
Alan Modra
c220e327e3 Update ld-x86-64/pr19013-nacl.d
* ld-x86-64/pr19013-nacl.d: Update.
2015-10-01 09:31:16 +09:30
GDB Administrator
21d8086325 Automatic date update in version.in 2015-10-01 00:00:07 +00:00
Alan Modra
017e6bceee Revert "Also check e_machine when merging sections"
Commit 9865bd0d added a bogus check in _bfd_elf_merge_sections.

bfd/
	PR ld/19013
	* elflink.c (_bfd_elf_merge_sections): Revert last change.
ld/testsuite/
	* ld-x86-64/pr19013-x32.d: Update.
2015-10-01 07:41:28 +09:30
Doug Evans
1fd60fc077 dwarf2read.c (setup_type_unit_groups): Add comment.
gdb/ChangeLog:

	* dwarf2read.c (setup_type_unit_groups): Add comment.
2015-09-30 12:29:48 -07:00
Pedro Alves
398e081380 x86/Linux: reenable all-stop on top of non-stop
Since the record-btrace target now supports non-stop mode, we no
longer need to force-disable as-ns on x86.

gdb/ChangeLog:
2015-09-30  Pedro Alves  <palves@redhat.com>

	* linux-nat.c (linux_nat_always_non_stop_p): Always return 1.
	* x86-linux-nat.c (x86_linux_always_non_stop_p): Delete.
	(x86_linux_create_target): Don't install
	x86_linux_always_non_stop_p.
2015-09-30 19:23:39 +01:00
H.J. Lu
4ee959fb24 Handle symbolic link when copying source file
* lib/utils-lib.exp (run_dump_test): Handle symbolic link when
	copying source file.
2015-09-30 10:50:36 -07:00
H.J. Lu
b8836e409e Pass -m elf_x86_64 to ld for 64-bit test
* ld-x86-64/pr19013.d (ld): Add -m elf_x86_64.
2015-09-30 10:20:34 -07:00
Don Breazeal
6ab24463cb Call strprefix instead of strncmp in event parsing
This fixes a typo that used strncmp instead of strprefix when
checking for an exec event in a stop reply packet.

gdb/ChangeLog:

	* remote.c (remote_parse_stop_reply): Call strprefix instead
	of strncmp.
2015-09-30 10:14:45 -07:00
Nick Clifton
6899683948 Resync files in the binutils repository that are maintained in the gcc repository.
.	2015-08-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/54572
	* Makefile.def: Make libgfortran depend on libbacktrace.
	* Makefile.in: Regenerate.

	2015-08-12  Tom de Vries  <tom@codesourcery.com>

	PR other/67092
	PR other/67098
	* configure.ac: Remove --with_host_libstdcxx support.
	* configure: Regenerate.

	2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* configure.ac (noconfigdirs): Don't add "target-libgomp" for target
	nvptx*-*-*.
	* configure: Regenerate.

include	2015-08-14  Pierre-Marie de Rodat  <derodat@adacore.com>

	* dwarf2.def (DW_AT_GNU_bias): New attribute.

	2015-08-14  Pierre-Marie de Rodat  <derodat@adacore.com>

	* dwarf2.def (DW_AT_GNU_numerator, DW_AT_GNU_denominator): New
	attributes.

libiberty  2015-08-15  Ian Lance Taylor  <iant@google.com>

	* cp-demangle.c (d_abi_tags): Preserve di->last_name across any
	ABI tags.
2015-09-30 17:55:16 +01:00
H.J. Lu
4b627c1844 Create a PLT entry for R_386_PC32 in non-code sections
Since something like ".long foo - ." may be used as pointer, we make
sure that PLT is used if foo is a function defined in a shared library.

bfd/

	PR ld/19031
	* elf32-i386.c (elf_i386_check_relocs): Set
	pointer_equality_needed for R_386_PC32 reloc in non-code
	sections.

ld/testsuite/

	PR ld/19031
	* ld-i386/i386.exp: Run PR ld/19031 test.
	* ld/testsuite/ld-i386/pr19031.out: New file.
	* ld/testsuite/ld-i386/pr19031a.c: Likewise.
	* ld/testsuite/ld-i386/pr19031b.S: Likewise.
	* ld/testsuite/ld-i386/pr19031c.c: Likewise.
2015-09-30 08:45:13 -07:00
Simon Marchi
ede5f15146 gdbarch.h: Change gdbarch_info::tdep_info's type to void *
As reported by Ulrich here:

  https://sourceware.org/ml/gdb-patches/2015-09/msg00604.html

The system compiler (gcc 4.1) in Centos 5 doesn't like that we cast to a
pointer to a type that doesn't exist.  I see no real value in using this
kind iof construct over just using void *.  So this patch changes the
tdep_info field to void * and removes the casts.  Even in C++, we
should not need an explicit cast when assigning to a void *.

gdb/ChangeLog:

	* gdbarch.sh (struct gdbarch_info): Change tdep_info's type to void *.
	* gdbarch.h: Regenerate.
	* i386-tdep.c (i386_gdbarch_init): Remove cast to
	struct gdbarch_tdep_info *.
	* mips-tdep.c (mips_gdbarch_init): Likewise.
	* ppc-linux-tdep (ppu2spu_sniffer): Likewise.
	* rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
	* spu-multiarch.c (spu_gdbarch): Likewise.
2015-09-30 11:21:52 -04:00
Yao Qi
7781c06f6e Shorten long lines in linux-aarch64-low.c
Happen to see these lines are too long.  This patch shortens them.

gdb/gdbserver:

2015-09-30  Yao Qi  <yao.qi@linaro.org>

	* linux-aarch64-low.c (emit_movk): Shorten a long line.
	(emit_load_store_pair): Likewise.
2015-09-30 16:01:47 +01:00
Simon Marchi
e019fd1d14 py-type.exp: Do not run tests if binary fails to build
I noticed this while working on the test case.  I believe it would make
sense to skip running the tests if the binary failed to build.  Although
I would understand the opposite argument: if the binary does not build
for some reason, we probably want to know about it, and some catastrophic
failures in the tests might alarm us better than a timid "UNTESTED".

gdb/testsuite/ChangeLog:

	* gdb.python/py-type.exp: Do not run tests if binaries fail to
	build.
2015-09-30 10:04:33 -04:00
Kevin Buettner
51c935fa4a Fix ChangeLog Date for previous push. 2015-09-30 05:58:56 -07:00
Kevin Buettner
aca20ec473 infcmd.c: Don't attempt to record a NULL value after a finish command.
Architectures which use RETURN_VALUE_STRUCT_CONVENTION will have a
NULL return value after executing a finish command.  See get_return_value()
in infcmd.c.

This patch avoids an eventual SIGSEV (caused by attempting to
derefrence a NULL pointer) by adding a suitable test to
finish_command_fsm_should_stop().

I encountered this problem while testing msp430:

(gdb) PASS: gdb.base/structs.exp: zed L<n> for finish; return 1 structs-tc
finish
Run till exit from #0  fun1 () at /ironwood1/sourceware-git/msp430-elf/../binutils-gdb/gdb/testsuite/gdb.base/structs.c:125
ERROR: Process no longer exists

gdb/ChangeLog:
    	* infcmd.c (finish_command_fsm_should_stop): Don't attempt to
    	record a NULL value.
2015-09-30 05:56:03 -07:00
Markus Metzger
77ba2a6796 btrace, testsuite: fix spurious gdb.btrace/tsx.exp fails
If the atomic section in x86-tsx.S is aborted, the tsx.exp test will fail
even if the traced output is actually correct.

Consider abort scenarios in the test.

testsuite/
	* gdb.btrace/tsx.exp: Consider multiple correct outputs in the record
	instruction-history test.
2015-09-30 14:48:38 +02:00
H.J. Lu
9865bd0da6 Also check e_machine when merging sections
When we check consistency for merge ELF sections, we should not only
check EI_CLASS, but also compatible e_machine.

bfd/

	PR ld/19013
	* elflink.c (_bfd_elf_merge_sections): Only merge input bfds
	that have the compatible ELF machine code with the output bfd.

ld/testsuite/

	PR ld/19013
	* ld-x86-64/pr19013-nacl.d: New file.
	* ld-x86-64/pr19013-x32.d: Likewise.
	* ld-x86-64/pr19013.d: Likewise.
	* ld-x86-64/pr19013.s: Likewise.
	* ld-x86-64/x86-64.exp: Run PR ld/19013 tests.
2015-09-30 05:37:49 -07:00
Alan Modra
2ec6d9e621 Revise new e500 invalid opcode test
.machine isn't available on all powerpc targets.

	* gas/ppc/ppc.exp (e500-ill): Pass -me500.
	* gas/ppc/e500-ill.s: Remove .machine.
	* gas/ppc/e500-ill.l: Remove line numbers.
2015-09-30 18:32:32 +09:30
Alan Modra
630993ec93 Consistency check for merge sections
We can't allow sections to be merged and sized by the ELF linker
backend and then later be output by the generic linker backend.  The
generic linker backend doesn't understand merge sections.

	PR ld/19013
	* elflink.c (_bfd_elf_merge_sections): Only merge input bfds that
	will be handled by elf_link_input_bfd.  Rename abfd param to obfd.
2015-09-30 16:06:09 +09:30
Rich Felker
a39d2e820d Add fdpic and misc emulations to configure.tgt for sh*-*-linux* 2015-09-30 14:35:53 +09:00
Rich Felker
6c4f2328ab Add fdpic and misc targets to config.bfd for sh*-*-linux* 2015-09-30 14:32:07 +09:00
Kevin Buettner
3b1ad7d510 msp430: Fix bug regarding large memory model inferior function call arguments.
This change causes reference, struct, and union arguments to be treated
the same as pointer arguments when determining the size of the value to
place into a register.

The case for doing this for reference arguments is obvious.

The msp430 ABI specifies that struct and union arguments are passed by
reference.  This is why they're treated in the same manner as pointer
and reference arguments when computing the size of the value to place
into a register.

In my testing using this multilib...

msp430-sim/-msim/-mcpu=msp430x/-mlarge/-mdata-region=either/-mcode-region=either

... I find that the the following failures, 125 in all, are fixed by this
patch.

FAIL: gdb.base/callfuncs.exp: call inferior func with struct - returns char
FAIL: gdb.base/callfuncs.exp: call inferior func with struct - returns short
FAIL: gdb.base/callfuncs.exp: call inferior func with struct - returns int
FAIL: gdb.base/callfuncs.exp: call inferior func with struct - returns long
FAIL: gdb.base/callfuncs.exp: call inferior func with struct - returns float
FAIL: gdb.base/callfuncs.exp: call inferior func with struct - returns double
FAIL: gdb.base/callfuncs.exp: call inferior func with struct - returns float _Complex
FAIL: gdb.base/callfuncs.exp: call inferior func with struct - returns double _Complex
FAIL: gdb.base/callfuncs.exp: call inferior func with struct - returns long double _Complex
FAIL: gdb.base/callfuncs.exp: call inferior func with struct - returns char *
FAIL: gdb.base/callfuncs.exp: noproto: call inferior func with struct - returns char
FAIL: gdb.base/callfuncs.exp: noproto: call inferior func with struct - returns short
FAIL: gdb.base/callfuncs.exp: noproto: call inferior func with struct - returns int
FAIL: gdb.base/callfuncs.exp: noproto: call inferior func with struct - returns long
FAIL: gdb.base/callfuncs.exp: noproto: call inferior func with struct - returns float
FAIL: gdb.base/callfuncs.exp: noproto: call inferior func with struct - returns double
FAIL: gdb.base/callfuncs.exp: noproto: call inferior func with struct - returns float _Complex
FAIL: gdb.base/callfuncs.exp: noproto: call inferior func with struct - returns double _Complex
FAIL: gdb.base/callfuncs.exp: noproto: call inferior func with struct - returns long double _Complex
FAIL: gdb.base/callfuncs.exp: noproto: call inferior func with struct - returns char *
FAIL: gdb.base/structs.exp: p/c L<n>; call 1 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 3 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 4 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 5 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 6 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 7 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 8 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 9 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 10 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 11 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 12 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 13 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 14 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 15 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 16 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 17 structs-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 1 structs-ts
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-ts
FAIL: gdb.base/structs.exp: p/c L<n>; call 3 structs-ts
FAIL: gdb.base/structs.exp: p/c L<n>; call 4 structs-ts
FAIL: gdb.base/structs.exp: p/c L<n>; call 5 structs-ts
FAIL: gdb.base/structs.exp: p/c L<n>; call 1 structs-ti
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-ti
FAIL: gdb.base/structs.exp: p/c L<n>; call 3 structs-ti
FAIL: gdb.base/structs.exp: p/c L<n>; call 1 structs-tl
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tl
FAIL: gdb.base/structs.exp: p/c L<n>; call 3 structs-tl
FAIL: gdb.base/structs.exp: p/c L<n>; call 1 structs-tll
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tll
FAIL: gdb.base/structs.exp: p/c L<n>; call 1 structs-tf
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tf
FAIL: gdb.base/structs.exp: p/c L<n>; call 3 structs-tf
FAIL: gdb.base/structs.exp: p/c L<n>; call 1 structs-td
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-td
FAIL: gdb.base/structs.exp: p/c L<n>; call 1 structs-tld
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tld
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-ts-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 3 structs-ts-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 4 structs-ts-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 5 structs-ts-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 6 structs-ts-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 7 structs-ts-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 8 structs-ts-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-ti-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 3 structs-ti-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 4 structs-ti-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 5 structs-ti-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 6 structs-ti-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tl-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 3 structs-tl-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 4 structs-tl-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 5 structs-tl-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 6 structs-tl-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tll-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tf-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 3 structs-tf-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 4 structs-tf-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 5 structs-tf-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 6 structs-tf-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-td-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tld-tc
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tc-ts
FAIL: gdb.base/structs.exp: p/c L<n>; call 3 structs-tc-ts
FAIL: gdb.base/structs.exp: p/c L<n>; call 4 structs-tc-ts
FAIL: gdb.base/structs.exp: p/c L<n>; call 5 structs-tc-ts
FAIL: gdb.base/structs.exp: p/c L<n>; call 6 structs-tc-ts
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tc-ti
FAIL: gdb.base/structs.exp: p/c L<n>; call 3 structs-tc-ti
FAIL: gdb.base/structs.exp: p/c L<n>; call 4 structs-tc-ti
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tc-tl
FAIL: gdb.base/structs.exp: p/c L<n>; call 3 structs-tc-tl
FAIL: gdb.base/structs.exp: p/c L<n>; call 4 structs-tc-tl
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tc-tll
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tc-tf
FAIL: gdb.base/structs.exp: p/c L<n>; call 3 structs-tc-tf
FAIL: gdb.base/structs.exp: p/c L<n>; call 4 structs-tc-tf
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tc-td
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tc-tld
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-td-tf
FAIL: gdb.base/structs.exp: p/c L<n>; call 2 structs-tf-td
FAIL: gdb.cp/classes.exp: call class_param.Aref_a (g_A)
FAIL: gdb.cp/classes.exp: call class_param.Aref_x (g_A)
FAIL: gdb.cp/classes.exp: call class_param.Aref_a (g_B)
FAIL: gdb.cp/classes.exp: call class_param.Aref_x (g_B)
FAIL: gdb.cp/classes.exp: call class_param.Aval_a (g_A)
FAIL: gdb.cp/classes.exp: call class_param.Aval_x (g_A)
FAIL: gdb.cp/classes.exp: call class_param.Aval_a (g_B)
FAIL: gdb.cp/classes.exp: call class_param.Aval_x (g_B)
FAIL: gdb.cp/ref-params.exp: print value of f1 on Child in main
FAIL: gdb.cp/ref-params.exp: print value of f2 on Child in main
FAIL: gdb.cp/ref-params.exp: print value of f1 on (Child&) in main
FAIL: gdb.cp/ref-params.exp: print value of f2 on (Child&) in main
FAIL: gdb.cp/ref-params.exp: print value of f1 on Child& in f2
FAIL: gdb.cp/ref-params.exp: print f1(MQ)
FAIL: gdb.cp/ref-params.exp: print mf1(MQ)
FAIL: gdb.cp/ref-params.exp: print mf2(MQ)
FAIL: gdb.cp/ref-params.exp: print f1(MQR)
FAIL: gdb.cp/ref-params.exp: print mf1(MQR)
FAIL: gdb.cp/ref-params.exp: print mf2(MQR)
FAIL: gdb.python/py-xmethods.exp: Before: a1 + a2
FAIL: gdb.python/py-xmethods.exp: Before: a2 - a1
FAIL: gdb.python/py-xmethods.exp: Before: b1 - a1
FAIL: gdb.python/py-xmethods.exp: After: a2 - a1
FAIL: gdb.python/py-xmethods.exp: After: b1 - a1

gdb/ChangeLog:

	* msp430-tdep.c (msp430_push_dummy_call): Treat reference, struct,
	and union arguments the same as pointer arguments when determining
	size of argument.
2015-09-29 21:55:31 -07:00
James Bowman
395b0d8a3f sim: ft32: correct simulation of MEMCPY and MEMSET
The MEMCPY and MEMSET instructions should only examine the low 15 bits of
their length arguments.
2015-09-29 23:39:24 -04:00
James Bowman
71c34ca7a0 sim: ft32: correctly simulate PM write port
The FT32 simulator was not correctly simulating the behavior of the
program memory (PM) write port.  When it is locked, writes to the
data register do nothing.
2015-09-29 23:36:56 -04:00
GDB Administrator
1eefa9cbaf Automatic date update in version.in 2015-09-30 00:00:08 +00:00
H.J. Lu
cbd44e247e Don't use the output section size to copy input section
We can't use the output section size to copy input section since
--interleave will shrink the output section.  Instead, we change
bfd_convert_section_contents to return the updated input section
size.  When we do that, we don't need to adjust the output section
size to skip gap fills.

bfd/

	PR binutils/19020
	* bfd.c (bfd_convert_section_contents): Add ptr_size parameter.
	* bfd-in2.h: Regenerated.

binutils/

	PR binutils/19020
	* objcopy.c (copy_object): Don't adjust the output section size
	when copying from input sections.
	(copy_section): Use input section size for the copy.  Get the
	updated section size from bfd_convert_section_contents.

binutils/testsuite/

	PR binutils/19020
	* binutils-all/objcopy.exp: Run pr19020a and pr19020b.
	* lib/utils-lib.exp (run_dump_test): Support binary input.
	* binutils-all/pr19020.in: New file.
	* binutils-all/pr19020a.d: Likewise.
	* binutils-all/pr19020b.d: Likewise.
2015-09-29 13:31:57 -07:00
jamesbowman
0bcf3dd690 Undo accidental commit 2015-09-29 09:37:38 -07:00
jamesbowman
4f714dd43e Rebase patch #7 2015-09-29 09:31:09 -07:00
jamesbowman
86feccb920 [FT32] Replace hard-coded instruction patterns with macros
The stack unwinder can now use FT32_*() macros to interpet binary
instructions instead of local definitions.

2015-09-29  James Bowman  <james.bowman@ftdichip.com>

	* ft32-tdep.c: #include "opcode/ft32.h".
	Delete local macros IS_PUSH, PUSH_REG, IS_LINK, LINK_SIZE.
	(ft32_analyze_prologue): Use FT32_* macros.
2015-09-29 09:06:29 -07:00
H.J. Lu
c68c163716 Adjust the output section size to skip gap fills
In objcopy, copy_object calls copy_section to copy contents of input
section to output section.  When --gap-fill= is used, objcopy extends
the size of output sectios to fill gaps between output sections with
gap fills.  In this case, we adjust the output section size to skip
gap files to avoid reading beypond the input section buffer before
calling copy_section and restore the output section size after input
sections have been copied.

binutils/

	PR binutils/19005
	* objcopy.c (copy_object): Adjust the output section size to
	skip gap fills between sections when copying from input sections
	to output sections.

ld/testsuite/

	PR binutils/19005
	* ld-elf/pr19005.d: New file.
	* ld-elf/pr19005.s: Likewise.
	* ld-elf/pr19005.t: Likewise.
2015-09-29 06:33:24 -07:00
Dominik Vogt
7ecc513a44 Add support for extensions in the .machine pseudoop on S/390, e.g. ".machine zEC12+nohtm+vx"
gas	* doc/c-s390.texi: Add documentation.
	Add missing code markup.
	* config/tc-s390.c (current_flags): New static variable.
	(s390_parse_cpu): Parse cpu flags a la "+nohtm" etc.
	(s390_setup_opcodes): Use cpu flags to determine the set of opcodes.
	Fix indentation.
	(md_parse_option): Call s390_parse_cpu with the new signature.
	(s390_machine): Likewise.
	Keep track of current_flags.
	Simplify code a bit.
	undefine MAX_HISTORY at end of function.
	(s390_machinemode): undefine MAX_HISTORY at end of function.
	Update an error message.

tests	* gas/s390/s390.exp: Add new tests.
	* gas/s390/machine-parsing-1.s: New test file.
	* gas/s390/machine-parsing-1.l: Likewise.
	* gas/s390/machine-parsing-2.s: Likewise.
	* gas/s390/machine-parsing-2.l: Likewise.
	* gas/s390/machine-parsing-3.s: Likewise.
	* gas/s390/machine-parsing-3.l: Likewise.
	* gas/s390/machine-parsing-4.s: Likewise.
	* gas/s390/machine-parsing-4.l: Likewise.
	* gas/s390/machine-parsing-5.s: Likewise.
	* gas/s390/machine-parsing-5.l: Likewise.
	* gas/s390/machine-parsing-6.s: Likewise.
	* gas/s390/machine-parsing-6.l: Likewise.

opcode	* s390.h (S390_INSTR_FLAG_HTM): New flag.
	(S390_INSTR_FLAG_VX): New flag.
	(S390_INSTR_FLAG_FACILITY_MASK): New flag mask.

opcodes	* s390-mkopc.c (main): Parse htm and vx flag.
	* s390-opc.txt: Mark instructions from the hardware transactional
	memory and vector facilities with the "htm"/"vx" flag.
2015-09-29 13:22:07 +01:00
Nick Clifton
56e6cf80bd PR/19014: Fix a spelling mistake in the linker documentation. 2015-09-29 10:55:23 +01:00
GDB Administrator
7b45154096 Automatic date update in version.in 2015-09-29 00:00:08 +00:00
Simon Marchi
84d73afc1a Fix last commit's ChangeLog
I somehow managed to do the same mistake in my ChangeLog entry as what I
was trying to fix in the code...
2015-09-28 18:44:30 -04:00
Simon Marchi
2181a6c626 cli-script.c: Fix read_next_line's comment
It seems obvious to me that stdout should in fact be stdin.

gdb/ChangeLog:

	* cli/cli-script.c (read_next_line): Fix stdout -> stdout in
	comment.
2015-09-28 18:34:54 -04:00
Doug Evans
c60eb31fb1 gdb.base/gcore.c (array_func): Add reference to static_array.
Otherwise clang will delete it: it's otherwise unused.

gdb/testsuite/ChangeLog:

	* gdb.base/gcore.c (array_func): Add reference to static_array.
2015-09-28 13:27:28 -07:00
Doug Evans
245af59695 MAINTAINERS: Add Iain Buclaw as D language maintainer.
gdb/ChangeLog:

	* MAINTAINERS: Add Iain Buclaw as D language maintainer.
2015-09-28 12:40:01 -07:00
Doug Evans
c402ef907a common/filestuff.c (make_cleanup_close): Update comment.
gdb/ChangeLog:

	* common/filestuff.c (make_cleanup_close): Update comment.
2015-09-28 11:31:54 -07:00
jamesbowman
71f4ed30fe FT32: define macros for instruction recognition.
Other places (e.g. the gdb stack unwinder) can use these instead of
hard-coded patterns.

[include/Changelog]

2015-09-26  James Bowman  <james.bowman@ftdichip.com>

	* opcode/ft32.h: Add instruction macros FT32_*()
2015-09-28 11:23:54 -07:00
Nick Clifton
b08b78e7d4 Updare French translation for binutils and German translation for opcodes. 2015-09-28 16:34:00 +01:00
Tom Rix
36f7a9411d Patches for illegal ppc 500 instructions
This change marks a few opcodes as invalid for ppc e500 as well as adds
a test to verify the change.
2015-09-28 12:09:51 +09:30
GDB Administrator
f1b383b81a Automatic date update in version.in 2015-09-28 00:00:08 +00:00
GDB Administrator
a8b9165886 Automatic date update in version.in 2015-09-27 00:00:08 +00:00