* remote.c (remote_state) <cond_breakpoints>: New field.
(PACKET_ConditionalBreakpoints): New enum.
(remote_cond_breakpoint_feature): New function.
(remote_protocol_features): Add new ConditionalBreakpoints entry.
(remote_supports_cond_breakpoints): New function.
(_initialize_remote): Add new packet configuration for
target-side conditional breakpoints.
Nick Clifton [Fri, 24 Feb 2012 10:54:47 +0000 (10:54 +0000)]
PR ld/13730
* reloc.c (bfd_generic_get_relocated_section_contents): Issue an
error message instead of aborting, when an outofrange reloc is
encountered.
Jan Kratochvil [Fri, 24 Feb 2012 00:40:01 +0000 (00:40 +0000)]
gdb/testsuite/
Fix false FAILs on old CPUs without SSE.
* gdb.reverse/i386-sse-reverse.exp (continue to end of sse_test):
Return untested for Illegal instruction.
Iain Sandoe [Thu, 23 Feb 2012 16:29:56 +0000 (16:29 +0000)]
deal with endian-ness in mach-o non-scattered relocs.
BFD:
* mach-o.c (bfd_mach_o_swap_in_non_scattered_reloc): New.
(bfd_mach_o_canonicalize_one_reloc): Swap non-scattered reloc
bit-fields when target and host differ in endian-ness. When
PAIRs are non-scattered find the 'symbol' from the preceding
reloc. Add FIXME re. reloc symbols on section boundaries.
(bfd_mach_o_swap_out_non_scattered_reloc): New.
(bfd_mach_o_write_relocs): Use bfd_mach_o_encode_non_scattered_reloc.
include/mach-o:
* external.h: Add comments about relocations fields. Add macros
for non-scattered relocations. Move scattered relocation macros to here.
* reloc.h: Remove macros related to external representation of reloc fields.
* ada-tasks.c (struct ada_tasks_inferior_data): Add
known_tasks_element and known_tasks_length fields.
(read_known_tasks_array): Change argument type. Use pointer type
and number of elements from DATA. Adjust.
(read_known_tasks_list): Likewise.
(get_known_tasks_addr): Remove.
(ada_set_current_inferior_known_tasks_addr): Renamed to ...
(ada_tasks_inferior_data_sniffer): ... this. Use symtab for element
type and array length. Merge former get_known_tasks_addr code.
Nick Clifton [Wed, 22 Feb 2012 16:27:35 +0000 (16:27 +0000)]
PR ld/13683
* ldlang.c (lang_process): Rerun lang_do_assignments before
starting garbage collection.
* ldexp.c (fold_name): Generate a reloc for defined symbols
found without an associated output section during the mark phase.
(exp_fold_tree_1): Continue processing an expression, even if we
are unable to fold it, if we are in the first two evaluation
phases.
* ldexp.h (enum lang_phase_type): Add descriptions of the phases.
* ld-gc/pr13683.c: New test source file.
* ld-gc/pr13683.d: New test control and output file.
* ld-gc/gc.exp: Run the pr13683 test.
* lib/gdb.exp: Add description of test prefixes.
(with_test_prefix): New procedure.
* gdb.arch/altivec-abi.exp: Use with_test_prefix.
* gdb.base/attach-pie-misread.exp: Use with_test_prefix.
* gdb.base/break-interp.exp: Use with_test_prefix. Use append
instead of lappend to append to pf_prefix.
* gdb.base/catch-load.exp: Use with_test_prefix.
* gdb.base/disp-step-syscall.exp: Use with_test_prefix.
* gdb.base/jit-so.exp: Use with_test_prefix.
* gdb.base/jit.exp: Use with_test_prefix.
* gdb.base/return-nodebug.exp (do_test): Use append instead of
lappend to append to pf_prefix.
* gdb.base/sepdebug.exp: Use with_test_prefix.
* gdb.base/solib-display.exp: Use with_test_prefix.
* gdb.base/solib-overlap.exp: Use with_test_prefix.
* gdb.base/watch-cond-infcall.exp: Use with_test_prefix.
* gdb.base/watchpoint.exp: Use with_test_prefix.
* gdb.dwarf2/dw2-noloc.exp: Use with_test_prefix.
* gdb.mi/mi-watch.exp: Use with_test_prefix.
* gdb.mi/mi2-watch.exp: Use with_test_prefix.
* gdb.threads/non-ldr-exc-1.exp: Use with_test_prefix.
* gdb.threads/non-ldr-exc-2.exp: Use with_test_prefix.
* gdb.threads/non-ldr-exc-3.exp: Use with_test_prefix.
* gdb.threads/non-ldr-exc-4.exp: Use with_test_prefix.
* gdb.threads/watchpoint-fork.exp: Use with_test_prefix. Use
append instead of lappend to append to pf_prefix.
* gdb.threads/watchthreads-reorder.exp: Use with_test_prefix.
* gdb.trace/change-loc.exp: Use with_test_prefix.
* gdb.trace/pending.exp: Use with_test_prefix.
* gdb.trace/status-stop.exp: Use with_test_prefix.
* gdb.trace/strace.exp: Use with_test_prefix.
* gdb.trace/trace-break.exp: Use with_test_prefix.
* gdb.trace/unavailable.exp: Use with_test_prefix. Use append
instead of lappend to append to pf_prefix.
* ia64-tdep.c: Do not include libunwind-ia64.h.
* libunwind-frame.h: Remove #ifdef HAVE_LIBUNWIND_H guard.
Include libunwind-ia64.h instead of libunwind.h.
* configure.ac (--with-libunwind, $enable_libunwind): Don't check
for libunwind.h existence.
* configure, config.in: Regenerate.
Kai Tietz [Tue, 21 Feb 2012 16:10:12 +0000 (16:10 +0000)]
PR binutils/13682
* NEWS: Mention new feature.
* dlltool.c (i386_x64_dljtab): New stub-code for x64
delayed-load feature.
(i386_x64_trampoline): New trampoline-code for x64
delayed-load feature.
(make_one_lib_file): Add support for x64 delayed-load
feature.
(make_delay_head): Likewis
Anton Gorenkov [Tue, 21 Feb 2012 13:48:59 +0000 (13:48 +0000)]
gdb/
* c-valprint.c (c_value_print): Use value_rtti_indirect_type
instead of value_rtti_target_type.
* eval.c (evaluate_subexp_standard): Use value_rtti_indirect_type
instead of value_rtti_target_type.
* typeprint.c (whatis_exp): Use value_rtti_indirect_type instead of
value_rtti_target_type.
* valops.c (value_ind): Extract function readjust_indirect_value_type.
(value_rtti_target_type): Rename to ...
(value_rtti_indirect_type): ... here and make it indirect. Update
function comment.
* value.c (readjust_indirect_value_type): New function.
(coerce_ref): Support for enclosing type setting for references
with readjust_indirect_value_type.
* value.h (readjust_value_type): New declaration.
(value_rtti_target_type): Rename to ...
(value_rtti_indirect_type): ... here.
Iain Sandoe [Mon, 20 Feb 2012 19:44:40 +0000 (19:44 +0000)]
gas:
* config/obj-macho.c (obj_mach_o_make_or_get_sect): In the absence of
canonical information, try to determine CODE and DEBUG section flags
from the mach-o section data.
* gdb.threads/attach-into-signal.exp (corefunc): Don't enable
lin-lwp output. Set SIGALRM to stop. Adjust tests to not rely on
gdb's internal debug output. For the non-threaded case, look for
"Program received signal SIGLARM", for the threaded case, peek at
the thread's siginfo.
General cleanup, make output test messages unique, and build
different executable files for the non-threaded and threaded
cases.
* gdb.threads/attach-into-signal.exp (binfile, escapedbinfile):
Delete.
(executable_nothr, executable_thr): New globals.
(top level): Adjust to delete both executables.
(corefunc): New parameter $executable. Set $pf_prefix instead of
hand writing a prefix in tests. Issue a clean_restart and enable
lin-lwp debug output here.
(top level): Adjust. Use build_executable. Don't start gdb here,
and don't enable lin-lwp debug output here.
* gdb.threads/Makefile.in (EXECUTABLES): Adjust.
Kai Tietz [Sun, 19 Feb 2012 21:18:08 +0000 (21:18 +0000)]
* deffilep.y (cmp_import_elem): Sort first by module name.
* pe-dll.c (process_def_file_and_drectve): Free strings
from removed export-element.
(add_bfd_to_link): Optimize loop on import-elements and lower
allocated memory.
(pe_implied_import_dll): Pass NULL instead of 0 for pointer
argument.
Alan Modra [Fri, 17 Feb 2012 14:09:57 +0000 (14:09 +0000)]
PR ld/13343
* ld.h (parsing_defsym): Delete.
* ldexp.c (exp_intop, exp_bigintop, exp_relop): Set type.filename.
(fold_binary, fold_name, exp_fold_tree_1, exp_get_vma, exp_get_fill,
exp_get_abs_int): Add tree arg for %S in error messages. Don't
fudge lineno.
(exp_binop, exp_unop, exp_nameop, exp_assop, exp_assert): Copy
type.filename from sub-tree.
(exp_trinop): Likewise, and use "cond" rather than "lhs".
* ldexp.h (node_type): Add filename field to struct.
* ldfile.c (ldfile_input_filename): Delete. Remove all refs.
* ldfile.h (ldfile_input_filename): Delete.
* ldgram.y (phdr_type, phdr_qualifiers, yyerror): Add NULL arg for
%S in error messages.
* ldemul.c (syslib_default, hll_default): Likewise.
* ldlang.c (lang_memory_region_lookup, lang_memory_region_alias,
lang_get_regions, lang_new_phdr): Likewise.
(lang_size_sections_1): Pass addr_tree for %S.
* ldlex.h (lex_redirect): Update prototype.
(ldlex_filename): Declare.
* ldlex.l (<EOF>): Don't set ldfile_input_filename.
(lex_redirect): Add fake_filename and count params. Push
fake_filename to file_name_stack and init lineno from count.
(ldlex_filename): New function.
(lex_warn_invalid): Use above.
* ldmain.c (main): Update lex_redirect call.
* ldmisc.c (vfinfo <%S>): Take file name and line number from
etree_type arg, or use current if arg is NULL.
* lexsup.c (parsing_defsym): Delete.
(parse_args <OPTION_DEFSYM>): Update lex_redirect call.
Iain Sandoe [Fri, 17 Feb 2012 11:23:44 +0000 (11:23 +0000)]
support 16 sect-diffs for mach-o
bfd:
* mach-o-i386.c (i386_howto_table): Add support for 16 bit
sect-diffs.
(bfd_mach_o_i386_swap_reloc_in): Handle 16bit sect-diffs.
(bfd_mach_o_i386_swap_reloc_out): Likewise.
Tom Tromey [Thu, 16 Feb 2012 21:07:20 +0000 (21:07 +0000)]
* symfile.c (symbol_file_add_main_1): Use inferior's
symfile_flags.
* solib.c (solib_read_symbols): Use inferior's symfile_flags.
* linux-nat.c (linux_child_follow_fork): Set symfile_flags on
inferior.
* infrun.c (handle_vfork_child_exec_or_exit): Set symfile_flags on
inferior.
(follow_exec): Use inferior's symfile_flags.
* inferior.h (struct inferior) <symfile_flags>: New field.
Mike Frysinger [Thu, 16 Feb 2012 18:30:43 +0000 (18:30 +0000)]
gdb: sim: check return value of sim_create_inferior
The current gdbsim_create_inferior func doesn't check the return value
of sim_create_inferior which can be problematic when that func doesn't
return success. So, if it fails, call error() and be done.
Kevin Buettner [Wed, 15 Feb 2012 22:17:02 +0000 (22:17 +0000)]
* MAINTAINERS: Add rl78 to target ISA section.
* Makefile.in (ALL_TARGET_OBS): Add rl78-tdep.o.
(ALLDEPFILES): Add rl78-tdep.c.
* NEWS: Mention rl78 as a new target.
Cary Coutant [Wed, 15 Feb 2012 18:32:30 +0000 (18:32 +0000)]
* dwarf.c (dwarf_vmatoa64): New function.
(read_and_display_attr_value): Print 8-byte forms as single hex
numbers.
(process_debug_info): Print type signatures as single hex numbers.
* elfcomm.c (byte_get_64): New function.
* elfcomm.h (byte_get_64): New function.
* gdb.trace/circ.exp (trace_buffer_normal): Rewrite using
gdb_test_multiple, and call unsupported instead of fail, if the
remote side does not support the request.