Commit graph

85396 commits

Author SHA1 Message Date
Jim Wilson
ef8e6722f2 Prevent overflowing the selected_cpu_name buffer in the ARM assembler.
* config/tc-arm.c (selected_cpu_name): Increase length of array to
	accomodate "Samsung Exynos M1".
	(arm_parse_cpu): Add assertion and length check to prevent
	overfilling selected_cpu_name.
2015-10-27 09:33:08 +00:00
Alan Modra
469bdc72e7 xfail pr19161 test on hppa-linux
HPPA linux needs libgcc.a for millicode routine $$dyncall.

	* ld-gc/pr19161.d: xfail hppa-*-*.
2015-10-27 18:09:21 +10:30
Jan Kratochvil
5e2e7507b4 Fix access_to_packed_array.exp typos/errors
Running ./gdb.ada/access_to_packed_array.exp ...
ERROR: tcl error sourcing ./gdb.ada/access_to_packed_array.exp.
ERROR: extra characters after close-quote
    while executing
"gdb_test "print pack.a" "\\(0 => 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\\)")"
    (file "./gdb.ada/access_to_packed_array.exp" line 29)
    invoked from within
"source ./gdb.ada/access_to_packed_array.exp"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 source ./gdb.ada/access_to_packed_array.exp"
    invoked from within
"catch "uplevel #0 source $test_file_name""

Unrelated to the typos I have changed the print expectations s/"x"/" = x"/
as for example expectation "3" should not match " = 43".

