Pedro Alves [Tue, 1 Jun 2010 13:20:52 +0000 (13:20 +0000)]
gdb/gdbserver/
2010-06-01 Pedro Alves <pedro@codesourcery.com>
Stan Shebs <stan@codesourcery.com>
* Makefile.in (IPA_DEPFILES, extra_libraries): New.
(all): Depend on $(extra_libraries).
(install-only): Install the IPA.
(IPA_OBJS, IPA_LIB): New.
(clean): Remove the IPA lib.
(IPAGENT_CFLAGS): New.
(tracepoint-ipa.o, utils-ipa.o, remote-utils-ipa.o)
(regcache-ipa.o, i386-linux-ipa.o, linux-i386-ipa.o)
(linux-amd64-ipa.o, amd64-linux-ipa.o): New rules.
* linux-amd64-ipa.c, linux-i386-ipa.c: New files.
* configure.ac: Check for atomic builtins support in the compiler.
(IPA_DEPFILES, extra_libraries): Define.
* configure.srv (ipa_obj): Add description.
(ipa_i386_linux_regobj, ipa_amd64_linux_regobj): Define.
(i[34567]86-*-linux*): Set ipa_obj.
(x86_64-*-linux*): Set ipa_obj.
* linux-low.c (stabilizing_threads): New.
(supports_fast_tracepoints): New.
(linux_detach): Stabilize threads before detaching.
(handle_tracepoints): Handle internal tracing breakpoints. Assert
the lwp is either not stabilizing, or is moving out of a jump pad.
(linux_fast_tracepoint_collecting): New.
(maybe_move_out_of_jump_pad): New.
(enqueue_one_deferred_signal): New.
(dequeue_one_deferred_signal): New.
(linux_wait_for_event_1): If moving out of a jump pad, defer
pending signals to later.
(linux_stabilize_threads): New.
(linux_wait_1): Check if threads need moving out of jump pads, and
do it if so.
(stuck_in_jump_pad_callback): New.
(move_out_of_jump_pad_callback): New.
(lwp_running): New.
(linux_resume_one_lwp): Handle moving out of jump pads.
(linux_set_resume_request): Dequeue deferred signals.
(need_step_over_p): Also step over fast tracepoint jumps.
(start_step_over): Also uninsert fast tracepoint jumps.
(finish_step_over): Also reinsert fast tracepoint jumps.
(linux_install_fast_tracepoint_jump): New.
(linux_target_ops): Install linux_stabilize_threads and
linux_install_fast_tracepoint_jump_pad.
* linux-low.h (linux_target_ops) <get_thread_area,
install_fast_tracepoint_jump_pad>: New fields.
(struct lwp_info) <collecting_fast_tracepoint,
pending_signals_to_report, exit_jump_pad_bkpt>: New fields.
(linux_get_thread_area): Declare.
* linux-x86-low.c (jump_insn): New.
(x86_get_thread_area): New.
(append_insns): New.
(push_opcode): New.
(amd64_install_fast_tracepoint_jump_pad): New.
(i386_install_fast_tracepoint_jump_pad): New.
(x86_install_fast_tracepoint_jump_pad): New.
(the_low_target): Install x86_get_thread_area and
x86_install_fast_tracepoint_jump_pad.
* mem-break.c (set_raw_breakpoint_at): Use read_inferior_memory.
(struct fast_tracepoint_jump): New.
(fast_tracepoint_jump_insn): New.
(fast_tracepoint_jump_shadow): New.
(find_fast_tracepoint_jump_at): New.
(fast_tracepoint_jump_here): New.
(delete_fast_tracepoint_jump): New.
(set_fast_tracepoint_jump): New.
(uninsert_fast_tracepoint_jumps_at): New.
(reinsert_fast_tracepoint_jumps_at): New.
(set_breakpoint_at): Use write_inferior_memory.
(uninsert_raw_breakpoint): Use write_inferior_memory.
(check_mem_read): Mask out fast tracepoint jumps.
(check_mem_write): Mask out fast tracepoint jumps.
* mem-break.h (struct fast_tracepoint_jump): Forward declare.
(set_fast_tracepoint_jump): Declare.
(delete_fast_tracepoint_jump)
(fast_tracepoint_jump_here, uninsert_fast_tracepoint_jumps_at)
(reinsert_fast_tracepoint_jumps_at): Declare.
* regcache.c: Don't compile many functions when building the
in-process agent library.
(init_register_cache) [IN_PROCESS_AGENT]: Don't allow allocating
the register buffer in the heap.
(free_register_cache): If the register buffer isn't owned by the
regcache, don't free it.
(set_register_cache) [IN_PROCESS_AGENT]: Don't re-alocate
pre-existing register caches.
* remote-utils.c (convert_int_to_ascii): Constify `from' parameter
type.
(convert_ascii_to_int): : Constify `from' parameter type.
(decode_M_packet, decode_X_packet): Replace the `to' parameter by
a `to_p' pointer to pointer parameter. If TO_P is NULL, malloc
the needed buffer in-place.
(relocate_instruction): New.
* server.c (handle_query) <qSymbols>: If the target supports
tracepoints, give it a chance of looking up symbols. Report
support for fast tracepoints.
(handle_status): Stabilize threads.
(process_serial_event): Adjust.
* server.h (struct fast_tracepoint_jump): Forward declare.
(struct process_info) <fast_tracepoint_jumps>: New field.
(convert_ascii_to_int, convert_int_to_ascii): Adjust.
(decode_X_packet, decode_M_packet): Adjust.
(relocate_instruction): Declare.
(in_process_agent_loaded): Declare.
(tracepoint_look_up_symbols): Declare.
(struct fast_tpoint_collect_status): Declare.
(fast_tracepoint_collecting): Declare.
(force_unlock_trace_buffer): Declare.
(handle_tracepoint_bkpts): Declare.
(initialize_low_tracepoint)
(supply_fast_tracepoint_registers) [IN_PROCESS_AGENT]: Declare.
* target.h (struct target_ops) <stabilize_threads,
install_fast_tracepoint_jump_pad>: New fields.
(stabilize_threads, install_fast_tracepoint_jump_pad): New.
* tracepoint.c [HAVE_MALLOC_H]: Include malloc.h.
[HAVE_STDINT_H]: Include stdint.h.
(trace_debug_1): Rename to ...
(trace_vdebug): ... this.
(trace_debug): Rename to ...
(trace_debug_1): ... this. Add `level' parameter.
(trace_debug): New.
(ATTR_USED, ATTR_NOINLINE): New.
(IP_AGENT_EXPORT): New.
(gdb_tp_heap_buffer, gdb_jump_pad_buffer, gdb_jump_pad_buffer_end)
(collecting, gdb_collect, stop_tracing, flush_trace_buffer)
(about_to_request_buffer_space, trace_buffer_is_full)
(stopping_tracepoint, expr_eval_result, error_tracepoint)
(tracepoints, tracing, trace_buffer_ctrl, trace_buffer_ctrl_curr)
(trace_buffer_lo, trace_buffer_hi, traceframe_read_count)
(traceframe_write_count, traceframes_created)
(trace_state_variables)
New renaming defines.
(struct ipa_sym_addresses): New.
(STRINGIZE_1, STRINGIZE, IPA_SYM): New.
(symbol_list): New.
(ipa_sym_addrs): New.
(all_tracepoint_symbols_looked_up): New.
(in_process_agent_loaded): New.
(write_e_ipa_not_loaded): New.
(maybe_write_ipa_not_loaded): New.
(tracepoint_look_up_symbols): New.
(debug_threads) [IN_PROCESS_AGENT]: New.
(read_inferior_memory) [IN_PROCESS_AGENT]: New.
(UNKNOWN_SIDE_EFFECTS): New.
(stop_tracing): New.
(flush_trace_buffer): New.
(stop_tracing_bkpt): New.
(flush_trace_buffer_bkpt): New.
(read_inferior_integer): New.
(read_inferior_uinteger): New.
(read_inferior_data_pointer): New.
(write_inferior_data_pointer): New.
(write_inferior_integer): New.
(write_inferior_uinteger): New.
(struct collect_static_trace_data_action): Delete.
(enum tracepoint_type): New.
(struct tracepoint) <type>: New field `type'.
<actions_str, step_actions, step_actions_str>: Only include in GDBserver.
<orig_size, obj_addr_on_target, adjusted_insn_addr>
<adjusted_insn_addr_end, jump_pad, jump_pad_end>: New fields.
(tracepoints): Use IP_AGENT_EXPORT.
(last_tracepoint): Don't include in the IPA.
(stopping_tracepoint): Use IP_AGENT_EXPORT.
(trace_buffer_is_full): Use IP_AGENT_EXPORT.
(alloced_trace_state_variables): New.
(trace_state_variables): Use IP_AGENT_EXPORT.
(traceframe_t): Delete unused variable.
(circular_trace_buffer): Don't include in the IPA.
(trace_buffer_start): Delete.
(struct trace_buffer_control): New.
(trace_buffer_free): Delete.
(struct ipa_trace_buffer_control): New.
(GDBSERVER_FLUSH_COUNT_MASK, GDBSERVER_FLUSH_COUNT_MASK_PREV)
(GDBSERVER_FLUSH_COUNT_MASK_CURR, GDBSERVER_UPDATED_FLUSH_COUNT_BIT):
New.
(trace_buffer_ctrl): New.
(TRACE_BUFFER_CTRL_CURR): New.
(trace_buffer_start, trace_buffer_free, trace_buffer_end_free):
Reimplement as macros.
(trace_buffer_wrap): Delete.
(traceframe_write_count, traceframe_read_count)
(traceframes_created, tracing): Use IP_AGENT_EXPORT.
(struct tracepoint_hit_ctx) <type>: New field.
(struct fast_tracepoint_ctx): New.
(memory_barrier): New.
(cmpxchg): New.
(record_tracepoint_error): Update atomically in the IPA.
(clear_inferior_trace_buffer): New.
(about_to_request_buffer_space): New.
(trace_buffer_alloc): Handle GDBserver and inferior simulatenous
updating the same buffer.
(add_tracepoint): Default the tracepoint's type to trap
tracepoint, and orig_size to -1.
(get_trace_state_variable) [IN_PROCESS_AGENT]: Handle allocated
internal variables.
(create_trace_state_variable): New parameter `gdb'. Handle it.
(clear_installed_tracepoints): Clear fast tracepoint jumps.
(cmd_qtdp): Handle fast tracepoints.
(cmd_qtdv): Adjust.
(max_jump_pad_size): New.
(gdb_jump_pad_head): New.
(get_jump_space_head): New.
(claim_jump_space): New.
(sort_tracepoints): New.
(MAX_JUMP_SIZE): New.
(cmd_qtstart): Handle fast tracepoints. Sync tracepoints with the
IPA.
(stop_tracing) [IN_PROCESS_AGENT]: Don't include the tdisconnected
support. Upload fast traceframes, and delete internal IPA
breakpoints.
(stop_tracing_handler): New.
(flush_trace_buffer_handler): New.
(cmd_qtstop): Upload fast tracepoints.
(response_tracepoint): Handle fast tracepoints.
(tracepoint_finished_step): Upload fast traceframes. Set the
tracepoint hit context's tracepoint type.
(handle_tracepoint_bkpts): New.
(tracepoint_was_hit): Set the tracepoint hit context's tracepoint
type. Add comment about fast tracepoints.
(collect_data_at_tracepoint) [IN_PROCESS_AGENT]: Don't access the
non-existing action_str field.
(get_context_regcache): Handle fast tracepoints.
(do_action_at_tracepoint) [!IN_PROCESS_AGENT]: Don't write the PC
to the regcache.
(fast_tracepoint_from_jump_pad_address): New.
(fast_tracepoint_from_ipa_tpoint_address): New.
(collecting_t): New.
(force_unlock_trace_buffer): New.
(fast_tracepoint_collecting): New.
(collecting): New.
(gdb_collect): New.
(write_inferior_data_ptr): New.
(target_tp_heap): New.
(target_malloc): New.
(download_agent_expr): New.
(UALIGN): New.
(download_tracepoints): New.
(download_trace_state_variables): New.
(upload_fast_traceframes): New.
(IPA_FIRST_TRACEFRAME): New.
(IPA_NEXT_TRACEFRAME_1): New.
(IPA_NEXT_TRACEFRAME): New.
[IN_PROCESS_AGENT]: Include sys/mman.h and fcntl.h.
[IN_PROCESS_AGENT] (gdb_tp_heap_buffer, gdb_jump_pad_buffer)
(gdb_jump_pad_buffer_end): New.
[IN_PROCESS_AGENT] (initialize_tracepoint_ftlib): New.
(initialize_tracepoint): Adjust.
[IN_PROCESS_AGENT]: Allocate the IPA heap, and jump pad scratch
buffer. Initialize the low module.
* utils.c (PREFIX, TOOLNAME): New.
(malloc_failure): Use PREFIX.
(error): In the IPA, an error causes an exit.
(fatal, warning): Use PREFIX.
(internal_error): Use TOOLNAME.
(NUMCELLS): Increase to 10.
* configure, config.in: Regenerate.
gdb/
2010-06-01 Pedro Alves <pedro@codesourcery.com>
* NEWS: Mention gdbserver fast tracepoints support.
gdb/doc/
2010-06-01 Pedro Alves <pedro@codesourcery.com>
* gdb.texinfo (Set Tracepoints): Mention tracepoints support in
gdbserver, and add cross reference.
(Tracepoints support in gdbserver): New subsection.
Pedro Alves [Tue, 1 Jun 2010 12:47:33 +0000 (12:47 +0000)]
* server.c (handle_query) <qSupported>: Do two passes over the
qSupported string to avoid nesting strtok.
Tristan Gingold [Tue, 1 Jun 2010 09:52:28 +0000 (09:52 +0000)]
bfd/
2010-06-01 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (struct vms_private_data_struct): Add
transfer_address field. Remove unused dst_info field.
(alpha_vms_write_exec): Use transfer_address.
(_bfd_vms_write_egsd): Add a comment about LIB$INITIALIZE.
(alpha_vms_bfd_final_link): Set transfer_address.
ld/
2010-06-01 Tristan Gingold <gingold@adacore.com>
* scripttempl/alphavms.sc: Add comments. Move $LINK$ to the
readonly output-section. Handle LIB$INITIALIZE and sections
created by gcc.
* emultempl/vms.em (vms_place_orphan): Add comments.
Alan Modra [Tue, 1 Jun 2010 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 1 Jun 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Joel Brobecker [Mon, 31 May 2010 23:20:20 +0000 (23:20 +0000)]
subst.exp: Empty message (3rd parameter) in call to gdb_test
This is something that Michael spotted and reported to me. Definitely
a mistake, causing the test to report no status...
gdb/testsuite:
2010-05-31 Joel Brobecker <brobecker@adacore.com>
* gdb.base/subst.exp: Fix call to gdb_test with empty message.
Tested on x86_64-linux. The test now reports 30 PASSes instead of 29.
Tristan Gingold [Mon, 31 May 2010 15:53:13 +0000 (15:53 +0000)]
2010-05-31 Tristan Gingold <gingold@adacore.com>
* config/tc-alpha.c: Add comments for evax.
* config/obj-evax.c: Ditto.
Tristan Gingold [Mon, 31 May 2010 15:03:14 +0000 (15:03 +0000)]
2010-05-31 Tristan Gingold <gingold@adacore.com>
* vms-lib.c (credat_lo, credat_hi): New fields.
(vms_read_block): Adjust comments.
(vms_write_block): New function.
(_bfd_vms_lib_archive_p): Decode majorid once. Replace some
hard-coded values with constants. Set credat_lo and credat_hi.
(_bfd_vms_lib_mkarchive): Add argument kind.
Set ver, mhd_size and type according to kind.
(_bfd_vms_lib_alpha_mkarchive): New function.
(struct lib_index): Renamed from struct vms_index
(lib_index_cmp): Renamed from vms_index_cmp. Adjusted.
(get_idxlen): Type of idx argument adjusted. Add is_elfidx
argument and handle it.
(vms_write_index): Adjust argument idx. Handle elf indexes.
(_bfd_vms_lib_build_map): Adjust type of arguments modules and res.
(_bfd_vms_lib_write_archive_contents): Add is_elfidx variable and
use it. Handle elf indexes. Set credat.
* libbfd-in.h (_bfd_vms_lib_mkarchive): Renamed to ...
(_bfd_vms_lib_alpha_mkarchive): ... this.
* libbfd.h: Regenerated.
* vms-alpha.c (vms_alpha_vec): Adjust after previous renaming.
Pierre Muller [Mon, 31 May 2010 07:00:41 +0000 (07:00 +0000)]
* windows-nat.c (GetConsoleFontSize, GetCurrentConsoleFont):
New macros.
(windows_set_console_info): New function.
(windows_create_inferior): Call windows_set_console_info
if NEW_CONSOLE is true.
(bad_GetCurrentConsoleFont, bad_GetConsoleFontSize): New functions.
(_initialize_loadable): Initialize GetConsoleFontSize and
GetCurrentConsoleFont.
Jan Kratochvil [Mon, 31 May 2010 03:31:17 +0000 (03:31 +0000)]
gdb/testsuite/
Accept the new Linux kernel "t (tracing stop)" string.
* gdb.threads/watchthreads-reorder.c (thread1_func, thread2_func):
Update comment.
(state_wait) <T (tracing stop)>: New.
(main): Update the state_wait expect string.
Alan Modra [Mon, 31 May 2010 00:00:07 +0000 (00:00 +0000)]
daily update
gdbadmin [Mon, 31 May 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
gdbadmin [Sun, 30 May 2010 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 30 May 2010 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 29 May 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 29 May 2010 00:00:05 +0000 (00:00 +0000)]
daily update
Pedro Alves [Fri, 28 May 2010 23:47:40 +0000 (23:47 +0000)]
* limits.c, limits.exp: Delete files.
* Makefile.in (clean mostlyclean): Adjust.
* tracecmd.exp: Adjust.
Jan Kratochvil [Fri, 28 May 2010 18:50:35 +0000 (18:50 +0000)]
gdb/
* Makefile.in (RDYNAMIC): New.
(SFILES): Add proc-service.list.
* config/alpha/alpha-linux.mh (NAT_CDEPS): New.
(LOADLIBES): Replace -rdynamic by $(RDYNAMIC).
* config/arm/linux.mh: Likewise.
* config/i386/linux.mh: Likewise.
* config/i386/linux64.mh: Likewise.
* config/ia64/linux.mh: Likewise.
* config/m32r/linux.mh: Likewise.
* config/m68k/linux.mh: Likewise.
* config/mips/linux.mh: Likewise.
* config/pa/linux.mh: Likewise.
* config/powerpc/linux.mh: Likewise.
* config/powerpc/ppc64-linux.mh: Likewise.
* config/s390/s390.mh: Likewise.
* config/sparc/linux.mh: Likewise.
* config/sparc/linux64.mh: Likewise.
* config/xtensa/linux.mh: Likewise.
* configure.ac: New RDYNAMIC on native host and GCC.
(solaris*): Replace -Wl,-export-dynamic by $RDYNAMIC.
* configure: Regenerate.
* proc-service.list: New.
gdb/gdbserver/
* Makefile.in (SFILES): Add $(srcdir)/proc-service.list.
(CDEPS): New.
* configure.ac (RDYNAMIC): New AC_MSG_CHECKING wrapping. Test also
-Wl,--dynamic-list.
* configure: Regenerate.
* proc-service.list: New.
Jan Kratochvil [Fri, 28 May 2010 18:35:54 +0000 (18:35 +0000)]
gdb/testsuite/
* gdb.base/tui-layout.exp: New.
Michael Snyder [Fri, 28 May 2010 18:26:41 +0000 (18:26 +0000)]
2010-05-28 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
* gdb.reverse/break-precsave.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/break-reverse.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/consecutive-precsave.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/consecutive-reverse.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/finish-precsave.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/finish-reverse.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/i386-precsave.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/i386-reverse.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/i386-sse-reverse.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/i387-env-reverse.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/i387-stack-reverse.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/machinestate-precsave.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/machinestate.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/sigall-precsave.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/sigall-reverse.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/solib-precsave.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/solib-reverse.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/step-precsave.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/step-reverse.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/until-precsave.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/until-reverse.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/watch-precsave.exp:
Replace uses of send_gdb / gdb_expect.
* gdb.reverse/watch-reverse.exp:
Replace uses of send_gdb / gdb_expect.
Jan Kratochvil [Fri, 28 May 2010 18:23:15 +0000 (18:23 +0000)]
gdb/
* linux-nat.c (linux_nat_core_of_thread_1): Fix crash on invalid
CONTENT.
gdb/gdbserver/
* linux-low.c (linux_core_of_thread): Fix crash on invalid CONTENT.
New comment.
Sterling Augustine [Fri, 28 May 2010 18:10:45 +0000 (18:10 +0000)]
2010-05-28 Sterling Augustine <sterling@tensilica.com>
* elf32-xtensa.c (elf_xtensa_relocate_section): Add a large amount
of code to change the bits in the instructions to match the changes
in the relocations. Declare dest_addr and sym_sec to help.
Jan Kratochvil [Fri, 28 May 2010 18:00:46 +0000 (18:00 +0000)]
gdb/
* linux-nat.c (linux_nat_wait_1): Do not call
linux_nat_core_of_thread_1 on TARGET_WAITKIND_EXITED or
TARGET_WAITKIND_SIGNALLED.
Jan Kratochvil [Fri, 28 May 2010 17:57:44 +0000 (17:57 +0000)]
gdb/testsuite/
* gdb.base/sepdebug.exp (info silent break bp_location1): Fix racy
excessive newline.
Kevin Buettner [Fri, 28 May 2010 17:21:40 +0000 (17:21 +0000)]
Revert accidentally committed changes that aren't ready yet.
Kevin Buettner [Fri, 28 May 2010 17:10:32 +0000 (17:10 +0000)]
* gdb-if.c (sim_do_command): Add a "sim verbose noisy" command.
Matthew Gretton-Dann [Fri, 28 May 2010 16:04:21 +0000 (16:04 +0000)]
* opcodes/arm-dis.c (print_insn_neon): Ensure disassembly of Neon
constants is the same on 32-bit and 64-bit hosts.
Matthew Gretton-Dann [Fri, 28 May 2010 16:02:18 +0000 (16:02 +0000)]
* gas/config/tc-arm.c (do_t_mov_cmp): In unified syntax encode movs as
lsls and not adds.
* gas/testsuite/gas/arm/thumb2_it_auto.d: Update for change in movs encoding.
gas/arm/thumb2_it.d: Likewise.
gas/arm/thumb32.d: Likewise.
Nick Clifton [Fri, 28 May 2010 12:21:17 +0000 (12:21 +0000)]
* Makefile.am (eshlelf_fd.c): Fix typo in rule.
* Makefile.in: Regenerate.
Jan Kratochvil [Fri, 28 May 2010 09:57:03 +0000 (09:57 +0000)]
bfd/
Workaround GCC PR middle-end/4210.
* vms-misc.c (vms_time_t_to_vms_time): Use ternary operator for val[2]
and val[3].
Joel Brobecker [Fri, 28 May 2010 01:32:08 +0000 (01:32 +0000)]
Cache the TSD type in inferior-data (performance).
This is something I noticed while looking at ada_find_any_type.
Use of that function is expensive, since it causes a global lookup.
Reviewing some of the uses, I found that we were calling it to get
a specific type everytime we print a tagged type (the equivalent of
classes in C++); and not only that, we did it 4 times [1]!
Since the type in question (ada__tags__type_specific_data) is guarantied
to remain the same througout the entire life of the inferior, the solution
was to cache that type in inferior private data. This patch creates
an ada-land private-data area, and uses it to store that type after
the first time we look it up.
[1]: The problem is mitigated in AdaCore's tree because we use an Ada
symbol cache which we are thinking of contributing to the FSF tree.
But that's still pretty bad, regardless.
2010-05-27 Joel Brobecker <brobecker@adacore.com>
* ada-lang.c (ada_inferior_data): New struct.
(ada_inferior_data): New static global.
(ada_inferior_data_cleanup, get_ada_inferior_data, ada_inferior_exit)
(ada_get_tsd_type): New functions.
(ada_tag_name_2): Use ada_get_tsd_type instead of ada_find_any_type
to look the tsd type up.
(_initialize_ada_language): Attach ada_inferior_exit to inferior_exit
event. Set ada_inferior_data.
gdbadmin [Fri, 28 May 2010 00:00:35 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 28 May 2010 00:00:06 +0000 (00:00 +0000)]
daily update
Michael Snyder [Thu, 27 May 2010 23:44:51 +0000 (23:44 +0000)]
2010-05-27 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
* gdb.base/relational.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/relocate.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/restore.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/return.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/return2.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/sepdebug.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/setshow.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/setvar.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/shlib-call.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/shreloc.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/sigall.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/sigbpt.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/signull.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/so-impl-ld.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/varargs.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/volatile.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/watch_thread_num.exp: Replace uses of send_gdb / gdb_expect.
* gdb.base/watchpoint.exp: Replace uses of send_gdb / gdb_expect.
Michael Snyder [Thu, 27 May 2010 23:39:56 +0000 (23:39 +0000)]
2010-05-27 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
* gdb.base/break.exp: Replace uses of send_gdb / gdb_expect.
Pedro Alves [Thu, 27 May 2010 22:06:00 +0000 (22:06 +0000)]
* remote.c (unpack_varlen_hex): Remove forward declaration.
(remote_console_output): Make static, and add forward declaration.
* remote.h: Drop FIXME comment.
(unpack_varlen_hex): Declare.
(remote_console_output, remote_cisco_objfile_relocate)
(deprecated_target_resume_hook, deprecated_target_wait_loop_hook):
Delete declarations.
* tracepoint.c: Include "remote.h".
(unpack_varlen_hex): Delete declaration.
Tom Tromey [Thu, 27 May 2010 19:14:35 +0000 (19:14 +0000)]
* dwarf2loc.c (struct piece_closure) <refc>: New field.
(allocate_piece_closure): Initialize refc.
(copy_pieced_value_closure): Use refc.
(free_pieced_value_closure): Likewise.
Tom Tromey [Thu, 27 May 2010 19:06:12 +0000 (19:06 +0000)]
* arm-tdep.c (push_stack_item): 'contents' now const.
(arm_push_dummy_call): Make 'val' const. Use value_contents, not
value_contents_writeable. Introduce new temporary.
Tom Tromey [Thu, 27 May 2010 18:53:47 +0000 (18:53 +0000)]
* findcmd.c (parse_find_args): Use value_contents, not
value_contents_raw.
Tom Tromey [Thu, 27 May 2010 18:45:45 +0000 (18:45 +0000)]
* alpha-tdep.c (alpha_push_dummy_call): Make alpha_arg.contents
const. Use value_contents, not value_contents_writeable.
Joel Brobecker [Thu, 27 May 2010 17:37:45 +0000 (17:37 +0000)]
Replace call to value_contents_raw by call to value_contents.
This is something that Tom spotted. It shouldn't make much of a difference
in practice with the current code, but Tom is planning on making some
changes (bitwise optimized-out tracking) in value_contents...
2010-05-27 Joel Brobecker <brobecker@adacore.com>
* ada-lang.c (ensure_lval): Replace call to value_contents_raw
by call to value_contents.
Ozkan Sezer [Thu, 27 May 2010 16:03:24 +0000 (16:03 +0000)]
2010-05-27 Ozkan Sezer <sezeroz@gmail.com>
* gdb/MAINTAINERS: Add myself for write after approval privileges.
Tristan Gingold [Thu, 27 May 2010 13:43:44 +0000 (13:43 +0000)]
2010-05-27 Tristan Gingold <gingold@adacore.com>
* vms-misc.c: Define __NEW_STARLET. Remove trailing spaces.
(VMS_TIME_FACTOR, VMS_TIME_OFFSET): New macros.
(vms_time_to_time_t): Use them instead of local const.
(vms_time_t_to_vms_time): New function.
(vms_get_time): Likewise.
(vms_raw_get_time): Likewise.
* vms.h (vms_time_t_to_vms_time): New declaration.
(vms_get_time): Likewise.
(vms_raw_get_time): Likewise.
Nick Clifton [Thu, 27 May 2010 10:45:52 +0000 (10:45 +0000)]
Fix typo in ChangeLog entry.
Nick Clifton [Thu, 27 May 2010 10:43:27 +0000 (10:43 +0000)]
* m68k-dis.c (print_insn_m68k): Emit undefined instructions as
.short directives so that they can be reassembled.
Nick Clifton [Thu, 27 May 2010 10:40:36 +0000 (10:40 +0000)]
* config/tc-arm.c (encode_thumb2_ldmstm): Make warning about
writeback when base register is in register list an error, and
correct check.
(do_t_ldmstm): Change warnings.
* gas/arm/thumb2_ldmstm.d: Add new testcases.
* gas/arm/thumb2_ldmstm.s: Likeiwse.
* gas/arm/thumb2_ldmstm_bad.d: Add testcases to check for
UNPREDICTABLE ldm/stm.
* gas/arm/thumb2_ldmstm_bad.l: Likewise.
* gas/arm/thumb2_ldmstm_bad.s: Likewise.
Tristan Gingold [Thu, 27 May 2010 10:37:23 +0000 (10:37 +0000)]
2010-05-27 Tristan Gingold <gingold@adacore.com>
* lbr.h: Improve comments.
Doug Evans [Thu, 27 May 2010 03:40:45 +0000 (03:40 +0000)]
Allow python to find its files if moved from original location.
* acinclude.m4 (GDB_AC_DEFINE_RELOCATABLE): New function.
(GDB_AC_WITH_DIR): Call it.
* configure.ac: Define WITH_PYTHON_PATH if we can find the
python installation directory.
* config.in: Regenerate.
* configure: Regenerate.
* defs.h (python_libdir): Declare.
* main.c (python_libdir): Define.
(captured_main): Initialize python_libdir.
* python/python.c (_initialize_python): #ifdef WITH_PYTHON_PATH,
call Py_SetProgramName to make sure python can find its libraries
and modules.
Doug Evans [Thu, 27 May 2010 01:36:22 +0000 (01:36 +0000)]
* configure.ac: Try to use python's distutils to fetch compilation
parameters.
* configure: Regenerate.
* python/python-config.py: New file.
Alan Modra [Thu, 27 May 2010 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Thu, 27 May 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Ozkan Sezer [Wed, 26 May 2010 22:40:24 +0000 (22:40 +0000)]
2010-05-26 Ozkan Sezer <sezeroz@gmail.com>
gdb/
* ser-tcp.c (net_open): Check error return from socket() call by its
equality to -1 not by it being negative.
(net_close): Likewise.
gdb/gdbserver/
* gdbreplay.c (remote_open): Check error return from socket() call by
its equality to -1 not by it being negative.
* remote-utils.c (remote_open): Likewise.
sim/arm/
* communicate.c (MYread_char): Check error return from accept() call
by its equality to -1 not by it being negative.
(MYread_charwait): Likewise.
* main.c (main): Likewise for both socket() and accept() calls.
sim/common/
* dv-sockser.c (dv_sockser_init): Check error return from socket()
call by its equality to -1 not by it being negative.
(connected_p): Likewise for accept() call.
sim/cris/
* dv-rv.c (hw_rv_init_socket): Check error return from socket() call
by its equality to -1 not by it being negative.
(hw_rv_write): Likewise.
(hw_rv_handle_incoming): Likewise.
(hw_rv_poll_once): Likewise.
* rvdummy.c (setupsocket): Likewise.
(main): Likewise for accept() call as returned from setupsocket().
sim/m32c/
* main.c (setup_tcp_console): Check error return from socket() call
by its equality to -1 not by it being negative.
Catherine Moore [Wed, 26 May 2010 21:49:30 +0000 (21:49 +0000)]
2010-05-26 Catherine Moore <clm@codesourcery.com>
David Ung <davidu@mips.com>
* mips-opc.c: Change membership to I1 for instructions ssnop and
ehb.
2010-05-26 Catherine Moore <clm@codesoucery.com>
Maxim Kuvyrkov <maxim@codesourcery.com>
* gas/mips/set-arch.d: Expect ehb.
Doug Kwan [Wed, 26 May 2010 18:53:46 +0000 (18:53 +0000)]
2010-05-27 Doug Kwan <dougkwan@google.com>
* object.cc (Sized_relobj::do_finalize_local_symbols): Use offset
from start of output section instead of address for a local symbol
in a merged or relaxed section when doing a relocatable link.
Michael Snyder [Wed, 26 May 2010 18:34:12 +0000 (18:34 +0000)]
2010-05-26 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
* gdb.java/jmisc.exp: Replace send_gdb with gdb_test.
* gdb.java/jprint.exp: Replace send_gdb with gdb_test.
Michael Snyder [Wed, 26 May 2010 18:31:25 +0000 (18:31 +0000)]
2010-05-26 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
* gdb.gdb/complaints.exp: Replace send_gdb with gdb_test.
* gdb.gdb/selftest.exp: Replace send_gdb with gdb_test.
* gdb.gdb/xfullpath.exp: Replace send_gdb with gdb_test.
Pedro Alves [Wed, 26 May 2010 18:19:28 +0000 (18:19 +0000)]
gdb/
2010-05-26 Pedro Alves <pedro@codesourcery.com>
* NEWS: Mention the `qRelocInsn' feature.
* gdbarch.sh (relocate_instruction): New.
* amd64-tdep.c (rip_relative_offset): New.
(append_insns): New.
(amd64_relocate_instruction): New.
(amd64_init_abi): Install it.
* i386-tdep.c (append_insns): New.
(i386_relocate_instruction): New.
(i386_gdbarch_init): Install it.
* remote.c (remote_get_noisy_reply): Handle qRelocInsn requests.
* gdbarch.h, gdbarch.c: Regenerate.
gdb/doc/
2010-05-26 Pedro Alves <pedro@codesourcery.com>
* gdb.texinfo (General Query Packets) <qSupported>: Describe the
`qRelocInsn' feature.
(Relocate instruction reply packet): New subsection
of `Tracepoint Packets'.
(Tracepoint Packets): Mention that packets QTDP and QTStart
support the qRelocInsn request, and add cross reference to new
subsection.
DJ Delorie [Wed, 26 May 2010 18:16:19 +0000 (18:16 +0000)]
merge from gcc
Michael Snyder [Wed, 26 May 2010 18:12:13 +0000 (18:12 +0000)]
2010-05-26 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
* gdb.reverse/consecutive-reverse.exp: Replace send_gdb with gdb_test.
* gdb.reverse/consecutive-precsave.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-basics.exp:
* gdb.mi/mi-nonstop-exit.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-nonstop.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-ns-stale-regcache.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-nsintrall.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-nsmoribund.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-nsthrexec.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-return.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-var-display.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi2-basics.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi2-console.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi2-return.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi2-var-display.exp: Replace send_gdb with gdb_test.
Michael Snyder [Wed, 26 May 2010 18:05:25 +0000 (18:05 +0000)]
2010-05-25 Michael Snyder <msnyder@vmware.com>
* gdb.ada/formatted_ref.exp: Replace send_gdb with gdb_test.
* gdb.asm/asm-source.exp: Replace send_gdb with gdb_test.
* gdb.base/a2-run.exp: Replace send_gdb with gdb_test.
* gdb.base/all-bin.exp: Replace send_gdb with gdb_test.
* gdb.base/annota1.exp: Replace send_gdb with gdb_test.
* gdb.base/annota3.exp: Replace send_gdb with gdb_test.
* gdb.base/assign.exp: Replace send_gdb with gdb_test.
* gdb.base/attach.exp: Replace send_gdb with gdb_test.
* gdb.base/bitfields.exp: Replace send_gdb with gdb_test.
* gdb.base/bitfields2.exp: Replace send_gdb with gdb_test.
* gdb.base/bitops.exp: Replace send_gdb with gdb_test.
H.J. Lu [Wed, 26 May 2010 16:08:23 +0000 (16:08 +0000)]
Add SIB.
2010-05-26 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (sib): New.
(get_sib): Likewise.
(print_insn): Call get_sib.
OP_E_memory): Use sib.
Rafael Ávila de Espíndola [Wed, 26 May 2010 15:47:39 +0000 (15:47 +0000)]
2010-05-26 Rafael Espindola <espindola@google.com>
PR 11604
* gold/object.cc(Sized_relobj::do_layout_deferred_sections): Avoid
adding sections the garbage collector removed.
* gold/testsuite/Makefile.am: Add test.
* gold/testsuite/Makefile.in: Regenerate.
* gold/testsuite/plugin_test_7.sh: New.
* gold/testsuite/plugin_test_7_1.c: New.
* gold/testsuite/plugin_test_7_2.c: New.
Tom Tromey [Wed, 26 May 2010 15:21:13 +0000 (15:21 +0000)]
* dwarf2loc.h (struct dwarf2_locexpr_baton) <data>: Now const.
(struct dwarf2_loclist_baton) <data>: Likewise.
* dwarf2loc.c (find_location_expression): Constify return type.
(dwarf2_evaluate_loc_desc): Make 'data' argument const.
(dwarf2_loc_desc_needs_frame): Likewise.
(loclist_read_variable): Constify.
(loclist_describe_location): Likewise.
(loclist_tracepoint_var_ref): Likewise.
Rafael Ávila de Espíndola [Wed, 26 May 2010 15:15:05 +0000 (15:15 +0000)]
2010-05-26 Rafael Espindola <espindola@google.com>
* script-sections.cc (Output_section_definition::set_section_addresses):
Check for --section-start.
H.J. Lu [Wed, 26 May 2010 14:10:15 +0000 (14:10 +0000)]
Warn if value of SEGMENT_START isn't multiple of maximum page size.
ld/
2010-05-26 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11628
* ldexp.c (fold_binary): Warn if value of SEGMENT_START isn't
multiple of maximum page size.
ld/testsuite/
2010-05-26 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11628
* ld-elf/textaddr3.d: New.
* ld-elf/textaddr4.d: Likewise.
* ld-elf/textaddr5.d: Likewise.
* ld-elf/textaddr6.d: Likewise.
* ld-elf/textaddr7.d: Likewise.
Catherine Moore [Wed, 26 May 2010 12:59:56 +0000 (12:59 +0000)]
gas/
* config/tc-mips.c (is_opcode_valid): Remove expansionp.
(macro_build): Change invocation of is_opcode_valid.
(mips_ip): Likewise.
gas/testsuite/
* gas/mips/mips-no-jalx.l: Delete.
* gas/mips/mips-no-jalx.s: Delete.
* gas/mips/mips-jalx-2.d: New.
* gas/mips/mips-jalx-2.s: New.
* gas/mips/mips.exp (mips-jalx-2): Run new test.
(mips-no-jalx): Remove deleted test.
include/
* opcode/mips.h (INSN_MIPS16): Remove.
opcodes/
* mips-dis.c (mips_arch): Remove INSN_MIPS16.
* mips-opc.c (I16): Remove.
(mips_builtin_op): Reclassify jalx.
Tristan Gingold [Wed, 26 May 2010 08:55:22 +0000 (08:55 +0000)]
2010-05-26 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c: Update comments.
(alpha_vms_write_exec): Set lnkflags. Write the GST.
(alpha_vms_link_output_symbol): New function.
(alpha_vms_bfd_final_link): Generate the VMS symbol table.
Set dst_section private field.
(alpha_vms_bfd_final_link): Remove code that set dst_section.
Tristan Gingold [Wed, 26 May 2010 07:37:36 +0000 (07:37 +0000)]
2010-05-25 Tristan Gingold <gingold@adacore.com>
* bfdio.c: Declare and define _bfd_memory_iovec.
(bfd_bread): Move code for BFD_IN_MEMORY...
(bfd_bwrite): ... Ditto ...
(bfd_tell): ... Ditto ...
(bfd_flush): ... Ditto ...
(bfd_stat): ... Ditto ...
(bfd_seek): ... Ditto ...
(bfd_get_size): ... Ditto ...
(bfd_mmap): ... Ditto ...
(memory_bread): ... to these new functions.
(memory_bwrite): Ditto.
(memory_btell): Ditto.
(memory_bseek): Ditto.
(memory_bflush): Ditto.
(memory_bstat): Ditto.
(memory_bmmap): Ditto.
(memory_bclose): New function.
* peicode.h (pe_ILF_build_a_bfd): Use BFD_IN_MEMORY.
* xcofflink.c (bfd_xcoff_link_generate_rtinit): Ditto.
* opncls.c (bfd_close): Do not handle BFD_IN_MEMORY case.
(bfd_make_writable): Use _bfd_memory_iovec.
* elfcode.h (bfd_from_remote_memory): Use _bfd_memory_iovec.
* coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Use
_bfd_memory_iovec.
(alpha_ecoff_openr_next_archived_file): Use proxy_origin
instead of origin.
* libbfd.h: Regenerate.
Dave Korn [Wed, 26 May 2010 05:16:31 +0000 (05:16 +0000)]
Merge from gcc:
2010-05-18 Steven Bosscher <steven AT gcc.gnu.org>
* configure.ac (--enable-lto): All *-apple-darwin* now support LTO.
* configure: Regenerate.
2010-05-07 Steven Bosscher <steven AT gcc.gnu.org>
* configure.ac (--enable-lto): Add x86_64-apple-darwin* as
a platform that supports LTO.
* configure: Regenerate.
2010-04-27 Dave Korn <dave.korn.cygwin AT gmail.com>
PR lto/42776
* configure.ac (--enable-lto): Refactor handling so libelf tests
are only performed inside then-clause of ACX_ELF_TARGET_IFELSE,
and allow LTO to be explicitly enabled on non-ELF platforms that
are known to support it inside else-clause.
* configure: Regenerate.
Doug Kwan [Wed, 26 May 2010 03:33:59 +0000 (03:33 +0000)]
2010-05-26 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_scan_relocatable_relocs): New class.
(Target_arm::relocate_special_relocatable): New method.
(Arm_relocate_functions::arm_branch_common): Handle relocatable link.
(Arm_relocate_functions::thumb_branch_common): Same.
(Target_arm::scan_relocatable_relocs): Use Arm_scan_relocatable_relocs
instead of Default_scan_relocatable_relocs.
* target-reloc.h (relocate_for_relocatable): Let target handle
relocation strategy Relocatable_relocs::RELOC_SPECIAL.
* target.h (Sized_target::relocate_special_relocatable): New method.
Ian Lance Taylor [Wed, 26 May 2010 00:13:05 +0000 (00:13 +0000)]
* timer.cc: Only #include <sys/times.h> if HAVE_TIMES is defined.
gdbadmin [Wed, 26 May 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 26 May 2010 00:00:05 +0000 (00:00 +0000)]
daily update
Tom Tromey [Tue, 25 May 2010 22:23:07 +0000 (22:23 +0000)]
* gdb.base/macscp.exp: Add missing space after setup_kfail.
Tom Tromey [Tue, 25 May 2010 21:02:00 +0000 (21:02 +0000)]
* gdb.arch/i386-prologue.exp (skip_breakpoint): Fix setup_kfail
argument order.
* gdb.base/macscp.exp: Fix setup_kfail argument order.
* gdb.base/long_long.exp (gdb_test_xxx): Fix setup_kfail argument
order.
* gdb.base/sigbpt.exp (stepi_out): Fix setup_kfail argument
order.
* gdb.base/call-sc.exp (setup_kfails): Remove.
(setup_compiler_kfails): Remove.
* gdb.base/callfuncs.exp (do_function_calls): Fix setup_kfail
argument order.
* gdb.base/siginfo.exp: Fix setup_kfail argument order.
* gdb.base/sigstep.exp (advance): Fix setup_kfail argument order.
(advancei): Fix setup_kfail argument order.
* gdb.base/radix.exp: Fix setup_kfail argument order.
* gdb.base/solib-weak.exp (do_test): Fix setup_kfail argument
order.
* gdb.base/structs.exp (setup_kfails): Remove.
(setup_compiler_kfails): Fix setup_kfail argument order.
* gdb.base/sigaltstack.exp (finish_test): Fix setup_kfail argument
order.
* gdb.java/jmain.exp: Fix setup_kfail argument order.
* gdb.pascal/types.exp (test_string_literal_types_accepted): Fix
setup_kfail argument order.
* gdb.cp/overload.exp: Fix setup_kfail argument order.
Tom Tromey [Tue, 25 May 2010 19:54:47 +0000 (19:54 +0000)]
* gdb.dwarf2/pieces.exp (pieces_test_f3): Mention PR 11636.
Michael Snyder [Tue, 25 May 2010 19:34:05 +0000 (19:34 +0000)]
2010-05-25 Michael Snyder <msnyder@vmware.com>
* gdb.base/maint.exp: Replace send_gdb with gdb_test.
* gdb.base/miscexprs.exp: Replace send_gdb with gdb_test.
* gdb.base/nodebug.exp: Replace send_gdb with gdb_test.
* gdb.base/pointers.exp: Replace send_gdb with gdb_test.
* gdb.base/ptype.exp: Replace send_gdb with gdb_test.
Tom Tromey [Tue, 25 May 2010 16:41:46 +0000 (16:41 +0000)]
* dwarf2loc.c (dwarf_expr_frame_base): Constify.
(dwarf_expr_frame_base_1): Likewise.
(read_pieced_value): Update.
(needs_frame_frame_base): Constify.
(dwarf2_tracepoint_var_loc): Likewise.
(dwarf2_tracepoint_var_access): Likewise.
(locexpr_describe_location_piece): Likewise.
(locexpr_describe_location_1): Likewise.
* dwarf2expr.h (struct dwarf_expr_context) <get_frame_base>:
Constify.
(data): Now const.
(struct dwarf_expr_piece) <v.literal.data>: Likewise.
(dwarf_expr_eval, read_uleb128, read_sleb128)
(dwarf2_read_address): Update.
* dwarf2expr.c (dwarf_expr_eval): Constify.
(read_uleb128): Likewise.
(read_sleb128): Likewise.
(dwarf2_read_address): Likewise.
(require_composition): Likewise.
(execute_stack_op): Likewise.
* dwarf2-frame.h (struct dwarf2_frame_state_reg) <loc.exp>: Now a
"const gdb_byte *".
* dwarf2-frame.c (struct dwarf2_frame_state_reg_info) <cfa_exp>:
Now const.
(no_get_frame_base): Constify.
(execute_stack_op): Likewise.
(execute_cfa_program): Likewise.
(read_encoded_value): Likewise.
Doug Evans [Tue, 25 May 2010 16:00:09 +0000 (16:00 +0000)]
* ser-pipe.c (pipe_open): Ignore SIGINTs in child.
Doug Evans [Tue, 25 May 2010 15:48:44 +0000 (15:48 +0000)]
* event-loop.h (GDB_READABLE, GDB_WRITABLE, GDB_EXCEPTION): Move to ...
* event-loop.c: ... here.
* tui/tui-io.c (tui_readline_output): Rename parameter `code' to
`error' for clarity.
(tui_getc): Pass correct value for `error' parameter to
tui_readline_output.
Nick Clifton [Tue, 25 May 2010 15:30:55 +0000 (15:30 +0000)]
Fix typo
Nick Clifton [Tue, 25 May 2010 15:30:03 +0000 (15:30 +0000)]
Fix typo.
Doug Evans [Tue, 25 May 2010 15:27:17 +0000 (15:27 +0000)]
Add python gdb.GdbError and gdb.string_to_argv.
* NEWS: Document them.
* python/py-cmd.c (cmdpy_function): Don't print a traceback if
the exception is gdb.GdbError. Print a second traceback if there's
an error computing the error message.
(gdbpy_string_to_argv): New function.
* python/py-utils.c (gdbpy_obj_to_string): New function.
(gdbpy_exception_to_string): New function.
* python/python-internal.h (gdbpy_string_to_argv): Declare.
(gdbpy_obj_to_string, gdbpy_exception_to_string): Declare.
(gdbpy_gdberror_exc): Declare.
* python/python.c (gdbpy_gdberror_exc): New global.
(_initialize_python): Initialize gdbpy_gdberror_exc and create
gdb.GdbError.
(GdbMethods): Add string_to_argv.
doc/
* gdb.texinfo (Exception Handling): Document gdb.GdbError.
(Commands In Python): Document gdb.string_to_argv.
testsuite/
* gdb.python/py-cmd.exp: Add tests for gdb.GdbError and
gdb.string_to_argv.
Nick Clifton [Tue, 25 May 2010 14:12:43 +0000 (14:12 +0000)]
2010-05-21 Daniel Jacobowitz <dan@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
Andrew Stubbs <ams@codesourcery.com>
bfd/
* config.bfd (sh-*-uclinux* | sh[12]-*-uclinux*): Add
bfd_elf32_shl_vec, and FDPIC vectors to targ_selvecs.
* configure.in: Handle FDPIC vectors.
* elf32-sh-relocs.h: Add FDPIC and movi20 relocations.
* elf32-sh.c (DEFAULT_STACK_SIZE): Define.
(SYMBOL_FUNCDESC_LOCAL): Define. Use it instead of
SYMBOL_REFERENCES_LOCAL for function descriptors.
(fdpic_object_p): New.
(sh_reloc_map): Add FDPIC and movi20 relocations.
(sh_elf_info_to_howto, sh_elf_relocate_section): Handle new invalid
range.
(struct elf_sh_plt_info): Add got20 and short_plt. Update all
definitions.
(FDPIC_PLT_ENTRY_SIZE, FDPIC_PLT_LAZY_OFFSET): Define.
(fdpic_sh_plt_entry_be, fdpic_sh_plt_entry_le, fdpic_sh_plts): New.
(FDPIC_SH2A_PLT_ENTRY_SIZE, FDPIC_SH2A_PLT_LAZY_OFFSET): Define.
(fdpic_sh2a_plt_entry_be, fdpic_sh2a_plt_entry_le)
(fdpic_sh2a_short_plt_be, fdpic_sh2a_short_plt_le, fdpic_sh2a_plts):
New.
(get_plt_info): Handle FDPIC.
(MAX_SHORT_PLT): Define.
(get_plt_index, get_plt_offset): Handle short_plt.
(union gotref): New.
(struct elf_sh_link_hash_entry): Add funcdesc, rename tls_type to
got_type and adjust all uses. Add GOT_FUNCDESC.
(struct sh_elf_obj_tdata): Add local_funcdesc. Rename
local_got_tls_type to local_got_type.
(sh_elf_local_got_type): Renamed from sh_elf_local_got_tls_type. All
users changed.
(sh_elf_local_funcdesc): Define.
(struct elf_sh_link_hash_table): Add sfuncdesc, srelfuncdesc, fdpic_p,
and srofixup.
(sh_elf_link_hash_newfunc): Initialize new fields.
(sh_elf_link_hash_table_create): Set fdpic_p.
(sh_elf_omit_section_dynsym): New.
(create_got_section): Create .got.funcdesc, .rela.got.funcdesc
and .rofixup.
(allocate_dynrelocs): Allocate local function descriptors and space
for R_SH_FUNCDESC-related relocations, and for rofixups.
Handle GOT_FUNCDESC. Create fixups. Handle GOT entries which
require function descriptors.
(sh_elf_always_size_sections): Handle PT_GNU_STACK and __stacksize.
(sh_elf_modify_program_headers): New.
(sh_elf_size_dynamic_sections): Allocate function descriptors for
local symbols. Allocate .got.funcdesc contents. Allocate rofixups.
Handle local GOT entries of type GOT_FUNCDESC. Create fixups for
local GOT entries. Ensure that FDPIC libraries always have a PLTGOT
entry in the .dynamic section.
(sh_elf_add_dyn_reloc, sh_elf_got_offset, sh_elf_initialize_funcdesc)
(sh_elf_add_rofixup, sh_elf_osec_to_segment)
(sh_elf_osec_readonly_p, install_movi20_field): New functions.
(sh_elf_relocate_section): Handle new relocations, R_SH_FUNCDESC,
R_SH_GOTFUNCDESC and R_SH_GOTOFFFUNCDESC. Use sh_elf_got_offset
and .got.plt throughout to find _GLOBAL_OFFSET_TABLE_. Add rofixup
read-only section warnings. Handle undefined weak symbols. Generate
fixups for R_SH_DIR32 and GOT entries. Check for cross-segment
relocations and clear EF_SH_PIC. Handle 20-bit relocations.
Always generate R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
(sh_elf_gc_sweep_hook): Handle R_SH_FUNCDESC, R_SH_GOTOFF20,
R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20, and R_SH_GOTOFFFUNCDESC.
Handle 20-bit relocations.
(sh_elf_copy_indirect_symbol): Copy function descriptor reference
counts.
(sh_elf_check_relocs): Handle new relocations. Make symbols
dynamic for FDPIC relocs. Account for rofixups. Error for FDPIC
symbol mismatches. Allocate a GOT for R_SH_DIR32. Allocate fixups
for R_SH_DIR32.
(sh_elf_copy_private_data): Copy PT_GNU_STACK size.
(sh_elf_merge_private_data): Copy initial flags. Do not clobber
non-mach flags. Set EF_SH_PIC for FDPIC. Reject FDPIC mismatches.
(sh_elf_finish_dynamic_symbol): Do not handle got_funcdesc entries
here. Rename sgot to sgotplt and srel to srelplt. Handle short_plt,
FDPIC descriptors, and got20. Create R_SH_FUNCDESC_VALUE for FDPIC.
Use install_movi20_field. Rename srel to srelgot. Always generate
R_SH_DIR32 for FDPIC instead of R_SH_RELATIVE.
(sh_elf_finish_dynamic_sections): Fill in the GOT pointer in rofixup.
Do not fill in reserved GOT entries for FDPIC. Correct DT_PLTGOT.
Rename sgot to sgotplt. Assert that the right number of rofixups
and dynamic relocations were allocated.
(sh_elf_use_relative_eh_frame, sh_elf_encode_eh_address): New.
(elf_backend_omit_section_dynsym): Use sh_elf_omit_section_dynsym.
(elf_backend_can_make_relative_eh_frame)
(elf_backend_can_make_lsda_relative_eh_frame)
(elf_backend_encode_eh_address): Define.
(TARGET_BIG_SYM, TARGET_BIG_NAME, TARGET_LITTLE_SYM)
(TARGET_LITTLE_NAME, elf_backend_modify_program_headers, elf32_bed):
Redefine for FDPIC vector.
* reloc.c: Add SH FDPIC and movi20 relocations.
* targets.c (_bfd_target_vector): Add FDPIC vectors.
* configure, bfd-in2.h, libbfd.h: Regenerated.
binutils/
* readelf.c (get_machine_flags): Handle EF_SH_PIC and EF_SH_FDPIC.
gas/
* config/tc-sh.c (sh_fdpic): New.
(sh_check_fixup): Handle relocations on movi20.
(parse_exp): Do not reject PIC operators here.
(build_Mytes): Check for unhandled PIC operators here. Use
sh_check_fixup for movi20.
(enum options): Add OPTION_FDPIC.
(md_longopts, md_parse_option, md_show_usage): Add --fdpic.
(sh_fix_adjustable, md_apply_fix): Handle FDPIC and movi20 relocations.
(sh_elf_final_processing): Handle --fdpic.
(sh_uclinux_target_format): New.
(sh_parse_name): Handle FDPIC relocation operators.
* config/tc-sh.h (TARGET_FORMAT): Define specially for TE_UCLINUX.
(sh_uclinux_target_format): Declare for TE_UCLINUX.
* configure.tgt (sh-*-uclinux* | sh[12]-*-uclinux*): Set
em=uclinux.
* doc/c-sh.texi (SH Options): Document --fdpic.
gas/testsuite/
* gas/sh/basic.exp: Run new tests. Handle uClinux like Linux.
* gas/sh/fdpic.d: New file.
* gas/sh/fdpic.s: New file.
* gas/sh/reg-prefix.d: Force big-endian.
* gas/sh/sh2a-pic.d: New file.
* gas/sh/sh2a-pic.s: New file.
* lib/gas-defs.exp (is_elf_format): Include sh*-*-uclinux*.
include/elf/
* sh.h (EF_SH_PIC, EF_SH_FDPIC): Define.
(R_SH_FIRST_INVALID_RELOC_6, R_SH_LAST_INVALID_RELOC_6): New. Adjust
other invalid ranges.
(R_SH_GOT20, R_SH_GOTOFF20, R_SH_GOTFUNCDESC, R_SH_GOTFUNCDESC20)
(R_SH_GOTOFFFUNCDESC, R_SH_GOTOFFFUNCDESC20, R_SH_FUNCDESC)
(R_SH_FUNCDESC_VALUE): New.
ld/
* Makefile.am (ALL_EMULATIONS): Add eshelf_fd.o and eshlelf_fd.o.
(eshelf_fd.c, eshlelf_fd.c): New rules.
* Makefile.in: Regenerate.
* configure.tgt (sh-*-uclinux*): Add shelf_fd and shlelf_fd
emulations.
* emulparams/shelf_fd.sh: New file.
* emulparams/shlelf_fd.sh: New file.
* emulparams/shlelf_linux.sh: Update comment.
ld/testsuite/
* ld-sh/sh.exp: Handle uClinux like Linux.
* lib/ld-lib.exp (is_elf_format): Include sh*-*-uclinux*.
* ld-sh/fdpic-funcdesc-shared.d: New file.
* ld-sh/fdpic-funcdesc-shared.s: New file.
* ld-sh/fdpic-funcdesc-static.d: New file.
* ld-sh/fdpic-funcdesc-static.s: New file.
* ld-sh/fdpic-gotfuncdesc-shared.d: New file.
* ld-sh/fdpic-gotfuncdesc-shared.s: New file.
* ld-sh/fdpic-gotfuncdesc-static.d: New file.
* ld-sh/fdpic-gotfuncdesc-static.s: New file.
* ld-sh/fdpic-gotfuncdesci20-shared.d: New file.
* ld-sh/fdpic-gotfuncdesci20-shared.s: New file.
* ld-sh/fdpic-gotfuncdesci20-static.d: New file.
* ld-sh/fdpic-gotfuncdesci20-static.s: New file.
* ld-sh/fdpic-goti20-shared.d: New file.
* ld-sh/fdpic-goti20-shared.s: New file.
* ld-sh/fdpic-goti20-static.d: New file.
* ld-sh/fdpic-goti20-static.s: New file.
* ld-sh/fdpic-gotofffuncdesc-shared.d: New file.
* ld-sh/fdpic-gotofffuncdesc-shared.s: New file.
* ld-sh/fdpic-gotofffuncdesc-static.d: New file.
* ld-sh/fdpic-gotofffuncdesc-static.s: New file.
* ld-sh/fdpic-gotofffuncdesci20-shared.d: New file.
* ld-sh/fdpic-gotofffuncdesci20-shared.s: New file.
* ld-sh/fdpic-gotofffuncdesci20-static.d: New file.
* ld-sh/fdpic-gotofffuncdesci20-static.s: New file.
* ld-sh/fdpic-gotoffi20-shared.d: New file.
* ld-sh/fdpic-gotoffi20-shared.s: New file.
* ld-sh/fdpic-gotoffi20-static.d: New file.
* ld-sh/fdpic-gotoffi20-static.s: New file.
* ld-sh/fdpic-plt-be.d: New file.
* ld-sh/fdpic-plt-le.d: New file.
* ld-sh/fdpic-plt.s: New file.
* ld-sh/fdpic-plti20-be.d: New file.
* ld-sh/fdpic-plti20-le.d: New file.
* ld-sh/fdpic-stack-default.d: New file.
* ld-sh/fdpic-stack-size.d: New file.
* ld-sh/fdpic-stack.s: New file.
Nick Clifton [Tue, 25 May 2010 14:02:38 +0000 (14:02 +0000)]
PR ld/11621
* Makefile.am: Replace all occurences of .o with .@OBJEXT@
* Makefile.in: Regenerate.
Tristan Gingold [Tue, 25 May 2010 12:41:16 +0000 (12:41 +0000)]
2010-05-25 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (struct vms_symbol_entry): Field section is
now an asection pointer. Ditto for code_section.
(_bfd_vms_slurp_egsd): Adjust for above change.
(vms_get_symbol_info): Ditto.
(alpha_vms_convert_symbol): Ditto. Remove special dwarf2 case.
Remove commented out code.
(alpha_vms_get_synthetic_symtab): Simplify thanks to the above
change.
(alpha_vms_get_sym_value): Remove struct alpha_vms_link_hash_entry
parameter. Simplify the code.
(_bfd_vms_slurp_etir): Adjust for above change.
Nick Clifton [Tue, 25 May 2010 10:14:16 +0000 (10:14 +0000)]
PR ld/11624
* archive.c (_bfd_calloc_wrapper): New function.
(_bfd_add_bfd_to_archive_cache): Use it.
* configure.in: Add alpha*-*-*vms* to list of natives.
* configure: Regenerate.
* vms-misc.c: Define globalref if necessary.
(vms_convert_to_var_unix_filename): Rename to
_bfd_vms_convert_to_var_unix_filename and export.
* vms.h: Add prototype for _bfd_vms_convert_to_var_unix_filename.
* vms-alpha.c (vms_close_and_cleanup): Update invocation of
vms_convert_to_var_unix_filename.
Kai Tietz [Tue, 25 May 2010 10:05:16 +0000 (10:05 +0000)]
2010-05-25 Kai Tietz <kai.tietz@onevision.com>
* deffilep.y (opt_name): Allow leading dot.
(dot_name): Likewise.
(anylang_id): Likewise.
Kai Tietz [Tue, 25 May 2010 10:03:01 +0000 (10:03 +0000)]
2010-05-25 Kai Tietz <kai.tietz@onevision.com>
* emultempl/pep.em (gld_${EMULATION_NAME}_before_parse): Enable by
default auto_import.
(gld${EMULATION_NAME}_handle_option): Warn about v1.
(pep_find_data_imports): Remove superflous warnings about
auto-import.
(gld_${EMULATION_NAME}_get_script): Don't merge for auto-import
and active pseudo-relocation-v2 rdata into data section.
Kai Tietz [Tue, 25 May 2010 10:00:25 +0000 (10:00 +0000)]
2010-05-25 Kai Tietz <kai.tietz@onevision.com>
* emultempl/pe.em (default_merge_rdata): New shell variable.
(MERGE_RDATA_V2): New macro.
(gld_${EMULATION_NAME}_get_script): Adjust rule for auto-import
selected script.
Pierre Muller [Tue, 25 May 2010 07:38:18 +0000 (07:38 +0000)]
* windows-nat.c (display_selector): Call GetLastError to give better
failure explanation.
Alan Modra [Tue, 25 May 2010 00:51:49 +0000 (00:51 +0000)]
* config/tc-ppc.c (ppc_section_flags): Add ATTRIBUTE_UNUSED to "attr".
Alan Modra [Tue, 25 May 2010 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 25 May 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Pedro Alves [Mon, 24 May 2010 22:54:21 +0000 (22:54 +0000)]
* config.in: Regenerate.
Michael Snyder [Mon, 24 May 2010 22:06:59 +0000 (22:06 +0000)]
2010-05-24 Michael Snyder <msnyder@vmware.com>
* gdb.base/default.exp: Replace send_gdb with gdb_test.
* gdb.base/define.exp: Replace send_gdb with gdb_test.
* gdb.base/display.exp: Replace send_gdb with gdb_test.
* gdb.base/dump.exp: Replace send_gdb with gdb_test.
* gdb.base/ending-run.exp: Replace send_gdb with gdb_test.
* gdb.base/eval-skip.exp: Replace send_gdb with gdb_test.
* gdb.base/exprs.exp: Replace send_gdb with gdb_test.
* gdb.base/fileio.exp: Replace send_gdb with gdb_test.
* gdb.base/finish.exp: Replace send_gdb with gdb_test.
* gdb.base/foll-fork.exp: Replace send_gdb with gdb_test.
* gdb.base/funcargs.exp: Replace send_gdb with gdb_test.
* gdb.base/gcore-buffer-overflow.exp: Replace send_gdb with gdb_test.
* gdb.base/gcore.exp: Replace send_gdb with gdb_test.
* gdb.base/gdb1090.exp: Replace send_gdb with gdb_test.
* gdb.base/gdbvars.exp: Replace send_gdb with gdb_test.
* gdb.base/help.exp: Replace send_gdb with gdb_test.
* gdb.base/info-proc.exp: Replace send_gdb with gdb_test.
* gdb.base/jump.exp: Replace send_gdb with gdb_test.
* gdb.base/long_long.exp: Replace send_gdb with gdb_test.
Michael Snyder [Mon, 24 May 2010 22:03:59 +0000 (22:03 +0000)]
2010-05-24 Michael Snyder <msnyder@vmware.com>
* gdb.base/call-ar-st.exp: Replace send_gdb with gdb_test.
* gdb.base/callfuncs.exp: Replace send_gdb with gdb_test.
* gdb.base/call-rt-st.exp: Replace send_gdb with gdb_test.
* gdb.base/call-signal-resume.exp: Replace send_gdb with gdb_test.
* gdb.base/call-strs.exp: Replace send_gdb with gdb_test.
* gdb.base/catch-syscall.exp: Replace send_gdb with gdb_test.
* gdb.base/charset.exp: Replace send_gdb with gdb_test.
* gdb.base/checkpoint.exp: Replace send_gdb with gdb_test.
* gdb.base/commands.exp: Replace send_gdb with gdb_test.
* gdb.base/condbreak.exp: Replace send_gdb with gdb_test.
* gdb.base/cond-exprs.exp: Replace send_gdb with gdb_test.
* gdb.base/consecutive.exp: Replace send_gdb with gdb_test.
* gdb.base/constvars.exp: Replace send_gdb with gdb_test.
* gdb.base/corefile.exp: Replace send_gdb with gdb_test.
Tristan Gingold [Mon, 24 May 2010 13:21:26 +0000 (13:21 +0000)]
2010-05-24 Tristan Gingold <gingold@adacore.com>
* readelf.c (usage): Add new trace sections for --debug-dump.
(process_section_headers): Handle dump of trace sections.
* objdump.c (usage): Add new trace sections for --dwarf.
* dwarf.h (do_trace_info, do_trace_abbrevs): New variables.
(do_trace_aranges): Ditto.
(enum dwarf_section_display_enum): Add trace_info, trace_abbrev
and trace_aranges literals.
* dwarf.c (do_trace_info, do_trace_abbrevs): New variables.
(do_trace_aranges): Ditto.
(process_debug_info): Add abbrev_sec argument and replace
abbrev with abbrev_sec.
(load_debug_info): Adjust call of process_debug_info.
(display_debug_info): Ditto.
(display_trace_info): New function.
(dwarf_select_sections_by_names): Add trace_info, trace_abbrevs
and trace_aranges sections name.
(dwarf_select_sections_all): Also select trace sections.
(debug_displays): Reindent. Add entries for the trace sections.
* doc/binutils.texi (readelf): Document new --dwarf parameters.
(objdump): Ditto.
Tristan Gingold [Mon, 24 May 2010 10:50:27 +0000 (10:50 +0000)]
2010-05-24 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (add_symbol_entry): New function extrated from ...
(add_symbol): ... adjusted.
Tristan Gingold [Mon, 24 May 2010 10:41:52 +0000 (10:41 +0000)]
2010-05-24 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (struct vms_private_data_struct): Add section_max
field.
(_bfd_vms_slurp_egsd): Put PSC into the sections array.
(vms_new_section_hook): Do not put section in the sections
array.