2015-10-27  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* gdb.ada/access_to_packed_array.exp: Fix typos erroring the testfile.
2015-10-27 06:08:45 +01:00
Doug Evans
a04a15f586 symtab.h (struct general_symbol_info> <ada_mangled>: Update comment.
gdb/ChangeLog:

	* symtab.h (struct general_symbol_info> <ada_mangled>: Update comment.
2015-10-26 20:24:16 -07:00
Alan Modra
321df0656c Evaluate __start_* and __stop_* symbol PROVIDE expressions early
Makes these symbols defined before bfd_elf_size_dynamic_sections, to
avoid horrible hacks elsewhere.  The exp_fold_tree undefweak change
is necessary to define undefweak symbols early too.  The comment was
wrong.  PROVIDE in fact defines undefweak symbols, via
bfd_elf_record_link_assignment.

	PR ld/19175
	* ldlang.c (lang_insert_orphan): Evaluate __start_* and __stop_*
	symbol PROVIDE expressions.
	* ldexp.c (exp_fold_tree_1 <etree_provide>): Define undefweak
	references.
2015-10-27 12:54:59 +10:30
Simon Marchi
d7f3ff3ea7 target.c: Add a cast and change a type
Fixes some errors in C++ build.

gdb/ChangeLog:

	* target.c (memory_xfer_partial): Change type of buf to gdb_byte
	pointer.
	(simple_search_memory): Cast return of memmem.
2015-10-26 22:07:27 -04:00
Simon Marchi
bf6778dab2 stap-probe.c: Add casts
gdb/ChangeLog:

	* stap-probe.c (handle_stap_probe): Add (const char *) casts.
2015-10-26 22:04:10 -04:00
Simon Marchi
c92444842b ctf_xfer_partial: Return TARGET_XFER_E_IO instead of -1 on error
Use the enum value instead of the corresponding int value.

gdb/ChangeLog:

	* ctf.c (ctf_xfer_partial): Return TARGET_XFER_E_IO instead of
	-1 on error.
2015-10-26 22:01:45 -04:00
GDB Administrator
6780fe1095 Automatic date update in version.in 2015-10-27 00:00:10 +00:00
H.J. Lu
7b7e7f1da2 Check symbol defined by assignment in linker script
Symbol symbol defined by an assignment in a linker script has type
bfd_link_hash_new.  elf_i386_convert_load and elf_x86_64_convert_load
should check bfd_link_hash_new to see if a symbol is defined by a linker
script.

bfd/

	PR ld/19175
	* elf32-i386.c (elf_i386_convert_load): Check bfd_link_hash_new
	instead of calling bfd_link_get_defined_symbol.
	* elf64-x86-64.c (elf_x86_64_convert_load): Likewise.  Skip
	relocation overflow for bfd_link_hash_new.
	* linker.c (bfd_link_get_defined_symbol): Removed.
	* bfd-in2.h: Regenerated.

ld/testsuite/

	PR ld/19175
	* ld-i386/i386.exp: Run pr19175.
	* ld-x86-64/x86-64.exp: Likewise.
	* ld-i386/pr19175.d: New file.
	* ld-i386/pr19175.s: Likewise.
	* ld-i386/pr19175.t: Likewise.
	* ld-x86-64/pr19175.d: Likewise.
	* ld-x86-64/pr19175.s: Likewise.
	* ld-x86-64/pr19175.t: Likewise.
2015-10-26 16:32:55 -07:00
Doug Evans
0fde2c536b PR symtab/17391 gdb internal error: assertion fails in regcache.c:178
gdb/ChangeLog:

	* dwarf2-frame.c (dwarf2_restore_rule): Call dwarf_reg_to_regnum
	instead of gdbarch_dwarf2_reg_to_regnum.
	(dwarf2_frame_cache): Ditto.
	(read_addr_from_reg): Call dwarf_reg_to_regnum_or_error instead of
	gdbarch_dwarf2_reg_to_regnum.
	(get_reg_value): Ditto.
	(dwarf2_fetch_cfa_info): Ditto.
	(dwarf2_frame_prev_register): Ditto.
	* dwarf2loc.c: #include "complaints.h".
	(dwarf_expr_read_addr_from_reg): Call dwarf_reg_to_regnum_or_error
	instead of gdbarch_dwarf2_reg_to_regnum.
	(dwarf_expr_get_reg_value): Ditto.
	(read_pieced_value): Ditto.
	(write_pieced_value): Ditto.
	(dwarf2_evaluate_loc_desc_full): Ditto.
	(dwarf_reg_to_regnum): New function.
	(throw_bad_regnum_error): New function.
	(dwarf_reg_to_regnum_or_error): Renamed from
	dwarf2_reg_to_regnum_or_errorChange to take a ULONGEST regnum.
	All callers updated.  Call throw_bad_regnum_error.
	(locexpr_regname): Improve text of bad register number.
	* dwarf2loc.h (dwarf_reg_to_regnum): Declare.
	(dwarf_reg_to_regnum_or_error): Update prototype.
	* dwarf2expr.c: #include "dwarf2loc.h".
	(dwarf_block_to_sp_offset): Call dwarf_reg_to_regnum instead of
	gdbarch_dwarf2_reg_to_regnum.
	* gdbarch.sh (dwarf2_reg_to_regnum): Add comment.
	* gdbarch.h: Regenerate.
	* amd64-tdep.c (amd64_dwarf_reg_to_regnum): Remove warning for bad
	register.
	* avr-tdep.c (avr_dwarf_reg_to_regnum): Ditto.
	* cris-tdep.c (cris_dwarf2_reg_to_regnum): Ditto.
	* bfin-tdep.c (bfin_reg_to_regnum): Fix error checking.
	* hppa-linux-tdep.c (hppa_dwarf_reg_to_regnum): Improve error checking.
	Remove warning for bad register.
	* hppa-tdep.c (hppa64_dwarf_reg_to_regnum): Ditto.
	* i386-tdep.c (i386_svr4_dwarf_reg_to_regnum): Renamed from
	i386_svr4_reg_to_regnum.  Return -1 for bad registers.
	(i386_svr4_reg_to_regnum): New function.
	(i386_gdbarch_init): Update call to set_gdbarch_dwarf2_reg_to_regnum.
	* microblaze-tdep.c (microblaze_dwarf2_reg_to_regnum): Don't assert
	on bad registers, return -1.
	* msp430-tdep.c (msp430_dwarf2_reg_to_regnum): Improve error checking.
	Remove warning for bad register.
	* nios2-tdep.c: Add static assert for NIOS2_NUM_REGS.
	(nios2_dwarf_reg_to_regnum): Fix off-by-one error.
	Remove warning for bad register.  Return -1 for bad register.
	* rl78-tdep.c (rl78_dwarf_reg_to_regnum): Don't flag an internal error
	for bad register, return -1.
	* rx-tdep.c (rx_dwarf_reg_to_regnum): Ditto.
	* m68k-tdep.c (m68k_dwarf_reg_to_regnum): Fix error result.
	* mep-tdep.c (mep_debug_reg_to_regnum): Ditto.
	* mips-tdep.c (mips_stab_reg_to_regnum): Ditto.
	(mips_dwarf_dwarf2_ecoff_reg_to_regnum): Ditto.
	* mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Remove warning
	for bad regs.
	* xtensa-tdep.c (xtensa_reg_to_regnum): Remove internal error for
	bad regs.  Fix error result.
	* stabsread.c (stab_reg_to_regnum): Watch for negative regno.
	(reg_value_complaint): Update complaint text.
	* mdebugread.c (reg_value_complaint): New function.
	(mdebug_reg_to_regnum): Rewrite to watch for bad reg numbers.

gdb/testsuite/ChangeLog:

	* lib/dwarf.exp (_location): Add support for DW_OP_regx.
	* gdb.dwarf2/bad-regnum.c: New file.
	* gdb.dwarf2/bad-regnum.exp: New file.
2015-10-26 16:05:21 -07:00
Doug Evans
1a70ae976b PR python/18938: source -s foo.py with foo.py a symlink to foo.notpy fails
gdb/ChangeLog:

	PR python/18938
	* cli/cli-cmds (source_script_fron_sctream): New arg file_to_open.
	All callers updated.

gdb/testsuite/ChangeLog:

	* gdb.python/python.exp: Add test for symlink from .py file to .notpy
	file.
2015-10-26 14:33:19 -07:00
Doug Evans
372405a5e8 Print address map in output of "mt print psymbols"
gdb/ChangeLog:

	* psymtab.c (struct dump_psymtab_addrmap_data): Define.
	(dump_psymtab_addrmap_1, dump_psymtab_addrmap): New functions.
	(maintenance_print_psymbols): Print address map.
2015-10-26 14:12:51 -07:00
Doug Evans
682b25469e Move __SIGRTMIN.
gdb/ChangeLog:

	* nat/linux-nat.h (__SIGRTMIN): Move here from gdbserver/linux-low.c.

gdb/gdbserver/ChangeLog:

	* linux-low.c (__SIGRTMIN): Move to nat/linux-nat.h.
2015-10-26 13:30:57 -07:00
Doug Evans
963843d4d0 musl: Move W_STOPCODE to common/gdb_wait.h.
gdb/ChangeLog:

	* common/gdb_wait.h (W_STOPCODE): Define, moved here from
	gdbserver/linux-low.c.
	(WSETSTOP): Simplify.

gdb/gdbserver/ChangeLog:

	* linux-low.c (W_STOPCODE): Moved to common/gdb_wait.h.
2015-10-26 13:24:01 -07:00
Doug Evans
d41401ace0 Add some casts for building on musl.
gdb/ChangeLog:

	* linux-thread-db.c (find_new_threads_callback): Cast ti.ti_tid to
	unsigned long for debug_printf.
	(thread_db_pid_to_str): Ditto.

gdb/gdbserver/ChangeLog:

	* thread-db.c (find_one_thread): Cast ti.ti_tid to unsigned long
	for debug_printf.
	(attach_thread, find_new_threads_callback): Ditto.
2015-10-26 13:20:12 -07:00
Simon Marchi
1522597b05 guile: Simplify ioscm_make_gdb_stdio_port
As pointed out by Pedro, it's clearer to do it this way.  We can trust
that scm_mode_bits won't try to modify our string, even though it takes
a non-const char *.

gdb/ChangeLog:

	* guile/scm-ports.c (ioscm_make_gdb_stdio_port): Do not pass a
	local char array to scm_mode_bits, use a cast instead.
2015-10-26 15:05:50 -04:00
Simon Marchi
7acd011bef tui: Simplify tui_alloc_content
I stumbled upon this while doing some cxx-conversion work.  Since the
x-family alloc functions throw on failure, it is useless to test their
result for failure.  The else branch of != NULL is basically dead code.

I changed the type of element_block_ptr to struct tui_win_element, which
seems obvious (this is actually what raised the flag, casting the result
of xmalloc to struct tui_win_element* wouldn't work).

gdb/ChangeLog:

	* tui/tui-data.c (tui_alloc_content): Don't check xmalloc
	result.  Change type of element_block_ptr.  Change allocation to
	use XNEWVEC.
2015-10-26 12:58:32 -04:00
H.J. Lu
a6af384b19 Properly convert address load of __start_XXX/__stop_XXX
Since __start_XXX and __stop_XXX symbols aren't defined when address
load is being converted, we need to check if there is an XXX output
section to get their section and value.  This patch adds a new function,
bfd_link_get_defined_symbol, to search for the XXX output section to
check if __start_XXX and __stop_XXX symbols are defined.

bfd/

	PR ld/19171
	* elf32-i386.c (elf_i386_convert_load): Call
	bfd_link_get_defined_symbol to check if a symbol is defined.
	* elf64-x86-64.c (elf_x86_64_convert_load): Call
	bfd_link_get_defined_symbol to get defined symbol section and
	value.
	* linker.c (bfd_link_get_defined_symbol): New function.
	* bfd-in2.h: Regenerated.

ld/testsuite/

	PR ld/19171
	* ld-i386/lea1.s: Add tests for address load of __start_XXX
	and __stop_XXX.
	* ld-i386/mov1.s: Likewise.
	* ld-x86-64/lea1.s: Likewise.
	* ld-x86-64/mov1.s: Likewise.
	* ld-i386/lea1a.d: Updated.
	* ld-i386/lea1b.d: Likewise.
	* ld-i386/lea1c.d: Likewise.
	* ld-i386/mov1a.d: Likewise.
	* ld-i386/mov1b.d: Likewise.
	* ld-x86-64/lea1a.d: Likewise.
	* ld-x86-64/lea1b.d: Likewise.
	* ld-x86-64/lea1c.d: Likewise.
	* ld-x86-64/lea1d.d: Likewise.
	* ld-x86-64/lea1e.d: Likewise.
	* ld-x86-64/lea1f.d: Likewise.
	* ld-x86-64/mov1a.d: Likewise.
	* ld-x86-64/mov1b.d: Likewise.
	* ld-x86-64/mov1c.d: Likewise.
	* ld-x86-64/mov1d.d: Likewise.
2015-10-26 08:11:55 -07:00
Luis Machado
7cc53fba0a Do not pass NULL for the string in catch_errors
I caught a segmentation fault while running gdb.reverse/sigall-reverse.exp,
in a mingw32 GDB, in this code path. It boils down to the code trying to
strlen () a NULL pointer. I tracked things down and it looks like
record_full_message_wrapper_safe is the only offender.

gdb/ChangeLog:

2015-10-26  Luis Machado  <lgustavo@codesourcery.com>

	* record-full.c (record_full_message_wrapper_safe): Pass empty string to
	catch_errors call instead of NULL.
2015-10-26 11:17:29 -02:00
Simon Marchi
48ffa2b8cd Fix constness problem in ioscm_make_gdb_stdio_port
ioscm_make_gdb_stdio_port passes const char pointers (literal strings) to
scm_mode_bits, which takes a non-const char pointer.  Ideally, we would
change scm_mode_bits to take a const char pointer, but it's not part of
an API we control.

Instead, it's easy enough to build the string to pass to scm_mode_bits in
a (non-const) char array and pass that.

gdb/ChangeLog:

	* guile/scm-ports.c (ioscm_make_gdb_stdio_port): Pass non-const
	char pointer to scm_mode_bits.
2015-10-26 08:41:39 -04:00
Simon Marchi
585a269afb symtab.c: Add cast
gdb/ChangeLog:

	* symtab.c (default_make_symbol_completion_list_break_on_1): Add
	cast.
2015-10-26 08:41:38 -04:00
Simon Marchi
e0dd41e967 gdbscm_memory_port_write: use local variable to avoid adding casts
By having a local variable of type (const gdb_byte *), we can avoid adding
two casts.

gdb/ChangeLog:

	* guile/scm-ports.c (gdbscm_memory_port_write): Declare new
	"data" local variable and use it.
2015-10-26 08:41:37 -04:00
Simon Marchi
74ef968fba scm-symbol.c: Add (domain_enum) casts
We currently pass integers as domain_enums to lookup_symbol.  The
most obvious fix is to add casts there.

I first thought of changing the type of the domain variables to
domain_enum.  However, because we pass a pointer to them to
gdbscm_parse_function_args, which expects them to be integers (because
of the format string), I don't think it would be correct.  If the enum
does not have the same size as an int, gdbscm_parse_function_args could
write past the memory of domain, overwriting something else on the
stack.

gdb/ChangeLog:

	* guile/scm-symbol.c (gdbscm_lookup_global_symbol): Add
	domain_enum cast.
	(gdbscm_lookup_symbol): Likewise.
2015-10-26 08:41:36 -04:00
GDB Administrator
cdfb4fc32d Automatic date update in version.in 2015-10-26 00:00:08 +00:00
Jan Kratochvil
27dc26ab39 Fix compile.exp error message expectation
commit cdaec3f3e7
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Thu Aug 27 02:00:16 2015 -0300
    Mention language in compile error message

regressed:

-PASS: gdb.compile/compile.exp: compile code globalvar
+FAIL: gdb.compile/compile.exp: compile code globalvar

Update the expected message.

gdb/testsuite/ChangeLog
2015-10-25  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* gdb.compile/compile.exp (compile code globalvar): Update expectation
	for a change by "Mention language in compile error message".
2015-10-25 12:16:10 +01:00
Iain Buclaw
2d5a88dc50 Re-apply change for handling non-local references in nested functions.
gdb/ChangeLog:

	* d-exp.y: Remove an obsolete comment and propagate the block
	information to the produced expression.
2015-10-25 09:17:24 +01:00
Simon Marchi
f4ee58bde9 tui-data.c: Remove unnecessary casts
The (void *) casts make the build fail in C++ mode and are unnecessary.

gdb/ChangeLog:

	* tui/tui-data.c (tui_add_to_source_windows): Remove void *
	cast.
	(tui_add_content_elements): Likewise.
2015-10-24 22:40:37 -04:00
Simon Marchi
1650ca1124 cli-setshow.c: Constify variable
Fixes:

/home/simark/src/binutils-gdb/gdb/cli/cli-setshow.c:390:13: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
  p = strchr (arg, ' ');
             ^
gdb/ChangeLog:

	* cli/cli-setshow.c (do_set_command): Constify p.
2015-10-24 22:29:16 -04:00
GDB Administrator
a7dbb7d12b Automatic date update in version.in 2015-10-25 00:00:08 +00:00
Simon Marchi
55e5bf59f0 Replace (void *) cast with (gdb_byte *)
Fixes:

/home/simark/src/binutils-gdb/gdb/nat/linux-ptrace.c:207:6: error: invalid conversion from ‘void*’ to ‘gdb_byte* {aka unsigned char*}’ [-fpermissive]
   pc = (void *) (uintptr_t) l;
         ^

gdb/ChangeLog:

	* nat/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Replace
	(void *) cast with (gdb_byte *).
2015-10-24 18:36:26 -04:00
Simon Marchi
49e66b4deb proc-service.c: Add (gdb_byte *) cast
A cast here is necessary, just as it's necessary in ps_pdwrite just
below.  The type of buf can't be changed, since it's fixed in the ps_pd*
API.

gdb/ChangeLog:

	* proc-service.c (ps_pdread): Add cast.
2015-10-24 18:36:25 -04:00
Simon Marchi
cfcb22a541 sparc64-tdep.c: Don't assign using memcpy return
This:

  valbuf = memcpy (buf, valbuf, len);

causes a build failure in C++, because memcpy returns the value of
"buf" as a void *.  Instead of adding a cast, we can just do the
assignment separately.

gdb/ChangeLog:

	* sparc64-tdep.c (sparc64_store_arguments): Split assignment of
	valbuf.
2015-10-24 18:36:24 -04:00
Simon Marchi
ce746418ef ia64-tdep.c: Remove (void *) casts
Remove these (void *) casts, which cause a build failure in C++ mode.

gdb/ChangeLog:

	* ia64-tdep.c (ia64_pseudo_register_write): Remove cast.
	(ia64_push_dummy_call): Remove cast and change type of "to" to
	array of gdb_byte.
2015-10-24 18:36:23 -04:00
GDB Administrator
10d43c801e Automatic date update in version.in 2015-10-24 00:00:08 +00:00
Simon Marchi
a55515eecb Add mmap casts in linux-btrace.c
gdb/ChangeLog:

	* linux-btrace.c (linux_enable_pt): Add cast to mmap return.
2015-10-23 19:54:09 -04:00
Simon Marchi
6ecf4e06a4 Add cast to observer.sh
gdb/ChangeLog:

	* observer.h (observer_${event}_notification_stub): Add cast.
2015-10-23 16:58:13 -04:00
Antoine Tremblay
3db2885585 Remove set_breakpoint_data definition in GDBServer.
This patch removes the now unused set_breakpoint_data function from mem_break.h

gdb/gdbserver/ChangeLog:

	* mem-break.h (set_breakpoint_data): Remove.
2015-10-23 13:21:33 -04:00
Antoine Tremblay
fb78e89c56 Fix nto,spu and win32 builds of GDBServer.
This patch fixes the build that was broken by :
https://sourceware.org/ml/gdb-patches/2015-10/msg00369.html

It implements the sw_breakpoint_from_kind operation on these targets and removes
the calls to set_breakpoint_data.

Compiliation tested on win32.

Not tested : nto, spu.

gdb/gdbserver/ChangeLog:

	* nto-low.c (nto_sw_breakpoint_from_kind): New function.
	(struct target_ops) <sw_breakpoint_from_kind>: Initialize.
	(initialize_low): Remove set_breakpoint_data call.
	* spu-low.c (spu_sw_breakpoint_from_kind): New function.
	(struct target_ops) <sw_breakpoint_from_kind>: Iniitalize.
	(initialize_low): Remove set_breakpoint_data call.
	* win32-low.c (win32_sw_breakpoint_from_kind): New function.
	(struct target_ops) <sw_breakpoint_from_kind>: Initialize.
	(initialize_low): Remove set_breakpoint_data call.
2015-10-23 13:21:11 -04:00
Antoine Tremblay
2e6ee069ae Refactor default_breakpoint_kind_from_pc to be used by all targets in GDBServer.
This patch moves default_breakpoint_kind_from_pc to target.c and creates a macro
so that all targets can easily use it.

This allows the breakpoint_kind_from_pc operation to be left unimplemented in
targets that do not need it.

This is preparation to fix the win32/nto/spu build that was broken by this
patch: https://sourceware.org/ml/gdb-patches/2015-10/msg00369.html

No regression on Ubuntu 14.04 x86-64 with gdbserver-{native-extended}

gdb/gdbserver/ChangeLog:

	* linux-low.c (default_breakpoint_kind_from_pc): Move to target.c.
	* mem-break.c (set_breakpoint_at): Use target_breakpoint_kind_from_pc.
	* target.c (default_breakpoint_kind_from_pc): Moved from linux-low.c
	* target.h (target_breakpoint_kind_from_pc): New macro.
2015-10-23 13:20:39 -04:00
Alan Modra
1cce69b9dc Handle __start_* and __stop_* symbols in --gc-sections
PR ld/11133
	PR ld/19161
	PR ld/19167
	* elflink.c (_bfd_elf_gc_mark_hook): Delete code handling __start_*
	and __stop_* symbol refs.
	(_bfd_elf_gc_mark_rsec): Add start_stop parameter.  Handle __start_*
	and __stop_* symbol refs here..
	(_bfd_elf_gc_mark_reloc): ..and here.
	* elf-bfd.h (_bfd_elf_gc_mark_hook): Update prototype.
	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Update
	_bfd_elf_gc_mark_rsec call.
2015-10-23 22:26:25 +10:30
H.J. Lu
be83aa76d2 Add a test for PR ld/19167
PR ld/19167
	* ld-gc/gc.exp: Run pr19167 test.
	* ld-gc/pr19167.d: New file.
	* ld-gc/pr19167a.s: Likewise.
	* ld-gc/pr19167b.s: Likewise.
2015-10-23 04:23:51 -07:00
Yao Qi
034f1a812d Initialize field insn_count correctly
This patch initialize dsd.insn_count, otherwise, it triggers the assert
below on testings we did recently.

gdb:

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

	* aarch64-tdep.c (aarch64_displaced_step_copy_insn): Set
	dsd.insn_count to zero.
2015-10-23 09:23:22 +01:00
GDB Administrator
e9f3d8639d Automatic date update in version.in 2015-10-23 00:00:08 +00:00
Alan Modra
1e7eae0dcc Re: Always keep sections marked with SEC_KEEP
Revert bba037e0, it breaks the gc-sections model.  Instead fix the
underlying problem which is that _bfd_elf_gc_mark_hook is too late to
be setting SEC_KEEP.

	PR ld/11133
	PR ld/19161
	* elflink.c (elf_gc_sweep): Revert last patch.
	(_bfd_elf_gc_mark_hook): Don't set SEC_KEEP here.
2015-10-23 10:22:26 +10:30
H.J. Lu
bba037e0ae Always keep sections marked with SEC_KEEP
SEC_KEEP check in elf_gc_sweep was missing in commit:

commit bde6f3eb6d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Fri Jan 8 01:43:23 2010 +0000

    Set SEC_KEEP on section XXX for undefined __start_XXX/__stop_XXX

    bfd/

    2010-01-07  H.J. Lu  <hongjiu.lu@intel.com>

      PR ld/11133
      * elflink.c (_bfd_elf_gc_mark_hook): Check section XXX for
      undefined __start_XXX/__stop_XXX in all input files and set
      SEC_KEEP.

This patch adds SEC_KEEP check to elf_gc_sweep.

bfd/

	PR ld/19161
	* elflink.c (elf_gc_sweep): Always keep sections marked with
	SEC_KEEP.

ld/testsuite/

	PR ld/19161
	* ld-gc/gc.exp: Run pr19161 test.
	* ld-gc/pr19161-1.c: New file.
	* ld-gc/pr19161-2.c: Likewise.
	* ld-gc/pr19161.d: Likewise.
2015-10-22 12:23:03 -07:00
Pedro Alves
d236ad1955 garbage collect gdb/infrun.c:stop_after_trap
No longer used anywhere.

gdb/ChangeLog:
2015-10-22  Pedro Alves  <palves@redhat.com>

	* infrun.c (stop_after_trap): Delete.
	(clear_proceed_status, handle_signal_stop, struct
	infcall_control_state, save_infcall_control_state)
	(restore_infcall_control_state): Remove references to
	stop_after_trap.
2015-10-22 17:41:10 +01:00
Antoine Tremblay
1652a98612 Fix inconsistent breakpoint kinds between breakpoints and tracepoints in GDBServer.
This patch fixes a regression introduced by :
https://sourceware.org/ml/gdb-patches/2015-10/msg00369.html

Tests : gdb.trace/trace-break.exp and gdb.trace/trace-mt.exp would fail on x86
with gdbserver-{native,extended}.

Before this patch, the breakpoint kind set by GDB with a Z packet and the one
set in the case of a tracepoint would be inconsistent on targets that did not
implement breakpoint_kind_from_pc. On x86 for example a breakpoint set by GDB
would have a kind of 1 but a breakpoint set by a tracepoint would have a kind of
0.

This created a missmatch when trying to insert a tracepoint and a breakpoint at
the same location. One of the two breakpoints would be removed with debug
message : "Inconsistent breakpoint kind".

This patch fixes the issue by changing the default 0 breakpoint kind to be
the size of the breakpoint according to sw_breakpoint_from_kind.

The default breakpoint kind must be the breakpoint length to keep consistency
between breakpoints set via GDB and the ones set internally by GDBServer.

No regression on Ubuntu 14.04 x86-64 with gdbserver-{native-extended}

gdb/gdbserver/ChangeLog:

	* linux-low.c (default_breakpoint_kind_from_pc): New function.
	(linux_breakpoint_kind_from_pc): Use default_breakpoint_kind_from_pc for
	the default breakpoint kind.
2015-10-22 12:23:58 -04:00
Simon Marchi
db0f0d0c1d Add cast in python.c
gdb/ChangeLog:

	* python/python.c (_initialize_python): Add cast.
2015-10-22 12:13:19 -04:00
Simon Marchi
fb70bc1a74 Add cast in nto-tdep.c
gdb/ChangeLog:

	* nto-tdep.c (nto_inferior_data): Add cast.
2015-10-22 11:58:38 -04:00