OSDN Git Service

gdb/
[pf3gnuchains/pf3gnuchains3x.git] / gdb / ChangeLog
1 2009-10-14  Pedro Alves  <pedro@codesourcery.com>
2
3         gdb/
4         * configure.ac (build_warnings): Add -Wunused-value.
5         * configure: Regenerate.
6
7 2009-10-14  Tristan Gingold  <gingold@adacore.com>
8
9         * solib-darwin.c: Remove trailing whitespaces.
10         (darwin_dyld_version_ok): Fix typo.
11
12 2009-10-14  Andrew Stubbs  <ams@codesourcery.com>
13
14         * sh-tdep.c (sh_gdbarch_init): Add show_regs settings for
15         bfd_mach_sh3_nommu, bfd_mach_sh2a_nofpu_or_sh3_nommu,
16         bfd_mach_sh2a_or_sh3e, bfd_mach_sh2a_or_sh4, bfd_mach_sh4_nommu_nofpu,
17         and bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu.
18         Move bfd_mach_sh2a_or_sh4 to use the same configuration as
19         bfd_mach_sh4.
20
21 2009-10-13  Daniel Jacobowitz  <dan@codesourcery.com>
22
23         * arm-tdep.c (arm_push_dummy_call): Set the low bit of LR for
24         a Thumb entry point.
25         (thumb_get_next_pc): Handle Thumb-2 and ARM v6 instructions.  Refuse
26         to single step into IT blocks.
27
28 2009-10-13  Pedro Alves  <pedro@codesourcery.com>
29
30         * infcall.c (call_function_by_hand): Formatting.
31
32 2009-10-13  Tristan Gingold  <gingold@adacore.com>
33
34         * solib-darwin.c: Add an empty line after comment for functions.
35         (struct gdb_dyld_all_image_infos): Improve comment.
36         (DYLD_VERSION): Removed and replaced by ...
37         (DYLD_VERSION_MAX, DYLD_VERSION_MIN): ... New macros.
38         (darwin_dyld_version_ok): New function.
39         (darwin_load_image_infos): Call darwin_dyld_version_ok.
40         (darwin_current_sos): Ditto.
41         (darwin_solib_create_inferior_hook): Ditto.
42
43 2009-10-13  Tristan Gingold  <gingold@adacore.com>
44
45         * machoread.c: Add an empty line after comment for functions.
46         (oso_el_compare_name): New function.
47         (macho_add_oso_symfile): New function.
48         (macho_oso_symfile): Use macho_add_oso_symfile.  Sort the oso
49         and optimize accesses to libraries.
50
51 2009-10-13  Tristan Gingold  <gingold@adacore.com>
52
53         * objfiles.c (objfile_has_symbols): New function.
54         * objfiles.h (objfile_has_symbols): Add prototype.
55         * symfile.c (symbol_file_add_with_addrs_or_offsets): Call
56         objfile_has_symbols.
57         (reread_symbols): Ditto.
58
59 2009-10-12  Jiang Jilin  <freephp@gmail.com>
60
61         * i386-tdep.c (i386_process_record): Add xgetbv/xsetbv
62         instructions support.
63
64 2009-10-11  Pedro Alves  <pedro@codesourcery.com>
65
66         * procfs.c (procfs_make_note_section): Go back to only outputing
67         an NT_PSTATUS note when UNIXWARE is defined.
68
69 2009-10-11  Daniel Jacobowitz  <dan@codesourcery.com>
70
71         * features/xinclude.dtd: Correct EMPTY typo.
72
73 2009-10-10  Michael Snyder  <msnyder@vmware.com>
74
75         * i386-tdep.c (i386_process_record): Or-equals, not not-equals.
76
77 2009-10-10  Pedro Alves  <pedro@codesourcery.com>
78
79         * mi/mi-cmd-stack.c (list_args_or_locals): Use internal_error.
80         Put "break" statements on their own line.
81
82 2009-10-09  Pedro Alves  <pedro@codesourcery.com>
83
84         * linux-nat.c (linux_nat_wait_1): Bail out, if TARGET_WNOHANG and
85         we found no event while waiting for a specific LWP.
86         * infrun.c (handle_inferior_event): Handle TARGET_WAITKIND_IGNORE
87         before anything else.
88
89 2009-10-09  Pedro Alves  <pedro@codesourcery.com>
90
91         * procfs.c (procfs_make_note_section): Always output a NT_PSTATUS
92         note when NEW_PROC_API is defined.
93
94 2009-10-09  Pedro Alves  <pedro@codesourcery.com>
95
96         * corelow.c (core_has_fake_pid): New.
97         (core_close): Clear it.
98         (add_to_thread_list): Fake a pid if one is not found on a Solaris
99         core.  Add the inferior here.  Always add the thread, don't use
100         thread_change_ptid.
101         (core_open): Don't add the main thread or the inferior here unless
102         we find that the core had no .reg/NN sections.
103         (get_core_register_section): Handle Solaris cores with fake pids.
104
105         * corelow.c (add_to_thread_list): Fix typo.
106
107 2009-10-08  Paul Pluzhnikov  <ppluzhnikov@google.com>
108
109         PR gdb/10457
110         * elfread.c (elf_symtab_read): Don't use alloca in a loop.
111         
112 2009-10-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
113
114         * i386-nat.c (i386_stopped_by_hwbp): Remove.
115
116 2009-10-07  Joel Brobecker  <brobecker@adacore.com>
117
118         * NEWS: Update following the GDB 7.0 release.
119
120 2009-10-07  Pierre Muller  <muller@ics.u-strasbg.fr>
121
122         ARI fix: OP eol rule.
123         * doublest.c (floatformat_from_length): Avoid operator at end of line.
124         * dwarf2-frame.c (dwarf2_build_frame_info): Idem.
125         * dwarf2read.c (read_array_order, dwarf_decode_macros): Idem.
126         * eval.c (evaluate_subexp_standard): Idem.
127         * event-loop.c (create_timer, handle_timer_event): Idem.
128         * expprint.c (print_subexp_standard): Idem.
129         * f-exp.y (variable): Idem.
130         * f-typeprint.c (f_print_type): Idem.
131
132 2009-10-06  Pierre Muller  <muller@ics.u-strasbg.fr>
133
134         ARI fix: OP eol rule.
135         * blockframe.c (find_pc_partial_function): Avoid operator at end of
136         line.
137         * buildsym.c (find_symbol_in_list): Idem.
138         (start_subfile, patch_subfile_names): Idem.
139         * c-exp.y (variable, yylex): Idem.
140         * c-typeprint.c (c_print_type, c_type_print_base): Idem.
141         * c-valprint.c (c_val_print): Idem.
142         * coffread.c (patch_opaque_types, process_coff_symbol): Idem.
143         * corelow.c (core_open): Idem.
144         * cris-tdep.c (move_reg_to_mem_movem_op): Idem.
145         * cli/cli-decode.c (help_cmd_list, find_command_name_length): Idem.
146
147 2009-10-06  Pierre Muller  <muller@ics.u-strasbg.fr>
148
149         ARI fix: OP eol rule.
150         * ada-exp.y (block_lookup): Avoid operator at end of line.
151         * aix-thread.c (pd_enable): Idem.
152         * alpha-tdep.c (alpha_next_pc): Idem.
153         * arm-tdep.c (arm_skip_prologue, arm_scan_prologue): Idem.
154         (condition_true, coff_sym_is_thumb): Idem.
155
156 2009-10-06  Joel Brobecker  <brobecker@adacore.com>
157
158         GDB 7.0 released.
159
160 2009-10-06  Pierre Muller  <muller@ics.u-strasbg.fr>
161
162         ARI fix: "%p" rule.
163         * target.c (debug_to_thread_architecture): Replace %p by %s using
164         host_address_to_string function.
165
166 2009-10-06  Tristan Gingold  <gingold@adacore.com>
167
168         * darwin-nat.c: Add __TEXT __info_plist content.
169         (darwin_attach_pid): Update error message.
170
171 2009-10-06  Joel Brobecker  <brobecker@adacore.com>
172
173         * MAINTAINERS: Add Tristan Gingold as Maintainer of the Darwin port.
174
175 2009-10-06  Joel Brobecker  <brobecker@adacore.com>
176
177         * MAINTAINERS: Add Jan Kratochvil as Maintainer of the ia64 target.
178
179 2009-10-05  Pedro Alves  <pedro@codesourcery.com>
180
181         Revert:
182         2009-10-04  Pedro Alves  <pedro@codesourcery.com>
183         * gdbinit.in: Set data-directory to @srcdir@.
184
185 2009-10-04  Pedro Alves  <pedro@codesourcery.com>
186
187         * NEWS: Mention non-stop mode.
188
189 2009-10-04  Pedro Alves  <pedro@codesourcery.com>
190
191         * gdbinit.in: Set data-directory to @srcdir@.
192
193 2009-10-02  Pedro Alves  <pedro@codesourcery.com>
194
195         * linux-nat.c (TRAP_IS_SYSCALL, TRAP_REMOVE_SYSCALL_FLAG): Delete.
196         (SYSCALL_SIGTRAP): New.
197         (status_to_str): Adjust.
198         (get_pending_status): Pending events in lp->waitstatus don't map
199         to any signal.  Simplify.
200         (linux_handle_syscall_trap): New.
201         (linux_handle_extended_wait): When handling PTRACE_EVENT_CLONE
202         events, use linux_ops->to_resume instead of direct ptrace with
203         PTRACE_CONT.  Remove all TRAP_IS_SYSCALL handling.
204         (wait_lwp): Handle syscall traps with linux_handle_syscall_trap,
205         and clear the sysgood bit.
206         (status_callback): Make it clearer and add comments.
207         (cancel_breakpoints_callback): Ignore if LP has waitstatus set.
208         (linux_nat_filter_event): Handle syscall traps with
209         linux_handle_syscall_trap, and clear the sysgood bit.  Move the
210         check for storing siginfo to after handling extended statuses and
211         syscall traps.  Store status in the lwp object.
212         (linux_wait_1): Don't swap the pending status out of the lwp
213         object until after deciding we found an lwp with an interesting
214         event.  Requeue a new pending signal if we find one while getting
215         rid or a pending SIGSTOP we sent ourselves.  Don't clear the
216         sysgood bit here.
217
218         * infrun.c (deal_with_syscall_event): Rename to ...
219         (handle_syscall_event): ... this.  Always context switch and set
220         stop_pc, even if not catching the syscall.  If not catching the
221         syscall, always resume with keep_going.
222         (handle_inferior_event): Adjust.
223
224 2009-10-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
225
226         Fix compatibility of --with-system-readline and readline-6.0+.
227         * configure.ac <--with-system-readline> (for readline_echoing_p): New
228         test.
229         * config.in: Regenerate.
230         * configure: Regenerate.
231
232 2009-10-01  Joel Brobecker  <brobecker@adacore.com>
233
234         * MAINTAINERS: Move Don Lee to the correct section (Write After
235         Approval).
236
237 2009-10-01  Phil Muldoon  <pmuldoon@redhat.com>
238
239         * infcall.c (call_function_by_hand): Add a new cleanup branch for
240         std::terminate breakpoints.
241
242 2009-09-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
243
244         * ia64-tdep.c (ia64_convert_from_func_ptr_addr): New variable buf.
245         Check first the descriptor memory is readable.
246
247 2009-09-29  Tom Tromey  <tromey@redhat.com>
248
249         * python/py-value.c (valpy_string): NULL-terminate 'keywords'.
250
251 2009-09-29  Ulrich Weigand  <uweigand@de.ibm.com>
252
253         * s390-tdep.c (s390_displaced_step_fixup): Use type ULONGEST
254         instead of CORE_ADDR for "amode".
255
256 2009-09-29  Joel Brobecker  <brobecker@adacore.com>
257
258         * ia64-tdep.c: Update the comments on how we insert/remove
259         breakpoints for L-X instructions.
260         (ia64_memory_insert_breakpoint, ia64_memory_remove_breakpoint):
261         Update the comments inside these functions.
262
263 2009-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
264
265         * gdbarch.sh (displaced_step_hw_singlestep): New callback.
266         * gdbarch.c, gdbarch.h: Regenerate.
267         * arch-utils.c (default_displaced_step_hw_singlestep): New function.
268         * arch-utils.h (default_displaced_step_hw_singlestep): Add prototype.
269
270         * ppc-linux-tdep.c (ppc_displaced_step_hw_singlestep): New function.
271         (rs6000_gdbarch_init): Install it.
272
273         * infrun.c (displaced_step_fixup): Use new callback to determine
274         whether to "step" or "continue" displaced copy.
275         (resume): Likewise.  Do not call maybe_software_singlestep
276         for displaced stepping.
277         (maybe_software_singlestep): Do not handle displaced stepping.
278
279 2009-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
280
281         * eval.c (evaluate_subexp_standard) [OP_OBJC_MSGCALL]: Support
282         platforms that use function descriptors.  Prefer to use function
283         pointer types instead of function types.
284         * linespec.c (decode_objc): Support function descriptors.  Fully
285         initialize SAL result.
286         * objc-lang.c (find_methods): Support function descriptors.
287         Do not require function symbol to point to text section.
288
289         * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): When calling
290         via a function pointer, use the descriptor it points to.
291
292 2009-09-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
293
294         Fix ia64 breakpoints in the L-X slot.
295         * ia64-tdep.c (ia64_memory_insert_breakpoint): Extend the comment.
296         New variable shadow_slotnum, use it appropriately instead of slotnum.
297         Move shadow_len initialization before SLOTNUM adjustment, cover now the
298         whole remaining bundle.  Error now on breakpoints requested for the
299         slot 2 of L-X bundles.  Better sanity check the requested slot 1 of L-X
300         bundles.
301         (ia64_memory_remove_breakpoint): New variable shadow_slotnum, use it
302         appropriately instead of slotnum.  Warn now on breakpoints requested
303         for the slot 2 of L-X bundles.  Better sanity check the requested slot
304         1 of L-X bundles.  Update the assertio check of PLACED_SIZE.
305         (ia64_breakpoint_from_pc): New variable shadow_slotnum, use it
306         appropriately instead of slotnum.  Move *lenptr initialization before
307         SLOTNUM adjustment, cover now the whole remaining bundle.  Error now
308         on breakpoints requested for the slot 2 of L-X bundles.  Better sanity
309         check the requested slot 1 of L-X bundles.  Simplify the returned
310         expression.
311
312 2009-09-28  Joel Brobecker  <brobecker@adacore.com>
313
314         * ia64-tdep.c (ia64_memory_insert_breakpoint): Check the slotnum
315         and the type of instruction before deciding which slot to save
316         in the breakpoint shadown contents.
317
318 2009-09-28  Doug Evans  <dje@google.com>
319
320         * linux-nat.c (status_to_str): Handle TRAP_IS_SYSCALL.
321         (TRAP_REMOVE_SYSCALL_FLAG): New macro.
322         (linux_nat_wait_1): Mask off is-syscall bit in wait status for
323         TRAP_IS_SYSCALL before passing value to caller.
324
325 2009-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
326
327         * valops.c (value_assign): Respect parent offset when
328         assigning to a bitfield.
329
330 2009-09-28  Hui Zhu  <teawater@gmail.com>
331
332         * i386-tdep.c (i386_process_record): Remove "0x" that
333         don't need.
334
335 2009-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
336
337         * s390-tdep.c (op_bctr, op_bctgr, op_bct, op1_bctg, op2_bctg,
338         op_bxh, op1_bxhg, op2_bxhg, op_bxle, op1_bxleg, op2_bxleg,
339         op1_brct, op2_brct, op1_brctg, op2_brctg, op_brxh, op1_brxhg,
340         op2_brxhg, op_brxle, op1_brxlg, op2_brxlg): New enum values.
341         (is_rsi, is_rie): New insn format decoder routines.
342         (s390_displaced_step_fixup): New function.
343         (s390_gdbarch_init): Install displaced stepping routines.
344
345 2009-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
346
347         * configure.tgt (powerpc-*-linux* | powerpc64-*-linux*):
348         Add linux-tdep.o to gdb_target_obs.
349         (s390*-*-*): Likewise.
350
351 2009-09-27  Don Lee  <don.lee@sunplusct.com>
352
353         * score-tdep.c: Comment out some simulator dependent codes.
354         * score-tdep.h: Delete some simulator dependent macro definitions.
355
356 2009-09-27  Hui Zhu  <teawater@gmail.com>
357
358         * record.c (record_open): Change "query" to "error".
359         (cmd_record_stop): Change "query" to "printf_unfiltered".
360
361 2009-09-26  Pierre Muller  <muller@ics.u-strasbg.fr>
362
363         * i386-nat.c (i386_stopped_data_address): Also check that
364         hitted watch register is not vacant.
365
366 2009-09-25  Tom Tromey  <tromey@redhat.com>
367
368         PR python/10664:
369         * language.h (struct language_defn) <la_get_string>: Add
370         'char_type' argument.
371         (LA_GET_STRING): Likewise.
372         (default_get_string, c_get_string): Update.
373         * language.c (default_get_string): Add 'char_type' argument.
374         * c-valprint.c (c_textual_element_type): Rename from
375         textual_element_type.  No longer static.  Update callers.
376         * c-lang.h (c_textual_element_type): Declare.
377         * c-lang.c (c_get_string): Add 'char_type' argument.
378
379 2009-09-25  Tom Tromey  <tromey@redhat.com>
380
381         * charset.c (iconv_open): Use UTF-16 and UTF-32, not UCS-2 and
382         UCS-4.
383         (iconv): Rename 'ucs_flag'.
384         (GDB_DEFAULT_TARGET_WIDE_CHARSET): Use UTF-32.
385         * c-lang.c (charset_for_string_type): Use UTF-16 and UTF-32, not
386         UCS-2 and UCS-4.
387         (convert_ucn): Use UTF-32.
388
389 2009-09-25  Nick Roberts  <nickrob@snap.net.nz>
390
391         * mi/gdb-mi.el: Remove file.
392
393 2009-09-23  Joel Brobecker  <brobecker@adacore.com>
394
395         * record.c (record_open, record_store_registers, record_xfer_partial):
396         Replace calls to nquery by calls to query.
397
398 2009-09-23  John Wright  <john.wright@hp.com>
399
400         PR gdb/10684:
401         * event-top.c (command_line_handler): Terminate linebuffer before
402         xstrdup.
403
404 2009-09-22  Joel Brobecker  <brobecker@adacore.com>
405
406         * solib.c (solib_bfd_open): Relax a bit the compatibility check.
407
408 2009-09-22  Daniel Jacobowitz  <dan@codesourcery.com>
409
410         * source.c (forget_cached_source_info): Clear last_source_visited.
411         (init_last_source_visited): Delete.
412         (directory_command): Do not clear last_source_visited.  Call
413         forget_cached_source_info only if required.
414         (unset_substitute_path_command, set_substitute_path_command): Call
415         forget_cached_source_info.
416         * mi/mi-cmd-env.c (mi_cmd_env_dir): Do not call
417         init_last_source_visited.
418         * defs.h (init_last_source_visited): Delete declaration.
419
420 2009-09-22  Tom Tromey  <tromey@redhat.com>
421
422         PR gdb/10583:
423         * python/py-value.c (valpy_int): Use PyLong_FromLongLong.
424         (valpy_long): Likewise.
425
426 2009-09-22  Tom Tromey  <tromey@redhat.com>
427
428         PR python/10680:
429         * eval.c (evaluate_subexp_standard) <do_call_it>: Handle internal
430         functions in EVAL_AVOID_SIDE_EFFECTS case.
431
432 2009-09-22  Jie Zhang  <jie.zhang@analog.com>
433
434         * MAINTAINERS: Add myself under Write After Approval.
435
436 2009-09-22  Pierre Muller  <muller@ics.u-strasbg.fr>
437
438         * windows-nat.c (ctrl_c_handler): Also handle CTRL_BREAK_EVENT.
439
440 2009-09-18  Keith Seitz  <keiths@redhat.com>
441
442         * cp-support.h (cp_validate_operator): Declare new function.
443         * cp-support.c (cp_validate_operator): New function.
444         * linespec.c (decode_compound): For C++ check for a valid operator.
445
446 2009-09-21  Keith Seitz  <keiths@redhat.com>
447
448         * c-exp.y (qualified_name): Call CHECK_TYPEDEF before deciding
449         that a type is not an aggregate type.
450
451 2009-09-21  Jason Orendorff  <jason.orendorff@gmail.com>
452
453         PR python/10666:
454         * python/py-function.c (fnpy_init): Use xstrdup.
455
456 2009-09-21  Jie Zhang  <jie.zhang@analog.com>
457
458         * doc/gdb.texinfo: Escape "{" and "}".
459
460 2009-09-21  Phil Muldoon <pmuldoon@redhat.com>
461
462         PR python/10633
463
464         * c-lang.c (c_printstr): Do not loop past  options->print_max when
465         iterating with wchar_iterate.
466
467 2009-09-21  Phil Muldoon <pmuldoon@redhat.com>
468
469         * python/py-value.c (valpy_getitem): Test value before allowing
470         subscript operation.
471
472 2009-09-21  Hui Zhu  <teawater@gmail.com>
473             Michael Snyder  <msnyder@vmware.com>
474
475         * amd64-linux-tdep.c (amd64_all_but_ip_registers_record): New
476         function.
477         (amd64_linux_syscall_record): Call
478         amd64_all_but_ip_registers_record if syscall is
479         sys_rt_sigreturn.
480         (AMD64_LINUX_redzone, AMD64_LINUX_xstate,
481         AMD64_LINUX_frame_size): New macros.
482         (amd64_linux_record_signal): New function.
483         (amd64_linux_init_abi): Call set_gdbarch_process_record_signal.
484
485 2009-09-21  Hui Zhu  <teawater@gmail.com>
486             Michael Snyder  <msnyder@vmware.com>
487
488         * i386-linux-tdep.c (i386_all_but_ip_registers_record): New
489         function.
490         (i386_linux_intx80_sysenter_record): Call
491         i386_all_but_ip_registers_record if syscall is sys_sigreturn
492         or sys_rt_sigreturn.
493         (I386_LINUX_xstate, I386_LINUX_frame_size): New macros.
494         (i386_linux_record_signal): New function.
495         (i386_linux_init_abi): Call set_gdbarch_process_record_signal.
496
497 2009-09-21  Hui Zhu  <teawater@gmail.com>
498             Michael Snyder  <msnyder@vmware.com>
499
500         * record.c (record_end_entry): New struct.
501         (record_type): Add end.
502         (record_arch_list_add_end): Set rec->u.end.sigval to
503         TARGET_SIGNAL_0.
504         (record_message_args): New struct.
505         (record_message): Call gdbarch_process_record_signal.
506         (do_record_message): Add argument "signal".
507         (record_resume): Ditto.
508         (record_wait): Ditto.  Check record_list->u.end.sigval
509         in replay mode.
510
511 2009-09-21  Hui Zhu  <teawater@gmail.com>
512             Michael Snyder  <msnyder@vmware.com>
513
514         * gdbarch.sh (process_record_signal): New interface.
515
516 2009-09-19  Matt Rice <ratmice@gmail.com>  (tiny change)
517
518         Checked in by Joel Brobecker  <brobecker@gnat.com>
519         * varobj.c (varobj_update): Initialize children_changed.
520
521 2009-09-19  Vladimir Prus  <vladimir@codesourcery.com>
522
523         * mi/mi-cmd-stack.c (list_args_or_locals): Workaround
524         gcc warning.
525
526 2009-09-19  Vladimir Prus  <vladimir@codesourcery.com>
527
528         * mi/mi-cmds.h (mi_cmd_stack_list_variables): Declare.
529         * mi/mi-cmds.c (mi_cmds): Register -stack-list-variables.
530         * mi/mi-cmd-stack.c (enum what_to_list): New.
531         (list_args_or_locals): Accept what_to_list parameter.
532         Use 'variables' as output name of all are requested.
533         (mi_cmd_stack_list_variables): New.
534         (mi_cmd_stack_list_locals, mi_cmd_stack_list_args): Adjust.
535
536 2009-09-19  Eli Zaretskii  <eliz@gnu.org>
537
538         * config/djgpp/fnchange.lst: Add missing edits.
539
540 2009-09-18  Maxim Grigoriev  <maxim2405@gmail.com>
541
542         * xtensa-tdep.c (call0_analyze_prologue): Replace INT_MAX by UNIT_MAX.
543
544 2009-09-18  Jan Kratochvil  <jan.kratochvil@redhat.com>
545
546         * objfiles.c (free_objfile): Clear SYMFILE_OBJFILE if it is OBJFILE.
547         * rs6000-nat.c (vmap_ldinfo): Only assertion check SYMFILE_OBJFILE now.
548         * symfile.c (syms_from_objfile, symbol_file_clear): Likewise.
549
550 2009-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
551
552         * rs6000-tdep.c (rs6000_builtin_type_vec128): Add v2_double
553         union member.
554
555 2009-09-17  Joel Brobecker  <brobecker@adacore.com>
556
557         Fix a build failure on pa-hpux:
558         * gdb_ptrace.h (PT_SYSCALL): Define here if not already defined.
559         * inf-ttrace.c (inf_ttrace_wait): Fix compilation failure
560         introduced after field syscall_id inside struct target_waitstatus
561         has been renamed into syscall_number.
562
563 2009-09-16  H.J. Lu  <hongjiu.lu@intel.com>
564
565         PR gdb/10649
566         * Makefile.in (GDB_DATADIR_PATH): Renamed to ...
567         (GDB_DATADIR): This.
568         (xml-syscall-install): Updated.
569
570 2009-09-16  Joel Brobecker  <brobecker@adacore.com>
571
572         GDB 7.0 branch created (branch timestamp: 2009-09-16 19:00 UTC)
573         * version.in: Bump version to 7.0.50.20090916-cvs.
574
575 2009-09-15  Tom Tromey  <tromey@redhat.com>
576
577         * varobj.h (varobj_update_result_t) <new>: New field.
578         (varobj_get_child_range, varobj_set_child_range): Declare.
579         (varobj_list_children): Update.
580         (varobj_enable_pretty_printing, varobj_has_more)
581         (varobj_pretty_printed_p): Declare.
582         * varobj.c (pretty_printing): New global.
583         (varobj_enable_pretty_printing): New function.
584         (struct varobj_root) <from, to, constructor, child_iter,
585         saved_item>: New fields.
586         (varobj_create): Don't call install_default_visualizer.
587         (instantiate_pretty_printer): Don't use value_copy.
588         (varobj_has_more): New function.
589         (restrict_range): New function.
590         (install_dynamic_child): Likewise.
591         (dynamic_varobj_has_child_method): Likewise.
592         (update_dynamic_varobj_children): Remove 'new_and_unchanged'
593         argument; add 'new', 'unchanged', 'from', and 'to' arguments.
594         Rewrite.
595         (varobj_get_num_children): Call update_dynamic_varobj_children.
596         (varobj_list_children): Add 'from' and 'to' arguments.  Ignore
597         result of update_dynamic_varobj_children.  Don't call
598         install_default_visualizer.  Restrict result range.
599         (varobj_add_child): Don't call install_default_visualizer.
600         (varobj_pretty_printed_p): New function.
601         (install_visualizer): Rewrite.  Move earlier in file.
602         (install_default_visualizer): Likewise.
603         (construct_visualizer): New function.
604         (install_new_value_visualizer): Likewise.
605         (install_new_value): Don't call release_value.  Special case
606         pretty-printed objects.  Use value_incref.  Rearrange "changed"
607         logic.
608         (varobj_get_child_range): New function.
609         (varobj_set_child_range): Likewise.
610         (varobj_set_visualizer): Rewrite.
611         (varobj_update): Rewrite pretty-printing logic.
612         (new_variable): Initialize new fields.
613         (free_variable): Destroy new fields.
614         (value_of_root): Copy 'from' and 'to'.
615         (my_value_of_variable): Handle pretty-printers.
616         (value_get_print_value): Rework pretty-printing logic.
617         (cplus_describe_child): Don't use release_value.
618         * mi/mi-cmds.h (mi_cmd_enable_pretty_printing)
619         (mi_cmd_var_set_update_range): Declare.
620         * mi/mi-cmds.c (mi_cmds): Add enable-pretty-printing and
621         var-set-update-range.
622         * mi/mi-cmd-var.c (print_varobj): Update.  Emit "dynamic"
623         attribute.
624         (mi_cmd_var_create): Emit "has_more" attribute.
625         (mi_cmd_var_set_format): Plug memory leak.
626         (mi_print_value_p): Replace 'type' argument with 'var'.  Handle
627         pretty-printed varobjs.
628         (mi_cmd_var_list_children): Accept 'from' and 'to' arguments.
629         Emit "has_more" attribute.
630         (mi_cmd_var_evaluate_expression): Plug memory leak.
631         (mi_cmd_var_assign): Likewise.
632         (varobj_update_one): Likewise.  Emit "dynamic", "has_more", and
633         "new_children" attributes.
634         (mi_cmd_enable_pretty_printing): New function.
635         (mi_cmd_var_set_update_range): Likewise.
636
637 2009-09-15  Doug Evans  <dje@google.com>
638
639         * dwarf2expr.h (dwarf_value_location): Add more comments describing
640         enum values.
641         (struct dwarf_stack_value): New struct.
642         (struct dwarf_expr_context): Change type of `stack' from CORE_ADDR*
643         to struct dwarf_stack_value*.
644         (struct dwarf_expr_piece): Move `v.value' into its own struct, v.expr,
645         all uses updated.  Add v.expr.in_stack_memory.
646         (dwarf_expr_push): Update declaration.
647         (dwarf_expr_fetch_in_stack_memory): Declare.
648         * dwarf2expr.c (dwarf_expr_grow_stack): Update calculation of
649         size of stack value.
650         (dwarf_expr_push): New arg in_stack_memory, all callers updated.
651         (dwarf_expr_fetch_in_stack_memory): New function.
652         (add_piece): Set in_stack_memory for non-literal values.
653         (execute_stack_op): Allow ops to specify whether the value is on the
654         program's stack.
655         (execute_stack_op, case DW_OP_fbreg): Mark value as in stack memory.
656         (execute_stack_op, case DW_OP_call_frame_cfa): Ditto.
657         (execute_stack_op, case DW_OP_dup): Copy in_stack_memory flag.
658         (execute_stack_op, cases DW_OP_pick, DW_OP_over): Ditto.
659         (execute_stack_op, cases DW_OP_swap, DW_OP_rot): Update type of
660         dwarf stack value.
661         * dwarf2loc.c (read_pieced_value): Call read_stack for values known
662         to be on the program's stack.
663         (dwarf2_evaluate_loc_desc, case DWARF_VALUE_MEMORY): Call
664         set_value_stack only for objects known to be in stack memory.
665         * dwarf2-frame.c (execute_stack_op): New arg initial_in_stack_memory,
666         all callers updated.
667
668         * target.c (memory_xfer_partial): Pass correct length to dcache_update.
669
670 2009-09-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
671
672         Fix gcc-4.5 HEAD warnings for enum ada_operator.
673         * Makefile.in (HFILES_NO_SRCDIR): Add ada-operator.inc.
674         * ada-lang.h (enum ada_operator): Move it to ...
675         * ada-operator.inc: ... a new file.
676         * expression.h (enum exp_opcode): Include ada-operator.inc.
677         New element OP_UNUSED_LAST.  Update comment for OP_EXTENDED0.
678
679         Fix gcc-4.5 HEAD warnings for GDB_FORM_cached_string.
680         * dwarf2read.c (GDB_FORM_cached_string)
681         (dwarf_form_name <GDB_FORM_cached_string>): Remove.
682         (struct attribute <dwarf_form>): Reduce the bit width.
683         (struct attribute <string_is_canonical>, DW_STRING_IS_CANONICAL): New.
684         (read_attribute_value <DW_FORM_string>)
685         (read_attribute_value <DW_FORM_strp>): Initialize
686         DW_STRING_IS_CANONICAL.
687         (dwarf2_name, dump_die_shallow <DW_FORM_string>)
688         (dump_die_shallow <DW_FORM_strp>): Update the code using former
689         GDB_FORM_cached_string.
690
691 2009-09-14  Sergio Durigan Junior <sergiodj@linux.vnet.ibm.com>
692
693         * amd64-linux-tdep.c: Include xml-syscall.h header, define the XML
694         syscall name for the architecture.
695         (amd64_linux_get_syscall_number): New function.
696         (amd64_linux_init_abi): Register the correct functions for syscall
697         catchpoint; set the correct syscall file name.
698         * breakpoint.c: New include: xml-syscall.h.
699         (set_raw_breakpoint_without_location): Setting the parameters
700         for the catch syscall feature.
701         (insert_catch_syscall): New.
702         (remove_catch_syscall): New.
703         (breakpoint_hit_catch_syscall): New.
704         (print_it_catch_syscall): New.
705         (print_one_catch_syscall): New.
706         (print_mention_catch_syscall): New.
707         (catch_syscall_breakpoint_ops): New.
708         (syscall_catchpoint_p): New.
709         (create_catchpoint_without_mention): New.
710         (create_catchpoint): Modified in order to use
711         create_catchpoint_without_mention.
712         (create_syscall_event_catchpoint): New.
713         (clean_up_filters): New.
714         (catch_syscall_split_args): New.
715         (catch_syscall_command_1): New.
716         (delete_breakpoint): Add cleanup for catch syscall.
717         (is_syscall_catchpoint_enabled): New.
718         (catch_syscall_enabled): New.
719         (catching_syscall_number): New.
720         (catch_syscall_completer): New completer function.
721         (add_catch_command): Add the completer function for catchpoints.
722         * breakpoint.h (syscalls_to_be_caught): New vector.
723         (catch_syscall_enabled): New.
724         (catching_syscall_number): New.
725         * gdbarch.c: Regenerated.
726         * gdbarch.h: Regenerated.
727         * gdbarch.sh: Add syscall catchpoint functions and structures.
728         (get_syscall_number): New.
729         (UNKNOWN_SYSCALL): New definition.
730         * i386-linux-nat.c (i386_linux_resume): Select the proper request
731         to be made for ptrace() considering if we are catching syscalls
732         or not.
733         * i386-linux-tdep.c: Include xml-syscall.h header, define the XML
734         syscall name for the architecture.
735         (i386_linux_get_syscall_number): New.
736         (i386_linux_init_abi): Register the correct functions for syscall
737         catchpoint; set the correct syscall file name.
738         * inf-child.c (inf_child_set_syscall_catchpoint): New.
739         (inf_child_target): Assign default values to target_ops.
740         * inf-ptrace.c (inf_ptrace_resume): Select the proper request
741         to be made for ptrace() considering if we are catching syscalls
742         or not.
743         * inferior.h (struct inferior): Included new variables
744         any_syscall_count, syscalls_counts and total_syscalls_count,
745         used to keep track of requested syscall catchpoints.
746         * infrun.c (resume): Add syscall catchpoint.
747         (deal_with_syscall_event): New.
748         (handle_inferior_event): Add syscall entry/return events.
749         (inferior_has_called_syscall): New.
750         * linux-nat.c: Define some helpful variables to track wether we have
751         support for the needed ptrace option.
752         (linux_test_for_tracesysgood): New.
753         (linux_supports_tracesysgood): New.
754         (linux_enable_tracesysgood): New.
755         (linux_enable_event_reporting): Save the current used ptrace
756         options.
757         (linux_child_post_attach): Calling linux_enable_tracesysgood.
758         (linux_child_post_startup_inferior): Likewise.
759         (linux_child_set_syscall_catchpoint): New function.
760         (linux_handle_extended_wait): Handle the case which the inferior stops
761         because it has called or returned from a syscall.
762         (linux_target_install_ops): Install the necessary functions to handle
763         syscall catchpoints.
764         * linux-nat.h (struct lwp_info): Include syscall_state into the
765         structure, which indicates if we are in a syscall entry or return.
766         * ppc-linux-tdep.c: Include xml-syscall.h header, define the XML
767         syscall filename for the arch.
768         (ppc_linux_get_syscall_number): New.
769         (ppc_linux_init_abi): Register the correct functions for syscall
770         catchpoint; setting the correct name for the XML syscall file.
771         * target.c (update_current_target): Update/copy functions related to
772         syscall catchpoint.
773         (target_waitstatus_to_string): Add syscall catchpoint entry/return
774         events.
775         * target.h (struct target_waitstatus): Add syscall number.
776         (struct syscall): New struct to hold information about syscalls
777         in the system.
778         (struct target_ops): Add ops for syscall catchpoint.
779         (inferior_has_called_syscall): New.
780         (target_set_syscall_catchpoint): New.
781         * xml-support.c (xml_fetch_content_from_file): New function,
782         transferred from xml-tdesc.c.
783         * xml-support.h (xml_fetch_content_from_file): New.
784         * xml-tdesc.c (fetch_xml_from_file): Function removed;
785         transferred to xml-support.c.
786         (file_read_description_xml): Updated to use the new
787         xml_fetch_content_from_file function.
788         * syscalls/gdb-syscalls.dtd: New definition file for syscall's XML
789         support.
790         * syscalls/amd64-linux.xml: New file containing information about
791         syscalls for GNU/Linux systems that use amd64 architecture.
792         * syscalls/i386-linux.xml: New file containing information about
793         syscalls for GNU/Linux systems that use i386 architecture.
794         * syscalls/ppc-linux.xml: New file containing information about
795         syscalls for GNU/Linux systems that use PPC architecture.
796         * syscalls/ppc64-linux.xml: New file containing information about
797         syscalls for GNU/Linux systems that use PPC64 architecture.
798         * xml-syscall.c: New file containing functions for manipulating
799         syscall's XML files.
800         * xml-syscall.h: New file, exporting the functions above mentioned.
801         * Makefile.in: Support for relocatable GDB datadir and XML
802         syscall.
803         * NEWS: Added information about the catch syscall feature.
804
805 2009-09-14  Doug Evans  <dje@google.com>
806
807         * target.c (memory_xfer_partial): Only update dcache after we know
808         the write succeeded.
809
810 2009-09-14  Paul Pluzhnikov  <ppluzhnikov@google.com>
811
812         *minsyms.c (lookup_minimal_symbol_by_pc_section_1): Assert non-NULL
813         section.
814         (lookup_minimal_symbol_by_pc_section): Check for NULL section.
815         (lookup_minimal_symbol_by_pc): Adjust.
816
817 2009-09-14  Paul Pluzhnikov  <ppluzhnikov@google.com>
818
819         * objfiles.c (qsort_cmp): Remove asserts.
820         (insert_section_p, filter_debuginfo_sections): New function.
821         (filter_overlapping_sections): Likewise.
822         (update_section_map): Adjust.   
823
824 2009-09-13  Daniel Jacobowitz  <dan@codesourcery.com>
825
826         * frame.c (get_frame_id): Default to outer_frame_id if the this_id
827         method does not supply an ID.  Assert that the result is not
828         null_frame_id.
829         (outer_frame_id): New.
830         (frame_id_p): Accept outer_frame_id.
831         (frame_id_eq): Allow outer_frame_id to be equal to itself.
832         (frame_find_by_id): Revert previous local workarounds.
833         (get_prev_frame_1): Adjust end-of-stack check to test outer_frame_id.
834         * frame.h (null_frame_id, frame_id_p): Update comments.
835         (outer_frame_id): Declare.
836         * infrun.c (handle_inferior_event): Do not treat all steps from the
837         outermost frame as subroutine calls.
838
839         * libunwind-frame.c (libunwind_frame_this_id): Do not clear THIS_ID.
840         * hppa-tdep.c (hppa_stub_frame_this_id): Likewise.
841         * ia64-tdep.c (ia64_frame_this_id): Likewise.
842         (ia64_libunwind_frame_this_id, ia64_libunwind_sigtramp_frame_this_id):
843         Use outer_frame_id instead of null_frame_id.
844         * amd64obsd-tdep.c (amd64obsd_trapframe_cache): Use outer_frame_id.
845         * i386obsd-tdep.c (i386obsd_trapframe_cache): Likewise.
846         * inline-frame.c (inline_frame_this_id): Refuse outer_frame_id.
847         * thread.c (restore_selected_frame): Update comment and remove
848         frame_id_p check.
849
850 2009-09-11  Doug Evans  <dje@google.com>
851
852         * dwarf2expr.c (execute_stack_op, case DW_OP_piece): Delete unused
853         local addr_or_regnum.
854
855         * objfiles.c (struct objfile_data): Delete member cleanup and replace
856         with save, free.
857         (register_objfile_data_with_cleanup): Delete arg cleanup and replace
858         with save, free.  All callers updated.
859         (clear_objfile_data): Replace cleanup loop with separate save and
860         free loops.
861         * objfiles.h (register_objfile_data_with_cleanup): Update.
862         * arm-tdep.c (arm_objfile_data_free): Renamed from
863         arm_objfile_data_cleanup, all callers updated.
864         * dwarf2read.c (dwarf2_per_objfile_free): Renamed from
865         dwarf2_per_objfile_cleanup, all callers updated.
866         * python/py-objfile.c (py_free_objfile): Renamed from clean_up_objfile,
867         all callers updated.
868         * python/py-type.c (save_objfile_types): Renamed from
869         clean_up_objfile_types, all callers updated.
870
871 2009-09-11  Tom Tromey  <tromey@redhat.com>
872
873         * dwarf2loc.c (struct piece_closure) <arch>: New field.
874         (dwarf2_evaluate_loc_desc): Update.
875         (dwarf2_loc_desc_needs_frame): Likewise.
876         (allocate_piece_closure): Initialize new field.
877         (read_pieced_value): Update.
878         (write_pieced_value): Update.
879         (copy_pieced_value_closure): Update.
880         * dwarf2expr.h (enum dwarf_value_location): New.
881         (struct dwarf_expr_context) <in_reg>: Remove.
882         <location, len, data>: New fields.
883         (struct dwarf_expr_piece) <in_reg, value>: Remove.
884         <location, v>: New fields.
885         * dwarf2expr.c (add_piece): Remove in_reg, value arguments.
886         Update.
887         (require_composition): New function.
888         (execute_stack_op): Update.
889         <DW_OP_implicit_value, DW_OP_stack_value>: New cases.
890         <DW_OP_reg0>: Set location, not in_reg.
891         <DW_OP_regx>: Likewise.  Use require_composition.
892         <DW_OP_fbreg>: Update.
893         <DW_OP_piece>: Likewise.
894         * dwarf2-frame.c (execute_stack_op): Update.
895
896 2009-09-10  Anthony Green  <green@moxielogic.com>
897
898         * moxie-tdep.c (moxie_analyze_prologue): Recognize new prologue
899         sequences.
900
901 2009-09-10  Michael Snyder  <msnyder@vmware.com>
902
903         * remote.c (PACKET_bc, PACKET_bs): New enums.
904         (remote_protocol_features): Add ReverseStep, ReverseContinue.
905         (remote_resume): Check for reverse capability.
906         (_initialize_remote): Add packet config for "bs" and "bc" packets.
907         * NEWS (new options): Mention set/show for "bs" and "bc" packets.
908
909 2009-09-10  Joel Brobecker  <brobecker@adacore.com>
910
911         * top.c (interactive_mode): New static variable.
912         (show_interactive_mode): New function.
913         (input_from_terminal_p): If interactive_mode is not auto, then
914         use that rather than checking the stdin settings.
915         (init_main): Add "set/show interactive-mode" command.
916         * NEWS: Add entry for new "set/show interactive-mode" command.
917
918 2009-09-10  Joel Brobecker  <brobecker@adacore.com>
919
920         * configure.ac: Fix the names of the python source and object files
921         following the renaming done in an earlier change.
922         * configure: Regenerate.
923
924 2009-09-08  Joel Brobecker  <brobecker@adacore.com>
925
926         Fix a build failure on AIX.
927         * rs6000-nat.c (vmap_exec): Rewrite using target_get_section_table
928         instead of relying on the to_sections/to_section_end target_ops
929         field, since the latter have been removed in a previous patch.
930
931 2009-09-08  Thiago Jung Bauermann  <thiago.bauermann@gmail.com>
932
933         * Makefile.in (py-cmd.o): Renamed from python-cmd.o.  Updated
934         references.
935         (py-frame.o): Renamed from python-frame.o.  Updated references.
936         (py-function.o): Renamed from python-function.o.  Updated references.
937         (py-objfile.o): Renamed from python-objfile.o.  Updated references.
938         (py-prettyprint.o): Renamed from python-prettyprint.o.  Updated
939         references.
940         (py-type.o): Renamed from python-type.o.  Updated references.
941         (py-utils.o): Renamed from python-utils.o.  Updated references.
942         (py-value.o): Renamed from python-value.o.  Updated references.
943         * py-cmd.c: Renamed from python-cmd.c.
944         * py-frame.c: Renamed from python-frame.c.
945         * py-function.c: Renamed from python-function.c.
946         * py-objfile.c: Renamed from python-objfile.c.
947         * py-prettyprint.c: Renamed from python-prettyprint.c.
948         * py-type.c: Renamed from python-type.c.
949         * py-utils.c: Renamed from python-utils.c.
950         * py-value.c: Renamed from python-value.c.
951
952 2009-09-08  Joel Brobecker  <brobecker@adacore.com>
953
954         Avoid quadratic behavior when computing the value of a register.
955         * frame.c (frame_stash): New static constant.
956         (frame_stash_add, frame_stash_find, frame_stash_invalidate):
957         New functions.
958         (get_frame_id): Minor reformatting. Add the frame to the frame stash.
959         (frame_find_by_id): Search the frame stash first before walking all
960         frames starting from te current_frame.
961         (reinit_frame_stash): Add call to frame_stash_invalidate ();
962
963 2009-09-08  Joel Brobecker  <brobecker@adacore.com>
964
965         * block.c (contained_in): Return zero for nested functions.
966         * blockframe.c (block_innermost_frame): Delete unreferenced local
967         variable.
968
969 2009-09-08  Doug Evans  <dje@google.com>
970
971         * target.c (initialize_targets): Fix thinko in stack_cache_enabled_p.
972
973 2009-09-08  Michael Snyder  <msnyder@vmware.com>
974
975         * amd64-linux-tdep.h (enum amd64_syscall): New enum consts, 
976         to replace literal consts used in amd64-linux-tdep.c
977         * linux-record.h (enum gdb_syscall): New enum consts, to replace
978         literal consts used in amd64-linux-tdep.c and linux-record.c.
979         * amd64-linux-tdep.c (amd64_canonicalize_syscall): New function,
980         translate from native amd64 Linux syscall id to internal gdb id.
981         (amd64_linux_syscall_record): Switch statement abstracted out 
982         and replaced with a call to amd64_canonicalize_syscall.
983         * linux-record.c (record_linux_system_call): Replace literal
984         consts with enum consts.
985         * i386-linux-tdep.c (i386_canonicalize_syscall): New function,
986         trivially translate from native i386 Linux syscalls to gdb syscalls.
987         (i386_linux_intx80_sysenter_record): 
988
989 2009-09-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
990
991         * gdb/Makefile.in (check//%): Parse 'config.status --version'
992         output to recreate the configuration from the testsuite directory,
993         rather than running 'config.status --recheck' from a different
994         build directory.  Let configure do the recursion rather than
995         doing it manually.
996
997 2009-09-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
998
999         * ia64-tdep.c (ia64_memory_remove_breakpoint): Call do_cleanups
1000         before a return.
1001
1002 2009-09-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
1003
1004         * ia64-tdep.c (ia64_memory_insert_breakpoint)
1005         (ia64_memory_remove_breakpoint): Return immediately if any of memory
1006         reads fail.  Do not combine the VAL values.
1007
1008 2009-09-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
1009
1010         Fix ia64 shadowing of breakpoints in multiple slots of a single bundle.
1011         * ia64-tdep.c (ia64_memory_insert_breakpoint): New call
1012         of make_show_memory_breakpoints_cleanup with parameter 0.  Move the
1013         reading of SHADOW_CONTENTS to this memory state point of code.  Update
1014         comment for the memory re-read.
1015
1016 2009-09-07  Michael Snyder  <msnyder@vmware.com>
1017
1018         * record.c: Minor comment and white space fix-ups.
1019
1020 2009-09-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
1021
1022         * m68k-tdep.c (m68k_gdbarch_init): Allocate TDEP as cleared.
1023         * sparc-tdep.c (sparc32_gdbarch_init): Allocate TDEP as cleared.
1024         Remove explicit clearing of TDEP fields.
1025
1026 2009-09-06  Hui Zhu  <teawater@gmail.com>
1027
1028         * i386-tdep.c (i386_record_check_override): Deleted.
1029         (i386_record_lea_modrm): Ditto.
1030         (i386_process_record): Ditto.
1031
1032 2009-09-05  Eli Zaretskii  <eliz@gnu.org>
1033
1034         * config/djgpp/djconfig.sh: Fix for Autoconf 2.64.
1035         * config/djgpp/config.sed: Fix for Autoconf 2.64.
1036
1037 2009-09-05  Hui Zhu  <teawater@gmail.com>
1038
1039         * i386-tdep.c (i386_record_s): Add orig_addr.
1040         (i386_record_check_override): New function.
1041         (i386_record_lea_modrm): Call i386_record_check_override.
1042         (i386_process_record): Ditto.
1043
1044 2009-09-03  Nathan Froyd  <froydnj@codesourcery.com>
1045
1046         * dwarf2loc.c (struct piece_closure): New.
1047         (allocate_piece_closure): New function.
1048         (read_pieced_value): New function.
1049         (write_pieced_value): New function.
1050         (copy_pieced_value_closure): New function.
1051         (free_pieced_value_closure): New function.
1052         (pieced_value_funcs): Define.
1053         (dwarf2_evaluate_loc_desc): Return a computed value for a variable
1054         described with pieces.
1055
1056 2009-09-03  Pierre Muller <muller@ics.u-strasbg.fr>
1057             Richard Earnshaw <rearnsha@arm.com>
1058
1059         * arm-tdep.c (displaced_write_reg): Replace call to abort by call
1060         to internal_error.
1061
1062 2009-09-02  Tom Tromey  <tromey@redhat.com>
1063
1064         * frame.h (frame_unwinder_is): Declare.
1065         * frame.c (frame_unwinder_is): New function.
1066         * dwarf2loc.c: Include dwarf2-frame.h.
1067         (dwarf_expr_frame_cfa): New function.
1068         (dwarf2_evaluate_loc_desc): Use it.
1069         (needs_frame_frame_cfa): New function.
1070         (dwarf2_loc_desc_needs_frame): Use it.
1071         * dwarf2expr.h (struct dwarf_expr_context) <get_frame_cfa>: New
1072         field.
1073         * dwarf2expr.c (execute_stack_op) <DW_OP_call_frame_cfa>: New
1074         case.
1075         * dwarf2-frame.h (dwarf2_frame_cfa): Declare.
1076         * dwarf2-frame.c (no_get_frame_cfa): New function.
1077         (execute_stack_op): Use it.
1078         (dwarf2_frame_cfa): New function.
1079
1080 2009-09-02  Hui Zhu  <teawater@gmail.com>
1081
1082         * record.c (record_resume): Change "signal" to "siggnal".
1083
1084 2009-09-01  Hui Zhu  <teawater@gmail.com>
1085
1086         * record.c (record_resume): Change "siggnal" to "signal".
1087
1088 2009-09-01  Hui Zhu  <teawater@gmail.com>
1089
1090         * record.c (record_resume_siggnal): Deleted.
1091         (record_resume): Ditto.
1092         (record_wait): Change record_resume_siggnal to
1093         TARGET_SIGNAL_0.
1094
1095 2009-08-31  Jacob Potter  <jdpotter@google.com>
1096             Doug Evans  <dje@google.com>
1097
1098         Implement TARGET_OBJECT_STACK_MEMORY.
1099         * NEWS: Add note on new "set stack-cache" option.
1100         * corefile.c (read_stack): New function.
1101         * dcache.c (dcache_struct): New member ptid.
1102         (dcache_enable_p): Mark as obsolete.
1103         (show_dcache_enabled_p): Flag option as deprecated.
1104         (dcache_invalidate): Update ptid.
1105         (dcache_invalidate_line): New function.
1106         (dcache_read_line): No longer check cacheable attribute, stack
1107         accesses get cached despite attribute.
1108         (dcache_init): Set ptid.
1109         (dcache_xfer_memory): Flush cache if from different ptid than before.
1110         Update cache after write.
1111         (dcache_update): New function.
1112         (dcache_info): Report ptid.
1113         (_initialize_dcache): Update text for `remotecache' to indicate it
1114         is obsolete.
1115         * dcache.h (dcache_update): Declare.
1116         * dwarf2loc.c (dwarf2_evaluate_loc_desc): Mark values on stack with
1117         set_value_stack.
1118         * frame-unwind.c (frame_unwind_got_memory): Ditto.
1119         * gdbcore.h (read_stack): Declare.
1120         * memattr.c (mem_enable_command): Call target_dcache_invalidate
1121         instead of dcache_invalidate.
1122         (mem_disable_command, mem_delete_command): Ditto.
1123         * target.c (stack_cache_enabled_p_1): New static global.
1124         (stack_cache_enabled_p): New static global.
1125         (set_stack_cache_enabled_p): New function.
1126         (show_stack_cache_enabled_p): New function.
1127         (target_dcache): Make static.
1128         (target_dcache_invalidate): New function.
1129         (target_load, target_resume): Call target_dcache_invalidate
1130         instead of dcache_invalidate.
1131         (memory_xfer_partial): New arg object, all callers updated.
1132         Check for existing inferior before calling dcache routines.
1133         When writing non-TARGET_OBJECT_STACK_MEMORY, notify dcache.
1134         (target_xfer_partial): Call memory_xfer_partial for
1135         TARGET_OBJECT_STACK_MEMORY.
1136         (target_read_stack): New function.
1137         (initialize_targets): Install new option `stack-cache'.
1138         * target.h: Remove #include of dcache.h.
1139         (enum target_object): New value TARGET_OBJECT_STACK_MEMORY.
1140         (target_dcache): Delete.
1141         (target_dcache_invalidate): Declare.
1142         (target_read_stack): Declare.
1143         * top.c (prepare_execute_command): New function.
1144         (execute_command): Call prepare_execute_command
1145         instead of free_all_values.
1146         * top.h (prepare_execute_command): Declare.
1147         * valops.c (get_value_at): New function.
1148         (value_at): Guts moved to get_value_at.
1149         (value_at_lazy): Similarly.
1150         (value_fetch_lazy): Call read_stack for stack values.
1151         * value.c (struct value): New member `stack'.
1152         (value_stack, set_value_stack): New functions.
1153         * value.h (value_stack, set_value_stack): Declare.
1154         * mi/mi-main.c (mi_cmd_execute): Call prepare_execute_command
1155         instead of free_all_values.
1156
1157 2009-08-29  Hui Zhu  <teawater@gmail.com>
1158
1159         * i386-tdep.c (i386_process_record): Fix the error of string
1160         ops instructions's handler.
1161
1162 2009-08-28  Doug Evans  <dje@google.com>
1163
1164         * top.c (execute_command): Remove redundant comment.
1165
1166 2009-08-28  Daniel Jacobowitz  <dan@codesourcery.com>
1167
1168         PR gdb/10565
1169
1170         * value.c (value_primitive_field): Do not save value_offset for
1171         bitfields.
1172         (unpack_bits_as_long): Do not read an entire ULONGEST.
1173
1174 2009-08-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
1175
1176         Support constant DW_AT_data_member_location by GCC PR debug/40659.
1177         * dwarf2read.c
1178         (dwarf2_add_field <DW_TAG_member> <DW_AT_data_member_location>):
1179         Initialize BYTE_OFFSET to 0 by default.  Explicitly check if
1180         attr_form_is_block.
1181         (dwarf2_add_field <DW_TAG_inheritance> <DW_AT_data_member_location>)
1182         (read_common_block <DW_AT_data_member_location>): New variable
1183         byte_offset.  Fix crash on non-DW_BLOCK ATTR values.
1184
1185 2009-08-28  Hui Zhu  <teawater@gmail.com>
1186
1187         * record.c (record_list_release_next): Change the first
1188         record_reg to record_end.
1189
1190 2009-08-27  Doug Evans  <dje@google.com>
1191
1192         * value.c (free_all_values): Tweak comment.
1193
1194         * NEWS: Add note on "info sharedlibrary".
1195         Remove note on "set print symbol-loading".
1196         * main.c (captured_main): Pass !batch for from_tty when calling
1197         symbol_file_add_main.
1198         * objfiles.h (objfile_has_partial_symbols): Declare.
1199         (objfile_has_full_symbols): Declare.
1200         * objfiles.c (objfile_has_partial_symbols): New function.
1201         (have_partial_symbols): Use it.
1202         (objfile_has_full_symbols): New function.
1203         (have_full_symbols): Use it.
1204         * solib.c: Include interps.h.
1205         (solib_read_symbols): Back out patch of 2008-07-10.
1206         Add test for info_verbose for symbol loading messages for
1207         consistency with symfile.c.
1208         (info_sharedlibrary_command): Handle optional parameter of regex of
1209         libraries to list.  Inform user of libraries without debugging info.
1210         Rewrite to use ui_out routines to format output.
1211         * symfile.c (print_symbol_loading): Delete.
1212         (symbol_file_add_with_addrs_or_offsets): Back out patch of 2008-07-10.
1213         Print "no debugging symbols found" only if from_tty || info_verbose;
1214         and only check file being loaded, not all files.
1215         (reread_symbols): Test file being loaded for whether it has symbols,
1216         not all files.
1217         (__initialize_symfile): Delete `set print symbol-loading'.
1218         * symfile.h (print_symbol_loading): Delete.
1219
1220 2009-08-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
1221
1222         * varobj.c (varobj_create): Error if the specified frame was not found
1223         and it is needed.
1224
1225 2009-08-26  Michael Snyder  <msnyder@vmware.com>
1226
1227         * i386-tdep.c (i386_process_record): Break out of prefix loop
1228         if not amd64.  Otherwise inc/dec instructions are lost.
1229
1230 2009-08-25  Keith Seitz  <keiths@redhat.com>
1231
1232         * c-exp.y (yylex): Add cxx_only check for tokentab2 and tokentab3
1233         searches. 
1234         (tokentab3): Add cxx_only for DOT_STAR.
1235
1236 2009-08-25  Pedro Alves  <pedro@codesourcery.com>
1237
1238         * inferior.c (print_inferior): Align columns left.  Remove header
1239         for the the "current" column.  Rename column "Id" to "Num".
1240         Rename column "PID" to "Description".  Print if there's no selected
1241         inferior.
1242
1243 2009-08-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
1244
1245         Fix ia64 start crash when GDB built with -lmcheck.
1246         * ia64-tdep.c (ia64_gdbarch_init): Allocate TDEP as cleared.  Remove
1247         specific clearing of TDEP SIGCONTEXT_REGISTER_ADDRESS and
1248         PC_IN_SIGTRAMP.
1249
1250 2009-08-24  Keith Seitz  <keiths@redhat.com>
1251
1252         * c-exp.y (tokentab3): Add new token, ARROW_STAR. Changed all users.
1253         (tokentab2): Add new token, DOT_STAR. Changed all users.
1254
1255 2009-08-24  Keith Seitz  <keiths@redhat.com>
1256
1257         * symtab.c (default_make_symbol_completion_list): Keep
1258         ':', too, so that we can limit searches in namespaces
1259         and classes. 
1260
1261 2009-08-24  Tom Tromey  <tromey@redhat.com>
1262
1263         * python/python-value.c (valpy_richcompare): Don't return from
1264         inside a TRY_CATCH.
1265
1266 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1267
1268         * CONTRIBUTE: Bump documented Autoconf version.
1269         * configure.ac: Do not substitute datarootdir, htmldir,
1270         pdfdir, docdir.  Do not process --with-datarootdir,
1271         --with-htmldir, --with-pdfdir, --with-docdir.
1272         * configure: Regenerate.
1273
1274         * aclocal.m4: Regenerate.
1275         * config.in: Likewise.
1276         * configure: Likewise.
1277         * gnulib/Makefile.in: Likewise.
1278
1279         * configure.ac: Use AC_USE_SYSTEM_EXTENSIONS instead of
1280         AC_GNU_SOURCE, AC_AIX, AC_ISC_POSIX.
1281
1282 2009-08-21  Paul Pluzhnikov  <ppluzhnikov@google.com>
1283
1284         * objfiles.h (gdb_bfd_ref): New prototype.
1285         * objfiles.c (gdb_bfd_ref): New function.
1286         (allocate_objfile): Call it.
1287         (gdb_bfd_unref): Adjust assertion.
1288         * solib.c (solib_map_sections): Add reference.
1289         (symbol_add_stub): Don't add reference here.
1290         * symfile.c (reread_symbols): Add reference.
1291
1292 2009-08-21  Ken Werner <ken@linux.vnet.ibm.com>
1293             Doug Evans  <dje@google.com>
1294
1295         * jit.c (jit_event_handler): Use paddress to print target addresses.
1296         Wrap printf string in _().
1297
1298 2009-08-21  Doug Evans  <dje@google.com>
1299
1300         * jit.c (jit_read_descriptor): New arg gdbarch, all callers updated.
1301         (jit_read_code_entry, jit_register_code): Ditto.
1302         (jit_event_handler): Ditto.
1303         (jit_inferior_init): Renamed from previous jit_inferior_created_hook.
1304         (jit_inferior_created_hook, jit_breakpoint_re_set): New functions.
1305         (jit_inferior_created_observer): Renamed from
1306         jit_inferior_created_hook1, all callers updated.
1307         * jit.h (jit_breakpoint_re_set): Declare.
1308         (jit_event_handler): Update prototype.
1309         * breakpoint.c (breakpoint_re_set): Call jit_breakpoint_re_set instead
1310         of jit_inferior_created_hook.
1311
1312 2009-08-21  Hui Zhu  <teawater@gmail.com>
1313
1314         * record.c (record_wait): Change the argument of
1315         record_beneath_to_wait to options.
1316
1317 2009-08-20  Jacob Potter  <jdpotter@google.com>
1318
1319         Replace dcache with splay tree.
1320         Remove partially implemented writeback support.
1321         * dcache.c: Include splay-tree.h.
1322         (LINE_SIZE_POWER): Change from 5 to 6.
1323         (DCACHE_SIZE): Change from 64 to 4096.
1324         (ENTRY_INVALID, ENTRY_VALID, ENTRY_DIRTY): Delete.
1325         (state_chars): Delete.
1326         (struct dcache_block): Clean up; remove state and anydirty fields.
1327         (struct dcache_struct): Redefine as a splay tree and linked list.
1328         (last_cache): Make static.
1329         (dcache_invalidate, dcache_hit): Rewrite for new cache structure.
1330         (dcache_read_line, dcache_alloc): Rewrite for new cache structure.
1331         (dcache_write_line): Delete.
1332         (dcache_writeback): Delete.
1333         (dcache_peek_byte): Clean up; remove "invalid" state check.
1334         (dcache_poke_byte): Rewrite for new cache structure; clarify comment.
1335         (dcache_splay_tree_compare): New function.
1336         (dcache_init, dcache_free): Rewrite for new cache structure.
1337         (dcache_xfer_memory): Rewrite for new write-through cache structure.
1338         (dcache_print_line): New function.
1339         (dcache_info): Rewrite for new cache structure.
1340         (_initialize_dcache): Update "info dcache" help text.
1341         * dcache.h (dcache_xfer_memory): Update declaration.
1342         * target.c (memory_xfer_partial): Update calls to dcache_xfer_memory.
1343
1344 2009-08-19  Reid Kleckner  <reid@kleckner.net>
1345
1346         Add interface for JIT code generation.
1347         * NEWS: Announce JIT interface.
1348         * Makefile.in (SFILES): Add jit.c.
1349         (HFILES_NO_SRCDIR): Add jit.h.
1350         (COMMON_OBS): Add jit.o.
1351         * jit.c: New file.
1352         * jit.h: New file.
1353         * breakpoint.h (enum bptype): Add bp_jit_event to enum.
1354         * breakpoint.c:
1355         (update_breakpoints_after_exec): Delete jit breakpoints after exec.
1356         (bpstat_what): Update event table for bp_jit_event.
1357         (print_it_typical): Added case for bp_jit_event.
1358         (print_one_breakpoint_location): Added case for bp_jit_event.
1359         (allocate_bp_location): Added case for bp_jit_event.
1360         (mention): Added case for bp_jit_event.
1361         (delete_command): Added case for bp_jit_event.
1362         (breakpoint_re_set_one): Added case for bp_jit_event.
1363         (breakpoint_re_set): Added call to jit_inferior_created_hook.
1364         (create_jit_event_breakpoint): New.
1365         * infrun.c (handle_inferior_event): Add handler for jit event.
1366         (follow_exec): Add call to jit_inferior_created_hook.
1367
1368 2009-08-19  Ulrich Weigand  <uweigand@de.ibm.com>
1369
1370         * value.c (enum internalvar_kind): Replace INTERNALVAR_SCALAR by
1371         INTERNALVAR_INTEGER and INTERNALVAR_POINTER.
1372         (union internalvar_data): Replace "scalar" member by "integer"
1373         and "pointer".
1374         (value_of_internalvar): Handle INTERNALVAR_INTEGER and
1375         INTERNALVAR_POINTER instead of INTERNALVAR_SCALAR.
1376         (get_internalvar_integer): Likewise.
1377         (set_internalvar): Likewise.
1378         (set_internalvar_integer): Likewise.
1379         (preserve_one_internalvar): Likewise.
1380         (value_from_pointer): Handle typedef'd pointer types.
1381
1382 2009-08-18  Tom Tromey  <tromey@redhat.com>
1383
1384         * utils.c (add_internal_problem_command): Free set_doc and
1385         show_doc.
1386         * remote.c (add_packet_config_cmd): Free set_doc and show_doc.
1387         * language.c (add_language): Free language_set_doc.
1388
1389 2009-08-18  Tom Tromey  <tromey@redhat.com>
1390
1391         * Makefile.in (ALL_TARGET_OBS): Remove prologue-value.o, solib.o.
1392
1393 2009-08-17  Ulrich Weigand  <uweigand@de.ibm.com>
1394
1395         * symfile.c (reread_symbols): Call objfiles_changed *before*
1396         calling clear_symtab_users.
1397
1398 2009-08-17  Michael Snyder  <msnyder@vmware.com>
1399
1400         * amd64-tdep.c: Add a frame unwinder for function epilogues.
1401         (amd64_in_function_epilogue_p): New function.
1402         (amd64_epilogue_frame_sniffer): New function.
1403         (amd64_epilogue_frame_cache): New function.
1404         (amd64_epilogue_frame_this_id): New function.
1405         (amd64_epilogue_frame_unwind): New struct frame_unwind.
1406         (amd64_init_abi): Hook the new unwinder.
1407
1408         * amd64-linux-tdep.c (amd64_linux_init_abi): Set gdbarch to use
1409         SVR4 method for skip_trampoline_code.
1410
1411 2009-08-17  Pedro Alves  <pedro@codesourcery.com>>
1412
1413         * objfiles.c (objfile_relocate): Relocate the entry point before
1414         relocating the section offsets.  Flush the section map before
1415         resetting breakpoints.
1416
1417 2009-08-14  Doug Evans  <dje@google.com>
1418
1419         * symfile.c (find_separate_debug_file): Remove double free of
1420         canon_name.
1421
1422 2009-08-14  Pedro Alves  <pedro@codesourcery.com>
1423
1424         * top.c (any_thread_of): Delete.
1425         (kill_or_detach): Use any_thread_of_process.
1426         * top.c (print_inferior_quit_action): New.
1427         (quit_confirm): Rewrite to print info about all inferiors.
1428         * target.c (dispose_inferior): New.
1429         (target_preopen): Use it.
1430
1431 2009-08-14  Pedro Alves  <pedro@codesourcery.com>
1432
1433         * ui-file.h (ui_file_xstrdup): Mention that the length argument
1434         may be NULL.
1435         * ui-file.c (ui_file_xstrdup): Don't dereference LENGTH if it is
1436         NULL.
1437         * aix-thread.c (aix_thread_extra_thread_info): Pass NULL as length
1438         parameter to ui_file_xstrdup.
1439         * arm-tdep.c (_initialize_arm_tdep): Ditto.
1440         * infrun.c (print_target_wait_results): Ditto.
1441         * language.c (add_language): Ditto.
1442         * linespec.c (cplusplus_error): Ditto.
1443         * remote.c (escape_buffer): Ditto.
1444         * typeprint.c (type_to_string): Ditto.
1445         * utils.c (error_stream): Ditto.
1446         * varobj.c (value_get_print_value): Ditto.
1447         * xtensa-tdep.c (xtensa_verify_config): Replace `dummy' local with
1448         `length' local.  Pass it to ui_file_xstrdup, and avoid an strlen
1449         call.
1450         * gdbarch.sh (verify_gdbarch): Ditto.
1451         * gdbarch.c: Regenerate.
1452         * cli/cli-setshow.c (do_setshow_command): Pass NULL as length
1453         parameter to ui_file_xstrdup.
1454         * python/python-frame.c (frapy_str): Ditto.
1455         * python/python-type.c (typy_str): Use the length local instead of
1456         calling strlen.
1457         * python/python-value.c (valpy_str): Pass NULL as length parameter
1458         to ui_file_xstrdup.
1459
1460 2009-08-13  Doug Evans  <dje@google.com>
1461
1462         * utils.c (gnu_debuglink_crc32): Store crc32_table as unsigned int
1463         instead of unsigned long.
1464
1465 2009-08-13  Tom Tromey  <tromey@redhat.com>
1466
1467         * varobj.c (update_dynamic_varobj_children): Don't use
1468         value_copy.
1469         * value.h: (preserve_one_value): Declare.
1470         (value_prepend_to_list, value_remove_from_list): Remove.
1471         * value.c (preserve_one_value): No longer static.
1472         (preserve_values): Call preserve_python_values.
1473         (value_prepend_to_list): Remove.
1474         (value_remove_from_list): Remove.
1475         * python/python.h (values_in_python): Don't declare.
1476         (preserve_python_values): Declare.
1477         * python/python-value.c (values_in_python): Change type.  Move
1478         lower.  Now static.
1479         (struct value_object): Add struct tag.
1480         <next, prev>: New fields.
1481         (valpy_dealloc): Update.
1482         (note_value): New function.
1483         (valpy_new): Use value_incref, note_value.
1484         (preserve_python_values): New function.
1485         (valpy_positive): Don't use value_copy.
1486         (value_to_value_object): Use value_incref, note_value.
1487         (convert_value_from_python): Update comment.
1488
1489 2009-08-13  Pedro Alves  <pedro@codesourcery.com>
1490
1491         * remote.c (remote_pid_to_str): If printing a process id and we
1492         don't know what the remote pid could be, output "Remote target";
1493         otherwise, use normal_pid_to_str.
1494
1495 2009-08-13  Tom Tromey  <tromey@redhat.com>
1496
1497         * language.h (longest_raw_hex_string): Remove unused declaration.
1498
1499 2009-08-13  Pedro Alves  <pedro@codesourcery.com>
1500
1501         PR gdb/8869:
1502
1503         * language.c (language, type, range, case_sensitive): Make const.
1504         (show_language_command): Don't call deprecated_show_value_hack.
1505         Special case "auto".
1506         (set_language_command): An unrecognized language is now an
1507         internal error instead of a user error.  Don't call set_lang_str.
1508         (show_type_command): Don't call deprecated_show_value_hack.
1509         Special case "auto".  Use warning.
1510         (set_type_command): An unrecognized type is now an internal error
1511         instead of a user error.  Output type check mismatch with language
1512         here.  Don't call set_type_str.
1513         (show_range_command): Don't call deprecated_show_value_hack.
1514         Special case "auto".  Use warning.
1515         (set_range_command): An unrecognized range check is now an
1516         internal error instead of a warning.  Output range check mismatch
1517         with language here.  Don't call set_range_str.
1518         (show_case_command): Don't call deprecated_show_value_hack.
1519         Special case "auto".  Use warning.
1520         (set_case_command): Don't call set_case_str.  An unrecognized case
1521         check is now an internal error instead of a warning.  Output range
1522         check mismatch with language here.  Don't call set_case_str.
1523         (set_type_range_case): Don't call set_type_str, set_range_str or
1524         set_case_str here.
1525         (set_lang_str, set_type_str, set_range_str, set_case_str): Delete.
1526         (add_language): Install or reinstall the "set language" command
1527         here, and make it an enum command.  Build the enumeration and the
1528         help string from the current list of known languages.
1529         (_initialize_language): Don't install "set language" here.  Make
1530         "set check type", "set check range" and "set case-sensitive" enum
1531         commands.  Register the "auto" "local" and "unknown" languages in
1532         that order.
1533
1534 2009-08-13  Pedro Alves  <pedro@codesourcery.com>
1535
1536         Revert 2009-08-07 changes for PR gdb/8869:
1537
1538         * language.c (set_language_command): Strip whitespace.
1539         (set_type_command): Likewise.
1540         (set_range_command): Likewise.
1541
1542         * language.c (language_completer): New function.
1543         (range_or_type_completer): New function.
1544         (case_completer): New function.
1545         (_initialize_language): Set completers.
1546         * cli/cli-decode.c (add_setshow_string_cmd): Return the "set"
1547         command.
1548         (add_setshow_string_noescape_cmd): Likewise.
1549         (add_setshow_integer_cmd): Likewise.
1550         (add_setshow_uinteger_cmd): Likewise.
1551         (add_setshow_zinteger_cmd): Likewise.
1552         (add_setshow_zuinteger_cmd): Likewise.
1553         * command.h (add_setshow_string_cmd,
1554         add_setshow_string_noescape_cmd, add_setshow_uinteger_cmd,
1555         add_setshow_zinteger_cmd, add_setshow_zuinteger_cmd): Update.
1556
1557 2009-08-12  Michael Snyder  <msnyder@vmware.com>
1558
1559         * remote.c (remote_add_inferior): Remove unused local.
1560         (remote_add_thread): Ditto.
1561         (read_ptid): Ditto.
1562         (remote_current_thread): Ditto.
1563         (remote_stop_ns): Ditto.
1564         (remote_parse_stop_reply): Ditto.
1565         (remote_get_pending_stop_replies): Ditto.
1566         (remote_wait_ns): Ditto.
1567         (remote_wait_as): Ditto.
1568         (send_g_packet): Ditto.
1569         (remote_fetch_registers): Ditto.
1570         (store_register_using_P): Ditto.
1571         (remote_store_registers): Ditto.
1572         (remote_remove_breakpoint): Ditto.
1573         (remote_write_qxfer): Ditto.
1574         (remote_read_qxfer): Ditto.
1575
1576 2009-08-11  Tom Tromey  <tromey@redhat.com>
1577
1578         * dwarf2loc.c (dwarf2_evaluate_loc_desc): Make a cleanup.
1579         (dwarf2_loc_desc_needs_frame): Likewise.
1580         * dwarf2expr.h (make_cleanup_free_dwarf_expr_context): Declare.
1581         * dwarf2expr.c (free_dwarf_expr_context_cleanup): New function.
1582         (make_cleanup_free_dwarf_expr_context): Likewise.
1583         * dwarf2-frame.c (execute_stack_op): Make a cleanup.
1584
1585 2009-08-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
1586
1587         * objfiles.c (gdb_bfd_unref): Use the bfd_usrdata accessor.
1588         * solib.c (symbol_add_stub): Likewise.
1589         * symfile.c (symfile_bfd_open): Assert BFD_USRDATA is NULL.
1590
1591 2009-08-10  Paul Pluzhnikov  <ppluzhnikov@google.com>
1592
1593         * objfiles.c (qsort_cmp): Remove assert.
1594         (preferred_obj_section): New function.
1595         (update_section_map): Filter duplicates.
1596         
1597 2009-08-10  Tristan Gingold  <gingold@adacore.com>
1598
1599         * solib-darwin.c (find_program_interpreter): Simplify the code by
1600         looking up for the load_dylinker command instead of reading the
1601         corresponding (but deprecated) section.
1602         (darwin_solib_create_inferior_hook): Adjust: do not free the
1603         interpreter path.
1604
1605 2009-08-10  Tristan Gingold  <gingold@adacore.com>
1606
1607         * i386-darwin-tdep.c (i386_m128_p): New function.
1608         (i386_darwin_arg_type_alignment): Ditto.
1609         (i386_darwin_push_dummy_call): Ditto.
1610         (i386_darwin_init_abi): Define Darwin specific push_dummy_call.
1611         Adjust long_double size.  Adjust pc offset in setjump buffer.
1612
1613 2009-08-10  Hui Zhu  <teawater@gmail.com>
1614
1615         Add Linux AMD64 process record support.
1616
1617         * amd64-linux-tdep.c (amd64_linux_record_tdep): New variable.
1618         This struct has the argument for the function
1619         "record_linux_system_call".
1620         (amd64_linux_syscall_record): New function. Parse the
1621         system call instruction and call function
1622         "record_linux_system_call" to record execute log.
1623         (i386_linux_init_abi): Initialize "amd64_linux_record_tdep".
1624         Set "amd64_linux_syscall_record" to "i386_syscall_record".
1625
1626 2009-08-10  Hui Zhu  <teawater@gmail.com>
1627
1628         Add process record Linux system call 64 bits support.
1629
1630         * linux-record.h (linux_record_tdep): Add size_pointer,
1631         size_size_t, size_iovec and arg6.  Change the values of
1632         size_int, size_long and size_ulong to
1633         gdbarch_int_bit (gdbarch) / TARGET_CHAR_BIT,
1634         gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT,
1635         gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT.
1636         * i386-linux-tdep.c (i386_linux_init_abi): Ditto.
1637         (i386_linux_intx80_sysenter_record): Add a check for system
1638         call number.
1639         * linux-record.c (record_linux_system_call): Make this
1640         function support 64 bits.
1641
1642 2009-08-10  Hui Zhu  <teawater@gmail.com>
1643
1644         Add AMD64 process record instruction set support.
1645
1646         * i386-tdep.h (gdbarch_tdep): Add record_regmap for registers
1647         because the AMD64's registers order in GDB is not same with
1648         I386 instructions.
1649         Add i386_syscall_record to be the syscall function handle
1650         interface.
1651         (record_i386_regnum): Number for record_regmap.
1652         * i386-tdep.c (OT_QUAD): For 64 bits.
1653         (i386_record_s): Add rex_x, rex_b, rip_offset and
1654         popl_esp_hack for AMD64 instruction set. And regmap for
1655         record_regmap.
1656         (i386_record_lea_modrm_addr): Support AMD64 instruction set
1657         64 bits lea.
1658         (i386_record_lea_modrm): Ditto.
1659         (i386_record_push): New function.  Record the execution log
1660         of push.
1661         (I386_RECORD_ARCH_LIST_ADD_REG): New macro to record the
1662         register.
1663         (i386_process_record): Support AMD64 instruction set.
1664         * amd64-tdep.c (amd64_record_regmap): For record_regmap.
1665         (amd64_init_abi): Set amd64_record_regmap to record_regmap.
1666
1667 2009-08-08  Pedro Alves  <pedro@codesourcery.com>
1668
1669         * bfd-target.c (struct target_bfd_data): New.
1670         (target_bfd_xfer_partial): Adjust to get at the section table from
1671         the new structure.
1672         (target_bfd_get_section_table): Ditto.
1673         (target_bfd_xclose): Ditto.  Get the bfd pointer from the
1674         target_bfd_data structure, from the section table.
1675         (target_bfd_reopen): Store a struct target_bfd_data in the
1676         target_ops to_data field, instead of a target_section_table.
1677
1678 2009-08-08  Aleksandar Ristovski  <aristovski@qnx.com>
1679             Hui Zhu  <teawater@gmail.com>
1680
1681         * record.c (record_store_registers): Remove unused variable.
1682
1683 2009-08-07  Tom Tromey  <tromey@redhat.com>
1684
1685         * language.c (set_language_command): Strip whitespace.
1686         (set_type_command): Likewise.
1687         (set_range_command): Likewise.
1688
1689 2009-08-07  Tom Tromey  <tromey@redhat.com>
1690
1691         PR gdb/8869:
1692         * language.c (language_completer): New function.
1693         (range_or_type_completer): New function.
1694         (case_completer): New function.
1695         (_initialize_language): Set completers.
1696         * cli/cli-decode.c (add_setshow_string_cmd): Return the "set"
1697         command.
1698         (add_setshow_string_noescape_cmd): Likewise.
1699         (add_setshow_integer_cmd): Likewise.
1700         (add_setshow_uinteger_cmd): Likewise.
1701         (add_setshow_zinteger_cmd): Likewise.
1702         (add_setshow_zuinteger_cmd): Likewise.
1703         * command.h (add_setshow_string_cmd,
1704         add_setshow_string_noescape_cmd, add_setshow_uinteger_cmd,
1705         add_setshow_zinteger_cmd, add_setshow_zuinteger_cmd): Update.
1706
1707 2009-08-06  Paul Pluzhnikov  <ppluzhnikov@google.com>
1708         
1709         gold/10400
1710         * dwarf2-frame.c (qsort_fde_cmp): Use stable sort.      
1711         
1712 2009-08-06  Paul Pluzhnikov  <ppluzhnikov@google.com>
1713
1714         * dwarf2-frame.c (struct dwarf2_cie): Remove 'next'.
1715         (struct dwarf2_cie_table): New.
1716         (struct dwarf2_fde): Remove 'next'.
1717         (struct dwarf2_fde_table): New.
1718         (struct comp_unit): Remove 'cie'.
1719         (bsearch_cie_cmp, bsearch_fde_cmp): New function.
1720         (find_cie, dwarf2_frame_find_fde): Use bsearch.
1721         (add_cie, add_fde): Use array instead of linked list.
1722         (decode_frame_entry, decode_frame_entry_1): New parameters.
1723         (qsort_fde_cmp): New function.
1724         (dwarf2_build_frame_info): Adjust.
1725         
1726 2009-08-06  Don Lee <don.lee@sunplusct.com>
1727
1728         * score-tdep.c: Support a new Sunplus CT S+core variant, S+core 3.
1729         * score-tdep.h: Ditto.
1730         * NEWS: Ditto.
1731         * configure.tgt: Test do we have a simulator.
1732         * MAINTAINERS: Add myself under target score
1733
1734 2009-08-06  Nick Roberts  <nickrob@snap.net.nz>
1735
1736         * utils.c (defaulted_query): Don't ask for confirmation if server
1737         prefix is used.
1738
1739 2009-08-05  Tom Tromey  <tromey@redhat.com>
1740
1741         * spu-tdep.h (SPUADDR_SPU): Cast result to int.
1742
1743 2009-08-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
1744
1745         * objfiles.h (OBJF_KEEPBFD): Delete.
1746         (gdb_bfd_unref): New prototype.
1747         * objfiles.c (gdb_bfd_unref): New function.
1748         (free_objfile): Call gdb_bfd_unref.
1749         * solib.c (free_so): Likewise.
1750         (symbol_add_stub): Set refcount.
1751
1752 2009-08-04  Hui Zhu  <teawater@gmail.com>
1753             Michael Snyder  <msnyder@vmware.com>
1754
1755         * record.c (record_mem_entry): New field 'mem_entry_not_accessible'.
1756         (record_arch_list_add_mem): Initialize 'mem_entry_not_accessible'.
1757         (record_wait): Set 'mem_entry_not_accessible' flag if target
1758         memory not readable.  Don't try to change target memory if
1759         'mem_entry_not_accessible' is set.
1760
1761 2009-08-03  Richard Guenther  <rguenther@suse.de>
1762             Jan Kratochvil  <jan.kratochvil@redhat.com>
1763
1764         Fix memory corruption on reread of file through a symbolic link.
1765         * symfile.c (find_separate_debug_file): Initialize CANON_NAME earlier.
1766         Allocate DEBUGFILE with length based on CANON_NAME.  Free CANON_NAME on
1767         all the return paths.
1768
1769 2009-08-03  Jim Ingham  <jingham@apple.com>
1770             Vladimir Prus  <vladimir@codesourcery.com>
1771
1772         Implement -break-commands
1773
1774         * breakpoint.c (get_breakpoint, breakpoint_set_commands): New.
1775         (commands_command): Use breakpoint_set_commands.
1776         * breakpoint.h (get_breakpoint, breakpoint_set_commands): Declare.
1777
1778         * mi/mi-cmds.h (mi_cmd_break_commands): New.
1779         * mi/mi-cmds.c: Register -break-commands.
1780         * mi/mi-cmd-break.c (mi_cmd_break_commands, mi_read_next_line)
1781         (mi_command_line_array, mi_command_line_array_cnt)
1782         (mi_command_line_array_ptr): New.
1783
1784 2009-08-03  Jim Ingham  <jingham@apple.com>
1785             Vladimir Prus  <vladimir@codesourcery.com>
1786
1787         Refactor reading of commands
1788
1789         * defs.h (read_command_lines_1): Declare.
1790         * cli/cli-script.c (read_next_line): Only return string,
1791         do not process.
1792         (process_next_line): New, extracted from read_next_line.
1793         (recurse_read_control_structure): Take a function pointer to the
1794         read function.
1795         (get_command_line) Pass the read_next_line as reader function
1796         into recurse_read_control_structure.
1797         (read_command_lines_1): New, extracted from...
1798         (read_command_lines): ...here.
1799
1800 2009-07-31  Kazu Hirata  <kazu@codesourcery.com>
1801
1802         * procfs.c (proc_set_current_signal): Populate mysinfo before
1803         copying it to arg.
1804         (proc_clear_current_signal): Likewise.
1805         (proc_set_watchpoint): Populate pwatch before copying it to arg.
1806
1807 2009-07-31  Michael Snyder  <msnyder@vmware.com>
1808
1809         * remote.c (store_register_using_P): Call putpkt and getpkt
1810         directly instead of calling remote_send.
1811         (store_registers_using_G): Ditto.
1812         (fetch_register_using_p): Ditto.
1813
1814         * remote.c (store_register_using_P): Make error msg more verbose.
1815         (store_registers_using_G): Ditto.
1816         (fetch_register_using_p): Ditto.
1817
1818 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
1819
1820         * spu-tdep.c: Include "infcall.h".
1821         (spu_address_class_type_flags): New function.
1822         (spu_address_class_type_flags_to_name): Likewise.
1823         (spu_address_class_name_to_type_flags): Likewise.
1824         (spu_pointer_to_address): Handle __ea pointers.
1825         (spu_auto_flush_cache_p): New static variable.
1826         (spu_objfile_from_frame): New function.
1827         (flush_ea_cache, spu_attach_normal_stop): Likewise.
1828         (show_spu_auto_flush_cache): Likewise.
1829         (spu_gdbarch_init): Install address class handlers.
1830         (_initialize_spu_tdep): Attach to normal_stop observer.
1831         Install "set spu auto-flush-cache" / "show spu auto-flush-cache"
1832         commands.
1833
1834         * NEWS: Mention "set/show spu auto-flush-cache" commands.
1835
1836 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
1837
1838         * spu-tdep.c: Include "block.h".
1839         (setspucmdlist, showspucmdlist): New static variables.
1840         (spu_stop_on_load_p): Likewise.
1841         (spu_catch_start): New function.
1842         (show_spu_command, set_spu_command): New functions.
1843         (show_spu_stop_on_load): Likewise.
1844         (_initialize_spu_tdep): Attach spu_catch_start to new_objfile observer.
1845         Install "set spu" / "show spu" prefix command handler.
1846         Install "set spu stop-on-load" / "show spu stop-on-load" command.
1847
1848         * NEWS: Mention "set/show spu stop-on-load" commands.
1849
1850 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
1851
1852         * ppc-linux-tdep.c: Include "solib.h", "solist.h", "exceptions.h",
1853         "arch-utils.h", and "spu-tdep.h".
1854         (spu_context_objfile, spe_context_lm_addr, spe_context_offset):
1855         New static variables.
1856         (spe_context_cache_ptid, spe_context_cache_address): Likewise.
1857         (ppc_linux_spe_context_lookup): New function.
1858         (ppc_linux_spe_context_inferior_created): Likewise.
1859         (ppc_linux_spe_context_solib_loaded): Likewise.
1860         (ppc_linux_spe_context_solib_unloaded): Likewise.
1861         (ppc_linux_spe_context): Likewise.
1862         (struct ppu2spu_cache, struct ppu2spu_data): New data types.
1863         (ppu2spu_prev_arch, ppu2spu_this_id, ppu2spu_prev_register,
1864         ppu2spu_unwind_register, ppu2spu_sniffer,
1865         ppu2spu_dealloc_cache): New functions.
1866         (ppu2spu_unwind): New static variable.
1867         (ppc_linux_init_abi): Install cross-architecture unwinder.
1868         (_initialize_ppc_linux_tdep): Attach to observers.
1869
1870         * spu-tdep.c (struct spu2ppu_cache): New data type.
1871         (spu2ppu_prev_arch, spu2ppu_this_id, spu2ppu_prev_register,
1872         spu2ppu_sniffer, spu2ppu_dealloc_cache): New functions.
1873         (spu2ppu_unwind): New static variable.
1874         (spu_gdbarch_init): Install cross-architecture unwinder.
1875
1876 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
1877
1878         * target.h (enum strata): New value arch_stratum.
1879         * target.c (target_require_runnable): Skip arch_stratum targets.
1880
1881         * configure.tgt (powerpc-*-linux* | powerpc64-*-linux*): Add
1882         solib-spu.o and spu-multiarch.o to gdb_target_obs.
1883         * Makefile.in (ALL_TARGET_OBS): Add solib-spu.o and spu-multiarch.o.
1884         (ALLDEPFILES): Add solib-spu.c and spu-multiarch.c.
1885
1886         * solib-spu.c: New file.
1887         * solib-spu.h: New file.
1888         * spu-multiarch.c: New file.
1889
1890         * spu-tdep.h (SPUADDR, SPUADDR_SPU, SPUADDR_ADDR): New macros.
1891
1892         * spu-tdep.c (struct gdbarch_tdep): New member id.
1893         (spu_gdbarch_id): New function.
1894         (spu_lslr): New function.
1895
1896         (spu_address_to_pointer): New function.
1897         (spu_pointer_to_address): Support SPU ID address encoding.  Use
1898         spu_gdbarch_id and spu_lslr.
1899         (spu_integer_to_address): Likewise.
1900         (spu_frame_unwind_cache): Update for encoded addresses.
1901         (spu_unwind_pc, spu_unwind_sp): Likewise.
1902         (spu_read_pc, spu_write_pc): Likewise.
1903         (spu_push_dummy_call): Likewise.
1904         (spu_software_single_step): Likewise.
1905         (spu_get_longjmp_target): Likewise.
1906         (spu_overlay_update_osect): Likewise.
1907
1908         (spu_dis_asm_print_address): New function.
1909         (gdb_print_insn_spu): Likewise.
1910
1911         (spu_gdbarch_init): Store SPU ID in tdep structure.
1912         Install spu_address_to_pointer and gdb_print_insn_spu.
1913
1914         * ppc-linux-tdep.c: Include "observer.h", "auxv.h", "elf/common.h"
1915         and "solib-spu.h".
1916         (ppc_linux_entry_point_addr): New static variable.
1917         (ppc_linux_inferior_created): New function.
1918         (ppc_linux_displaced_step_location): Likewise.
1919         (ppc_linux_init_abi): Enable Cell/B.E. support if supported
1920         by the target.
1921         (_initialize_ppc_linux_tdep): Attach to inferior_created observer.
1922
1923         * NEWS: Mention multi-architecture and Cell/B.E. debugging
1924         capabilities.
1925
1926 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
1927
1928         * linux-nat.c: Include <sys/vfs.h>.
1929         (SPUFS_MAGIC): Define.
1930         (spu_enumerate_spu_ids): New function.
1931         (linux_proc_xfer_spu): New function.
1932         (linux_xfer_partial): Handle TARGET_OBJECT_SPU.
1933
1934         (iterate_over_spus): New function.
1935         (struct linux_spu_corefile_data): New data type.
1936         (linux_spu_corefile_callback): New function.
1937         (linux_spu_make_corefile_notes): New function.
1938         (linux_nat_make_corefile_notes): Call it.
1939
1940         * corelow.c (struct spuid_list): New data type.
1941         (add_to_spuid_list): New function.
1942         (core_xfer_partial): Handle TARGET_OBJECT_SPU.
1943
1944 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
1945
1946         * features/Makefile: Allow sub-platform specific expedite settings.
1947         (WHICH): Add rs6000/powerpc-cell32l and rs6000/powerpc-cell64l.
1948         (rs6000/powerpc-cell32l-expedite): Define.
1949         (rs6000/powerpc-cell64l-expedite): Likewise.
1950         * features/rs6000/powerpc-cell32l.xml: New file.
1951         * features/rs6000/powerpc-cell64l.xml: New file.
1952         * features/rs6000/powerpc-cell32l.c: New generated file.
1953         * features/rs6000/powerpc-cell64l.c: New generated file.
1954
1955         * regformats/rs6000/powerpc-cell32l.dat: New generated file.
1956         * regformats/rs6000/powerpc-cell64l.dat: New generated file.
1957
1958         * config/djgpp/fnchange.lst: Add mappings for new files.
1959
1960         * ppc-linux-tdep.h (tdesc_powerpc_cell32l): Add prototype.
1961         (tdesc_powerpc_cell64l): Likewise.
1962         * ppc-linux-tdep.c: Include "features/rs6000/powerpc-cell32l.c"
1963         and "features/rs6000/powerpc-cell64l.c".
1964         (_initialize_ppc_linux_tdep): Initialize target descriptions.
1965         (ppc_linux_spu_section): New function.
1966         (ppc_linux_core_read_description): Detect Cell/B.E. core files.
1967         * ppc-linux-nat.c (PPC_FEATURE_CELL): Define.
1968         (ppc_linux_read_description): Detect Cell/B.E. architecture.
1969
1970         * rs6000-tdep.c (rs6000_gdbarch_init): Do not trust BFD wordsize
1971         if exec file is not PowerPC architecture.
1972
1973 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
1974
1975         * features/gdb-target.dtd (target): Accept optional
1976         <compatible> elements.
1977         (compatible): Define element.
1978
1979         * target-descriptions.h (tdesc_compatible_p): New.
1980         (tdesc_add_compatible): New.
1981         * target-descriptions.c (arch_p): New VEC_P type.
1982         (struct target_desc): New member compatible.
1983         (free_target_description): Handle it.
1984         (maint_print_c_tdesc_cmd): Likewise.
1985         (tdesc_compatible_p): New function.
1986         (tdesc_add_compatible): New function.
1987
1988         * xml-tdesc.c (tdesc_end_compatible): New function.
1989         (target_children): Handle <compatible> element.
1990
1991         * arch-utils.c (choose_architecture_for_target): Accept target
1992         description instead of BFD architecture as input.  Query target
1993         description for compatible architectures.
1994         (gdbarch_info_fill): Update call.
1995
1996         * NEWS: Mention <compatible> element of target descriptions.
1997
1998 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
1999
2000         * breakpoint.c (remove_breakpoints): If removing one breakpoint
2001         location fails, still continue to remove other locations.
2002         (remove_hw_watchpoints): Likewise.
2003         (detach_breakpoints): Likewise.
2004
2005 2009-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
2006
2007         * breakpoint.h (enum enable_state): Add bp_startup_disabled.
2008         (disable_breakpoints_before_startup): Add prototype.
2009         (enable_breakpoints_after_startup): Likewise.
2010
2011         * breakpoint.c (executing_startup): New static variable.
2012         (describe_other_breakpoints): Handle bp_startup_disabled.
2013         (check_duplicates_for): Likewise.
2014         (disable_breakpoints_before_startup): New function.
2015         (enable_breakpoints_after_startup): New function.
2016         (create_breakpoint): Mark new breakpoints as bp_startup_disabled
2017         if executing_startup flag is true.
2018         (break_command_really): Likewise.
2019         (breakpoint_re_set_one): Skip bp_startup_disabled breakpoints.
2020
2021 2009-07-31  Julian Brown  <julian@codesourcery.com>
2022
2023         * arm-linux-tdep.c (arch-utils.h, inferior.h, gdbthread.h, symfile.h):
2024         Include files.
2025         (arm_linux_cleanup_svc, arm_linux_copy_svc): New.
2026         (cleanup_kernel_helper_return, arm_catch_kernel_helper_return): New.
2027         (arm_linux_displaced_step_copy_insn): New.
2028         (arm_linux_init_abi): Initialise displaced stepping callbacks.
2029         * arm-tdep.c (DISPLACED_STEPPING_ARCH_VERSION): New macro.
2030         (ARM_NOP): New.
2031         (displaced_read_reg, displaced_in_arm_mode, branch_write_pc)
2032         (bx_write_pc, load_write_pc, alu_write_pc, displaced_write_reg)
2033         (insn_references_pc, copy_unmodified, cleanup_preload, copy_preload)
2034         (copy_preload_reg, cleanup_copro_load_store, copy_copro_load_store)
2035         (cleanup_branch, copy_b_bl_blx, copy_bx_blx_reg, cleanup_alu_imm)
2036         (copy_alu_imm, cleanup_alu_reg, copy_alu_reg)
2037         (cleanup_alu_shifted_reg, copy_alu_shifted_reg, cleanup_load)
2038         (cleanup_store, copy_extra_ld_st, copy_ldr_str_ldrb_strb)
2039         (cleanup_block_load_all, cleanup_block_store_pc)
2040         (cleanup_block_load_pc, copy_block_xfer, cleanup_svc, copy_svc)
2041         (copy_undef, copy_unpred): New.
2042         (decode_misc_memhint_neon, decode_unconditional)
2043         (decode_miscellaneous, decode_dp_misc, decode_ld_st_word_ubyte)
2044         (decode_media, decode_b_bl_ldmstm, decode_ext_reg_ld_st)
2045         (decode_svc_copro, arm_process_displaced_insn)
2046         (arm_displaced_init_closure, arm_displaced_step_copy_insn)
2047         (arm_displaced_step_fixup): New.
2048         (arm_gdbarch_init): Initialise max insn length field.
2049         * arm-tdep.h (DISPLACED_TEMPS, DISPLACED_MODIFIED_INSNS): New
2050         macros.
2051         (displaced_step_closure, pc_write_style): New.
2052         (arm_displaced_init_closure, displaced_read_reg)
2053         (arm_process_displaced_insn, arm_displaced_init_closure)
2054         (displaced_read_reg, displaced_write_reg, arm_displaced_step_copy_insn)
2055         (arm_displaced_step_fixup): Add prototypes.
2056
2057 2009-07-31  Pedro Alves  <pedro@codesourcery.com>
2058             Julian Brown  <julian@codesourcery.com>
2059
2060         * infrun.c (displaced_step_fixup): If this is a software
2061         single-stepping arch, don't tell the target to single-step.
2062         (maybe_software_singlestep): Return 0 if we're using displaced
2063         stepping.
2064         (resume): If this is a software single-stepping arch, and
2065         displaced-stepping is enabled, use it for all single-step
2066         requests.
2067
2068 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2069
2070         * Makefile.in (ACLOCAL, ACLOCAL_AMFLAGS, aclocal_m4_deps)
2071         (AUTOCONF, configure_deps, AUTOHEADER): New variables.
2072         ($(srcdir)/aclocal.m4, $(srcdir)/configure, $(srcdir)/config.in)
2073         (am--refresh): New rules.
2074         (stamp-h, config.status): List config.in and configure including
2075         $(srcdir)/ prefix.
2076         * aclocal.m4: Regenerate.
2077         * configure: Regenerate.
2078
2079 2009-07-30  Thomas Schwinge  <tschwinge@gnu.org>
2080
2081         * gnu-nat.c (add_task_commands) <stopped>: Register the correct
2082         callback function.
2083
2084 2009-07-30  H.J. Lu  <hongjiu.lu@intel.com>
2085
2086         * ia64-tdep.c (ia64_access_reg): Correct paddress.
2087
2088 2009-07-30  Jan Kratochvil  <jan.kratochvil@redhat.com>
2089
2090         Replace public function varobj_list by all_root_varobjs iterator.
2091         * mi/mi-cmd-var.c (struct mi_cmd_var_update, mi_cmd_var_update_iter):
2092         New.
2093         (mi_cmd_var_update): Replace the varobj_list call by all_root_varobjs.
2094         Remove the variables rootlist, cr.  New variable data.
2095         * varobj.c (rootcount, varobj_list): Remove.
2096         (install_variable, uninstall_variable): Remove the rootcount updates.
2097         (all_root_varobjs): New function.
2098         (varobj_invalidate): Use the all_root_varobjs call.  Move the code to...
2099         (varobj_invalidate_iter): ... a new function.
2100         * varobj.h (varobj_list): Remove the prototype.
2101         (all_root_varobjs): New prototype.
2102
2103 2009-07-29  Paul Pluzhnikov  <ppluzhnikov@google.com>
2104
2105         PR gdb/6817
2106         * dbxread.c (read_dbx_symtab): Reduce stack use.
2107         
2108 2009-07-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
2109
2110         Fix gcc-4.5 HEAD warnings.
2111         * cp-name-parser.y (%union <typed_val_int>, %token GLOBAL)
2112         (GLOBAL_CONSTRUCTORS, GLOBAL_DESTRUCTORS, demangler_special <GLOBAL>):
2113         Remove.
2114         (yylex <"global constructors keyed to ">)
2115         (yylex <"global destructors keyed to ">): Base it on DEMANGLER_SPECIAL.
2116         (cp_comp_to_string): Remove variables str, prefix and buf.  Remove the
2117         GLOBAL_DESTRUCTORS and GLOBAL_CONSTRUCTORS handling.
2118         (cp_print): Remove the GLOBAL_DESTRUCTORS and GLOBAL_CONSTRUCTORS
2119         handling.
2120
2121 2009-07-28  Daniel Jacobowitz  <dan@codesourcery.com>
2122
2123         * NEWS: Mention ARM VFP support.
2124         * target-descriptions.c (tdesc_register_type): Make public.
2125         (tdesc_unnumbered_register): New function.
2126         (tdesc_register_reggroup_p): Allow missing
2127         pseudo_register_reggroup_p.
2128         * target-descriptions.h (tdesc_register_type): Declare.
2129         (tdesc_unnumbered_register): Declare.
2130         * arm-tdep.c (arm_neon_quad_read, arm_neon_quad_write): New functions.
2131         (arm_push_dummy_call): Use arm_neon_quad_write.
2132         (arm_neon_double_type, arm_neon_quad_type): New functions.
2133         (arm_register_type): Handle VFP and NEON registers.  Override the
2134         types of double-precision registers for NEON.  Disable FPA registers
2135         if they are not present.
2136         (arm_dwarf_reg_to_regnum): Add current VFP and NEON register numbers.
2137         (arm_return_value): Use arm_neon_quad_write and arm_neon_quad_read.
2138         (arm_register_name): Handle VFP single and NEON quad registers.
2139         (arm_pseudo_read, arm_pseudo_write): New functions.
2140         (arm_gdbarch_init): Check for VFP and NEON in the target description.
2141         Assign numbers to double-precision registers.  Register VFP and NEON
2142         pseudo registers.  Remove a shadowed "i" variable.
2143         * arm-tdep.h (enum gdb_regnum): Add ARM_D0_REGNUM and
2144         ARM_D31_REGNUM.
2145         (struct gdbarch_tdep): Add have_neon_pseudos, have_neon,
2146         have_vfp_registers, have_vfp_pseudos, neon_double_type,
2147         and neon_quad_type.
2148
2149         * features/Makefile: Make expedite settings only architecture
2150         specific.
2151         (WHICH): Add new ARM descriptions.
2152         * features/arm-with-neon.xml, features/arm-with-vfpv2.c,
2153         features/arm-with-vfpv3.c, features/arm-vfpv2.xml,
2154         features/arm-vfpv3.xml, features/arm-with-vfpv2.xml,
2155         features/arm-with-vfpv3.xml, features/arm-with-neon.c: New files.
2156         * regformats/arm-with-neon.dat, regformats/arm-with-vfpv2.dat,
2157         regformats/arm-with-vfpv3.dat: Generate.
2158
2159 2009-07-28  Daniel Jacobowitz  <dan@codesourcery.com>
2160
2161         * infrun.c (handle_inferior_event): Clear trap_expected after
2162         stepping past a single-step breakpoint.
2163
2164 2009-07-28  Joseph Myers  <joseph@codesourcery.com>
2165
2166         * arm-tdep.c (enum arm_vfp_cprc_base_type,
2167         arm_vfp_cprc_unit_length, arm_vfp_cprc_reg_char,
2168         arm_vfp_cprc_sub_candidate, arm_vfp_call_candidate,
2169         arm_vfp_abi_for_function): New.
2170         (arm_push_dummy_call): Handle VFP ABI.
2171         (arm_extract_return_value, arm_store_return_value): Handle
2172         ARM_FLOAT_VFP case.
2173         (arm_return_value): Handle VFP ABI.
2174         (arm_gdbarch_init): Default fp_model based on Tag_ABI_VFP_args for
2175         EABI binaries.
2176
2177 2009-07-28  Daniel Jacobowitz  <dan@codesourcery.com>
2178
2179         * arch-utils.c (displaced_step_at_entry_point): Do not call
2180         gdbarch_convert_from_func_ptr_addr.
2181         * cris-tdep.c: Remove outdated comment.
2182         * infcall.c (call_function_by_hand): Do not call
2183         gdbarch_convert_from_func_ptr_addr after entry_point_address.
2184         * objfiles.c (entry_point_address): Call both
2185         gdbarch_convert_from_func_ptr_addr and
2186         gdbarch_addr_bits_remove.
2187
2188 2009-07-28  Aleksandar Ristovski  <aristovski@qnx.com>
2189
2190         * nto-tdep.c (nto_thread_state_str): New array.
2191         (nto_extra_thread_info): New function definition.
2192         * nto-tdep.h (gdbthread.h): New include.
2193         (private_thread_info): New struct.
2194         (nto_extra_thread_info): New declaration.
2195         * nto-procfs.c (procfs_thread_alive): Properly check if
2196         thread is still alive.
2197         (update_thread_private_data_name, update_thread_private_data): New
2198         function definition.
2199         (procfs_find_new_threads): Fetch thread private data.
2200         (init_procfs_ops): Register to_extra_thread_info.
2201
2202 2009-07-25  Pedro Alves  <pedro@codesourcery.com>
2203
2204         * stack.c (backtrace_command_1): Remove dead check of NULL current
2205         frame.
2206
2207 2009-07-23  Keith Seitz  <keiths@redhat.com>
2208
2209         * source.c (forward_search_command): Don't fclose the stream,
2210         just run the cleanups.
2211         (reverse_search_command): Likewise.
2212
2213 2009-07-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
2214
2215         * symtab.c (search_symbols): Add QUIT.
2216         
2217 2009-07-22  Paul Pluzhnikov  <ppluzhnikov@google.com>
2218
2219         * symfile.c (symbol_file_add_with_addrs_or_offsets): Call observer.
2220         
2221 2009-07-22  Paul Pluzhnikov  <ppluzhnikov@google.com>
2222
2223         * objfiles.h (objfiles_changed): New prototype.
2224         * objfiles.c (objfiles_updated_p): Rename to objfiles_changed_p.
2225         (allocate_objfile, free_objfile): Must rebuild section map.
2226         (objfile_relocate): Likewise.
2227         (update_section_map, find_pc_section): Adjust.
2228         (set_objfiles_updated_on_exe_change): Remove.
2229         (set_objfiles_updated_on_solib_activity): Remove.
2230         (_initialize_objfiles): Remove.
2231         (objfiles_changed): New function.
2232         * symfile.c (reread_symbols): Call objfiles_changed.    
2233         
2234 2009-07-22  Hui Zhu  <teawater@gmail.com>
2235
2236         * record.c (record_xfer_partial): Call error When nquery
2237         return "n".
2238
2239 2009-07-21  Paul Pluzhnikov  <ppluzhnikov@google.com>
2240         
2241         * objfiles.c (objfiles_updated_p): New variable.
2242         (qsort_cmp, bsearch_cmp, update_section_map): New function.
2243         (find_pc_section): Use bsearch.
2244         (set_objfiles_updated_on_exe_change): New function.
2245         (set_objfiles_updated_on_solib_activity): New function.
2246         (_initialize_objfiles): New function.
2247         
2248 2009-07-21 Michael Eager <eager@eagercon.com>
2249
2250         * features/rs6000/powerpc-405.xml: New.
2251         * rs6000-tdep.c: Add include & initialize for
2252         powerpc-405.c, add 405 to variants.
2253         * features/rs6000/powerpc-405.c: Generate.
2254
2255 2009-07-21  Paul Pluzhnikov  <ppluzhnikov@google.com>
2256
2257         * utils.c (internal_vproblem): Always print failure message.
2258
2259 2009-07-21  Daniel Jacobowitz  <dan@codesourcery.com>
2260             Vladimir Prus <vladimir@codesourcery.com>
2261
2262         * valops.c (value_fetch_lazy): Handle bitfields explicitly.
2263         (value_assign): Remove unnecessary FIXME.  Honor the container
2264         type of bitfields if possible.
2265         * value.c (struct value): Add parent field.
2266         (value_parent): New function.
2267         (value_free): Free the parent also.
2268         (value_copy): Copy the parent also.
2269         (value_primitive_field): Do not read the contents of a lazy
2270         value to create a child bitfield value.  Set bitpos and offset
2271         according to the container type if possible.
2272         (unpack_bits_as_long): Rename from unpack_field_as_long.  Take
2273         field_type, bitpos, and bitsize instead of type and fieldno.
2274         (unpack_field_as_long): Use unpack_bits_as_long.
2275         * value.h (value_parent, unpack_bits_as_long): New prototypes.
2276
2277 2009-07-21  Daniel Jacobowitz  <dan@codesourcery.com>
2278
2279         * value.c (struct value): Add reference_count field.
2280         (allocate_value_lazy): Initialize reference_count.
2281         (value_incref): New function.
2282         (value_free): Check the reference count.
2283         * value.h (value_incref): New prototype.
2284
2285 2009-07-20  Marc Khouzam  <marc.khouzam@ericsson.com>
2286
2287         * utils.c (defaulted_query): Update comment and remove dead code.
2288
2289 2009-07-20  Doug Evans  <dje@google.com>
2290
2291         Add support for "comdat types" from DWARF4.
2292         * dwarf2read.c (dwarf2_per_objfile): New member types,
2293         signatured_types.
2294         (TYPES_SECTION): New macro.
2295         (dwarf2_per_cu_data): Change size of length field from 30 bits
2296         to 29 bits.  New member from_debug_types.
2297         (signatured_type): New struct.
2298         (struct attribute): New union member signatured_type.
2299         (DW_SIGNATURED_TYPE): New macro.
2300         (dwarf2_attr_no_follow): New function.
2301         (read_type_unit_scope): New function.
2302         (follow_die_ref_or_sig, follow_die_sig): New functions.
2303         (dwarf2_locate_sectoins): Handle .debug_types.
2304         (dwarf2_build_psymtabs): Read .debug_types.
2305         (read_type_comp_unit_head): New function.
2306         (hash_type_signature, eq_type_signature): New functions.
2307         (create_debug_types_hash_table): New function.
2308         (lookup_signatured_type): New function.
2309         (process_psymtab_comp_unit): Handle type units too.
2310         (process_type_comp_unit, build_type_psymtabs): New functions.
2311         (dwarf2_build_psymtabs_hard): Call build_type_psymtabs.
2312         (load_partial_comp_unit): Assert not called for a type unit.
2313         (skip_one_die): Handle DW_FORM_sig8.
2314         (queue_comp_unit): Don't call load_full_comp_unit here, or
2315         update read_in_chain.
2316         (psymtab_to_symtab_1): Call read_signatured_type_at_offset for
2317         type units, or load_full_comp_unit for comp units after
2318         queue_comp_unit returns.
2319         (load_full_comp_unit): Assert not called for type units.
2320         (load_full_comp_unit): Update read_in_chain here.
2321         (process_die): Handle DW_TAG_type_unit.
2322         (read_structure_type): Look for signatured types.
2323         (read_enumeration_type): Ditto.
2324         (init_cu_die_reader): Handle .debug_types.
2325         (read_comp_unit): Assert hash not computed yet.
2326         (read_die_and_children): Expand debugging printf to handle .debug_types.
2327         (read_partial_die): Handle DW_TAG_type_unit:
2328         (find_patial_die): Handle .debug_types.
2329         (read_attribute_value): Handle DW_FORM_sig8.
2330         (die_type): Call follow_die_ref_or_sig instead of follow_die_ref.
2331         (die_containing_type): Ditto.
2332         (dwarf_tag_name): Handle DW_TAG_type_unit.
2333         (dwarf_attr_name): Handle DW_AT_signature.
2334         (dwarf_form_name): Handle DW_FORM_sec_offset, DW_FORM_exprloc,
2335         DW_FORM_flag_present, DW_FORM_sig8.
2336         (dump_die_shallow): Handlel DW_FORM_sig8.
2337         (maybe_queue_comp_unit): Change return type to int from void.
2338         All callers updated.
2339         (follow_die_ref): Handle .debug_types.
2340         (lookup_signatured_type_at_offset): New function.
2341         (read_signatured_type_at_offset): New function.
2342         (read_signatured_type): New function.
2343
2344 2009-07-20  Ulrich Weigand  <uweigand@de.ibm.com>
2345
2346         * arch-utils.c (gdbarch_info_fill): Only reference GDB_OSABI_DEFAULT
2347         if the macro is defined.
2348
2349 2009-07-20  Pedro Alves  <pedro@codesourcery.com>
2350
2351         * features/gdb-target.dtd (target): Accept an optional 'osabi'
2352         element.
2353         (osabi): Define element.
2354         * features/mips-linux.xml (target): Add an osabi subelement set to
2355         GNU/Linux.
2356         * regformats/regdat.sh (xmlarch, xmlosabi): New variables.  Don't
2357         write the architecture into $xmltarget.  Store it in $xmlarch.
2358         Handle the 'osabi' type.  Handle outputting the osabi element of
2359         the target description.
2360         * regformats/reg-x86-64-linux.dat (osabi): Set to GNU/Linux.
2361         * regformats/reg-i386-linux.dat (osabi): Set to GNU/Linux.
2362
2363         * target-descriptions.h (tdesc_osabi, set_tdesc_osabi): Declare.
2364         * target-descriptions.c (struct target_desc) <osabi>: New field.
2365         (tdesc_osabi): New function.
2366         (set_tdesc_osabi): New function.
2367         * xml-tdesc.c: Include osabi.h.
2368         (tdesc_end_osabi): New.
2369         (target_children): Parse "osabi" elements.
2370         * arch-utils.c (gdbarch_info_fill): Try to get the osabi from the
2371         target description if the user didn't override it or it is not
2372         extractable from the bfd.  If that still fails, fallback to the
2373         configured in default.
2374         * osabi.h (osabi_from_tdesc_string): Declare.
2375         * osabi.c (osabi_from_tdesc_string): New.
2376         (gdbarch_lookup_osabi): Return GDB_OSABI_UNKNOWN instead of
2377         GDB_OSABI_DEFAULT.
2378
2379         * NEWS: Mention that target descriptions can now describe the
2380         target OS ABI.
2381
2382 2009-07-20  Mike Frysinger  <vapier@gentoo.org>
2383
2384         * configure.ac (AC_CHECK_FUNCS): Check for pipe.
2385         * config.in, configure: Regenerate.
2386         * tui/tui-io.c (TUI_USE_PIPE_FOR_READLINE): Define if HAVE_PIPE.
2387
2388 2009-07-20  Pedro Alves  <pedro@codesourcery.com>
2389
2390         * gnu-nat.c: Include "inf-child.h".
2391         (gnu_mourn_inferior): Use the passed in target_ops
2392         instead of the gnu_ops global.
2393         (gnu_create_inferior): Inline `attach_to_child', use the passed in
2394         target_ops instead of the gnu_ops global.
2395         (gnu_can_run): Delete.
2396         (gnu_attach): Use the passed in target_ops instead of the gnu_ops
2397         global.
2398         (gnu_detach): Ditto.
2399         (gnu_prepare_to_store, gnu_open): Delete.
2400         (gnu_store_registers, gnu_fetch_registers): Delete declarations.
2401         (gnu_ops): Delete.
2402         (init_gnu_ops): Delete.
2403         (gnu_target): New.
2404         (_initialize_gnu_nat): Don't call init_gnu_ops or add_target here.
2405         * gnu-nat.h (gnu_target): Declare.
2406         * i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Make
2407         static.
2408         (_initialize_i386gnu_nat): New.
2409
2410 2009-07-20  Ulrich Weigand  <uweigand@de.ibm.com>
2411
2412         * dwarf2loc.c (find_location_expression): Retrieve beginning and
2413         ending address offsets in location list entries as integers,
2414         not as addresses.
2415
2416 2009-07-20  Ulrich Weigand  <uweigand@de.ibm.com>
2417
2418         * infrun.c (wait_for_inferior): Invalidate registers and overlay
2419         cache every time before calling target_wait.
2420         (handle_inferior_event): Make static. Always reset waiton_ptid.
2421         Never call registers_changed.
2422         (prepare_to_wait): Do not invaliate registers or overlay cache
2423         (moved to wait_for_inferior).  Do not reset waiton_ptid (moved
2424         to handle_inferior_event).
2425         (fetch_inferior_event): Remove check for always-true condition.  
2426
2427 2009-07-20  Thomas Schwinge  <tschwinge@gnu.org>
2428
2429         * i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Adjust to
2430         2009-02-23 target_ops changes.
2431
2432 2009-07-18  Michael Snyder  <msnyder@vmware.com>
2433
2434         * infrun.c (handle_inferior_event): Remove an execution_direction
2435         check in the "check for subroutine calls" test, and add some 
2436         additional handling for reverse-stepping through shared libraries.
2437
2438 2009-07-18  Anthony Green  <green@moxielogic.com>
2439
2440         * moxie-tdep.c (moxie_analyze_prologue): Take gdbarch as last
2441         parameter instead of frame_info.
2442         (moxie_frame_cache): Call moxie_analyze_prologue with different
2443         args.
2444
2445 2009-07-17  Ulrich Weigand  <uweigand@de.ibm.com>
2446
2447         * solib.c (solib_bfd_open): Do not call ops->bfd_open.
2448         (solib_map_sections): Call ops->bfd_open instead of solib_bfd_open.
2449         * solib-frv.c (_initialize_frv_solib): Initialize bfd_open member.
2450         * solib-irix.c (_initialize_irix_solib): Likewise.
2451         * solib-null.c (_initialize_null_solib): Likewise.
2452         * solib-osf.c (_initialize_osf_solib): Likewise.
2453         * solib-pa64.c (_initialize_pa64_solib): Likewise.
2454         * solib-som.c (_initialize_som_solib): Likewise.
2455         * solib-sunos.c (_initialize_sunos_solib): Likewise.
2456         * solib-svr4.c (_initialize_svr4_solib): Likewise.
2457         * solib-target.c (_initialize_solib_target): Likewise.
2458
2459 2009-07-17  Ulrich Weigand  <uweigand@de.ibm.com>
2460
2461         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Respect mixed_mode flag.
2462
2463 2009-07-16  Doug Evans  <dje@google.com>
2464
2465         * linux-thread.db.c (try_thread_db_load_1): Tweak comment.
2466
2467 2007-07-16  Paul Pluzhnikov  <ppluzhnikov@google.com>
2468
2469         * linux-thread-db.c (thread_db_find_new_threads_silently):
2470         New function.
2471         (try_thread_db_load_1): Call it.
2472
2473 2009-07-15  Doug Evans  <dje@google.com>
2474
2475         Code reorg in preparation for adding comdat types support.
2476         * dwarf2read.c (struct die_reader_specs): New struct.
2477         (locate_pdi_sibling): New arg buffer.  All callers updated.
2478         (load_partial_dies, read_partial_die): Ditto.
2479         (read_8_bytes): Change return type to ULONGEST.
2480         (read_comp_unit): Delete arg abfd.  All callers updated.
2481         (read_die_and_children_1): Delete args abfd, cu.  New arg reader.
2482         All callers updated.
2483         (read_die_and_children, read_die_and_siblings): Ditto.
2484         (read_full_die): Ditto.  Move closer to callers.
2485         (skip_one_die): New arg buffer.  All callers updated.
2486         (load_full_comp_unit): Change return type to void.  All callers
2487         updated.
2488         (partial_read_comp_unit_head): New args buffer, buffer_size.
2489         All callers updated.
2490         (process_psymtab_comp_unit): New function, split out from
2491         dwarf2_build_psymtabs_hard.
2492         (dwarf2_build_psymtabs_hard): Call it.
2493         (load_partial_comp_unit): Renamed from load_comp_unit.
2494         All callers updated.
2495         (skip_children): New arg buffer.  All callers updated.
2496         (init_cu_die_reader): New function.
2497         (is_ref_attr): New function.
2498         (dwarf2_get_ref_die_offset): Call it.
2499         (alloc_one_comp_unit): New function.
2500
2501 2009-07-14  Stan Shebs  <stan@codesourcery.com>
2502
2503         * MAINTAINERS (Global Maintainers): Add Doug Evans.
2504
2505 2009-07-14  Stan Shebs  <stan@codesourcery.com>
2506
2507         Conditional tracepoints.
2508         * ax-gdb.h (gen_eval_for_expr): Declare.
2509         * ax-gdb.c (gen_expr): Generate bytecodes for BINOP_EQUAL
2510         and other comparisons.
2511         (gen_eval_for_expr): New function.
2512         (agent_eval_command): New maintenance command.
2513         (_initialize_ax_gdb): Define the command.
2514         * remote.c (struct remote_state): New field cond_tracepoints.
2515         (PACKET_ConditionalTracepoints): New packet config type.
2516         (remote_cond_tracepoint_feature): New function.
2517         (remote_protocol_features): Add ConditionalTracepoints.
2518         (remote_supports_cond_tracepoints): New function.
2519         (_initialize_remote): Add ConditionalTracepoints.
2520         * tracepoint.c (download_tracepoint): Add conditional.
2521         * NEWS: Mention conditional tracepoints.
2522
2523 2009-07-14  Ulrich Weigand  <uweigand@de.ibm.com>
2524
2525         * objfiles.c (objfile_relocate): Do not relocate the same
2526         BLOCKVECTOR_MAP address map multiple times.
2527
2528 2009-07-14  Ulrich Weigand  <uweigand@de.ibm.com>
2529
2530         * remote.c (process_stop_reply): Access expedited target registers
2531         in target_gdbarch.
2532
2533 2009-07-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
2534
2535         Fix memory access from signed 32bit inferior registers on 64bit GDB.
2536         * linux-nat.c (linux_xfer_partial <TARGET_OBJECT_MEMORY>): New variable
2537         addr_bit.  Mask OFFSET by the ADDR_BIT width.
2538
2539 2009-07-13  Anthony Green  <green@moxielogic.com>
2540
2541         * moxie-tdep.c (moxie_gdbarch_init): Call
2542         set_gdbarch_process_record.
2543         (moxie_process_record): New.
2544         (moxie_process_readu): New.
2545
2546 2009-07-12  Michael Snyder  <msnyder@vmware.com>
2547
2548         * i386-tdep.c: Add a frame unwinder for function epilogues.
2549         (i386_in_function_epilogue_p): New function.
2550         (i386_epilogue_frame_sniffer): New function.
2551         (i386_epilogue_frame_cache): New function.
2552         (i386_epilogue_frame_this_id): New function.
2553         (i386_epilogue_frame_unwind): New struct frame_unwind.
2554         (i386_gdbarch_init): Hook the new unwinder.
2555
2556 2009-07-11  Hui Zhu  <teawater@gmail.com>
2557
2558         * cli/cli-cmds.c (disassemble_command): Add a new modifier /r
2559         to "disassemble" command to print the raw instructions in hex as
2560         well as in symbolic form.
2561         (init_cli_cmds): Ditto.
2562         (print_disassembly): Change "mixed" to "flags" to translate
2563         the behavior of disassemble.
2564         (disassemble_current_function): Ditto.
2565         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Ditto.
2566         * stack.c (gdb_disassembly_stub): Ditto.
2567         * disasm.c (do_mixed_source_and_assembly): Ditto.
2568         (do_mixed_source_and_assembly): Ditto.
2569         (do_assembly_only): Ditto.
2570         (gdb_disassembly): Ditto.
2571         (dump_insns): print the raw instructions in hex as well as in
2572         symbolic form if DISASSEMBLY_RAW_INSN and flags is true.
2573         * disasm.h (DISASSEMBLY_SOURCE): Include source code with the
2574         assembly if it and flags is true.
2575         (DISASSEMBLY_RAW_INSN): Include the raw instructions in hex with
2576         the assembly if it and flags is true.
2577         (gdb_disassembly): Update extern.
2578         * NEWS: Document disassemble/r support.
2579
2580 2009-07-10  Tom Tromey  <tromey@redhat.com>
2581
2582         * dwarf2-frame.c: Include dwarf2.h, not elf/dwarf2.h.
2583         * dwarf2expr.c: Likewise.
2584         * dwarf2loc.c: Likewise.
2585         * dwarf2read.c: Likewise.
2586         * sh-tdep.c: Likewise.
2587         * xtensa-tdep.c: Likewise.
2588
2589 2009-07-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
2590
2591         Tidy up the code.
2592         * mi/mi-cmd-var.c (mi_cmd_var_update): Remove variable nv.  Move
2593         variables var, rootlist and cr to their local sub-block.  Move the
2594         make_cleanup_ui_out_tuple_begin_end, make_cleanup_ui_out_list_begin_end
2595         and do_cleanups calls to the common base block.  Remove the zero NV
2596         check.
2597
2598 2009-07-10 Phil Muldoon  <pmuldoon@redhat.com>
2599
2600         * python/python-internal.h (apply_varobj_pretty_printer): Update
2601         definition.
2602         (python_string_to_target_python_string): Add definition.
2603         * python/python-utils.c (unicode_to_encoded_python_string)
2604         (unicode_to_target_python_string)
2605         (python_string_to_target_python_string): New Functions.
2606         * python/python-prettyprint.c (pretty_print_one_value): Likewise.
2607         (print_string_repr): Refactor to logic to account for PyObject
2608         returned strings.
2609         (apply_varobj_pretty_printer): Likewise.
2610         * python/python-value.c (valpy_string): Parse length keyword. Use
2611         length keyword in LA_GET_STRING.
2612         * varobj.c (value_get_print_value): Refactor logic to account for
2613         PyObject returned strings.
2614         * c-lang.c (c_get_string): If the length parameter is specified,
2615         use that. Return value in characters. Update comments.
2616         * language.h: Update c_get_string prototype comments.
2617
2618 2009-07-09  Doug Evans  <dje@google.com>
2619
2620         * i386-tdep.c (i386_displaced_step_fixup): Fix order of arguments
2621         to read_memory_unsigned_integer.
2622
2623 2009-07-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
2624
2625         Report error on inaccessible memory.
2626         * cli/cli-dump.c: Include gdbcore.h.
2627         (dump_memory_to_file): Call read_memory instead of target_read_memory.
2628
2629 2009-07-09  Hui Zhu  <teawater@gmail.com>
2630
2631         * solib.c (solib_bfd_open): Output a warning if solib's
2632         architecture is not compatible with inferior's architecture.
2633
2634 2009-07-09  Ulrich Weigand  <uweigand@de.ibm.com>
2635             Jan Kratochvil  <jan.kratochvil@redhat.com>
2636
2637         * target.h (struct target_ops <to_thread_architecture>): Describe it.
2638         (target_thread_architecture): Refer to to_thread_architecture.
2639
2640 2009-07-08  Pierre Muller  <muller@ics.u-strasbg.fr>
2641
2642         * cli/cli-cmds.c (init_cli_cmds): Add "inf" alias for "info" command.
2643
2644 2009-07-07  Ulrich Weigand  <uweigand@de.ibm.com>
2645
2646         * tui/tui-stack.c (tui_make_status_line): Display PC as ?? if unknown.
2647
2648 2009-07-07  Pierre Muller  <muller@ics.u-strasbg.fr>
2649
2650         * breakpoint.c (set_raw_breakpoint): Remove static modifier.
2651
2652 2009-07-07  Tom Tromey  <tromey@redhat.com>
2653
2654         * c-lang.c (convert_octal): Only allow 3 octal digits.
2655         (print_wchar): Prefer 3-digit octal form.  Fall back to hex if
2656         needed.
2657         * c-exp.y (c_parse_escape): Only allow 3 octal digits.
2658
2659 2009-07-07  Paul Pluzhnikov  <ppluzhnikov@google.com>
2660
2661         * python/python-value.c (valpy_getitem): Remove incorrect assert.
2662         
2663 2009-07-07  Paul Pluzhnikov  <ppluzhnikov@google.com>
2664
2665         * python/python-value.c (valpy_getitem): Don't return from TRY_CATCH.
2666
2667 2009-07-07  Sami Wagiaalla  <swagiaal@redhat.com>
2668
2669         * cp-support.h (struct using_direct): Rename members inner and
2670         outer to import_src, and import_dest respectively.
2671         * cp-namespace.c (cp_add_using_directive): Update.
2672         (cp_add_using): Update.
2673         (cp_copy_usings): Update.
2674         (cp_lookup_symbol_namespace): Update.
2675         (cp_scan_for_anonymous_namespaces): Update.
2676         * cp-support.c (make_symbol_overload_list_using): Update.
2677         * cp-support.h (cp_add_using_directive, cp_add_using): Rename
2678         arguments from inner and outer to src and dest respectively.
2679         * cp-namespace.c (cp_add_using_directive): Ditto.
2680         (cp_add_using): Ditto.
2681
2682 2009-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
2683
2684         * mi/mi-cmd-var.c (mi_cmd_var_update): Replace a while loop by for loop.
2685         * varobj.c (varobj_invalidate): Replace a while loop by for loop.
2686
2687 2009-07-07  Vladimir Prus  <vladimir@codesourcery.com>
2688
2689         Fix hang in floating varobjs.
2690
2691         * varobj.c (varobj_invalidate): Advance to next
2692         element when processing floating varobj.
2693
2694 2009-07-07  Vladimir Prus  <vladimir@codesourcery.com>
2695
2696         * varobj.c: Remove unnecessary include.
2697
2698 2009-07-07  Tristan Gingold  <gingold@adacore.com>
2699
2700         * config/i386/darwin.mh (NATDEPFILES): Remove excServer.o.
2701         Remove excServer.c target.  Remove _all target.
2702         * darwin.defs: Removed.
2703
2704 2009-07-06  Aleksandar Ristovski  <aristovski@qnx.com>
2705
2706         * configure.tgt (i[34567]86-*-nto*): Add build_gdbserver=yes.
2707
2708 2009-07-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
2709
2710         * source.c (find_and_open_source): Remove the `objfile' parameter.
2711         Update the function comment.
2712         (open_source_file, symtab_to_fullname, psymtab_to_fullname): Update the
2713         find_and_open_source callers.
2714
2715 2009-07-05  Pedro Alves  <pedro@codesourcery.com>
2716
2717         * coff-pe-read.c (read_pe_exported_syms): Recognize
2718         "pe-arm-wince-little" and "pei-arm-wince-little" bfd targets as PE
2719         targets.
2720
2721 2009-07-05  Pedro Alves  <pedro@codesourcery.com>
2722
2723         * arm-wince-tdep.c (arm_wince_skip_main_prologue): New.
2724         (arm_wince_init_abi): Register it as gdbarch_skip_main_prologue
2725         callback.
2726
2727 2009-06-29  Tristan Gingold  <gingold@adacore.com>
2728
2729         * i386-darwin-tdep.c (amd64_darwin_thread_state_reg_offset)
2730         (amd64_darwin_thread_state_num_regs)
2731         (amd64_darwin_sigcontext_addr, x86_darwin_init_abi_64): Moved to
2732         amd64-darwin-tdep.c
2733         (_initialize_i386_darwin_tdep): Remove 64 bits parts.
2734         (darwin_dwarf_signal_frame_p): Make public.
2735         * amd64-darwin-tdep.c: New file with most chunks from
2736         i386-darwin-tdep.c      
2737         * i386-darwin-tdep.h: Add a prototype for darwin_dwarf_signal_frame_p.
2738         (amd64_darwin_thread_state_reg_offset)
2739         (amd64_darwin_thread_state_num_regs): Moved to amd64-darwin-tdep.h
2740         * amd64-darwin-tdep.h: New file.
2741         * i386-darwin-nat.c: Only includes amd64-nat.h and amd64-darwin-tdep.h
2742         if BFD64 is defined.
2743         (i386_darwin_fetch_inferior_registers): Add #ifdef BFD64/#endif around
2744         64 bits parts.
2745         (i386_darwin_store_inferior_registers): Ditto.
2746         (darwin_set_sstep): Ditto.
2747         (darwin_complete_target): Ditto.
2748         (amd64_darwin_sstep_at_sigreturn): Ditto.
2749         * configure.tgt: Create a separate entry for x86_64-*-darwin.
2750         Add 64 bits support for i386-*-darwin if --enable-64-bit-bfd.
2751         * Makefile.in (ALLDEPFILES): Add amd64-darwin-tdep.c, darwin-nat.c,
2752         i386-darwin-tdep.c i386-darwin-nat.c
2753         (ALL_64_TARGET_OBS): Add amd64-darwin-tdep.o
2754         
2755 2009-07-02  Pedro Alves  <pedro@codesourcery.com>
2756
2757         * linux-fork.c (forks_exist_p): Drop unnecessary extern.
2758         (add_fork, linux_fork_killall, linux_fork_mourn_inferior)
2759         (linux_fork_detach): Ditto.
2760         (delete_fork_command): Rename to ...
2761         (delete_checkpoint_command): ... this.
2762         (detach_fork_command): Rename to ...
2763         (detach_checkpoint_command): ... this.
2764         (info_forks_command): Rename to ...
2765         (info_checkpoints_command): ... this.
2766         (_initialize_linux_fork): Remove stale comments.  Adjust.
2767
2768 2009-07-02  Pedro Alves  <pedro@codesourcery.com>
2769
2770         * linux-nat.c (linux_child_follow_fork): If we're staying attached
2771         to the child process, enable event reporting on it.  Don't handle
2772         checkpoints here.  Instead, add the child fork to the lwp thread
2773         and inferior lists without clobbering the previous inferior.  Let
2774         the thread_db layer learn about a new child process, even if
2775         following the parent.
2776         (linux_nat_switch_fork): Delete lwps of the current inferior only,
2777         instead of clearing the whole list.  Use thread_change_ptid to
2778         give the core the illusion the new checkpoint is still the same
2779         inferior.  Clear the register cache.
2780         (linux_handle_extended_wait): Handle checkpoints here.
2781         (linux_multi_process): Turn on.
2782         * linux-fork.c (struct fork_info) <pc>: Remove field.
2783         (init_fork_list): Do not delete the checkpoint from the inferior
2784         list (it is not there).
2785         (fork_load_infrun_state): Don't switch inferior_ptid here.  Pass
2786         the new checkpoint's ptid to linux_nat_switch_fork.
2787         (fork_save_infrun_state): Make static.  Don't stop the pc field of
2788         fork_info, it's gone.
2789         (linux_fork_mourn_inferior): Don't delete the checkpoint from the
2790         inferior list, it's not there.
2791         (linux_fork_detach): Ditto.
2792         (delete_fork_command): Replace mention of fork/checkpoint by
2793         checkpoint only.
2794         (detach_fork_command): Likewise.  Don't delete the checkpoint from
2795         the inferior list.
2796         (info_forks_command): Adjust.
2797         (restore_detach_fork): Delete.
2798         (checkpointing_pid): New.
2799         (linux_fork_checkpointing_p): New.
2800         (save_detach_fork): Delete.
2801         (checkpoint_command): Delete temp_detach_fork.  Don't remove
2802         breakpoints, that's a nop.  Store the pid of the process we're
2803         checkpointing, and use make_cleanup_restore_integer to restore it.
2804         Don't reinsert breakpoints here.
2805         (process_command, fork_command): Delete.
2806         (restart_command): Update comments to only mention checkpoints,
2807         not forks.
2808         (_initialize_linux_fork): Delete "fork", "process", "info forks"
2809         commands.
2810         * linux-fork.h (fork_save_infrun_state, fork_list): Delete
2811         declarations.
2812         (linux_fork_checkpointing_p): Declare.
2813         * cli/cli-cmds.c (killlist): New.
2814         * cli/cli-cmds.h (killlist): Declare.
2815         * gdbcmd.h (killlist): Declare.
2816         * inferior.c: Include "gdbthread.h".
2817         (detach_inferior_command, kill_inferior_command)
2818         (inferior_command): New.
2819         (info_inferiors_command): Allow specifying a specific inferior id.
2820         (_initialize_inferiors): Register "inferior", "kill inferior" and
2821         "detach inferior" commands.
2822         * infcmd.c (_initialize_infcmd): Make "kill" a prefix command.
2823         * gdbthread.h (any_thread_of_process): Declare.
2824         * thread.c (any_thread_of_process): New.
2825
2826         * NEWS: Mention multi-inferior debugging.  Mention 'info
2827         inferiors', 'inferior', 'detach inferior' and 'kill inferior' as
2828         new commands.
2829         (Removed commands): New section, mentioning that 'info forks',
2830         'fork', 'process', 'delete fork' and 'detach fork' are now gone.
2831
2832 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
2833
2834         * gdbarch.sh (current_gdbarch): Remove global variable.
2835         (find_arch_by_info): Remove, inline into ...
2836         (gdbarch_find_by_info): ... this.  Remove current_gdbarch swapping.
2837         (deprecated_current_gdbarch_select_hack): Rename to ...
2838         (deprecated_target_gdbarch_select_hack): ... this.  Do not set
2839         or access current_gdbarch.
2840         * gdbarch.c, gdbarch.h: Regenerate.
2841
2842         * arch-utils.c (gdbarch_update_p): Update call.
2843         (set_gdbarch_from_file): Likewise.
2844
2845 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
2846
2847         * defs.h (extract_signed_integer, extract_unsigned_integer,
2848         extract_long_unsigned_integer, store_signed_integer,
2849         store_unsigned_integer): Add BYTE_ORDER parameter.
2850         * findvar.c (extract_signed_integer, extract_unsigned_integer,
2851         extract_long_unsigned_integer, store_signed_integer,
2852         store_unsigned_integer): Add BYTE_ORDER parameter.  Use it
2853         instead of current_gdbarch.
2854
2855         * gdbcore.h (read_memory_integer, safe_read_memory_integer,
2856         read_memory_unsigned_integer, write_memory_signed_integer,
2857         write_memory_unsigned_integer): Add BYTE_ORDER parameter.
2858         * corefile.c (struct captured_read_memory_integer_arguments): Add
2859         BYTE_ORDER member.
2860         (safe_read_memory_integer): Add BYTE_ORDER parameter.  Store it into
2861         struct captured_read_memory_integer_arguments.
2862         (do_captured_read_memory_integer): Pass it to read_memory_integer.
2863         (read_memory_integer): Add BYTE_ORDER parameter.  Pass it to
2864         extract_signed_integer.
2865         (read_memory_unsigned_integer): Add BYTE_ORDER parameter.  Pass it to
2866         extract_unsigned_integer.
2867         (write_memory_signed_integer): Add BYTE_ORDER parameter.  Pass it
2868         to store_signed_integer.
2869         (write_memory_unsigned_integer): Add BYTE_ORDER parameter.  Pass it
2870         to store_unsigned_integer.
2871
2872         * target.h (get_target_memory_unsigned): Add BYTE_ORDER parameter.
2873         * target.c (get_target_memory_unsigned): Add BYTE_ORDER parameter.
2874         Pass it to extract_unsigned_integer.
2875
2876
2877         Update calls to extract_signed_integer, extract_unsigned_integer,
2878         extract_long_unsigned_integer, store_signed_integer,
2879         store_unsigned_integer, read_memory_integer,
2880         read_memory_unsigned_integer, safe_read_memory_integer,
2881         write_memory_signed_integer, write_memory_unsigned_integer, and
2882         get_target_memory_unsigned to pass byte order:
2883         * ada-lang.c (ada_value_binop): Update.
2884         * ada-valprint.c (char_at): Update.
2885         * alpha-osf1-tdep.c (alpha_osf1_sigcontext_addr): Update.
2886         * alpha-tdep.c (alpha_lds, alpha_sts, alpha_push_dummy_call,
2887         alpha_extract_return_value, alpha_read_insn,
2888         alpha_get_longjmp_target): Update.
2889         * amd64-linux-tdep.c (amd64_linux_sigcontext_addr): Update.
2890         * amd64obsd-tdep.c (amd64obsd_supply_uthread,
2891         amd64obsd_collect_uthread, amd64obsd_trapframe_cache): Update.
2892         * amd64-tdep.c (amd64_push_dummy_call, amd64_analyze_prologue,
2893         amd64_frame_cache, amd64_sigtramp_frame_cache, fixup_riprel,
2894         amd64_displaced_step_fixup): Update.
2895         * arm-linux-tdep.c (arm_linux_sigreturn_init,
2896         arm_linux_rt_sigreturn_init, arm_linux_supply_gregset): Update.
2897         * arm-tdep.c (thumb_analyze_prologue, arm_skip_prologue,
2898         arm_scan_prologue, arm_push_dummy_call, thumb_get_next_pc,
2899         arm_get_next_pc, arm_extract_return_value, arm_store_return_value,
2900         arm_return_value): Update.
2901         * arm-wince-tdep.c (arm_pe_skip_trampoline_code): Update.
2902         * auxv.c (default_auxv_parse): Update.
2903         * avr-tdep.c (avr_address_to_pointer, avr_pointer_to_address,
2904         avr_scan_prologue, avr_extract_return_value,
2905         avr_frame_prev_register, avr_push_dummy_call): Update.
2906         * bsd-uthread.c (bsd_uthread_check_magic, bsd_uthread_lookup_offset,
2907         bsd_uthread_wait, bsd_uthread_thread_alive,
2908         bsd_uthread_extra_thread_info): Update.
2909         * c-lang.c (c_printstr, print_wchar): Update.
2910         * cp-valprint.c (cp_print_class_member): Update.
2911         * cris-tdep.c (cris_sigcontext_addr, cris_sigtramp_frame_unwind_cache,
2912         cris_push_dummy_call, cris_scan_prologue, cris_store_return_value,
2913         cris_extract_return_value, find_step_target, dip_prefix,
2914         sixteen_bit_offset_branch_op, none_reg_mode_jump_op,
2915         move_mem_to_reg_movem_op, get_data_from_address): Update.
2916         * dwarf2expr.c (dwarf2_read_address, execute_stack_op): Update.
2917         * dwarf2-frame.c (execute_cfa_program): Update.
2918         * dwarf2loc.c (find_location_expression): Update.
2919         * dwarf2read.c (dwarf2_const_value): Update.
2920         * expprint.c (print_subexp_standard): Update.
2921         * findvar.c (unsigned_pointer_to_address, signed_pointer_to_address,
2922         unsigned_address_to_pointer, address_to_signed_pointer,
2923         read_var_value): Update.
2924         * frame.c (frame_unwind_register_signed,
2925         frame_unwind_register_unsigned, get_frame_memory_signed,
2926         get_frame_memory_unsigned): Update.
2927         * frame-unwind.c (frame_unwind_got_constant): Update.
2928         * frv-linux-tdep.c (frv_linux_pc_in_sigtramp,
2929         frv_linux_sigcontext_reg_addr, frv_linux_sigtramp_frame_cache):
2930         Update.
2931         * frv-tdep.c (frv_analyze_prologue, frv_skip_main_prologue,
2932         frv_extract_return_value, find_func_descr,
2933         frv_convert_from_func_ptr_addr, frv_push_dummy_call): Update.
2934         * f-valprint.c (f_val_print): Update.
2935         * gnu-v3-abi.c (gnuv3_decode_method_ptr, gnuv3_make_method_ptr):
2936         Update.
2937         * h8300-tdep.c (h8300_is_argument_spill, h8300_analyze_prologue,
2938         h8300_push_dummy_call, h8300_extract_return_value,
2939         h8300h_extract_return_value, h8300_store_return_value,
2940         h8300h_store_return_value): Update.
2941         * hppabsd-tdep.c (hppabsd_find_global_pointer): Update.
2942         * hppa-hpux-nat.c (hppa_hpux_fetch_register, hppa_hpux_store_register):
2943         Update.
2944         * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline,
2945         hppa64_hpux_in_solib_call_trampoline,
2946         hppa_hpux_in_solib_return_trampoline, hppa_hpux_skip_trampoline_code,
2947         hppa_hpux_sigtramp_frame_unwind_cache,
2948         hppa_hpux_sigtramp_unwind_sniffer, hppa32_hpux_find_global_pointer,
2949         hppa64_hpux_find_global_pointer, hppa_hpux_search_pattern,
2950         hppa32_hpux_search_dummy_call_sequence,
2951         hppa64_hpux_search_dummy_call_sequence, hppa_hpux_supply_save_state,
2952         hppa_hpux_unwind_adjust_stub): Update.
2953         * hppa-linux-tdep.c (insns_match_pattern,
2954         hppa_linux_find_global_pointer): Update.
2955         * hppa-tdep.c (hppa_in_function_epilogue_p, hppa32_push_dummy_call,
2956         hppa64_convert_code_addr_to_fptr, hppa64_push_dummy_call,
2957         skip_prologue_hard_way, hppa_frame_cache, hppa_fallback_frame_cache,
2958         hppa_pseudo_register_read, hppa_frame_prev_register_helper,
2959         hppa_match_insns): Update.
2960         * hpux-thread.c (hpux_thread_fetch_registers): Update.
2961         * i386-tdep.c (i386bsd_sigcontext_addr): Update.
2962         * i386-cygwin-tdep.c (core_process_module_section): Update.
2963         * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn,
2964         amd64_darwin_sstep_at_sigreturn): Update.
2965         * i386-darwin-tdep.c (i386_darwin_sigcontext_addr,
2966         amd64_darwin_sigcontext_addr): Likewise.
2967         * i386-linux-nat.c (i386_linux_sigcontext_addr): Update.
2968         * i386nbsd-tdep.c (i386nbsd_sigtramp_cache_init): Update.
2969         * i386-nto-tdep.c (i386nto_sigcontext_addr): Update.
2970         * i386obsd-nat.c (i386obsd_supply_pcb): Update.
2971         * i386obsd-tdep.c (i386obsd_supply_uthread, i386obsd_collect_uthread,
2972         i386obsd_trapframe_cache): Update.
2973         * i386-tdep.c (i386_displaced_step_fixup, i386_follow_jump,
2974         i386_analyze_frame_setup, i386_analyze_prologue,
2975         i386_skip_main_prologue, i386_frame_cache, i386_sigtramp_frame_cache,
2976         i386_get_longjmp_target, i386_push_dummy_call,
2977         i386_pe_skip_trampoline_code, i386_svr4_sigcontext_addr,
2978         i386_fetch_pointer_argument): Update.
2979         * i387-tdep.c (i387_supply_fsave): Update.
2980         * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Update.
2981         * ia64-tdep.c (ia64_pseudo_register_read, ia64_pseudo_register_write,
2982         examine_prologue, ia64_frame_cache, ia64_frame_prev_register,
2983         ia64_sigtramp_frame_cache, ia64_sigtramp_frame_prev_register,
2984         ia64_access_reg, ia64_access_rse_reg, ia64_libunwind_frame_this_id,
2985         ia64_libunwind_frame_prev_register,
2986         ia64_libunwind_sigtramp_frame_this_id,
2987         ia64_libunwind_sigtramp_frame_prev_register, ia64_find_global_pointer,
2988         find_extant_func_descr, find_func_descr,
2989         ia64_convert_from_func_ptr_addr, ia64_push_dummy_call, ia64_dummy_id,
2990         ia64_unwind_pc): Update.
2991         * iq2000-tdep.c (iq2000_pointer_to_address, iq2000_address_to_pointer,
2992         iq2000_scan_prologue, iq2000_extract_return_value,
2993         iq2000_push_dummy_call): Update.
2994         * irix5nat.c (fill_gregset): Update.
2995         * jv-lang.c (evaluate_subexp_java): Update.
2996         * jv-valprint.c (java_value_print): Update.
2997         * lm32-tdep.c (lm32_analyze_prologue, lm32_push_dummy_call, 
2998         lm32_extract_return_value, lm32_store_return_value): Update.
2999         * m32c-tdep.c (m32c_push_dummy_call, m32c_return_value,
3000         m32c_skip_trampoline_code, m32c_m16c_address_to_pointer,
3001         m32c_m16c_pointer_to_address): Update.
3002         * m32r-tdep.c (m32r_store_return_value, decode_prologue,
3003         m32r_skip_prologue, m32r_push_dummy_call, m32r_extract_return_value):
3004         Update.
3005         * m68hc11-tdep.c (m68hc11_pseudo_register_read,
3006         m68hc11_pseudo_register_write, m68hc11_analyze_instruction,
3007         m68hc11_push_dummy_call): Update.
3008         * m68linux-tdep.c (m68k_linux_pc_in_sigtramp,
3009         m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache):
3010         Update.
3011         * m68k-tdep.c (m68k_push_dummy_call, m68k_analyze_frame_setup,
3012         m68k_analyze_register_saves, m68k_analyze_prologue, m68k_frame_cache,
3013         m68k_get_longjmp_target): Update.
3014         * m88k-tdep.c (m88k_fetch_instruction): Update.
3015         * mep-tdep.c (mep_pseudo_cr32_read, mep_pseudo_csr_write,
3016         mep_pseudo_cr32_write, mep_get_insn, mep_push_dummy_call): Update.
3017         * mi/mi-main.c (mi_cmd_data_write_memory): Update.
3018         * mips-linux-tdep.c (mips_linux_get_longjmp_target, supply_32bit_reg,
3019         mips64_linux_get_longjmp_target, mips64_fill_gregset,
3020         mips64_fill_fpregset, mips_linux_in_dynsym_stub): Update.
3021         * mipsnbdsd-tdep.c (mipsnbsd_get_longjmp_target): Update.
3022         * mips-tdep.c (mips_fetch_instruction, fetch_mips_16,
3023         mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call,
3024         mips_o32_push_dummy_call, mips_o64_push_dummy_call, 
3025         mips_single_step_through_delay, mips_skip_pic_trampoline_code,
3026         mips_integer_to_address): Update.
3027         * mn10300-tdep.c (mn10300_analyze_prologue, mn10300_push_dummy_call):
3028         Update.
3029         * monitor.c (monitor_supply_register, monitor_write_memory,
3030         monitor_read_memory_single): Update.
3031         * moxie-tdep.c (moxie_store_return_value, moxie_extract_return_value,
3032         moxie_analyze_prologue): Update.
3033         * mt-tdep.c (mt_return_value, mt_skip_prologue, mt_select_coprocessor,
3034         mt_pseudo_register_read, mt_pseudo_register_write, mt_registers_info,
3035         mt_push_dummy_call): Update.
3036         * objc-lang.c (read_objc_method, read_objc_methlist_nmethods,
3037         read_objc_methlist_method, read_objc_object, read_objc_super,
3038         read_objc_class, find_implementation_from_class): Update.
3039         * ppc64-linux-tdep.c (ppc64_desc_entry_point,
3040         ppc64_linux_convert_from_func_ptr_addr, ppc_linux_sigtramp_cache):
3041         Update.
3042         * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_sniffer,
3043         ppcobsd_sigtramp_frame_cache): Update.
3044         * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call,
3045         do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call,
3046         ppc64_sysv_abi_return_value): Update.
3047         * ppc-linux-nat.c (ppc_linux_auxv_parse): Update.
3048         * procfs.c (procfs_auxv_parse): Update.
3049         * p-valprint.c (pascal_val_print): Update.
3050         * regcache.c (regcache_raw_read_signed, regcache_raw_read_unsigned,
3051         regcache_raw_write_signed, regcache_raw_write_unsigned,
3052         regcache_cooked_read_signed, regcache_cooked_read_unsigned,
3053         regcache_cooked_write_signed, regcache_cooked_write_unsigned): Update.
3054         * remote-m32r-sdi.c (m32r_fetch_register): Update.
3055         * remote-mips.c (mips_wait, mips_fetch_registers, mips_xfer_memory):
3056         Update.
3057         * rs6000-aix-tdep.c (rs6000_push_dummy_call, rs6000_return_value,
3058         rs6000_convert_from_func_ptr_addr, branch_dest, 
3059         rs6000_software_single_step): Update.
3060         * rs6000-tdep.c (rs6000_in_function_epilogue_p,
3061         ppc_displaced_step_fixup, ppc_deal_with_atomic_sequence,
3062         bl_to_blrl_insn_p, rs6000_fetch_instruction, skip_prologue,
3063         rs6000_skip_main_prologue, rs6000_skip_trampoline_code,
3064         rs6000_frame_cache): Update.
3065         * s390-tdep.c (s390_pseudo_register_read, s390_pseudo_register_write,
3066         s390x_pseudo_register_read, s390x_pseudo_register_write, s390_load,
3067         s390_backchain_frame_unwind_cache, s390_sigtramp_frame_unwind_cache,
3068         extend_simple_arg, s390_push_dummy_call, s390_return_value): Update.
3069         * scm-exp.c (scm_lreadr): Update.
3070         * scm-lang.c (scm_get_field, scm_unpack): Update.
3071         * scm-valprint.c (scm_val_print): Update.
3072         * score-tdep.c (score_breakpoint_from_pc, score_push_dummy_call,
3073         score_fetch_inst): Update.
3074         * sh64-tdep.c (look_for_args_moves, sh64_skip_prologue_hard_way,
3075         sh64_analyze_prologue, sh64_push_dummy_call, sh64_extract_return_value,
3076         sh64_pseudo_register_read, sh64_pseudo_register_write,
3077         sh64_frame_prev_register): Update:
3078         * sh-tdep.c (sh_analyze_prologue, sh_push_dummy_call_fpu,
3079         sh_push_dummy_call_nofpu, sh_extract_return_value_nofpu,
3080         sh_store_return_value_nofpu, sh_in_function_epilogue_p): Update.
3081         * solib-darwin.c (darwin_load_image_infos): Update.
3082         * solib-frv.c (fetch_loadmap, lm_base, frv_current_sos, enable_break2,
3083         find_canonical_descriptor_in_load_object): Update.
3084         * solib-irix.c (extract_mips_address, fetch_lm_info, irix_current_sos,
3085         irix_open_symbol_file_object): Update.
3086         * solib-som.c (som_solib_create_inferior_hook, link_map_start,
3087         som_current_sos, som_open_symbol_file_object): Update.
3088         * solib-sunos.c (SOLIB_EXTRACT_ADDRESS, LM_ADDR, LM_NEXT, LM_NAME):
3089         Update.
3090         * solib-svr4.c (read_program_header, scan_dyntag_auxv,
3091         solib_svr4_r_ldsomap): Update.
3092         * sparc64-linux-tdep.c (sparc64_linux_step_trap): Update.
3093         * sparc64obsd-tdep.c (sparc64obsd_supply_uthread,
3094         sparc64obsd_collect_uthread): Update.
3095         * sparc64-tdep.c (sparc64_pseudo_register_read,
3096         sparc64_pseudo_register_write, sparc64_supply_gregset,
3097         sparc64_collect_gregset): Update.
3098         * sparc-linux-tdep.c (sparc32_linux_step_trap): Update.
3099         * sparcobsd-tdep.c (sparc32obsd_supply_uthread,
3100         sparc32obsd_collect_uthread): Update.
3101         * sparc-tdep.c (sparc_fetch_wcookie, sparc32_push_dummy_code,
3102         sparc32_store_arguments, sparc32_return_value, sparc_supply_rwindow,
3103         sparc_collect_rwindow): Update.
3104         * spu-linux-nat.c (parse_spufs_run): Update.
3105         * spu-tdep.c (spu_pseudo_register_read_spu,
3106         spu_pseudo_register_write_spu, spu_pointer_to_address,
3107         spu_analyze_prologue, spu_in_function_epilogue_p,
3108         spu_frame_unwind_cache, spu_push_dummy_call, spu_software_single_step,
3109         spu_get_longjmp_target, spu_get_overlay_table, spu_overlay_update_osect,
3110         info_spu_signal_command, info_spu_mailbox_list, info_spu_dma_cmdlist,
3111         info_spu_dma_command, info_spu_proxydma_command): Update.
3112         * stack.c (print_frame_nameless_args, frame_info): Update.
3113         * symfile.c (read_target_long_array, simple_read_overlay_table,
3114         simple_read_overlay_region_table): Update.
3115         * target.c (debug_print_register): Update.
3116         * tramp-frame.c (tramp_frame_start): Update.
3117         * v850-tdep.c (v850_analyze_prologue, v850_push_dummy_call,
3118         v850_extract_return_value, v850_store_return_value, 
3119         * valarith.c (value_binop, value_bit_index): Update.
3120         * valops.c (value_cast): Update.
3121         * valprint.c (val_print_type_code_int, val_print_string,
3122         read_string): Update.
3123         * value.c (unpack_long, unpack_double, unpack_field_as_long,
3124         modify_field, pack_long): Update.
3125         * vax-tdep.c (vax_store_arguments, vax_push_dummy_call,
3126         vax_skip_prologue): Update.
3127         * xstormy16-tdep.c (xstormy16_push_dummy_call,
3128         xstormy16_analyze_prologue, xstormy16_in_function_epilogue_p,
3129         xstormy16_resolve_jmp_table_entry, xstormy16_find_jmp_table_entry,
3130         xstormy16_pointer_to_address, xstormy16_address_to_pointer): Update.
3131         * xtensa-tdep.c (extract_call_winsize, xtensa_pseudo_register_read,
3132         xtensa_pseudo_register_write, xtensa_frame_cache,
3133         xtensa_push_dummy_call, call0_track_op, call0_frame_cache): Update.
3134
3135
3136         * dfp.h (decimal_to_string, decimal_from_string, decimal_from_integral,
3137         decimal_from_floating, decimal_to_doublest, decimal_is_zero): Add
3138         BYTE_ORDER parameter.
3139         (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT
3140         parameters.
3141         (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters.
3142         (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters.
3143         * dfp.c (match_endianness): Add BYTE_ORDER parameter.  Use it
3144         instead of current_gdbarch.
3145         (decimal_to_string, decimal_from_integral, decimal_from_floating,
3146         decimal_to_doublest, decimal_is_zero): Add BYTE_ORDER parameter.
3147         Pass it to match_endianness.
3148         (decimal_binop): Add BYTE_ORDER_X, BYTE_ORDER_Y, and BYTE_ORDER_RESULT
3149         parameters.  Pass them to match_endianness.
3150         (decimal_compare): Add BYTE_ORDER_X and BYTE_ORDER_Y parameters.
3151         Pass them to match_endianness.
3152         (decimal_convert): Add BYTE_ORDER_FROM and BYTE_ORDER_TO parameters.
3153         Pass them to match_endianness.
3154         * valarith.c (value_args_as_decimal): Add BYTE_ORDER_X and
3155         BYTE_ORDER_Y output parameters.
3156         (value_binop): Update call to value_args_as_decimal.
3157
3158         Update calls to decimal_to_string, decimal_from_string,
3159         decimal_from_integral, decimal_from_floating, decimal_to_doublest,
3160         decimal_is_zero, decimal_binop, decimal_compare and decimal_convert
3161         to pass/receive byte order:
3162         * c-exp.y (parse_number): Update.
3163         * printcmd.c (printf_command): Update.
3164         * valarith.c (value_args_as_decimal, value_binop, value_logical_not,
3165         value_equal, value_less): Update.
3166         * valops.c (value_cast, value_one): Update.
3167         * valprint.c (print_decimal_floating): Update.
3168         * value.c (unpack_long, unpack_double): Update.
3169         * python/python-value.c (valpy_nonzero): Update.
3170
3171
3172         * ada-valprint.c (char_at): Add BYTE_ORDER parameter.
3173         (printstr): Update calls to char_at.
3174         (ada_val_print_array): Likewise.
3175         * valprint.c (read_string): Add BYTE_ORDER parameter.
3176         (val_print_string): Update call to read_string.
3177         * c-lang.c (c_get_string): Likewise.
3178         * charset.h (target_wide_charset): Add BYTE_ORDER parameter.
3179         * charset.c (target_wide_charset): Add BYTE_ORDER parameter.
3180         Use it instead of current_gdbarch.
3181         * printcmd.c (printf_command): Update calls to target_wide_charset.
3182         * c-lang.c (charset_for_string_type): Add BYTE_ORDER parameter.
3183         Pass to target_wide_charset.  Use it instead of current_gdbarch.
3184         (classify_type): Add BYTE_ORDER parameter.  Pass to
3185         charset_for_string_type.  Allow NULL encoding pointer.
3186         (print_wchar): Add BYTE_ORDER parameter.
3187         (c_emit_char): Update calls to classify_type and print_wchar.
3188         (c_printchar, c_printstr): Likewise.
3189
3190
3191         * gdbarch.sh (in_solib_return_trampoline): Convert to type "m".
3192         * gdbarch.c, gdbarch.h: Regenerate.
3193         * arch-utils.h (generic_in_solib_return_trampoline): Add GDBARCH
3194         parameter.
3195         * arch-utils.c (generic_in_solib_return_trampoline): Likewise.
3196         * hppa-hpux-tdep.c (hppa_hpux_in_solib_return_trampoline): Likewise.
3197         * rs6000-tdep.c (rs6000_in_solib_return_trampoline): Likewise.
3198         (rs6000_skip_trampoline_code): Update call.
3199
3200         * alpha-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to
3201         dynamic_sigtramp_offset and pc_in_sigtramp callbacks.
3202         (alpha_read_insn): Add GDBARCH parameter.
3203         * alpha-tdep.c (alpha_lds, alpha_sts): Add GDBARCH parameter.
3204         (alpha_register_to_value): Pass architecture to alpha_sts.
3205         (alpha_extract_return_value): Likewise.
3206         (alpha_value_to_register): Pass architecture to alpha_lds.
3207         (alpha_store_return_value): Likewise.
3208         (alpha_read_insn): Add GDBARCH parameter.
3209         (alpha_skip_prologue): Pass architecture to alpha_read_insn.
3210         (alpha_heuristic_proc_start): Likewise.
3211         (alpha_heuristic_frame_unwind_cache): Likewise.
3212         (alpha_next_pc): Likewise.
3213         (alpha_sigtramp_frame_this_id): Pass architecture to
3214         tdep->dynamic_sigtramp_offset callback.
3215         (alpha_sigtramp_frame_sniffer): Pass architecture to
3216         tdep->pc_in_sigtramp callback.
3217         * alphafbsd-tdep.c (alphafbsd_pc_in_sigtramp): Add GDBARCH parameter.
3218         (alphafbsd_sigtramp_offset): Likewise.
3219         * alpha-linux-tdep.c (alpha_linux_sigtramp_offset_1): Add GDBARCH
3220         parameter.  Pass to alpha_read_insn.
3221         (alpha_linux_sigtramp_offset): Add GDBARCH parameter.  Pass to
3222         alpha_linux_sigtramp_offset_1.
3223         (alpha_linux_pc_in_sigtramp): Add GDBARCH parameter.  Pass to
3224         alpha_linux_sigtramp_offset.
3225         (alpha_linux_sigcontext_addr): Pass architecture to alpha_read_insn
3226         and alpha_linux_sigtramp_offset.
3227         * alphanbsd-tdep.c (alphanbsd_sigtramp_offset): Add GDBARCH parameter.
3228         (alphanbsd_pc_in_sigtramp): Add GDBARCH parameter.  Pass to
3229         alphanbsd_sigtramp_offset.
3230         * alphaobsd-tdep.c (alphaobsd_sigtramp_offset): Add GDBARCH parameter.
3231         (alphaobsd_pc_in_sigtramp): Add GDBARCH parameter.  Pass to
3232         alpha_read_insn.
3233         (alphaobsd_sigcontext_addr): Pass architecture to
3234         alphaobsd_sigtramp_offset.
3235         * alpha-osf1-tdep.c (alpha_osf1_pc_in_sigtramp): Add GDBARCH
3236         parameter.
3237
3238         * amd64-tdep.c (amd64_analyze_prologue): Add GDBARCH parameter.
3239         (amd64_skip_prologue): Pass architecture to amd64_analyze_prologue.
3240         (amd64_frame_cache): Likewise.
3241
3242         * arm-tdep.c (SWAP_SHORT, SWAP_INT): Remove.
3243         (thumb_analyze_prologue, arm_skip_prologue, arm_scan_prologue,
3244         thumb_get_next_pc, arm_get_next_pc): Do not use SWAP_ macros.
3245         * arm-wince-tdep.c: Include "frame.h".
3246
3247         * avr-tdep.c (EXTRACT_INSN): Remove.
3248         (avr_scan_prologue): Add GDBARCH argument, inline EXTRACT_INSN.
3249         (avr_skip_prologue): Pass architecture to avr_scan_prologue.
3250         (avr_frame_unwind_cache): Likewise.
3251
3252         * cris-tdep.c (struct instruction_environment): Add BYTE_ORDER member.
3253         (find_step_target): Initialize it.
3254         (get_data_from_address): Add BYTE_ORDER parameter.
3255         (bdap_prefix): Pass byte order to get_data_from_address.
3256         (handle_prefix_assign_mode_for_aritm_op): Likewise.
3257         (three_operand_add_sub_cmp_and_or_op): Likewise.
3258         (handle_inc_and_index_mode_for_aritm_op): Likewise.
3259
3260         * frv-linux-tdep.c (frv_linux_pc_in_sigtramp): Add GDBARCH parameter.
3261         (frv_linux_sigcontext_reg_addr): Pass architecture to
3262         frv_linux_pc_in_sigtramp.
3263         (frv_linux_sigtramp_frame_sniffer): Likewise.
3264
3265         * h8300-tdep.c (h8300_is_argument_spill): Add GDBARCH parameter.
3266         (h8300_analyze_prologue): Add GDBARCH parameter.  Pass to
3267         h8300_is_argument_spill.
3268         (h8300_frame_cache, h8300_skip_prologue): Pass architecture
3269         to h8300_analyze_prologue.
3270
3271         * hppa-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter to
3272         in_solib_call_trampoline callback.
3273         (hppa_in_solib_call_trampoline): Add GDBARCH parameter.
3274         * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Add GDBARCH
3275         parameter.
3276         (hppa64_push_dummy_call): Pass architecture to
3277         hppa64_convert_code_addr_to_fptr.
3278         (hppa_match_insns): Add GDBARCH parameter.
3279         (hppa_match_insns_relaxed): Add GDBARCH parameter.  Pass to
3280         hppa_match_insns.
3281         (hppa_skip_trampoline_code): Pass architecture to hppa_match_insns.
3282         (hppa_in_solib_call_trampoline): Add GDBARCH parameter.  Pass to
3283         hppa_match_insns_relaxed.
3284         (hppa_stub_unwind_sniffer): Pass architecture to
3285         tdep->in_solib_call_trampoline callback.
3286         * hppa-hpux-tdep.c (hppa_hpux_search_pattern): Add GDBARCH parameter.
3287         (hppa32_hpux_search_dummy_call_sequence): Pass architecture to
3288         hppa_hpux_search_pattern.
3289         * hppa-linux-tdep.c (insns_match_pattern): Add GDBARCH parameter.
3290         (hppa_linux_sigtramp_find_sigcontext): Add GDBARCH parameter.
3291         Pass to insns_match_pattern.
3292         (hppa_linux_sigtramp_frame_unwind_cache): Pass architecture to
3293         hppa_linux_sigtramp_find_sigcontext.
3294         (hppa_linux_sigtramp_frame_sniffer): Likewise.
3295         (hppa32_hpux_in_solib_call_trampoline): Add GDBARCH parameter.
3296         (hppa64_hpux_in_solib_call_trampoline): Likewise.
3297
3298         * i386-tdep.c (i386_follow_jump): Add GDBARCH parameter.
3299         (i386_analyze_frame_setup): Add GDBARCH parameter.
3300         (i386_analyze_prologue): Add GDBARCH parameter.  Pass to
3301         i386_follow_jump and i386_analyze_frame_setup.
3302         (i386_skip_prologue): Pass architecture to i386_analyze_prologue
3303         and i386_follow_jump.
3304         (i386_frame_cache): Pass architecture to i386_analyze_prologue.
3305         (i386_pe_skip_trampoline_code): Add FRAME parameter.
3306         * i386-tdep.h (i386_pe_skip_trampoline_code): Add FRAME parameter.
3307         * i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Pass
3308         frame to i386_pe_skip_trampoline_code.
3309
3310         * ia64-tdep.h (struct gdbarch_tdep): Add GDBARCH parameter
3311         to sigcontext_register_address callback.
3312         * ia64-tdep.c (ia64_find_global_pointer): Add GDBARCH parameter.
3313         (ia64_find_unwind_table): Pass architecture to
3314         ia64_find_global_pointer.
3315         (find_extant_func_descr): Add GDBARCH parameter.
3316         (find_func_descr): Pass architecture to find_extant_func_descr
3317         and ia64_find_global_pointer.
3318         (ia64_sigtramp_frame_init_saved_regs): Pass architecture to
3319         tdep->sigcontext_register_address callback.
3320         * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address): Add
3321         GDBARCH parameter.
3322
3323         * iq2000-tdep.c (iq2000_scan_prologue): Add GDBARCH parameter.
3324         (iq2000_frame_cache): Pass architecture to iq2000_scan_prologue.
3325
3326         * lm32-tdep.c (lm32_analyze_prologue): Add GDBARCH parameter.
3327         (lm32_skip_prologue, lm32_frame_cache): Pass architecture to
3328         lm32_analyze_prologue.
3329
3330         * m32r-tdep.c (decode_prologue): Add GDBARCH parameter.
3331         (m32r_skip_prologue): Pass architecture to decode_prologue.
3332
3333         * m68hc11-tdep.c (m68hc11_analyze_instruction): Add GDBARCH parameter.
3334         (m68hc11_scan_prologue): Pass architecture to
3335         m68hc11_analyze_instruction.
3336
3337         * m68k-tdep.c (m68k_analyze_frame_setup): Add GDBARCH parameter.
3338         (m68k_analyze_prologue): Pass architecture to
3339         m68k_analyze_frame_setup.
3340
3341         * m88k-tdep.c (m88k_fetch_instruction): Add BYTE_ORDER parameter.
3342         (m88k_analyze_prologue): Add GDBARCH parameter.  Pass byte order
3343         to m88k_fetch_instruction.
3344         (m88k_skip_prologue): Pass architecture to m88k_analyze_prologue.
3345         (m88k_frame_cache): Likewise.
3346
3347         * mep-tdep.c (mep_get_insn): Add GDBARCH parameter.
3348         (mep_analyze_prologue): Pass architecture to mep_get_insn.
3349
3350         * mips-tdep.c (mips_fetch_instruction): Add GDBARCH parameter.
3351         (mips32_next_pc): Pass architecture to mips_fetch_instruction.
3352         (deal_with_atomic_sequence): Likewise.
3353         (unpack_mips16): Add GDBARCH parameter, pass to mips_fetch_instruction.
3354         (mips16_scan_prologue): Likewise.
3355         (mips32_scan_prologue): Likewise.
3356         (mips16_in_function_epilogue_p): Likewise.
3357         (mips32_in_function_epilogue_p): Likewise.
3358         (mips_about_to_return): Likewise.
3359         (mips_insn16_frame_cache): Pass architecture to mips16_scan_prologue.
3360         (mips_insn32_frame_cache): Pass architecture to mips32_scan_prologue.
3361         (mips_skip_prologue): Pass architecture to mips16_scan_prologue
3362         and mips32_scan_prologue.
3363         (mips_in_function_epilogue_p): Pass architecture to
3364         mips16_in_function_epilogue_p and
3365         mips32_in_function_epilogue_p.
3366         (heuristic_proc_start): Pass architecture to mips_fetch_instruction
3367         and mips_about_to_return.
3368         (mips_skip_mips16_trampoline_code): Pass architecture to
3369         mips_fetch_instruction.
3370         (fetch_mips_16): Add GDBARCH parameter.
3371         (mips16_next_pc): Pass architecture to fetch_mips_16.
3372         (extended_mips16_next_pc): Pass architecture to unpack_mips16 and
3373         fetch_mips_16.
3374
3375         * objc-lang.c (read_objc_method, read_objc_methlist_nmethods,
3376         read_objc_methlist_method, read_objc_object, read_objc_super,
3377         read_objc_class): Add GDBARCH parameter.
3378         (find_implementation_from_class): Add GDBARCH parameter, pass
3379         to read_objc_class, read_objc_methlist_nmethods, and
3380         read_objc_methlist_method.
3381         (find_implementation): Add GDBARCH parameter, pass to
3382         read_objc_object and find_implementation_from_class.
3383         (resolve_msgsend, resolve_msgsend_stret): Pass architecture
3384         to find_implementation.
3385         (resolve_msgsend_super, resolve_msgsend_super_stret): Pass
3386         architecture to read_objc_super and find_implementation_from_class.
3387
3388         * ppc64-linux-tdep.c (ppc64_desc_entry_point): Add GDBARCH parameter.
3389         (ppc64_standard_linkage1_target, ppc64_standard_linkage2_target,
3390         ppc64_standard_linkage3_target): Pass architecture to
3391         ppc64_desc_entry_point.
3392         * rs6000-tdep.c (bl_to_blrl_insn_p): Add BYTE_ORDER parameter.
3393         (skip_prologue): Pass byte order to bl_to_blrl_insn_p.
3394         (rs6000_fetch_instruction): Add GDBARCH parameter.
3395         (rs6000_skip_stack_check): Add GDBARCH parameter, pass to
3396         rs6000_fetch_instruction.
3397         (skip_prologue): Pass architecture to rs6000_fetch_instruction.
3398         
3399         * remote-mips.c (mips_store_word): Return old_contents as host
3400         integer value instead of target bytes.
3401
3402         * s390-tdep.c (struct s390_prologue_data): Add BYTE_ORDER member.
3403         (s390_analyze_prologue): Initialize it.
3404         (extend_simple_arg): Add GDBARCH parameter.
3405         (s390_push_dummy_call): Pass architecture to extend_simple_arg.
3406
3407         * scm-lang.c (scm_get_field): Add BYTE_ORDER parameter.
3408         * scm-lang.h (scm_get_field): Add BYTE_ORDER parameter.
3409         (SCM_CAR, SCM_CDR): Pass SCM_BYTE_ORDER to scm_get_field.
3410         * scm-valprint.c (scm_scmval_print): Likewise.
3411         (scm_scmlist_print, scm_ipruk, scm_scmval_print): Define
3412         SCM_BYTE_ORDER.
3413
3414         * sh64-tdep.c (look_for_args_moves): Add GDBARCH parameter.
3415         (sh64_skip_prologue_hard_way): Add GDBARCH parameter, pass to
3416         look_for_args_moves.
3417         (sh64_skip_prologue): Pass architecture to
3418         sh64_skip_prologue_hard_way.
3419         * sh-tdep.c (sh_analyze_prologue): Add GDBARCH parameter.
3420         (sh_skip_prologue): Pass architecture to sh_analyze_prologue.
3421         (sh_frame_cache): Likewise.
3422
3423         * solib-irix.c (extract_mips_address): Add GDBARCH parameter.
3424         (fetch_lm_info, irix_current_sos, irix_open_symbol_file_object):
3425         Pass architecture to extract_mips_address.
3426
3427         * sparc-tdep.h (sparc_fetch_wcookie): Add GDBARCH parameter.
3428         * sparc-tdep.c (sparc_fetch_wcookie): Add GDBARCH parameter.
3429         (sparc_supply_rwindow, sparc_collect_rwindow): Pass architecture
3430         to sparc_fetch_wcookie.
3431         (sparc32_frame_prev_register): Likewise.
3432         * sparc64-tdep.c (sparc64_frame_prev_register): Likewise.
3433         * sparc32nbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise.
3434         * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise.
3435
3436         * spu-tdep.c (spu_analyze_prologue): Add GDBARCH parameter.
3437         (spu_skip_prologue): Pass architecture to spu_analyze_prologue.
3438         (spu_virtual_frame_pointer): Likewise.
3439         (spu_frame_unwind_cache): Likewise.
3440         (info_spu_mailbox_list): Add BYTE_ORER parameter.
3441         (info_spu_mailbox_command): Pass byte order to info_spu_mailbox_list.
3442         (info_spu_dma_cmdlist): Add BYTE_ORER parameter.
3443         (info_spu_dma_command, info_spu_proxydma_command): Pass byte order
3444         to info_spu_dma_cmdlist.
3445
3446         * symfile.c (read_target_long_array): Add GDBARCH parameter.
3447         (simple_read_overlay_table, simple_read_overlay_region_table,
3448         simple_overlay_update_1): Pass architecture to read_target_long_array.
3449
3450         * v850-tdep.c (v850_analyze_prologue): Add GDBARCH parameter.
3451         (v850_frame_cache): Pass architecture to v850_analyze_prologue.
3452
3453         * xstormy16-tdep.c (xstormy16_analyze_prologue): Add GDBARCH
3454         parameter.
3455         (xstormy16_skip_prologue, xstormy16_frame_cache): Pass architecture
3456         to xstormy16_analyze_prologue.
3457         (xstormy16_resolve_jmp_table_entry): Add GDBARCH parameter.
3458         (xstormy16_find_jmp_table_entry): Likewise.
3459         (xstormy16_skip_trampoline_code): Pass architecture to
3460         xstormy16_resolve_jmp_table_entry.
3461         (xstormy16_pointer_to_address): Likewise.
3462         (xstormy16_address_to_pointer): Pass architecture to
3463         xstormy16_find_jmp_table_entry.
3464
3465         * xtensa-tdep.c (call0_track_op): Add GDBARCH parameter.
3466         (call0_analyze_prologue): Add GDBARCH parameter, pass to
3467         call0_track_op.
3468         (call0_frame_cache): Pass architecture to call0_analyze_prologue.
3469         (xtensa_skip_prologue): Likewise.
3470
3471 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
3472
3473         * defs.h (strlen_paddr, paddr, paddr_nz): Remove.
3474         (paddress): Add GDBARCH parameter.
3475         * utils.c (strlen_paddr, paddr, paddr_nz): Remove.
3476         (paddress): Add GDBARCH parameter, use it instead of current_gdbarch.
3477         * ui-out.h (ui_out_field_core_addr): Add GDBARCH parameter.
3478         * ui-out.c (ui_out_field_core_addr): Add GDBARCH parameter,
3479         use it instead of current_gdbarch.
3480
3481         Update calls to ui_out_field_core_addr to pass architecture:
3482         * ada-lang.c (print_one_exception): Update.
3483         * breakpoint.c (print_one_breakpoint_location,
3484         print_one_exception_catchpoint): Update.
3485         * disasm.c (dump_insns): Update.
3486         * darwin-nat-info.c (darwin_debug_regions_recurse): Update.
3487         * mi/mi-main.c (mi_cmd_data_read_memory): Update.
3488         * mi/mi-symbol-cmds.c: Include "objfiles.h".
3489         (mi_cmd_symbol_list_lines): Update.
3490         * stack.c (print_frame_info, print_frame): Update.
3491
3492         Update callers of paddress to pass architecture:
3493         * ada-tasks.c (info_task): Update.
3494         * ada-valprint.c (ada_val_print_1): Update.
3495         * annotate.c (annotate_source, annotate_frame_begin): Update.
3496         * breakpoint.c (insert_bp_location, describe_other_breakpoints,
3497         mention): Update.
3498         * cli/cli-cmds.c (edit_command, list_command, print_disassembly):
3499         Update.
3500         * corefile.c (memory_error): Update.
3501         * c-valprint.c (print_function_pointer_address, c_val_print): Update.
3502         * disasm.c (dis_asm_print_address): Update.
3503         * exec.c (print_section_info): Update.
3504         * f-valprint.c (f_val_print): Update.
3505         * infcmd.c: Include "arch-utils.h".
3506         (jump_command, program_info): Update.
3507         * linux-fork.c: Include "arch-utils.h".
3508         (info_forks_command): Update.
3509         * m2-valprint.c (print_function_pointer_address,
3510         print_unpacked_pointer, print_variable_at_address,
3511         m2_val_print): Update.
3512         * m32r-rom.c (m32r_load_section, m32r_load, m32r_upload_command):
3513         Update.
3514         * printcmd.c (print_address, print_address_demangle, address_info):
3515         Update.
3516         * p-valprint.c (pascal_val_print): Update.
3517         * source.c: Include "arch-utils.h".
3518         (line_info): Update.
3519         * stack.c (frame_info, print_block_frame_labels): Update.
3520         * symfile.c (add_symbol_file_command, list_overlays_command): Update.
3521         * symmisc.c (dump_msymbols, dump_psymtab, dump_symtab_1,
3522         print_symbol, print_partial_symbols, maintenance_info_psymtabs,
3523         maintenance_check_symtabs): Update.
3524         * symtab.c (find_pc_sect_symtab): Update.
3525         * target.c (deprecated_debug_xfer_memory): Update.
3526         * tracepoint.c (scope_info): Update.
3527         * tui/tui-stack.c (tui_make_status_line): Update.
3528         * valprint.c (val_print_string): Update.
3529
3530         Update callers of paddr_nz to use paddress instead (keeping
3531         user-visible output identical):
3532         * alpha-tdep.c (alpha_heuristic_proc_start): Update.
3533         * amd64-tdep.c (fixup_riprel, amd64_displaced_step_copy_insn,
3534         amd64_displaced_step_fixup): Update.
3535         * arch-utils.c (simple_displaced_step_copy_insn): Update.
3536         * auxv.c (fprint_target_auxv): Update.
3537         * breakpoint.c (insert_single_step_breakpoint): Update.
3538         * buildsym.c (finish_block): Update.
3539         * cli/cli-dump.c (restore_section_callback): Update.
3540         * fbsd-nat.c (fbsd_find_memory_regions): Update.
3541         * frame.c (frame_unwind_register_value): Update.
3542         * gcore.c (gcore_create_callback): Update.
3543         * hppa-tdep.c (hppa_frame_cache, hppa_skip_trampoline_code): Update.
3544         * i386-tdep.c (i386_displaced_step_fixup, i386_record_modrm,
3545         i386_record_lea_modrm_addr, i386_record_lea_modrm,
3546         i386_process_record): Update.
3547         * ia64-tdep.c (ia64_frame_this_id, ia64_sigtramp_frame_this_id,
3548         ia64_libunwind_frame_this_id, ia64_libunwind_sigtramp_frame_this_id,
3549         ia64_dummy_id, ia64_access_reg, ia64_access_rse_reg): Update.
3550         * infrun.c (displaced_step_prepare, displaced_step_fixup,
3551         handle_inferior_event, insert_step_resume_breakpoint_at_sal,
3552         insert_longjmp_resume_breakpoint): Update.
3553         * linux-nat.c (linux_nat_find_memory_regions): Update.
3554         * linux-record.c (record_linux_system_call): Update.
3555         * mips-tdep.c (heuristic_proc_start, mips_eabi_push_dummy_call,
3556         mips_n32n64_push_dummy_call, mips_o32_push_dummy_call,
3557         mips_o64_push_dummy_call): Update.
3558         * monitor.c (monitor_error, monitor_remove_breakpoint): Update.
3559         * record.c (record_arch_list_add_mem, record_wait,
3560         record_xfer_partial): Update.
3561         * remote-mips.c (mips_fetch_word, mips_check_lsi_error,
3562         mips_common_breakpoint): Update.
3563         * remote-sim.c (gdbsim_xfer_inferior_memory): Update.
3564         * rs6000-tdep.c (ppc_displaced_step_fixup): Update.
3565         * solib-som.c (som_current_sos): Update.
3566         * symfile.c (load_progress, generic_load): Update.
3567         * symfile-mem.c (add_vsyscall_page): Update.
3568         * valops.c (value_fetch_lazy): Update.
3569         * windows-tdep.c (windows_xfer_shared_library): Update.
3570
3571         Update callers of paddr_nz to use paddress instead (changing
3572         user-visible output to make it more correct):
3573         * dwarf2loc.c (locexpr_describe_location): Update.
3574         * ia64-tdep.c (ia64_memory_insert_breakpoint,
3575         ia64_memory_remove_breakpoint): Update.
3576         * jv-valprint.c (java_value_print): Update.
3577         * m32c-tdep.c (m32c_m16c_address_to_pointer): Update.
3578         * monitor.c (monitor_read_memory): Update.
3579
3580         Update callers of paddr to use paddress instead (changing
3581         user-visible output to make it more correct):
3582         * arm-tdep.c (arm_push_dummy_call): Update.
3583         * breakpoint.c (insert_bp_location, create_thread_event_breakpoint,
3584         create_breakpoint): Update.
3585         * darwin-nat-info.c (darwin_debug_regions): Update.
3586         * dcache.c (dcache_info): Update.
3587         * dsrec.c (load_srec, make_srec): Update.
3588         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program,
3589         dwarf2_frame_cache): Update.
3590         * gcore.c (gcore_copy_callback): Update.
3591         * gnu-nat.c (gnu_xfer_memory): Update.
3592         * mips-linux-nat.c (mips_show_dr): Update.
3593         * monitor.c (monitor_write_memory, monitor_insert_breakpoint,
3594         monitor_remove_breakpoint): Update.
3595         * remote.c (compare_sections_command): Update.
3596         * remote-m32r-sdi.c (m32r_xfer_memory, m32r_insert_breakpoint,
3597         m32r_remove_breakpoint, m32r_insert_watchpoint,
3598         m32r_remove_watchpoint): Update.
3599         * sol-thread.c (info_cb): Update.
3600         * symfile.c (load_progress): Update.
3601
3602         Update callers of paddress or paddr_nz to use hex_string instead
3603         (changes output of internal/error/debug messages only):
3604         * dwarf2read.c (dump_die_shallow): Update.
3605         * frame.c (fprint_field, fprint_frame, frame_pc_unwind,
3606         get_frame_func, create_new_frame): Update.
3607         * hppa-tdep.c (find_unwind_entry, unwind_command): Update.
3608         * ia64-tdep.c (get_kernel_table, ia64_find_proc_info_x,
3609         ia64_get_dyn_info_list): Update.
3610         * maint.c (maintenance_translate_address): Update.
3611         * mi/mi-cmd-var.c (mi_cmd_var_create): Update.
3612         * target.c (target_flash_erase): Update.
3613
3614         Update callers of paddr/paddr_nz to use phex/phex_nz instead,
3615         using an appropriate address size.  Remove use of strlen_paddr.
3616         * exec.c (exec_files_info): Update.
3617         * i386-nat.c (i386_show_dr): Update.
3618         * remote.c (remote_flash_erase): Update.
3619         * m32r-rom.c (m32r_load_section): Update.
3620         * monitor.c (monitor_vsprintf, monitor_store_register): Update.
3621         * remote.c (remote_check_symbols, remote_search_memory): Update.
3622         * remote-mips.c (mips_request, mips_common_breakpoint): Update.
3623         * scm-valprint.c (scm_ipruk, scm_scmval_print): Update.
3624         * sh64-tdep.c (sh64_show_media_regs, sh64_show_compact_regs): Update.
3625         * sh-tdep.c (sh_generic_show_regs, sh3_show_regs, sh2e_show_regs,
3626         sh2a_show_regs, sh2a_nofpu_show_regs, sh3e_show_regs,
3627         sh3_dsp_show_regs, sh4_show_regs, sh4_nofpu_show_regs,
3628         sh_dsp_show_regs): Update.
3629         * xcoffsolib.c (sharedlibrary_command): Update.
3630
3631
3632         * maint.c (maint_print_section_info): Add ADDR_SIZE parameter.
3633         Use hex_string_custom instead of paddr.
3634         (print_bfd_section_info): Pass address size.
3635         (print_objfile_section_info): Likewise.
3636
3637         * annotate.h (annotate_source): Add GDBARCH parameter.
3638         (annotate_frame_begin): Likewise.
3639         * annotate.c (annotate_source): Add GDBARCH parameter.
3640         (annotate_frame_begin): Likewise.
3641         * source.c (identify_source_line): Update call to annotate_source.
3642         * stack.c (print_frame_info, print_frame): Update call to
3643         annotate_frame_begin.
3644
3645         * breakpoint.c (describe_other_breakpoints): Add GDBARCH parameter.
3646         (create_breakpoint, create_ada_exception_breakpoint): Update call.
3647
3648         * stack.c (print_block_frame_labels): Add GDBARCH parameter.
3649         (print_frame_label_vars): Update call.
3650
3651         * symmisc.c (print_partial_symbols): Add GDBARCH parameter.
3652         (dump_psymtab): Update call to print_partial_symbols.
3653         (struct print_symbol_args): Add GDBARCH member.
3654         (dump_symtab_1): Set print_symbol_args architecture member.
3655         (print_symbol): Use it.
3656
3657         * windows-tdep.h (windows_xfer_shared_library): Add GDBARCH
3658         parameter.
3659         * windows-tdep.c (windows_xfer_shared_library): Likewise.
3660         * i386-cygwin-tdep.c (struct cpms_data): Add GDBARCH member.
3661         (core_process_module_section): Pass architecture from cpms_data to
3662         windows_xfer_shared_library.
3663         (windows_core_xfer_shared_libraries): Initialize cmps_data 
3664         architecture member.
3665         * windows-nat.c (windows_xfer_shared_libraries): Pass architecture
3666         to windows_xfer_shared_library.
3667
3668         * defs.h (print_address): Add GDBARCH parameter.
3669         * printcmd.c (print_address): Add GDBARCH parameter.
3670         (print_scalar_formatted, do_examine): Update call.
3671         * findcmd.c (find_command): Update call.
3672         * tracepoint.c: Include "arch-utils.h".
3673         (trace_find_line_command): Update call.
3674         * tui/tui-disasm.c (tui_disassemble): Update call.
3675
3676         * value.h (print_address_demangle): Add GDBARCH parameter.
3677         * printcmd.c (print_address_demangle): Add GDBARCH parameter.
3678         * c-valprint.c (print_function_pointer_address, c_val_print):
3679         Update call.
3680         * f-valprint.c (f_val_print): Update call.
3681         * gnu-v3-abi.c (gnuv3_print_method_ptr): Update call.
3682         * jv-valprint.c (java_val_print): Update call.
3683         * m2-valprint.c (print_function_pointer_address, m2_val_print):
3684         Update call.
3685         * p-valprint.c (pascal_val_print): Update call.
3686
3687         * disasm.c (gdb_disassemble_info): Install architecture into
3688         di.application_data field.
3689
3690 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
3691
3692         * disasm.h (gdb_disassembly): Add GDBARCH parameter.
3693         (gdb_print_insn): Likewise.
3694         * disasm.c (dump_insns): Add GDBARCH parameter.  Use it instead
3695         of current_gdbarch.
3696         (do_mixed_source_and_assembly): Add GDBARCH parameter.  Pass to
3697         dump_insns.
3698         (do_assembly_only): Likewise.
3699         (gdb_disassembly): Add GDBARCH parameter.  Use it instead of
3700         current_gdbarch.  Pass to subroutines.
3701         (gdb_print_insn): Add GDBARCH parameter.  Use it instead of
3702         current_gdbarch.
3703
3704         * stack.c (struct gdb_disassembly_stub_args): Add GDBARCH member.
3705         (gdb_disassembly_stub): Pass architecture to gdb_disassembly.
3706         (do_gdb_disassembly): Add GDBARCH argument.  Store into args.
3707         (print_frame_info): Pass architecture to do_gdb_disassembly.
3708
3709         * printcmd.c (print_formatted): Pass architecture to gdb_print_insn.
3710
3711         * mi/mi-cmd-disas.c: Include "arch-utils.h"
3712         (mi_cmd_disassemble): Pass architecture to gdb_disassembly.
3713
3714         * cli/cli-cmds.c: Include "arch-utils.h".
3715         (print_disassembly): Add GDBARCH parameter.  Pass to gdb_disassembly
3716         and tui_show_assembly.
3717         (disassemble_current_function): Pass architecture to
3718         tui_get_low_disassembly_address and print_disassembly.
3719         (disassemble_command): Pass architecture to
3720         tui_get_low_disassembly_address and print_disassembly.
3721
3722         * tui/tui.c (tui_show_assembly): Add GDBARCH parameter.  Pass to
3723         tui_update_source_windows_with_addr.
3724
3725         * tui/tui-data.h (struct tui_locator_element): Add GDBARCH member.
3726         (struct tui_source_info): Likewise.
3727         * tui/tui-data.c (tui_clear_win_detail): Clear source_info.gdbarch.
3728
3729         * tui/tui-disasm.c (tui_disassemble): Add GDBARCH parameter.
3730         Pass to gdb_print_insn.
3731         (tui_find_disassembly_address): Add GDBARCH parameter.  Pass to
3732         tui_disassemble.
3733         (tui_set_disassem_content): Add GDBARCH parameter.  Install into
3734         source_info.gdbarch.  Pass to tui_disassemble.
3735         (tui_show_disassem): Add GDBARCH parameter.  Pass to 
3736         tui_update_source_window.
3737         (tui_show_disassem_and_update_source): Add GDBARCH parameter.  Pass to
3738         tui_show_disassem and tui_update_source_window.
3739
3740         (tui_get_begin_asm_address): Return locator architecture in addition
3741         to locator PC value.
3742
3743         (tui_get_low_disassembly_address): Add GDBARCH parameter.   Pass to
3744         tui_get_low_disassembly_address.
3745
3746         (tui_vertical_disassem_scroll): Pass architecture to subroutines.
3747
3748         * tui/tui-disasm.h (tui_set_disassem_content): Add GDBARCH parameter.
3749         (tui_show_disassem): Likewise.
3750         (tui_show_disassem_and_update_source): Likewise.
3751         (tui_get_begin_asm_address): Return architecture and PC value.
3752
3753         * tui/tui.h (tui_get_low_disassembly_address): Add GDBARCH parameter.
3754         (tui_show_assembly): Add GDBARCH parameter.
3755
3756         * tui/tui-layout.c (extract_display_start_addr): Return current window
3757         architecture in addition to current PC value.
3758
3759         (tui_set_layout): Update calls to tui_get_low_disassembly_address and
3760         extract_display_start_addr.  Pass architecture to
3761         tui_update_source_windows_with_addr.
3762
3763         * tui/tui-source.c: Include "objfiles.h".
3764         (tui_set_source_content): Initialize window architecture.
3765         (tui_show_symtab_source): Add GDBARCH parameter.  Pass to
3766         tui_update_source_window_as_is
3767
3768         * tui/tui-source.h (tui_show_symtab_source): Add GDBARCH parameter.
3769
3770         * tui/tui-stack.c (tui_set_locator_info): Add GDBARCH parameter.
3771         Install locator architecture.
3772         (tui_set_locator_filename): Update call.
3773         (tui_show_frame_info): Pass architecture to tui_set_locator_info
3774         and subroutines.
3775
3776         * tui/tui-win.c (make_visible_with_new_height): Pass architecture
3777         to tui_update_source_window.
3778
3779         * tui/tui-winsource.c: Include "objfiles.h".
3780         (tui_display_main): Update call to tui_get_begin_asm_address.
3781         Pass architecture to tui_update_source_windows_with_addr.
3782         (tui_update_source_window): Add GDBARCH parameter.  Pass to
3783         tui_update_source_window_as_is.
3784         (tui_update_source_window_as_is): Add GDBARCH parameter.
3785         Pass to tui_set_disassem_content.
3786         (tui_update_source_windows_with_addr): Add GDBARCH parameter.
3787         Pass to subroutines.
3788         (tui_update_source_windows_with_line): Pass objfile architecture
3789         to subroutines.
3790         (tui_horizontal_source_scroll): Pass architecture to 
3791         tui_update_source_window_as_is.
3792         
3793         * tui/tui-winsource.h (tui_update_source_window): Add GDBARCH
3794         parameter.
3795         (tui_update_source_window_as_is): Likewise.
3796         (tui_update_source_windows_with_addr): Likewise.
3797
3798 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
3799
3800         * breakpoint.h (struct breakpoint): New member GDBARCH.
3801         * breakpoint.c: Include "arch-utils.h".
3802         (set_raw_breakpoint_without_location): Add GDBARCH parameter.
3803         Use it to set breakpoint architecture.
3804         (set_raw_breakpoint): Add GDBARCH parameter.
3805         (create_internal_breakpoint): Likewise.
3806         (create_catchpoint): Likewise.
3807         (create_fork_vfork_event_catchpoint): Likewise.
3808         (create_breakpoint): Likewise.
3809         (create_breakpoints): Likewise.
3810         (break_command_really): Likewise.
3811         (create_ada_exception_breakpoint): Likewise.
3812         Update local callers to pass architecture:
3813         (create_internal_breakpoint): Update.
3814         (create_overlay_event_breakpoint): Update.
3815         (create_longjmp_master_breakpoint): Update.
3816         (create_thread_event_breakpoint): Update.
3817         (create_solib_event_breakpoint): Update.
3818         (create_catchpoint): Update.
3819         (create_fork_vfork_event_catchpoint): Update.
3820         (set_momentary_breakpoint): Update.
3821         (clone_momentary_breakpoint): Update.
3822         (create_breakpoint): Update.
3823         (create_breakpoints): Update.
3824         (break_command_really): Update.
3825         (break_command_1): Update.
3826         (set_breakpoint): Update.
3827         (watch_command_1): Update.
3828         (catch_fork_command_1): Update.
3829         (catch_exec_commnd_1): Update.
3830         (handle_gnu_v3_exceptions): Update.
3831         (create_ada_exception_breakpoint): Update.
3832         (catch_ada_exception_command): Update.
3833         (catch_assert_command): Update.
3834         (trace_command): Update.
3835
3836         * breakpoint.h (struct bp_location): New member GDBARCH.
3837         * breakpoint.c (get_sal_arch): New function.
3838         (set_raw_breakpoint): Set location architecture.
3839         (add_location_to_breakpoint): Likewise.
3840         (clone_momentary_breakpoint): Likewise.
3841         (watch_command_1): Likewise.
3842         (update_watchpoint): Likewise.
3843         (bp_loc_is_permanent): Use location architecture instead of
3844         current_gdbarch.
3845         (adjust_breakpoint_address): Add GDBARCH parameter; use it
3846         instead of current_gdbarch.
3847         Update callers of adjust_breakpoint_address to pass
3848         breakpoint location architecture:
3849         (set_raw_breakpoint): Update.
3850         (watch_command_1): Update.
3851
3852         * tracepoint.c: (collect_symbol): Add GDBARCH parameter, use instead
3853         of current_gdbarch.
3854         (add_local_symbols): Add GDBARCH parameter.  Pass to collect_symbol.
3855         (encode_actions): Pass tracepoint architecture to add_local_symbols
3856         (encode_actions): Use tracepoint architecture instead of
3857         current_gdbarch.  Pass it to add_local_symbols and collect_symbol.
3858
3859         * breakpoint.h (struct breakpoint_ops): Replace last_addr parameter
3860         of print_one callback with last_loc.
3861         * breakpoint.c (print_one_breakpoint_location): Replace last_addr
3862         parameter with last_loc.
3863         (print_one_breakpoint): Likewise.
3864         (do_captured_breakpoint_query): Update call.
3865         (breakpoint_1): Pass last_loc instead of last_addr to
3866         print_one_breakpoint.  Pass last location architecture instead of
3867         current_gdbarch to set_next_address.
3868         Update all implementations of the print_one callback:
3869         * breakpoint.c (print_one_catch_fork): Update.
3870         (print_one_catch_vfork): Update.
3871         (print_one_catch_exec): Update.
3872         (print_one_exception_catchpoint): Update.
3873         * ada-lang.c (print_one_exception): Update.
3874         (print_one_catch_exception): Update.
3875         (print_one_catch_exception_unhandled): Update.
3876         (print_one_catch_assert): Update.
3877
3878         * breakpoint.c (print_one_breakpoint_location): Add PRINT_ADDRESS_BITS
3879         parameter.  Use it instead of gdbarch_addr_bit (current_gdbarch).
3880         (print_one_breakpoint): Add PRINT_ADDRESS_BITS parameter and pass it
3881         to print_one_breakpoint_location.
3882         (breakpoint_address_bits): New function.
3883         (do_captured_breakpoint_query): Compute number of address bits to print
3884         and pass it to print_one_breakpoint.
3885         (breakpoint_1): Likewise.  Use it instead of current_gdbarch.
3886
3887         * breakpoint.h (create_thread_event_breakpoint): Add GDBARCH.
3888         * breakpoint.c (create_thread_event_breakpoint): Likewise.
3889         Update callers to create_thread_event_breakpoint:
3890         * aix-thread.c (pd_enable): Update.
3891         * linux-thread-db.c (enable_thread_event): Update.
3892
3893         * breakpoint.h (create_solib_event_breakpoint): Add GDBARCH.
3894         * breakpoint.c (create_solib_event_breakpoint): Likewise.
3895         Update callers to create_solib_event_breakpoint:
3896         * solib-frv.c (enable_break, enable_break2): Update.
3897         * solib-pa64.c (pa64_solib_create_inferior_hook): Update.
3898         * solib-som.c (som_solib_create_inferior_hook): Update.
3899         * solib-darwin.c (darwin_solib_create_inferior_hook): Update.
3900         * solib-svr4.c (enable_break): Update.
3901
3902         * breakpoint.h (insert_single_step_breakpoint): Add GDBARCH.
3903         * breakpoint.c (insert_single_step_breakpoint): Likewise.
3904         Update callers to insert_single_step_breakpoint:
3905         * alpha-tdep.c (alpha_software_single_step): Update.
3906         * arm-linux-tdep.c (arm_linux_software_single_step): Update.
3907         * arm-tdep.c (arm_software_single_step): Update.
3908         * cris-tdep.c (cris_software_single_step): Update.
3909         * rs6000-aix-tdep.c (rs6000_software_single_step): Update.
3910         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Update.
3911         * sparc-tdep.c (sparc_software_single_step): Update.
3912         * spu-tdep.c (spu_software_single_step): Update.
3913         * mips-tdep.c (deal_with_atomic_sequence): Add GDBARCH parameter.
3914         Pass it to insert_single_step_breakpoint.
3915         (mips_software_single_step): Pass architecture to
3916         deal_with_atomic_sequence and insert_single_step_breakpoint.
3917
3918         * breakpoint.h (deprecated_insert_raw_breakpoint): Add GDBARCH.
3919         (deprecated_remove_raw_breakpoint): Likewise.
3920         * breakpoint.c (deprecated_insert_raw_breakpoint): Add GDBARCH.
3921         (deprecated_remove_raw_breakpoint): Likewise.
3922         Update callers to deprecated_insert_raw_breakpoint and
3923         deprecated_remove_raw_breakpoint:
3924         * breakpoint.c (single_step_gdbarch): New static variable.
3925         (insert_single_step_breakpoint): Pass GDBARCH parameter to
3926         deprecated_insert_raw_breakpoint.  Store it in single_step_gdbarch.
3927         (remove_single_step_breakpoints): Pass architecture stored in
3928         single_step_gdbarch to deprecated_remove_raw_breakpoint.
3929         * rs6000-nat.c (exec_one_dummy_insn): Update.
3930         * solib-irix.c (enable_break, disable_break): Update.
3931         * procfs.c (procfs_mourn_inferior): Update.
3932         (remove_dbx_link_breakpoint): Update.
3933
3934         * breakpoint.h (set_breakpoint): Add GDBARCH parameter.
3935         (set_momentary_breakpoint, set_momentary_breakpoint_at_pc): Likewise.
3936         * breakpoint.c (set_breakpoint): Add GDBARCH parameter.
3937         (set_momentary_breakpoint, set_momentary_breakpoint_at_pc): Likewise.
3938         Update callers to set_breakpoint, set_momentary_breakpoint and
3939         set_momentary_breakpoint_at_pc:
3940         * breakpoint.c (set_momentary_breakpoint_at_pc): Update.
3941         (until_break_command): Update.
3942         * infcall.c (call_function_by_hand): Update.
3943         * infcmd.c (finish_backward, finish_forward): Update.
3944         * infrun.c (insert_step_resume_breakpoint_at_sal): Add GDBARCH
3945         parameter.  Pass it to set_momentary_breakpoint.
3946         (insert_longjmp_resume_breakpoint): Add GDBARCH parameter.
3947         Pass it to set_momentary_breakpoint_at_pc.
3948         (handle_inferior_event): Update.
3949         (insert_step_resume_breakpoint_at_frame): Update.
3950         (insert_step_resume_breakpoint_at_caller): Update..
3951         * mi/mi-cmd-break.c: Include "arch-utils.h".
3952         (mi_cmd_break_insert): Update.
3953
3954         * target.h (struct target_ops): Add GDBARCH parameter to
3955         to_insert_breakpoint, to_remove_breakpoint, to_insert_hw_breakpoint,
3956         and to_remove_hw_breakpoint members.
3957         (target_insert_breakpoint, target_remove_breakpoint,
3958         target_insert_hw_breakpoint, target_remove_hw_breakpoint): Add GDBARCH
3959         parameter, pass to target routine.
3960         (memory_remove_breakpoint, memory_insert_breakpoint): Add GDBARCH
3961         parameter.
3962         * target.c (debug_to_insert_breakpoint, debug_to_remove_breakpoint,
3963         debug_to_insert_hw_breakpoint, debug_to_remove_hw_breakpoint): Add
3964         GDBARCH parameter, pass to target routine.
3965         (update_current_target): Update function signature.
3966         * breakpoint.c (insert_bp_location, remove_breakpoint,
3967         deprecated_insert_raw_breakpoint, deprecated_remove_raw_breakpoint):
3968         Pass architecture to target_ routines.
3969         Update all implementations of the target breakpoint routines to take
3970         GDBARCH parameter and use it instead of GDBARCH as appropriate:
3971         * corelow.c (ignore): Update.
3972         * exec.c (ignore): Update.
3973         * mem-break.c (memory_insert_breakpoint): Update.
3974         (memory_remove_breakpoint): Update.
3975         * monitor.c (monitor_insert_breakpoint): Update.
3976         (monitor_remove_breakpoint): Update.
3977         * record.c (record_insert_breakpoint): Update.
3978         (record_beneath_to_insert_breakpoint): Update.
3979         (record_remove_breakpoint): Update.
3980         (record_beneath_to_remove_breakpoint): Update.
3981         * remote.c (remote_insert_breakpoint): Update.
3982         (remote_remove_breakpoint): Update.
3983         (remote_insert_hw_breakpoint): Update.
3984         (remote_remove_hw_breakpoint): Update.
3985         * remote-m32r-sdi.c (m32r_insert_breakpoint): Update.
3986         (m32r_remove_breakpoint): Update.
3987         * remote-mips.c (mips_insert_breakpoint): Update.
3988         (mips_remove_breakpoint): Update.
3989         * i386-nat.c (i386_insert_hw_breakpoint): Update.
3990         (i386_remove_hw_breakpoint): Update.
3991         * nto-procfs.c (procfs_insert_breakpoint):  Update.
3992         (procfs_remove_breakpoint): Update.
3993         (procfs_insert_hw_breakpoint): Update.
3994         (procfs_remove_hw_breakpoint): Update.
3995
3996 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
3997
3998         * frame.h (frame_unwind_arch): New.
3999         (frame_unwind_caller_arch): Likewise.
4000         * frame-unwind.h (frame_prev_arch_ftype): New type.
4001         (struct frame_unwind): New member prev_arch.
4002         * frame.c (struct frame_info): New member prev_arch.
4003         (frame_unwind_arch): New function.
4004         (frame_unwind_caller_arch): Likewise..
4005         (get_frame_arch): Reimplement in terms of frame_unwind_arch.
4006         * sentinel-frame.c (sentinel_frame_prev_arch): New function.
4007         (sentinel_frame_unwinder): Install it.
4008
4009         * frame.c (frame_pc_unwind): Use frame_unwind_arch instead
4010         of get_frame_arch.
4011         (frame_unwind_register_value): Likewise.
4012         (frame_unwind_register_signed): Likewise.
4013         (frame_unwind_register_unsigned): Likewise.
4014         * frame-unwind.c (frame_unwind_got_optimized): Likewise.
4015         (frame_unwind_got_register): Likewise.
4016         (frame_unwind_got_constant): Likewise.
4017         (frame_unwind_got_bytes): Likewise.
4018         (frame_unwind_got_address): Likewise.
4019
4020         * frame.h (enum frame_type): New value ARCH_FRAME.
4021         * frame.c (fprint_frame_type): Handle ARCH_FRAME.
4022         * stack.c (print_frame_info): Likewise.
4023
4024 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4025
4026         * target.h (struct target_ops): New member to_thread_architecture.
4027         (target_thread_architecture): New macro.
4028         * target.c (update_current_target): Inherit to_thread_architecture.
4029         (default_thread_architecture): New function.
4030         (debug_to_thread_architecture): New function.
4031         (setup_target_debug): Handle to_thread_architecture.
4032
4033         * regcache.h (get_thread_arch_regcache): New.
4034         * regcache.c (struct regcache_list): New data type.
4035         (current_regcache): Hold regcache list instead of single regcache.
4036         (current_thread_ptid, current_thread_arch): New static variables.
4037         (get_thread_arch_regcache): New function.
4038         (get_thread_regcache): Use it.  Call target_thread_architecture.
4039         (regcache_thread_ptid_changed): Update to current_regcache changes.
4040         (registers_changed): Likewise.  Reset current_thread_arch and
4041         current_thread_ptid.
4042
4043         * remote.c (remote_wait): Access target registers in target_gdbarch.
4044         * linux-nat.c (linux_nat_do_thread_registers): Likewise.
4045         * proc-service.c (ps_lgetregs, ps_lsetregs): Likewise.
4046         (ps_lgetfpregs, ps_lsetfpregs): Likewise.
4047         * sol-thread.c (ps_lgetregs, ps_lsetregs): Likewise.
4048         (ps_lgetfpregs, ps_lsetfpregs): Likewise.
4049         * solib-svr4.c (enable_break): Likewise.
4050         (svr4_relocate_main_executable): Likewise.
4051
4052 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4053
4054         * python/python-internal.h (struct language_defn): Declare.
4055         (python_gdbarch, python_language): Likewise.
4056         (ensure_python_env): Add prototype.
4057         (make_cleanup_py_restore_gil): Remove prototype.
4058
4059         * python/python.c: Include "arch-utils.h", "value.h" and "language.h".
4060         (python_gdbarch, python_language): New global variables.
4061         (struct python_env): New data type.
4062         (ensure_python_env, restore_python_env): New functions.
4063         (eval_python_from_control_command): Call ensure_python_env to
4064         install current architecture and language.
4065         (python_command, gdbpy_new_objfile): Likewise.
4066         * python/python-cmd.c: Include "arch-utils.h" and "language.h".
4067         (cmdpy_destroyer, cmdpy_function, cmdpy_completer): Call
4068         ensure_python_env.
4069         * python/python-type.c (clean_up_objfile_types): Likewise.
4070         * python/python-objfile.c: Include "language.h".
4071         (clean_up_objfile): Call ensure_python_env.
4072         * python/python-prettyprint.c (apply_val_pretty_printer): Likewise.
4073         (apply_varobj_pretty_printer): Do not call PyGILState_Ensure.
4074         * varobj.c (varobj_ensure_python_env): New helper function.
4075         (varobj_get_display_hint, update_dynamic_varobj_children,
4076         install_default_visualizer, varobj_set_visualizer, free_variable,
4077         value_get_print_value): Call it.
4078         (value_get_print_value): Add varobj argument instead of pretty
4079         printer argument.  Update all callers.
4080
4081         * python/python-utils.c (py_gil_restore, make_cleanup_py_restore_gil):
4082         Remove.
4083
4084         * value.h (internal_function_fn): Add GDBARCH and LANGUAGE argument.
4085         (call_internal_function): Likewise.
4086         * value.c (call_internal_function): Likewise.  Pass to handler.
4087         * eval.c (evaluate_subexp_standard): Update call.
4088         * python/python-function.c: Include "language.h".
4089         (fnpy_call): Add GDBARCH and LANGAUAGE arguments and call
4090         make_cleanup_python_env.
4091
4092         * python/python-value.c (builtin_type_pyint, builtin_type_pyfloat,
4093         builtin_type_pylong, builtin_type_pybool, builtin_type_pychar,
4094         valpy_str): Use python_gdbarch and python_language instead of
4095         current_gdbarch and current_language.
4096         * python/python-type.c (typy_lookup_typename): Likewise.
4097
4098 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4099
4100         * arch-utils.c (selected_byte_order): Return target_byte_order_user.
4101         (show_endian): Use target_byte_order_user if specified; otherwise
4102         use get_current_arch () instead of current_gdbarch.
4103         (show_architecture): Use set_architecture_string if specified;
4104         otherwise use get_current_arch () instead of current_gdbarch.
4105         (get_current_arch): New function.
4106         * arch-utils.h (get_current_arch): Add prototype.
4107
4108         * osabi.c (show_osabi): Use get_current_arch () instead of
4109         current_gdbarch.
4110
4111         * findcmd.c: Include "arch-utils.h".
4112         (parse_find_args): Add BIG_P argument.  Use it instead of byte order
4113         of current_gdbarch.
4114         (find_command): Use get_current_arch () instead of current_gdbarch.
4115         Pass byte order to parse_find_args.
4116
4117         * maint.c: Include "arch-utils.h".
4118         (maintenance_print_architecture): Use get_current_arch () instead
4119         of current_gdbarch.
4120
4121         * reggroups.c: Include "arch-utils.h".
4122         (maintenance_print_reggroups): Use get_current_arch () instead
4123         of current_gdbarch.
4124
4125         * symfile.c: Include "arch-utils.h".
4126         (overlay_load_command): Use get_current_arch () instead of
4127         current_gdbarch.
4128
4129         * value.c: Include "arch-utils.h".
4130         (show_convenience): Use get_current_arch () instead of
4131         current_gdbarch.
4132
4133         * tui/tui-regs.c: Include "arch-utils.h".
4134         (tui_reg_next_command): Use get_current_arch () instead of
4135         current_gdbarch.
4136
4137         * mi/mi-main.c: Include "arch-utils.h".
4138         (mi_cmd_data_read_memory): Use get_current_arch () instead of
4139         current_gdbarch.
4140
4141         * parse.c: Include "arch-utils.h".
4142         (parse_exp_in_context): Use get_current_arch () instead of
4143         current_gdbarch.
4144
4145 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4146
4147         * gdbtypes.c (make_pointer_type, make_reference_type,
4148         smash_to_memberptr_type, lookup_array_range_type, check_stub_method):
4149         Use type architecture instead of current_gdbarch.
4150
4151         * gdbtypes.h (address_space_name_to_int, address_space_int_to_name):
4152         Add GDBARCH paramter.
4153         * gdbtypes.c (address_space_name_to_int, address_space_int_to_name):
4154         Add GDBARCH parameter.   Use it instead of current_gdbarch.
4155         * c-typeprint.c (c_type_print_modifier): Update call.
4156         * parse.c (push_type_address_space): Likewise.
4157
4158         * findvar.c (extract_typed_address, store_typed_address): Use type
4159         architecture instead of current_gdbarch.
4160
4161         * value.c (value_as_address, unpack_field_as_long): Use type architecture
4162         instead of current_gdbarch.
4163
4164         * doublest.c (floatformat_from_length): Add GDBARCH argument.  Use it
4165         instead of current_gdbarch.
4166         (floatformat_from_type): Pass type architecture.
4167
4168         * infcall.c (find_function_addr): Use type architecture instead
4169         of current_gdbarch.
4170
4171         * valarith.c (value_bitstring_subscript, value_x_binop, value_neg,
4172         value_bit_index): Use type architecture instead of current_gdbarch.
4173         * valops.c (value_cast, value_slice): Likewise.
4174
4175         * value.h (modify_field): Add TYPE argument.
4176         * value.c (modify_field): Add TYPE argument.  Use type architecture
4177         instead of current_gdbarch.
4178         (set_internalvar_component): Likewise.
4179         * eval.c (evaluate_struct_tuple): Update call.
4180         * valops.c (value_assign): Likewise.
4181         * ada-lang.c (modify_general_field): Likewise.  Add TYPE argument.
4182         (make_array_descriptor): Update calls.
4183         (move_bits): Add BITS_BIG_ENDIAN_P argument.  Use it instead of
4184         current_gdbarch.
4185         (ada_value_assign, value_assign_to_component): Update calls.
4186         (decode_packed_array, ada_value_primitive_packed_val, ada_value_assign,
4187         value_assign_to_component): Use type arch instead of current_gdbarch.
4188
4189         * printcmd.c (float_type_from_length): Remove GDBARCH argument,
4190         use type architecture instead.
4191         (print_scalar_formatted, printf_command): Update calls.  Use type
4192         architecture instead of current_gdbarch.
4193         * valprint.c (val_print_type_code_int): Use type architecture
4194         instead of current_gdbarch.
4195         * varobj.c (value_get_print_value): Likewise.
4196         * python/python-prettyprint.c (print_string_repr): Add GDBARCH
4197         argument.  Use it instead of current_gdbarch.
4198         (apply_val_pretty_printer): Update call.
4199
4200         * ada-valprint.c (ada_val_print_1): Use type architecture instead
4201         of current_gdbarch.
4202         * c-valprint.c (print_function_pointer_address): Add GDBARCH argument.
4203         Use it instead of current_gdbarch.
4204         (c_val_print): Update calls passing type architecture.
4205         * f-valprint.c (f_val_print): Use type architecture instead of
4206         current_gdbarch.
4207         * jv-valprint (java_value_print): Likewise.
4208         * m2-valprint.c (print_function_pointer_address): Add GDBARCH argument.
4209         Use it instead of current_gdbarch.
4210         (print_unpacked_pointer): Update calls passing type architecture.
4211         * scm-valprint.c (scm_scmval_print): Use type architecture instead of
4212         current_gdbarch.
4213
4214         * gnu-v3-abi.c (get_class_arch): Remove.
4215         (gnuv3_rtti_type): Use get_type_arch instead of get_class_arch.  Remove
4216         special-case check for Java classes.
4217         (gnuv3_virtual_fn_field, gnuv3_baseclass_offset, gnuv3_print_method_ptr,
4218         gnuv3_method_ptr_size, gnuv3_make_method_ptr, gnuv3_method_ptr_to_value):
4219         Use get_type_arch instead of get_class_arch.
4220
4221 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4222
4223         * gdbtypes.h (TYPE_OBJFILE_OWNED, TYPE_OWNER): New macros.
4224         (TYPE_OBJFILE, TYPE_ALLOC, TYPE_ZALLOC): Reimplement.
4225         (alloc_type_arch): Add prototype.
4226         (alloc_type_copy): Likewise.
4227         (get_type_arch): Likewise.
4228         (arch_type): Likewise.
4229         (arch_integer_type): Likewise.
4230         (arch_character_type): Likewise.
4231         (arch_boolean_type): Likewise.
4232         (init_float_type): Remove, replace by ...
4233         (arch_float_type): ... this.
4234         (init_complex_type): Remove, replace by ...
4235         (arch_complex_type): ... this.
4236         (init_flags_type): Remove, replace by ...
4237         (arch_flags_type): ... this.
4238         (init_composite_type): Remove, replace by ...
4239         (arch_composite_type): ... this.
4240
4241         * gdbtypes.c (alloc_type): No longer support NULL objfile.
4242         (init_type): Likewise.
4243         (alloc_type_arch): New function.
4244         (alloc_type_copy): New function.
4245         (get_type_arch): New function.
4246
4247         (smash_type): Preserve type ownership information.
4248         (make_pointer_type, make_reference_type, make_function_type,
4249         smash_to_memberptr_type, smash_to_method_type): No longer
4250         preserve OBJFILE across smash_type calls.
4251         (make_pointer_type, make_reference_type, make_function_type,
4252         lookup_memberptr_type, lookup_methodptr_type, allocate_stub_method,
4253         create_range_type, create_array_type, create_set_type, copy_type):
4254         Use alloc_type_copy when allocating types.
4255         (check_typedef): Use alloc_type_arch.
4256         (copy_type_recursive): Likewise.  Preserve type ownership data
4257         after copying type.
4258         (recursive_dump_type): Dump type ownership data.
4259         (alloc_type_instance): Update type ownership check.
4260         (copy_type, copy_type_recursive): Likewise.
4261
4262         (arch_type): New function.
4263         (arch_integer_type): Likewise.
4264         (arch_character_type): Likewise.
4265         (arch_boolean_type): Likewise.
4266         (init_float_type): Remove, replace by ...
4267         (arch_float_type): ... this.
4268         (init_complex_type): Remove, replace by ...
4269         (arch_complex_type): ... this.
4270         (init_flags_type): Remove, replace by ...
4271         (arch_flags_type): ... this.
4272         (append_flags_type_flag): Move down.
4273         (init_composite_type): Remove, replace by ...
4274         (arch_composite_type): ... this.
4275         (append_composite_type_field_aligned,
4276         append_composite_type_field): Move down.
4277
4278         * gdbarch.c (gdbtypes_post_init): Allocate all types
4279         using per-architecture routines.
4280         * ada-lang.c (ada_language_arch_info): Likewise.
4281         * f-lang.c (build_fortran_types): Likewise.
4282         * jv-lang.c (build_java_types): Likewise.
4283         * m2-lang.c (build_m2_types): Likewise.
4284         * scm-lang.c (build_scm_types): Likewise.
4285
4286         * ada-lang.c (ada_type_of_array): Use alloc_type_copy.
4287         (packed_array_type): Likewise.
4288         (ada_template_to_fixed_record_type_1): Likewise.
4289         (template_to_static_fixed_type): Likewise.
4290         (to_record_with_fixed_variant_part): Likewise.
4291         (to_fixed_variant_branch_type): Likewise.
4292         (to_fixed_array_type): Likewise.
4293         (to_fixed_range_type): Likewise.
4294         (empty_record): Use type instead of objfile argument.
4295         Use alloc_type_copy.
4296         (to_fixed_variant_branch_type): Update call to empty_record.
4297         * jv-lang.c (type_from_class): Use alloc_type_arch.
4298
4299         * arm-tdep.c (arm_ext_type): Allocate per-architecture type.
4300         * i386-tdep.c (i386_eflags_type, i386_mxcsr_type, i387_ext_type,
4301         i386_mmx_type, i386_sse_type): Likewise.
4302         * ia64-tdep.c (ia64_ext_type): Likewise.
4303         * m32c-tdep.c (make_types): Likewise.
4304         * m68k-tdep.c (m68k_ps_type, m68881_ext_type): Likewise.
4305         * rs6000-tdep.c (rs6000_builtin_type_vec64,
4306         rs6000_builtin_type_vec128): Likewise.
4307         * sparc-tdep.c (sparc_psr_type, sparc_fsr_type): Likewise.
4308         * sparc64-tdep.c (sparc64_pstate_type, sparc64_fsr_type,
4309         sparc64_fprs_type): Likewise.
4310         * spu-tdep.c (spu_builtin_type_vec128): Likewise.
4311         * xtensa-tdep.c (xtensa_register_type): Likewise.
4312         * linux-tdep.c (linux_get_siginfo_type): Likewise.
4313         * target-descriptions.c (tdesc_gdb_type): Likewise.
4314         * gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
4315
4316 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4317
4318         * i386-tdep.h (struct gdbarch_tdep): Add i386_eflags_type and
4319         i386_mxcsr_type members.
4320         (i386_eflags_type): Make into function.
4321         (i386_mxcsr_type): Likewise.
4322         * i386-tdep.c (i386_eflags_type): Make into function.
4323         (i386_mxcsr_type): Likewise.
4324         (i386_register_type): Update uses.
4325         (i386_init_types): Remove.
4326         (_initialize_i386_tdep): Do not call it.
4327         * amd64-tdep.c (amd64_register_type): Update uses.
4328
4329         * m68k-tdep.h (struct gdbarch_tdep): Add m68k_ps_type member.
4330         * m68k-tdep.c (m68k_ps_type): Make into function.
4331         (m68k_register_type): Update use.
4332         (m68k_init_types): Remove.
4333         (_initialize_m68k_tdep): Do not call it.
4334
4335         * sparc-tdep.h (struct gdbarch_tdep): Add sparc_psr_type,
4336         sparc_fsr_type, sparc64_pstate_type, sparc64_fsr_type, and
4337         sparc64_fprs_type members.
4338         * sparc-tdep.c (sparc_psr_type): Make into function.
4339         (sparc_fsr_type): Likewise.
4340         (sparc32_register_type): Update uses.
4341         (sparc_init_types): Remove.
4342         (_initialize_sparc_tdep): Do not call it.
4343         * sparc64-tdep.c (sparc64_pstate_type): Make into function.
4344         (sparc64_fsr_type): Likewise.
4345         (sparc64_fprs_type): Likewise.
4346         (sparc64_register_type): Update uses.
4347         (sparc64_init_types): Remove.
4348         (_initialize_sparc64_tdep): Likewise.
4349
4350 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4351
4352         * gdbtypes.h (builtin_type_ieee_single, builtin_type_ieee_double,
4353         builtin_type_i387_ext, builtin_type_m68881_ext, builtin_type_arm_ext,
4354         builtin_type_ia64_spill, builtin_type_ia64_quad): Remove.
4355         (init_float_type, init_complex_type): Add prototypes.
4356         * gdbtypes.c (builtin_type_ieee_single, builtin_type_ieee_double,
4357         builtin_type_i387_ext, builtin_type_m68881_ext, builtin_type_arm_ext,
4358         builtin_type_ia64_spill, builtin_type_ia64_quad): Remove.
4359         (_initialize_gdbtypes): Do not initialize them.
4360         (build_flt): Rename to ...
4361         (init_float_type): ... this.  Make global.
4362         (build_complex): Rename to ...
4363         (init_complex_type): ... this.  Make global.  Remove BIT argument.
4364         (gdbtypes_post_init): Update calls.
4365
4366         * ada-lang.c (ada_language_arch_info): Use init_float_type.
4367         * jv-lang.c (build_java_types): Likewise.
4368         * m2-lang.c (build_m2_types): Likewise.
4369         * f-lang.c (build_fortran_types): Use init_float_type and
4370         init_complex_type.
4371
4372         * target-descriptions.c (tdesc_gdb_type): Call init_float_type instead
4373         of using builtin_type_ieee_single, builtin_type_ieee_double, or
4374         builtin_type_arm_ext.
4375
4376         * ia64-tdep.h (struct gdbarch_tdep): Add ia64_ext_type member.
4377         * ia64-tdep.c (builtin_type_ia64_ext): Remove.
4378         (_initialize_ia64_tdep): Do not initialize it.
4379         (floatformat_valid, floatformat_ia64_ext, floatformats_ia64_ext):
4380         Move up.
4381         (ia64_ext_type): New function.
4382         (ia64_register_reggroup_p, ia64_convert_register_p,
4383         ia64_register_to_value, ia64_value_to_register,
4384         ia64_extract_return_value, ia64_store_return_value): Use ia64_ext_type
4385         instead of builtin_type_ia64_ext.
4386
4387         * i386-tdep.h (struct gdbarch_tdep): Add i387_ext_type member.
4388         (i387_ext_type): Add prototype.
4389         * i386-tdep.c (i387_ext_type): New function.
4390         (i386_extract_return_value, i386_store_return_value,
4391         i386_register_type): Use it instead of builtin_type_i387_ext.
4392         * amd64-tdep.c (amd64_register_type): Likewise.
4393         * i387-tdep.c (print_i387_value, i387_register_to_value,
4394         i387_value_to_register): Likewise.
4395         (print_i387_value, print_i387_ext): Add GDBARCH argument.
4396         (print_i387_ext, i387_print_float_info): Pass to subroutines.
4397
4398         * m68k-tdep.h (struct gdbarch_tdep): Add m68881_ext_type member.
4399         * m68k-tdep.c (m68881_ext_type): New function.
4400         (m68k_register_type, m68k_convert_register_p): Use it instead
4401         of builtin_type_m68881_ext.
4402
4403         * arm-tdep.h (struct gdbarch_tdep): Add arm_ext_type member.
4404         * arm-tdep.c (arm_ext_type): New function.
4405         (arm_register_type): Use it instead of builtin_type_arm_ext.
4406
4407         * alpha-tdep.c (alpha_register_type): Use builtin types
4408         instead of builtin_type_ieee_double.
4409
4410         * mips-tdep.c (mips_float_register_type, mips_double_register_type):
4411         Remove.
4412         (mips_register_type): Use builtin types instead of
4413         builtin_type_ieee_single and builtin_type_ieee_double.
4414         (mips_print_fp_register): Use builtin types instead of
4415         mips_float_register_type and mips_double_register_type.
4416
4417         * hppa-tdep.c (hppa32_register_type, hppa64_register_type):
4418         Use builtin types instead of builtin_type_ieee_single and
4419         builtin_type_ieee_double.
4420
4421 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4422
4423         * gdbtypes.h (builtin_type_int0, builtin_type_int8, builtin_type_uint8,
4424         builtin_type_int16, builtin_type_uint16, builtin_type_int32,
4425         builtin_type_uint32, builtin_type_int64, builtin_type_uint64,
4426         builtin_type_int128, builtin_type_uint128): Remove.
4427         (struct builtin_type): New members builtin_int0, builtin_int8,
4428         builtin_uint8, builtin_int16, builtin_uint16, builtin_int32,
4429         builtin_uint32, builtin_int64, builtin_uint64, builtin_int128,
4430         and builtin_uint128.
4431         * gdbtypes.c (builtin_type_int0, builtin_type_int8, builtin_type_uint8,
4432         builtin_type_int16, builtin_type_uint16, builtin_type_int32,
4433         builtin_type_uint32, builtin_type_int64, builtin_type_uint64,
4434         builtin_type_int128, builtin_type_uint128): Remove.
4435         (_initialize_gdbtypes): Do not initialize them.
4436         (gdbtypes_post_init): Initialize fixed-size integer types.
4437
4438         * dwarf2expr.c (unsigned_address_type, signed_address_type): Add
4439         GDBARCH argument.  Return platform-specific type.
4440         (dwarf2_read_address, execute_stack_op): Update calls.
4441
4442         * target-descriptions.c (tdesc_gdb_type): Use platform-specific types
4443         instead of global builtin_int_... variables.
4444         * mi/mi-main.c (mi_cmd_data_read_memory): Likewise.
4445         * printcmd.c (do_examine): Likewise.
4446         * jv-exp.y (parse_number): Likewise.
4447
4448         * alpha-tdep.c (alpha_register_type, alpha_push_dummy_call,
4449         alpha_store_return_value): Likewise.
4450         * amd64-linux-tdep.c (amd64_linux_register_type): Likewise.
4451         * amd64-tdep.c (amd64_register_type): Likewise.
4452         * arm-tdep.c (arm_register_type): Likewise.
4453         * avr-tdep.c (avr_register_type): Likewise.
4454         * cris-tdep.c (cris_register_type, crisv32_register_type): Likewise.
4455         * frv-tdep.c (frv_register_type): Likewise.
4456         * h8300-tdep.c h8300_register_type): Likewise.
4457         * hppa-tdep.c (hppa64_push_dummy_call, hppa32_register_type,
4458         hppa64_register_type): Likewise.
4459         * i386-tdep.c (i386_mmx_type, i386_sse_type): Likewise.
4460         * iq2000-tdep.c (iq2000_register_type): Likewise.
4461         * lm32-tdep.c (lm32_register_type, lm32_push_dummy_call): Likewise.
4462         * m32r-tdep.c (m32r_register_type): Likewise.
4463         * m68hc11-tdep.c (m68hc11_register_type, m68hc11_pseudo_register_read,
4464         m68hc11_pseudo_register_write): Likewise.
4465         * m68k-tdep.c (m68k_register_type): Likewise.
4466         * m88k-tdep.c (m88k_register_type, m88k_store_arguments): Likewise.
4467         * mep-tdep.c (mep_register_type): Likewise.
4468         * mips-tdep.c (mips_register_type, mips_pseudo_register_type,
4469         mips_print_fp_register): Likewise.
4470         * moxie-tdep.c (moxie_register_type): Likewise.
4471         * mt-tdep.c (mt_copro_register_type, mt_register_type): Likewise.
4472         * rs6000-tdep.c (rs6000_builtin_type_vec64,
4473         rs6000_builtin_type_vec128): Likewise.
4474         * score-tdep.c (score_register_type): Likewise.
4475         * sparc-tdep.c (sparc32_register_type, sparc32_store_arguments):
4476         Likewise.
4477         * sparc64-tdep.c (sparc64_register_type, sparc64_store_arguments):
4478         Likewise.
4479         * spu-tdep.c (spu_builtin_type_vec128, spu_register_type): Likewise.
4480         * v850-tdep.c (v850_register_type): Likewise.
4481         * xstormy16-tdep.c (xstormy16_register_type): Likewise.
4482         * xtensa-tdep.c (xtensa_register_type): Likewise.
4483
4484         * mt-tdep.c (struct gdbarch_tdep): New data structure.
4485         (mt_gdbarch_init): Alloc TDEP structures.
4486         (mt_register_type): Cache coprocessor type in TDEP instead of
4487         static global variable.
4488
4489         * xtensa-tdep.h (struct gdbarch_tdep): Add type_entries member.
4490         * xtensa-tdep.c (type_entries): Remove.
4491         (xtensa_register_type): Cache fixed-size types in TDEP instead
4492         of in global variable.
4493
4494 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4495
4496         * gdbtypes.h (builtin_type_true_char): Remove.
4497         (builtin_type_true_unsigned_char): Likewise.
4498         (struct builtin_type): Add builtin_true_char and
4499         builtin_true_unsigned_char members.
4500         * gdbtypes.c (builtin_type_true_char): Remove.
4501         (builtin_type_true_unsigned_char): Likewise.
4502         (_initialize_gdbtypes): Do not initialize them.
4503         (gdbtypes_post_init): Initialize builtin_true_char and
4504         builtin_true_unsigned_char members of builtin_type.
4505
4506         * printcmd.c (print_scalar_formatted): Use builtin_type
4507         members instead of builtin_type_true_char and
4508         builtin_type_true_unsigned_char.
4509         * ada-valprint.c (ada_val_print_1): Likewise.
4510
4511 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4512
4513         * gdbtypes.h (builtin_type_void): Remove.
4514         * gdbtypes.c (builtin_type_void): Remove.
4515         (_initialize_gdbtypes): Do not initialize it.
4516
4517         (safe_parse_type): Add GDBARCH argument.  Use it to construct
4518         void return type.
4519         (check_stub_method): Update call.
4520
4521         * infcall.c (call_function_by_hand): Use platform-specific type
4522         instead of builtin_type_void.
4523         * valops.c (value_cast): Use input void type instead of
4524         builtin_type_void.
4525
4526 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4527
4528         * ada-lang.c (assign_component): Use platform-specific integer type
4529         instead of builtin_type_int32 type.
4530         (ada_evaluate_subexp) [OP_ATR_SIZE]: Likewise.
4531
4532         * ax-gdb.c (gen_expr) [UNOP_NEG]: Use platform-specific integer type
4533         instead of builtin_type_int8 type.
4534         * valarith.c (value_x_unop): Likewise.
4535         * python/python-value.c (valpy_absolute): Avoid reference to
4536         builtin_type_int8 type.
4537
4538         * eval.c (evaluate_subexp_standard): Use platform-specific integer
4539         type instead of builtin_type_int8 as EVAL_SKIP return value type.
4540         * ada-lang.c (ada_evaluate_subexp): Likewise.
4541         * jv-lang.c (evaluate_subexp_java): Likewise.
4542         * m2-lang.c (evaluate_subexp_modula2): Likewise.
4543         * scm-lang.c (evaluate_exp): Likewise.
4544
4545         * value.h (value_bitstring): Add INDEX_TYPE argument.
4546         * valops.c (value_bitstring): Add INDEX_TYPE argument, use it instead
4547         of builtin_type_int32 as base range type.
4548         * eval.c (evaluate_subexp_standard): Update value_bitstring call.
4549
4550 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4551
4552         * gdbtypes.c (lookup_array_range_type): Add prototype.
4553         (lookup_string_range_type): Likewise.
4554         * gdbtypes.c (lookup_array_range_type): New function.
4555         (lookup_string_range_type): Likewise.
4556
4557         * ax-gdb.c (gen_repeat): Use lookup_array_range_type.
4558         * parse.c (follow_types): Likewise.
4559         * jv-lang.c (java_array_type): Likewise.
4560         * gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
4561         * mt-tdep.c (mt_register_type): Likewise.
4562         * sh-tdep.c (sh_sh4_build_float_register_type): Likewise.
4563         * sh64-tdep.c (sh64_build_float_register_type): Likewise.
4564         * value.c (allocate_repeat_value): Likewise.
4565         * valops.c (value_array, value_cstring): Likewise.
4566         * valops.c (value_string): Use lookup_string_range_type.
4567
4568 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4569
4570         * m2-typeprint.c (m2_print_bounds, m2_is_long_set_of_type): Remove
4571         redundant check for NULL TYPE_TARGET_TYPE.
4572         * m2-valprint.c (m2_print_long_set): Likewise.
4573         * p-valprint.c (pascal_type_print_base): Likewise.
4574
4575 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4576
4577         * printcmd.c (next_gdbarch): New static variable.
4578         (set_next_address, do_examine, x_command): Set it.
4579         (decode_format): Use 'a' size to indicate width of an address.
4580         (do_examine): Add GDBARCH argument.  Handle 'a' size.
4581         (x_command): Pass architecture to do_examine.
4582         Error if called without argument the first time.  
4583         (do_one_display): Pass architecture to do_examine.
4584
4585         (examine_i_type, examine_b_type, examine_h_type, examine_w_type,
4586         examine_g_type): Remove.
4587         (_initialize_printcmd): Do not initialize them.
4588         (do_examine): Use builin_type_int... instead of examine_..._type.
4589
4590 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4591
4592         * gdbtypes.h (struct builtin_type): Add internal_fn member.
4593         * gdbtypes.c (gdbtypes_post_init): Initialize it.
4594         * value.c (internal_fn_type): Remove.
4595         (_initialize_values): Do not initialize it.
4596
4597         * value.c (struct internalvar): Add enum internalvar_kind type and
4598         kind member.  Restructure union internalvar_data type.  Remove type,
4599         canonical, and make_value members.
4600         (init_if_undefined_command): Update for data structure changes.
4601         (create_internalvar): Likewise.
4602         (create_internalvar_type_lazy): Likewise.
4603         (get_internalvar_integer): Likewise.
4604         (get_internalvar_function): Likewise.
4605         (set_internalvar_component): Likewise.
4606         (set_internalvar): Likewise.
4607         (set_internalvar_integer): Likewise.
4608         (set_internalvar_function): Likewise.
4609         (clear_internalvar): Likewise.
4610         (add_internal_function): Likewise.
4611         (preserve_one_internalvar): New function.
4612         (preserve_values): Call it.
4613
4614         * value.h (value_of_internalvar): Add GDBARCH parameter.
4615         (internalvar_make_value): Likewise.
4616         * value.c (value_of_internalvar): Add GDBARCH parameter.  Pass it to
4617         make_value callback.  Use it to generate per-architecture result value
4618         types for internal variables with no pre-defined type.  Update for data
4619         structure changes.
4620         (show_convenience): Pass architecture to value_of_internalvar.
4621         * eval.c (evaluate_subexp_standard): Likewise.
4622         * infrun.c (siginfo_make_value): Add GDBARCH parameter.  Use it
4623         instead of current frame architecture.  Return per-architecture type.
4624
4625         * value.h (set_internalvar_string): Add prototype.
4626         * value.c (set_internalvar_string): New function.
4627         * tracepoint.c (set_traceframe_context): Use it.
4628
4629 2009-07-02  Ulrich Weigand  <uweigand@de.ibm.com>
4630
4631         * jv-lang.h (java_int_type, java_byte_type, java_short_type,
4632         java_long_type, java_boolean_type, java_char_type, java_float_type,
4633         java_double_type, java_void_type): Remove.
4634         (struct builtin_java_type): New data type.
4635         (builtin_java_type): Add prototype.
4636         (java_primitive_type): Add GDBARCH argument.
4637         (java_primitive_type_from_name): Likewise.
4638         (type_from_class): Likewise.
4639
4640         * jv-lang.c (java_int_type, java_byte_type, java_short_type,
4641         java_long_type, java_boolean_type, java_char_type, java_float_type,
4642         java_double_type, java_void_type): Remove.
4643
4644         (build_java_types, builtin_java_type): New functions.
4645         (java_type_data): New static variable.
4646         (_initialize_java_language): Initialize it.  No longer initialize
4647         global types.
4648         (java_language_arch_info): Use per-architecture types.
4649
4650         (java_primitive_type): Add GDBARCH argument.  Return per-architecture
4651         type instead of refering to global variable.
4652         (java_primitive_type_from_name): Add GDBARCH argument.
4653         (java_primitive_type_name): New function.
4654         (java_demangled_signature_length): Use it instead of
4655         java_primitive_type_from_name.
4656         (java_demangled_signature_copy): Likewise.
4657
4658         (type_from_class): Add GDBARCH argument.  Pass to java_link_class_type,
4659         java_primitive_type, and recursive type_from_class call.
4660         (java_link_class_type): Add GDBARCH argument.  Pass to type_from_class
4661         calls.  Use per-architecture types instead of global types.
4662
4663         * jv-exp.y (parse_java_type): New define.
4664         Use per-architecture types instead of global types througout.
4665
4666         * jv-valprint.c (java_value_print): Pass architecture to
4667         type_from_class and java_primitive_type_from_name.  Use per-
4668         architecture types instead of global types.
4669
4670 2009-07-01  Doug Evans  <dje@google.com>
4671
4672         * NEWS: Mention biarch amd64-linux gdbserver and hardware watchpoint
4673         support for i386-linux, amd64-linux, and i386-win32 builds of
4674         gdbserver.
4675
4676 2009-07-01  Nick Roberts  <nickrob@snap.net.nz>
4677
4678         * Makefile.in (HFILES_NO_SRCDIR): Remove entries for deleted files.
4679
4680 2009-06-30  Jan Kratochvil  <jan.kratochvil@redhat.com>
4681
4682         * Makefile.in (TARGET_FLAGS_TO_PASS): Include also FORCE_PARALLEL.
4683         (check//%): Construct FORCE_PARALLEL for the sub-make.  Extend the
4684         comment for it.
4685
4686 2009-06-30  Paul Pluzhnikov  <ppluzhnikov@google.com>
4687
4688         gdb/10275
4689         * dwarf2-frame.c (dwarf2_frame_state): Move cfa_offset, cfa_reg,
4690         cfa_how and cfa_exp into regs and adjust users.
4691         
4692 2009-06-30  Daniel Jacobowitz  <dan@codesourcery.com>
4693
4694         * dwarf2read.c (inherit_abstract_dies): Work around GCC PR 40573.
4695
4696 2009-06-30  Vladimir Prus  <vladimir@codesourcery.com>
4697
4698         * mi/mi-cmd-stack.c (parse_print_values): New.
4699         (mi_cmd_stack_list_locals, mi_cmd_stack_list_args): Use the above.
4700
4701 2009-06-30  Vladimir Prus  <vladimir@codesourcery.com>
4702
4703         * varobj.c (varobj_get_type): Use type_to_string.
4704
4705 2009-06-29  Pedro Alves  <pedro@codesourcery.com>
4706
4707         * infrun.c (handle_inferior_event): Context switch to the new
4708         thread when resuming for a new_thread_event.
4709
4710 2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
4711
4712         * ada-lang.h (ada_convert_actual): Add GDBARCH argument.
4713         * ada-lang.c (convert_actual): Remove stale prototype.
4714         (ensure_lval, make_array_descriptor, ada_convert_actual):
4715         Add GDBARCH argument and pass through to subroutine calls.
4716         (ensure_lval): Use GDBARCH instead of current_gdbarch.
4717         * infcall.c (value_arg_coerce): Update ada_convert_actual call.
4718
4719 2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
4720
4721         * ada-lang.c (resolve): Use per-architecture void type instead
4722         of platform-independent one.
4723         (ada_evaluate_subexp) [STRUCTOP_STRUCT]: Likewise.
4724         (ada_resolve_function): Reimplement fallback logic to avoid
4725         explicit reference to builtin_type_void.
4726
4727 2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
4728
4729         * ada-valprint.c (ada_print_scalar): Accept NULL type argument
4730         to indicate scalar should be printed as default integer.
4731         (print_optional_low_bound): Pass NULL to ada_print_scalar to
4732         indicate default integer output.
4733         * ada-typeprint.c (print_range, print_range_bound): Likewise.
4734         (print_choices): Likewise.  Thus, accept NULL as val_type.
4735         * ada-lang.c (ada_variant_discrim_type): Return NULL when failed
4736         to look up controlling discriminant name.
4737
4738 2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
4739
4740         * ada-lang.c (to_fixed_range_type): Add ORIG_TYPE argument.
4741         Fall back to orig_type as index type if symbol lookup fails.
4742         Allocate result types from ORIG_TYPE's objfile.
4743         (ada_array_bound_from_type, to_fixed_array_type,
4744         ada_evaluate_subexp): Pass original index type to
4745         to_fixed_range_type.  Do not pass objfile.
4746
4747         * ada-typeprint.c (print_range_type_named): Add ORIG_TYPE argument.
4748         Fall back to orig_type as index type if symbol lookup fails.
4749         (print_array_type, ada_print_type): Pass original index type
4750         to print_range_type_named.
4751
4752 2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
4753
4754         * ada-lang.c (ada_index_type): Update comment.
4755
4756 2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
4757
4758         * ada-lang.c (ada_index_type): Make static.  Add NAME argument.
4759         Throw error on invalid input arguments.  Return NULL if unable
4760         to determine index type.
4761
4762         (ada_array_bound_from_type): Remove TYPEP argument.
4763         (ada_array_bound): Make static.  Return LONGEST instead of value.
4764         Update for ada_array_bound_from_type change.
4765         (ada_array_length): Return LONGEST instead of value.
4766         Update for ada_array_bound_from_type change.
4767         (make_array_descriptor): Update for ada_array_bound change.
4768
4769         (ada_evaluate_subexp) [OP_ATR_RANGE, OP_ATR_FIRST, OP_ATR_LAST,
4770         OP_ATR_LENGTH]: Update for ada_array_bound_from_type,
4771         ada_array_bound, ada_array_length, ada_index_type changes.
4772         Always use ada_index_type to compute result type; fall back
4773         to architecture-specific integer type if ada_index_type fails.
4774
4775         * ada-lang.h (ada_index_type): Remove prototype.
4776         (ada_array_bound): Likewise.
4777
4778 2009-06-29  Pedro Alves  <pedro@codesourcery.com>
4779
4780         * dbxread.c (read_dbx_symtab): Clear has_line_numbers when ending
4781         a psymtab.
4782
4783 2009-06-29  Tom Tromey  <tromey@redhat.com>
4784
4785         * README: Mention parallel check.
4786
4787 2009-06-29  Sami Wagiaalla  <swagiaal@redhat.com>
4788
4789         * dwarf2read.c (read_import_statement): Properly set import location
4790         and destination.
4791         * cp-support.h (cp_add_using, cp_add_using_directive): Now take char*
4792         inner, char* outer arguments. Updated callers.
4793
4794 2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
4795
4796         * value.h (value_subscript, value_subscripted_rvalue,
4797         value_bitstring_subscript, value_ptradd): Use LONGEST instead
4798         of value as type of the index argument.
4799         (value_ptrsub): Remove.
4800         * valarith.c (value_subscript, value_subscripted_rvalue,
4801         value_bitstring_subscript, value_ptradd): Use LONGEST instead
4802         of value as type of the index argument.
4803         (value_ptrsub): Remove.
4804
4805         * wrapper.h (gdb_value_subscript): Use LONGEST instead of
4806         value as type of the index argument.
4807         * wrapper.c (gdb_value_subscript): Likewise.
4808
4809         Update calls to gdb_value_subscript, value_subscript,
4810         value_subscripted_rvalue, value_bitstring_subscript and
4811         value_ptradd to use LONGEST instead of value as index
4812         argument type.  Use value_ptradd instead of value_ptrsub.
4813         * ada-lang.c (ada_value_subscript, ada_value_ptr_subscript,
4814         ada_tag_name_2): Update.
4815         * ada-tasks.c (read_atcb): Update.
4816         * eval.c (evaluate_subexp_standard): Update.
4817         * valarith.c (value_subscript): Update.
4818         * gnu-v2-abi.c (gnuv2_virtual_fn_field): Update.
4819         * gnu-v3-abi.c (gnuv3_get_virtual_fn, gnuv3_baseclass_offset,
4820         gnuv3_method_ptr_to_value): Update.
4821         * jv-lang.c (evaluate_subexp_java): Update.
4822         * m2-lang.c (evaluate_subexp_modula2): Update.
4823         * python/python-value.c (valpy_getitem, valpy_binop): Update.
4824         * wrapper.c (gdb_value_subscript): Update.
4825         * varobj.c (c_describe_child): Update.
4826
4827 2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
4828
4829         * gdbtypes.h (make_function_type): Remove OBJFILE parameter.
4830         * gdbtypes.c (make_function_type): Remove OBJFILE parameter.
4831         (lookup_function_type): Update call.
4832         * stabsread.c (read_type): Likewise.
4833         * dwarf2read.c (read_subroutine_type): Use lookup_function_type
4834         instead of make_function_type.
4835         * jv-lang.c (type_from_class): Likewise.  Do not allocate types
4836         on the fake "dynamics" obstack.
4837
4838 2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
4839
4840         * gdbtypes.h (struct builtin_type): Remove builtin_core_addr,
4841         nodebug_text_symbol, nodebug_data_symbol, nodebug_unknown_symbol,
4842         and nodebug_tls_symbol members.
4843         (struct objfile_type): New data structure.
4844         (objfile_type): Add prototype.
4845         * gdbtypes.c (gdbtypes_post_init): Remove initialization code
4846         for types no longer in struct builtin_type.
4847         (objfile_type_data): New static variable.
4848         (_initialize_gdbtypes): Initialize it.
4849         (objfile_type): New function.
4850
4851         * gdbtypes.h (builtin_type_error): Remove.
4852         * gdbtypes.c (build_complex): Do not use builtin_type_error.
4853         * symtab.c (builtin_type_error): Remove.
4854         (_initialize_symtab): Remove initialization.
4855
4856         * stabsread.c (dbx_lookup_type, define_symbol, error_type,
4857         rs6000_builtin_type, read_range_type): Use per-objfile types
4858         instead of global or per-architecture builtin types.
4859         * coffread.c (decode_type): Likewise.
4860         * dwarf2read.c (read_array_type, read_tag_string_type,
4861         new_symbol, die_type): Likewise.
4862         * mdebugread.c (parse_symbol, basic_type, upgrade_type,
4863         parse_procedure, psymtab_to_symtab_1): Likewise.
4864         * xcoffread.c (process_xcoff_symbol): Likewise.
4865         * parse.c (write_exp_msymbol): Likewise.
4866
4867         * stabsread.c (rs6000_builtin_type_data): New static variable.
4868         (_initialize_stabsread): Initialize it.
4869         (rs6000_builtin_type): Add OBJFILE argument.  Allocate builtin
4870         types per-objfile instead of globally.
4871
4872         * stabsread.c (dbx_lookup_type): Add OBJFILE argument.  Use it
4873         instead of current_objfile; pass it to rs6000_builtin_type.
4874         (dbx_alloc_type, read_type, read_range_type): Update calls.
4875         (cleanup_undefined_types_noname): Add OBJFILE argument and
4876         pass it to dbx_lookup_type.
4877         (cleanup_undefined_types): Add OBJFILE argument and pass it
4878         to cleanup_undefined_types_noname.
4879         * stabsread.h (cleanup_undefined_types): Add OBJFILE argument.
4880         * buildsym.c (end_symtab): Update call.
4881
4882 2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
4883
4884         * darwin-nat-info.c (darwin_debug_regions_recurse): Use
4885         target_gdbarch instead of current_gdbarch.
4886
4887 2009-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
4888
4889         * Makefile.in (ALL_64_TARGET_OBS): Add amd64-windows-tdep.o.
4890         (ALL_TARGET_OBS): Add moxie-tdep.o, i386-darwin-tdep.o, and
4891         solib-darwin.o.
4892
4893         * configure.tgt: Add comment.
4894
4895 2009-06-28  Paul Pluzhnikov  <ppluzhnikov@google.com>
4896
4897         * mi/mi-cmds.c (mi_cmds): Remove unimplemented entries.
4898         
4899 2009-06-27  Daniel Jacobowitz  <dan@codesourcery.com>
4900             Jan Kratochvil  <jan.kratochvil@redhat.com>
4901
4902         * NEWS: Document inlined function support.
4903         * Makefile.in (SFILES): Add inline-frame.c.
4904         (COMMON_OBS): Add inline-frame.o.
4905         * block.c (contained_in): Rewrite to use lexical nesting.
4906         (block_linkage_function): Skip inlined function blocks.
4907         (block_inlined_p): New.
4908         * block.h (struct block): Update comment.
4909         (block_inlined_p): New prototype.
4910         * blockframe.c (get_frame_block): Handle inlined functions.
4911         (get_frame_function): Do not use block_linkage_function.
4912         (block_innermost_frame): Use get_frame_block and contained_in.
4913         * breakpoint.c (watchpoint_check): Remove extra reinit_frame_cache.
4914         Skip over inlined functions.  Simplify epilogue check.
4915         (bpstat_check_breakpoint_conditions): Use get_stack_frame_id.
4916         Update comments.
4917         (set_momentary_breakpoint): Only accept non-inlined frames.
4918         (watch_command_1): Use frame_unwind_caller_pc and
4919         frame_unwind_caller_id instead of get_prev_frame.
4920         (until_break_command): Likewise.  Use get_stack_frame_id.
4921         * buildsym.c (end_symtab): Set SYMBOL_SYMTAB for block functions.
4922         * dwarf2loc.c (dwarf_expr_frame_base): Use block_linkage_function.
4923         * dwarf2read.c (process_die): Handle DW_TAG_inlined_subroutine.
4924         (read_func_scope, new_symbol): Likewise.  Handle arguments specially
4925         for inlined functions without call site information.
4926         (inherit_abstract_dies): Allow tag mismatch for inlined subroutines.
4927         (die_specification): Treat DW_AT_abstract_origin as a specification.
4928         (read_type_die): Handle DW_TAG_inlined_subroutine.
4929         * frame-unwind.c (frame_unwind_init): Add inline_frame_unwind.
4930         * frame.c (fprint_frame_id): Print inline depth.
4931         (fprint_frame_type): Handle INLINE_FRAME and SENTINEL_FRAME.
4932         (skip_inlined_frames, get_stack_frame_id): New.
4933         (frame_unwind_caller_id): Use skip_inlined_frames.
4934         (frame_id_inlined_p): New.
4935         (frame_id_eq): Make the logic match the comments.  Add inline_depth
4936         check.
4937         (frame_id_inner): Handle inlined functions.
4938         (frame_unwind_pc): New function, copied from frame_unwind_caller_pc.
4939         (frame_unwind_caller_pc): Use skip_inlined_frames and frame_unwind_pc.
4940         (get_prev_frame_1): Check for inline frames.  Split out frame
4941         allocation to get_prev_frame_raw.
4942         (get_prev_frame_raw): New function.
4943         (get_prev_frame): Handle inline frames.
4944         (get_frame_pc): Use frame_unwind_pc.
4945         (get_frame_address_in_block): Skip inlined frames on both sides.
4946         (pc_notcurrent): Delete.
4947         (find_frame_sal): Rewrite to handle inline call sites.  Use
4948         get_frame_address_in_block.
4949         (deprecated_update_frame_pc_hack): Make static.
4950         * frame.h: Update comments.
4951         (struct frame_id): Add inline_depth.
4952         (enum frame_type): Add INLINE_FRAME.
4953         (frame_id_inlined_p, get_stack_frame_id): New prototypes.
4954         * gdbthread.h (struct thread_info): Add step_stack_frame_id field.
4955         * infcmd.c (set_step_frame): New function.
4956         (step_once): Use set_step_frame.  Handle inlined functions.
4957         (until_next_command): Use set_step_frame.
4958         (finish_backward), finish_forward): Use get_stack_frame_id.
4959         (finish_command): Support inlined functions.
4960         * inferior.h (set_step_info): New prototype.
4961         * infrun.c (RESUME_ALL): Use minus_one_ptid.
4962         (clear_proceed_status): Clear step_stack_frame_id.
4963         (init_wait_for_inferior): Call clear_inline_frame_state.
4964         (init_execution_control_state): Make static.
4965         (set_step_info): New function.
4966         (init_thread_stepping_state): Do not set the symtab or line here.
4967         (stepped_in_from): New function.
4968         (handle_inferior_event): Handle inlined functions.  Use set_step_info.
4969         (insert_step_resume_breakpoint_at_frame): Use get_stack_frame_id.
4970         (struct inferior_status): Add step_stack_frame_id.
4971         (save_inferior_status, restore_inferior_status): Save and restore
4972         step_stack_frame_id.
4973         * inline-frame.c, inline-frame.h: New files.
4974         * minsyms.c (prim_record_minimal_symbol_and_info): Use XCALLOC.
4975         * regcache.c (regcache_write_pc): Call reinit_frame_cache.
4976         * s390-tdep.c (s390_prologue_frame_unwind_cache): Handle INLINE_FRAME.
4977         * stack.c (frame_show_address): New.
4978         (print_frame_info, print_frame): Use it.
4979         (find_frame_funname): Use get_frame_function.  Handle inlined blocks.
4980         (frame_info): Mark inlined functions.
4981         (backtrace_command_1): Use get_current_user_frame.
4982         (print_frame_local_vars, print_frame_label_vars): Update comments.
4983         (return_command): Refuse inlined functions.
4984         * symtab.c (lookup_symbol_aux_local): Stop at inlined function
4985         boundaries.
4986         (find_function_start_sal): Avoid inlined functions.
4987         (completion_list_add_fields): New function.
4988         (default_make_symbol_completion_list): Use it.  Use block_static_block
4989         and block_global_block.  Check for inlined functions.
4990         (skip_prologue_using_sal): Avoid line number comparison across
4991         inlining.
4992         * symtab.h (struct symbol): Add is_inlined.
4993         (SYMBOL_INLINED): New.
4994         * target.c (target_resume): Call clear_inline_frame_state.
4995         * valops.c (value_of_variable): Check block_inlined_p.
4996
4997 2009-06-27  Daniel Jacobowitz  <dan@codesourcery.com>
4998
4999         * frame.c (frame_unwind_id): Renamed to ...
5000         (frame_unwind_caller_id): ... this.  All callers updated.
5001         (frame_pc_unwind): Renamed to ...
5002         (frame_unwind_caller_pc): ... this.  All callers updated.
5003         * frame.h: Document frame_unwind_caller_WHAT functions.
5004         (frame_unwind_id): Renamed to ...
5005         (frame_unwind_caller_id): ... this.
5006         (frame_pc_unwind): Renamed to ...
5007         (frame_unwind_caller_pc): ... this.
5008         * hppa-tdep.c (hppa_find_unwind_entry_in_block): Correct comment.
5009         * stack.c (parse_frame_specification_1): Do not rely on
5010         frame_unwind_id.
5011
5012 2009-06-27  Michael Snyder  <msnyder@vmware.com>
5013
5014         * infrun.c (handle_inferior_event): Improve handling of
5015         reverse-stepping into and over shared library functions.
5016
5017 2009-06-25  Karen Osmond  <karen.osmond@gmail.com>
5018
5019         * linespec.c (find_method): Add new not_found_ptr parameter to
5020         bring in line with symtab_from_filename, decode_variable.
5021         (decode_compound): Likewise.  Also propagate not_found_ptr to 
5022         find_method.
5023         (decode_line_1): Propagate not_found_ptr to decode_compound.
5024         (cplusplus_error): Now throws NOT_FOUND_ERROR.
5025
5026 2009-06-25  Karen Osmond  <karen.osmond@gmail.com>
5027
5028         * MAINTAINERS (Write After Approval): Add self.
5029
5030 2009-06-23  Ulrich Weigand  <uweigand@de.ibm.com>
5031
5032         * valops.c (value_one): Reimplement broken decimal-float case.
5033
5034 2009-06-23  Ulrich Weigand  <uweigand@de.ibm.com>
5035
5036         * eval.c (evaluate_subexp_standard): Use expression architecture
5037         instead of current_gdbarch.
5038
5039         * infrun.c (handle_inferior_event): Avoid unncessary reference
5040         to current_gdbarch and get_current_frame ().
5041
5042 2009-06-23  Ulrich Weigand  <uweigand@de.ibm.com>
5043
5044         * breakpoint.h (set_longjmp_breakpoint): Add THREAD argument.
5045         (enum bptype): Add bp_longjmp_master.
5046
5047         * breakpoint.c (create_longjmp_master_breakpoint): New function.
5048         (update_breakpoints_after_exec): Handle bp_longjmp_master
5049         breakpoints.  Call create_longjmp_master_breakpoint.
5050         (print_it_typical, bpstat_stop_status, bpstat_what,
5051         print_one_breakpoint_location, allocate_bp_location, mention,
5052         delete_command, breakpoint_re_set_one): Handle bp_longjmp_master.
5053         (breakpoint_re_set): Call create_longjmp_master_breakpoint.
5054         (create_longjmp_breakpoint): Delete.
5055         (set_longjmp_breakpoint): Add THREAD argument.  Reimplement
5056         to install momentary clones of bp_longjmp_master breakpoints.
5057
5058         * infcmd.c (step_1): Pass thread to set_longjmp_breakpoint.
5059
5060 2009-06-23  Cary Coutant  <ccoutant@google.com>
5061
5062         * dwarf2read.c (dwarf_decode_lines): Ignore rows where is_stmt is 0.
5063         Set basic_block to 0 after a special opcode.
5064
5065 2009-06-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
5066
5067         Fix a regression by the mmap patch from 2009-06-16.
5068         * symfile.c (reread_symbols): Move sym_finish and clear_objfile_data
5069         calls before deleting the OBJFILE obstack.  Extend the comment.
5070
5071 2009-06-23  Ulrich Weigand  <uweigand@de.ibm.com>
5072
5073         * jv-lang.h (JAVA_OBJECT_SIZE): Remove.
5074         (get_java_object_header_size): Add GDBARCH parameter.
5075         * jv-lang.c (get_java_object_header_size): Add GDBARCH parameter.
5076         Use it instead of current_gdbarch.
5077         (evaluate_subexp_java): Replace JAVA_OBJECT_SIZE with call to
5078         get_java_object_header_size.
5079         * jv-valprint.c (java_value_print): Likewise.
5080
5081 2009-06-23  Sami Wagiaalla  <swagiaal@redhat.com>
5082
5083         * dwarf2read.c (process_die): Handle import statements
5084         (DW_TAG_imported_declaration, case DW_TAG_imported_module)
5085         (read_import_statement): New.
5086         (read_func_scope): Update using_directives to point to current context
5087         (read_lexical_block_scope): Ditto.
5088         * cp-support.h: Added prototype for cp_add_using.
5089         * cp-namespace.c: Removed local context_stack.
5090         (cp_initialize_namespace): Deleted.
5091         (cp_finalize_namespace): Deleted.
5092         (cp_add_using_directive): Use using_directives instead of using_list.
5093         (cp_add_using): No longer static.
5094         * buildsym.h: Created global using_direct variable.
5095         Created using_direct variable in context_stack.
5096         * buildsym.c (finish_block): Set using directives for the block under
5097         construction.
5098         (start_symtab): Removed call to cp_initialize_namespace().
5099         (end_symtab): Removed call to cp_finalize_namespace().
5100         (push_context): Save and reset using_directives.
5101         * block.c (block_using): Return using directives for given
5102         block instead of static block.
5103
5104 2009-06-23  Ulrich Weigand  <uweigand@de.ibm.com>
5105
5106         * target-descriptions.h (struct type): Do not declare.
5107         (struct tdesc_type): Declare.
5108         (tdesc_named_type): Change return type to struct tdesc_type *.
5109         (tdesc_record_type): Remove.
5110         (tdesc_create_vector): Add prototype.
5111         (tdesc_create_union): Likewise.
5112         (tdesc_add_field): Likewise.
5113
5114         * target-descriptions.c (struct tdesc_reg): Replace gdb_type
5115         member by tdesc_type member.
5116         (struct tdesc_type_field, tdesc_type_field): Add type and vector def.
5117         (struct tdesc_type, tdesc_type_p): Likewise.
5118         (struct tdesc_arch_reg, tdesc_arch_reg): Likewise.
5119         (struct tdesc_feature): Change type of "types" to VEC(tdesc_type_p).
5120         (struct tdesc_arch_data): Replace registers member by arch_regs.
5121
5122         (tdesc_predefined_types): Change to array of pre-defined
5123         struct tdesc_type structures.  Add "code_ptr" and "data_ptr".
5124         (tdesc_named_type): Return struct tdesc_type * instead of GDB type.
5125         (tdesc_gdb_type): New function.
5126
5127         (target_find_description): Update for data structure changes.
5128         (tdesc_data_cleanup): Likewise.
5129         (tdesc_numbered_register): Likewise.
5130         (tdesc_use_registers): Likewise.
5131         (tdesc_create_reg): Likewise.
5132         
5133         (tdesc_find_arch_register): New function.
5134         (tdesc_find_register): Use it.
5135         (tdesc_register_type): Use tdesc_gdb_type to generate GDB type from
5136         tdesc_type on demand; cache generated types in tdesc_arch_reg.
5137
5138         (tdesc_free_type): New function.
5139         (tdesc_free_feature): Call it.
5140
5141         (tdesc_create_vector): New function.
5142         (tdesc_create_union): Likewise.
5143         (tdesc_add_field): Likewise.
5144         (tdesc_record_type): Remove.
5145
5146         (tdesc_type_id): Remove.
5147         (maint_print_c_tdesc_cmd): Update for data structure changes.  Update
5148         generated code to create tdesc_type structures instead of GDB types.
5149
5150         * xml-tdesc.c: Do not include "gdbtypes.h".
5151         (struct tdesc_parsing_data): Change type of current_union to
5152         struct tdesc_type *.
5153         (tdesc_start_reg): Do not special-case "code_ptr" or "data_ptr".
5154         (tdesc_start_union): Call tdesc_create_union.
5155         (tdesc_start_field): Call tdesc_add_field.
5156         (tdesc_start_vector): Call tdesc_create_vector.
5157         (tdesc_end_union): Remove.
5158         (feature_children): Remove reference to tdesc_end_union.
5159
5160         * features/arm-with-iwmmxt.c: Regenerate.
5161         * features/mips-linux.c: Regenerate.
5162         * features/mips64-linux.c: Regenerate.
5163         * features/rs6000/powerpc-32.c: Regenerate.
5164         * features/rs6000/powerpc-32l.c: Regenerate.
5165         * features/rs6000/powerpc-403.c: Regenerate.
5166         * features/rs6000/powerpc-403gc.c: Regenerate.
5167         * features/rs6000/powerpc-505.c: Regenerate.
5168         * features/rs6000/powerpc-601.c: Regenerate.
5169         * features/rs6000/powerpc-602.c: Regenerate.
5170         * features/rs6000/powerpc-603.c: Regenerate.
5171         * features/rs6000/powerpc-604.c: Regenerate.
5172         * features/rs6000/powerpc-64.c: Regenerate.
5173         * features/rs6000/powerpc-64l.c: Regenerate.
5174         * features/rs6000/powerpc-7400.c: Regenerate.
5175         * features/rs6000/powerpc-750.c: Regenerate.
5176         * features/rs6000/powerpc-860.c: Regenerate.
5177         * features/rs6000/powerpc-altivec32.c: Regenerate.
5178         * features/rs6000/powerpc-altivec32l.c: Regenerate.
5179         * features/rs6000/powerpc-altivec64.c: Regenerate.
5180         * features/rs6000/powerpc-altivec64l.c: Regenerate.
5181         * features/rs6000/powerpc-e500.c: Regenerate.
5182         * features/rs6000/powerpc-e500l.c: Regenerate.
5183         * features/rs6000/powerpc-isa205-32l.c: Regenerate.
5184         * features/rs6000/powerpc-isa205-64l.c: Regenerate.
5185         * features/rs6000/powerpc-isa205-altivec32l.c: Regenerate.
5186         * features/rs6000/powerpc-isa205-altivec64l.c: Regenerate.
5187         * features/rs6000/powerpc-isa205-vsx32l.c: Regenerate.
5188         * features/rs6000/powerpc-isa205-vsx64l.c: Regenerate.
5189         * features/rs6000/powerpc-vsx32.c: Regenerate.
5190         * features/rs6000/powerpc-vsx32l.c: Regenerate.
5191         * features/rs6000/powerpc-vsx64.c: Regenerate.
5192         * features/rs6000/powerpc-vsx64l.c: Regenerate.
5193         * features/rs6000/rs6000.c: Regenerate.
5194
5195 2009-06-23  Joel Brobecker  <brobecker@adacore.com>
5196
5197         * ada-lang.c (decode_packed_array): If the value is a pointer to
5198         an array, then use value_ind to dereference it, not ada_value_ind.
5199         (ada_template_to_fixed_record_type_1): Handle the case where a
5200         dynamic field is an aligner type.
5201         (to_fixed_array_type): Add handling for packed array types.
5202         (ada_get_base_type): Do not follow the XVS type if the type is
5203         an aligner type.
5204         (ada_evaluate_subexp): Split a few statements up for clarity
5205         and debuggability.
5206         <OP_FUNCALL>: Add handling of the case of a packed array that
5207         has already been fixed.
5208
5209 2009-06-23  Joel Brobecker  <brobecker@adacore.com>
5210
5211         * ada-lang.c (evaluate_subexp): Delete.  Use the version from eval.c.
5212         (evaluate_subexp_type): Reimplement using evaluate_subexp.
5213         * value.h (evaluate_subexp): Add declaration.
5214         * eval.c (evaluate_subexp): Make non-static.
5215         * objc-lang.c (print_object_command): Use evaluate_subexp.
5216
5217 2009-06-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
5218
5219         Revert 2009-05-14 breakpoint commit (no longer needed).
5220         * breakpoint.h (breakpoint_re_set_objfile): Remove
5221         * breakpoint.c (breakpoint_re_set_objfile): Likewise
5222         (create_overlay_event_breakpoint): Remove objfile parameter,
5223         iterate over all objfiles.
5224         * objfiles.c (objfile_relocate): Update.
5225         * symfile.c (new_symfile_objfile): Likewise.    
5226         
5227 2009-06-23  Tom Tromey  <tromey@redhat.com>
5228
5229         PR gdb/10309:
5230         * c-lang.c (classify_type): Iterate over typedefs.
5231         * c-valprint.c (textual_element_type): Iterate over typedefs.
5232
5233 2009-06-22  Tristan Gingold  <gingold@adacore.com>
5234
5235         * darwin-nat.c (darwin_xfer_partial): Use host_address_to_string
5236         instead of "%p".
5237
5238 2009-06-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
5239
5240         PR gdb/9988:
5241         * buildsym.c (block_compar): New function.
5242         (end_symtab): Replace the bubble sort by a qsort based code.
5243
5244 2009-06-22  Sami Wagiaalla  <swagiaal@redhat.com>
5245
5246         * MAINTAINERS (Write After Approval): Add self.
5247
5248 2009-06-22  Ulrich Weigand  <uweigand@de.ibm.com>
5249
5250         * spu-tdep.c (spu_get_longjmp_target): New function.
5251         (spu_gdbarch_init): Install it.
5252
5253 2009-06-22  H.J. Lu  <hongjiu.lu@intel.com>
5254
5255         PR server/10306
5256         * remote.c (getpkt_or_notif_sane_1): Initialize val to -1.
5257
5258 2009-06-21  Michael Snyder  <msnyder@vmware.com>
5259
5260         * inferior.h: Update ancient comment.
5261
5262 2009-06-20  Aleksandar Ristovski  <aristovski@qnx.com>
5263             Pedro Alves  <pedro@codesourcery.com>
5264
5265         * solib-svr4.c (IGNORE_FIRST_LINK_MAP_ENTRY): Avoid dereferencing
5266         NULL pointer.
5267         (scan_dyntag): Skip if input bfd isn't elf flavoured.
5268         (locate_base): Call elf_locate_base even without an exec_bfd.
5269
5270 2009-06-19  Samuel Bronson  <naesten@gmail.com>
5271
5272         PR cli/9903:
5273         * cli/cli-decode.c (apropos_cmd): Skip traversing abbreviations
5274         for prefix commands to avoid duplicates in the output.
5275
5276 2009-06-19  Samuel Bronson  <naesten@gmail.com>
5277
5278         PR cli/9903:
5279         * cli/cli-decode.c (apropos_cmd): Fix avoidance of double
5280         printing.
5281
5282 2009-06-19  Jerome Guitton  <guitton@adacore.com>
5283
5284         * breakpoint.c (expand_line_sal_maybe): When explicit_line,
5285         skip prologue on each sals.
5286         (skip_prologue_sal): Return explicit_line and explicit_pc
5287         unmodified.
5288
5289 2009-06-19  Tristan Gingold  <gingold@adacore.com>
5290
5291         * darwin-nat.c (_initialize_darwin_inferior): Remove commented-out
5292         line.
5293
5294 2009-06-19  Tristan Gingold  <gingold@adacore.com>
5295         * machoread.c (macho_symtab_read): Adjust for bfd changes.
5296         * darwin-nat.h (struct darwin_exception_msg): New type to describe
5297         a mach exception.
5298         (struct private_thread_info): New type to describe the state of the
5299         thread.
5300         (DEF_VEC_I thread_t): Removed, replaced by ...
5301         (DEF_VEC_O darwin_thread_t): ... this new type.
5302         (struct darwin_inferior): Renamed to ...
5303         (struct private_inferior): ... this type.  Fields added.
5304         (darwin_not_port): Moved into the private inferior structure.
5305         * darwin-nat.c: Add includes, improve comments.
5306         Rewrite to handle multiple threads and processes.
5307         (darwin_resume_to): New function and protype.
5308         (darwin_resume, darwin_wait_to, darwin_wait): Ditto.
5309         (darwin_kill_inferior): Add ops argument.
5310         (darwin_pid_to_str): New function.
5311         (darwin_thread_alive): Ditto.
5312         (darwin_inf, darwin_not_port): Removed.
5313         (darwin_inf_fake_stop): New variable.
5314         (msgin, msgout, msg_state, exc_msg): Removed.
5315         (mach_check_error): Use warning instead of error.
5316         (darwin_ptrace): Adjust debug level.
5317         (cmp_thread_t): Fix names (typo).
5318         (darwin_check_new_threads): Argument is now an inferior,
5319         adjust for new structures, add no change check, ignore dead ports,
5320         handle first thread case.
5321         (find_inferior_task_it): New function.
5322         (find_inferior_notify_it): Ditto.
5323         (darwin_find_inferior_by_task): Ditto.
5324         (darwin_find_inferior_by_notify): Ditto.
5325         (darwin_find_thread): Ditto.
5326         (darwin_suspend_inferior): Ditto.
5327         (darwin_resume_inferior): Ditto.
5328         (catch_exception_raise_state): Removed.
5329         (catch_exception_raise_state_identity): Removed.
5330         (darwin_suspend_inferior_it): New function.
5331         (darwin_resume_inferior_it): Ditto.
5332         (darwin_dump_message): New function, extracted from darwin_wait.
5333         (darwin_decode_exception_message): New function.
5334         (darwin_encode_reply): New function.
5335         (catch_exception_raise): Removed.
5336         (darwin_send_reply): New function, extracted from darwin_resume.
5337         (darwin_resume_thread): New function, extracted from darwin_resume.
5338         (struct resume_inferior_threads_param): New type.
5339         (darwin_resume_inferior_threads_it): New function.
5340         (darwin_resume_inferior_threads): New function.
5341         (darwin_suspend_inferior_threads): New function.
5342         (darwin_resume): Mostly rewritten to handle multiple threads and
5343         some corner cases.
5344         (darwin_decode_message): New function extracted from darwin_wait.
5345         (cancel_breakpoint): New function.
5346         (darwin_wait): Mostly rewritten.  Handle multiple threads.
5347         (darwin_mourn_inferior): Adjust for per process structures.
5348         (darwin_reply_to_all_pending_messages): New function.
5349         (darwin_stop_inferior): Adjust for per inferior structures.
5350         (darwin_attach_pid): Ditto.
5351         (darwin_init_thread_list): Ditto.
5352         (darwin_attach): Ditto.
5353         (darwin_detach): Ditto.
5354         (darwin_files_info): Now empty.
5355         (darwin_pid_to_str): Adjust returns string to match one expected by
5356         the testsuite.
5357         (darwin_read_write_inferior): Rename err variable to match other uses.
5358         Adjust debug message.  Handle submaps.
5359         (darwin_xfer_memory): Adjust for per inferior structures.
5360         (set_enable_mach_exceptions): Ditto.
5361         (darwin_pid_to_exec_file): New function.
5362         (darwin_get_ada_task_ptid): Ditto.
5363         (darwin_supports_multi_process): Ditto.
5364         (_initialize_darwin_inferior): Remove useless assertion, adjust for
5365         per inferior structures.  Add new target operations.
5366
5367 2009-06-18  Hui Zhu  <teawater@gmail.com>
5368             Michael Snyder  <msnyder@vmware.com>
5369
5370         * infrun.c (handle_inferior_event): Improve reverse stepping
5371         through function epilogue.
5372
5373         * infrun.c (handle_inferior_event): Reverse-next through
5374         trampoline.
5375
5376 2009-06-18  Paul Pluzhnikov  <ppluzhnikov@google.com>
5377
5378         * dwarf2-frame.c (struct comp_unit): Use bfd_size_type for
5379         dwarf_frame_size.
5380
5381 2009-06-17  Tom Tromey  <tromey@redhat.com>
5382
5383         * dwarf2read.c (zlib_decompress_section): Use a cleanup.
5384
5385 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5386
5387         * gdbarch.sh (pointer_to_address): Change to type 'm'.
5388         (address_to_pointer): Likewise.
5389         * gdbarch.c, gdbarch.h: Regenerate.
5390
5391         * inferior.h (unsigned_pointer_to_address): Add GDBARCH argument.
5392         (signed_pointer_to_address): Likewise.
5393         (unsigned_address_to_pointer, address_to_signed_pointer): Likewise.
5394         * findvar.c (unsigned_pointer_to_address): Likewise.
5395         (signed_pointer_to_address): Likewise.
5396         (unsigned_address_to_pointer, address_to_signed_pointer): Likewise.
5397
5398         * avr-tdep.c (avr_address_to_pointer): Likewise.
5399         (avr_pointer_to_address): Likewise.
5400         * iq2000-tdep.c (iq2000_pointer_to_address): Likewise.
5401         (iq2000_address_to_pointer): Likewise.
5402         * m32c-tdep.c (m32c_m16c_address_to_pointer): Likewise.
5403         (m32c_m16c_pointer_to_address): Likewise.
5404         * spu-tdep.c (spu_pointer_to_address): Likewise.
5405         * xstormy16-tdep.c (xstormy16_pointer_to_address): Likewise.
5406         (xstormy16_address_to_pointer): Likewise.
5407
5408 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5409
5410         * printcmd.c (print_scalar_formatted): Always truncate
5411         unsigned data types.
5412
5413         * cli-dump.c (struct callback_data): Change type of load_offset
5414         to CORE_ADDR.
5415         (restore_binary_file): Update type casts.
5416         (restore_command): Parse load_offset as address, not long.
5417
5418         * utils.c (string_to_core_addr): Do not sign-extend value.
5419         * varobj.c (find_frame_addr_in_frame_chain): Truncate frame_base
5420         before comparing against requested frame address.
5421
5422 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5423
5424         * gdbarch.sh (gcore_bfd_target): New gdbarch callback.
5425         * gdbarch.h, gdbarch.c: Regenerate.
5426
5427         * gcore.c (default_gcore_target): Make return value const.
5428         Call gdbarch_gcore_bfd_target if present.
5429         (default_gcore_arch, default_gcore_mach): Use target_gdbarch.
5430
5431         * corelow.c (core_read_description): Call gdbarch_core_read_description
5432         on core_gdbarch instead of current_gdbarch.
5433
5434         * ppc-linux-tdep.c (ppc_linux_init_abi): Install gcore_bfd_target.
5435
5436 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5437
5438         * gdbtypes.c (create_string_type): Receive character type as argument.
5439         * gdbtypes.h (create_string_type): Add character type argument.
5440         * dwarf2read.c (read_tag_string_type): Pass character type to
5441         create_string_type.
5442
5443         * value.h (value_string): Add character type argument.
5444         * valops.c (value_string): Add character type argument.  Pass it to
5445         create_string_type.  Do not allocate space in inferior.
5446         * valarith.c (value_concat): Pass character type to value_string.
5447
5448         * value.h (value_typed_string): Rename to ...
5449         (value_cstring): ... this.
5450         * valops.c (value_typed_string): Rename to ...
5451         (value_cstring): ... this.
5452         * c-lang.c (evaluate_subexp_c): Update.
5453
5454         * python/python-value.c (builtin_type_pychar): New define.
5455         (convert_value_from_python): Call value_cstring instead
5456         of value_from_string.
5457         * value.c (value_from_string): Remove.
5458         * value.h (value_from_string): Remove.
5459
5460         * eval.c (evaluate_subexp_standard): Pass character type to
5461         value_string.  Pass expression architecture to value_nsstring
5462         and lookup_child_selector.
5463         * objc-lang.h (lookup_objc_class): Add GDBARCH parameter.
5464         (lookup_child_selector): Likewise.
5465         (value_nsstring): Likewise.
5466         * objc-lang.c (lookup_objc_class): Add GDBARCH parameter.
5467         Pass character type to value_string..
5468         (lookup_child_selector): Likewise.
5469         (value_nsstring): Add GDBARCH parameter, use it instead of
5470         objfile architecture.  Pass architecture to lookup_objc_class
5471         and lookup_child_selector. Pass character type to value_string.
5472         (end_msglist): Pass architecture to lookup_objc_class.
5473         * objc-exp.y: Pass architecture to lookup_objc_class.
5474
5475 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5476
5477         * gdbtypes.h (struct language_defn): Add forward declaration.
5478         (lookup_typename): Add LANGUAGE and GDBARCH parameters.
5479         (lookup_unsigned_typename): Likewise.
5480         (lookup_signed_typename): Likewise.
5481         * gdbtypes.c (lookup_typename): Add LANGUAGE and GDBARCH parameters.
5482         Use them instead of current_language and current_gdbarch.
5483         (lookup_unsigned_typename): Add LANGUAGE and GDBARCH parameters.
5484         Pass them to lookup_typename.
5485         (lookup_signed_typename): Likewise.
5486
5487         * c-exp.y: Pass parse_language and parse_gdbarch to
5488         lookup_unsigned_typename and lookup_signed_typename.
5489         * objc-exp.y: Likewise.
5490         * m2-exp.y: Pass parse_language and parse_gdbarch to lookup_typename.
5491
5492         * c-lang.c (evaluate_subexp_c): Pass expression language and
5493         gdbarch to lookup_typename.
5494         * printcmd.c (printf_command): Pass current language and
5495         gdbarch to lookup_typename.
5496         * python/python-type.c (typy_lookup_typename): Likewise.
5497         Include "language.h".
5498
5499 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5500
5501         * sparc64-nat.c (sparc64_gregset_supplies_p): Add GDBARCH parameter.
5502         Use it instead of current_gdbarch.  Pass architecture to
5503         sparc32_gregset_supplies_p.
5504         (sparc64_fpregset_supplies_p): Add GDBARCH parameter.  Use it instead
5505         of current_gdbarch.  Pass architecture to sparc32_fpregset_supplies_p.
5506         * sparc64nbsd-nat.c (sparc64nbsd_gregset_supplies_p,
5507         sparc64nbsd_fpregset_supplies_p): Likewise.
5508         * sparc-nat.c (sparc_gregset_supplies_p, sparc_fpregset_supplies_p):
5509         Add GDBARCH parameter.
5510         (sparc32_gregset_supplies_p, sparc32_fpregset_supplies_p): Likewise.
5511         (sparc_fetch_inferior_registers): Pass regcache architecture to
5512         sparc_gregset_supplies_p and sparc_fpregset_supplies_p.
5513         (sparc_store_inferior_registers): Likewise.
5514         * sparc-nat.h (sparc_gregset_supplies_p, sparc_fpregset_supplies_p:
5515         Add GDBARCH parameter.
5516         (sparc32_gregset_supplies_p, sparc32_fpregset_supplies_p): Likewise.
5517
5518 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5519
5520         * ada-tasks.c (read_known_tasks_array): Use target_gdbarch instead
5521         of current_gdbarch.
5522         * aix-thread.c (pd_enable): Likewise.
5523         * amd64-linux-nat.c (ps_get_thread_area): Likewise.
5524         * bsd-uthread.c (bsd_uthread_activate): Likewise.
5525         * linux-nat.c (linux_nat_info_proc_cmd): Likewise.
5526         * linux-thread-db.c (enable_thread_event): Likewise.
5527         * monitor.c (monitor_write_memory, monitor_read_memory): Likewise.
5528         * nto-procfs.c (procfs_open): Likewise.
5529         * procfs.c (invalidate_cache, procfs_insert_watchpoint,
5530         info_proc_mappings, info_mappings_callback): Likewise.
5531         * record.c (record_open): Likewise.
5532         * rs6000-nat.c (ARCH64): Likewise.
5533         * solib-darwin.c (darwin_solib_create_inferior_hook): Likewise.
5534         (darwin_bfd_open): Likewise.
5535         * memattr.c (mem_info_command): Likewise.
5536
5537         * windows-nat.c (win32_resume): Use current regcache architecture
5538         instead of current_gdbarch.
5539
5540         * dbug-rom.c (dbug_regname): Remove check against number of
5541         registers in current_gdbarch.
5542         * solib-pa64.c (read_dynamic_info): Remove unused variable.
5543
5544 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5545
5546         * dummy-frame.c (deprecated_pc_in_call_dummy): Add GDBARCH parameter,
5547         use it instead of current_gdbarch.
5548         * frame.h (deprecated_pc_in_call_dummy): Add GDBARCH parameter.
5549         * arm-tdep.c (arm_skip_prologue): Pass architecture to
5550         deprecated_pc_in_call_dummy.
5551
5552         * symtab.c (skip_prologue_using_sal): Add GDBARCH parameter.
5553         Use it instead of current_gdbarch.
5554         * symtab.h (skip_prologue_using_sal): Add GDBARCH parameter.
5555         * breakpoint.c (expand_line_sal_maybe): Pass architecture to
5556         skip_prologue_using_sal.
5557         * arm-tdep.c (skip_prologue_using_sal): Likewise.
5558         * lm32-tdep.c (lm32_skip_prologue): Likewise.
5559         * m32-tdep.c (m32c_skip_prologue): Likewise.
5560         * mips-tdep.c (mips_skip_prologue): Likewise.
5561         * moxie-tdep.c (moxie_skip_prologue): Likewise.
5562         * mt-tdep.c (mt_frame_unwind_cache): Likewise.
5563         * rs6000-tdep.c (rs6000_skip_prologue): Likewise.
5564         * frv-tdep.c (frv_analyze_prologue): Add GDBARCH parameter, pass
5565         it to skip_prologue_using_sal.  Update call sites ...
5566         (frv_skip_prologue, frv_frame_unwind_cache): ... here.
5567
5568         * mn10300-tdep.c (struct mn10300_prologue): Add GDBARCH member.
5569         (check_for_saved): Use it instead of current_gdbarch.
5570         (mn10300_analyze_prologue): Set it.
5571
5572         * value.c (using_struct_return): Add GDBARCH parameter.  Use it
5573         instead of current_gdbarch.
5574         * value.h (using_struct_return): Add GDBARCH parameter.
5575         * eval.c (evaluate_subexp_standard): Pass architecture to
5576         using_struct_return.
5577         * infcall.c (call_function_by_hand): Likewise.
5578         * stack.c (return_command): Likewise.
5579         * sparc-tdep.c (sparc32_push_dummy_code): Likewise.
5580
5581         * symtab.c (in_prologue): Add GDBARCH parameter.  Use it instead of
5582         current_gdbarch.
5583         * symtab.h (in_prologue): Add GDBARCH parameter.
5584         * infrun.c (handle_inferior_event): Pass architecture to in_prologue.
5585
5586         * eval.c (evaluate_subexp_standard): Use expression architecture
5587         instead of current_gdbarch.
5588
5589         * c-lang.c (evaluate_subexp_c): Use expression architecture and
5590         language instead of current_gdbarch and current_language.
5591
5592         * printcmd.c (do_one_display): Use expression architecture instead
5593         of current_gdbarch.
5594
5595         * infcmd.c (print_return_value): Use architecture of stop_regcache
5596         instead of current_gdbarch.
5597         (print_vector_info, print_float_info): Remove GDBARCH argument,
5598         use frame architecture instead.
5599         (vector_info, float_info): Update calls.
5600
5601         * objc-lang.c (objc_skip_trampoline): Use frame architecture
5602         instead of current_gdbarch.
5603
5604         * parse.c (write_dollar_variable): Use parse architecture instead
5605         of current_gdbarch.
5606
5607         * source.c (line_info): Use objfile architecture instead of
5608         current_gdbarch.
5609
5610         * symtab.c (find_function_start_sal): Use gdbarch instead of
5611         current_gdbarch.
5612         (print_msymbol_info): Use objfile architecture instead of
5613         current_gdbarch.
5614
5615         * valops.c (value_assign): Use frame architecture instead of
5616         current_gdbarch.
5617
5618 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5619
5620         * buildsym.c (record_line): Remove call to gdbarch_addr_bits_remove.
5621
5622         * coffread.c (coff_symtab_read): Call gdbarch_addr_bits_remove before
5623         calling record_line.
5624         (enter_linenos): Likewise.
5625         * dbxread.c (process_one_symbol): Likewise.
5626         * dwarf2read.c (dwarf_decode_lines): Likewise.
5627         * mdebugread.c (psymtab_to_symtab_1): Likewise.
5628         * xcoffread.c (enter_line_range): Likewise.
5629
5630 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5631
5632         * ax-gdb.c (gen_bitfield_ref): Add EXP argument, use expression
5633         architecture instead of current_gdbarch.
5634         (gen_struct_ref): Add EXP argument, pass to get_bitfield_ref.
5635         (gen_expr): Pass expression to get_struct_ref.
5636
5637         * symtab.h (struct symbol_ops): Add GDBARCH parameter to
5638         tracepoint_var_ref callback.
5639         * ax-gdb.c (gen_var_ref): Pass architecture to tracepoint_var_ref
5640         symbol operation callback.
5641         * dwarf2loc.c (dwarf2_tracepoint_var_ref): Add GDBARCH parameter.
5642         Use it instead of current_gdbarch.
5643         (locexpr_tracepoint_var_ref): Add GDBARCH parameter.  Pass it to
5644         dwarf2_tracepoint_var_ref.
5645         (loclist_tracepoint_var_ref): Likewise.
5646
5647 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5648
5649         * prologue-value.c (make_pv_area): Add ADDR_BIT argument.
5650         Use it instead of address bits of current_gdbarch.
5651         * prologue-value.c (make_pv_area): Add ADDR_BIT argument.
5652         * arm-tdep.c (thumb_analyze_prologue): Pass address bits to
5653         make_pv_area.
5654         (arm_scan_prologue): Likewise.
5655         * m32c-tdep.c (m32c_analyze_prologue): Likewise.
5656         * mep-tdep.c (mep_analyze_prologue): Likewise.
5657         * mn10300-tdep.c (mn10300_analyze_prologue): Likewise.
5658         * s390-tdep.c (s390_analyze_prologue): Likewise.
5659
5660 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5661
5662         * mi/mi-main.c (mi_cmd_data_list_register_names): Use selected
5663         frame architecture instead of current_gdbarch.
5664         (mi_cmd_data_list_changed_registers): Likewise.
5665         (mi_cmd_data_list_register_values): Likewise.  Pass selected
5666         frame to get_register.
5667         (get_register): Add FRAME argument, use it as frame to retrieve
5668         registers from (instead of selected frame).  Use frame architecture
5669         instead of current_gdbarch.
5670         (mi_cmd_data_write_register_values): Use current regcache
5671         architecture instead of current_gdbarch.
5672
5673 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5674
5675         * tui/tui-regs.c (tui_show_register_group): Remove GDBARCH parameter;
5676         use frame architecture instead.  Replace current_gdbarch uses.
5677         (tui_show_registers): Update call.
5678         (tui_get_register): Remove GDBARCH parameter; use frame architecture
5679         instead.
5680         (tui_show_register_group): Update call.
5681         (tui_check_register_values): Likewise.
5682         (tui_register_format): Remove GDBARCH parameter; use frame
5683         architecture instead.  Replace current_gdbarch uses.
5684         (tui_get_register): Update call.
5685
5686 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5687
5688         * gdbarch.sh (construct_inferior_arguments): Remove.
5689         * gdbarch.c, gdbarch.h: Regenerate.
5690         * infcmd.c (get_inferior_args): Call construct_inferior_arguments
5691         directly instead of gdbarch_construct_inferior_arguments.
5692         (construct_inferior_arguments): Remove GDBARCH argument.
5693         * inferior.h (construct_inferior_arguments): Likewise.
5694
5695 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5696
5697         * symfile.c (section_is_mapped): Use objfile architecture instead
5698         of current_gdbarch.
5699         (TARGET_LONG_BYTES): Remove.
5700         (read_target_long_array): Add SIZE argument.  Use it instead of
5701         TARGET_LONG_BYTES.
5702         (simple_read_overlay_table): Retrieve long size from objfile
5703         architecture; pass it to read_target_long_array.
5704         (simple_read_overlay_region_table): Likewise.
5705         (simple_overlay_update_1): Likewise.
5706
5707 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5708
5709         * infrun.c (cleanup_displaced_step_closure): Remove.
5710         (displaced_step_clear_cleanup): Move to before displaced_step_prepare.
5711         (displaced_step_prepare): Use displaced_step_clear_cleanup instead
5712         of cleanup_displaced_step_closure.
5713         (handle_inferior_event, keep_going): Use thread architecture instead
5714         of current_gdbarch.
5715
5716 2009-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
5717
5718         * infrun.c (handle_inferior_event): Use current frame architecture
5719         or thread architecture instead of current_gdbarch.  Pass to
5720         handle_step_into_function and handle_step_into_function_backward.
5721         (handle_step_into_function): Add GDBARCH parameter.  Use it instead
5722         of current_gdbarch.
5723         (handle_step_into_function_backward): Likewise.
5724         (insert_step_resume_breakpoint_at_frame): Use frame architecture
5725         instead of current_gdbarch.
5726         (insert_step_resume_breakpoint_at_caller): Likewise.
5727
5728 2009-06-17  Pierre Muller  <muller@ics.u-strasbg.fr>
5729         Pedro Alves  <pedro@codesourcery.com>
5730         
5731         * infcmd.c (post_create_inferior): Call breakpoint_re_set after target
5732         is pushed for watchpoint promotion to hardware watchpoint.
5733
5734 2009-06-16  Paul Pluzhnikov  <ppluzhnikov@google.com>
5735
5736         * dwarf2read.c (dwarf_info_section, dwarf_abbrev_section)
5737         (dwarf_line_section, dwarf_pubnames_section, dwarf_aranges_section)
5738         (dwarf_loc_section, dwarf_macinfo_section, dwarf_str_section)
5739         (dwarf_ranges_section, dwarf_frame_section)
5740         (dwarf_eh_frame_section): Removed.
5741         (dwarf2_resize_section): Likewise.
5742         (dwarf2_read_section): Now static, use bfd_mmap() if possible.
5743         (dwarf2_get_section_info): New function.
5744         (munmap_section_buffer): Likewise.
5745         (dwarf2_per_objfile_cleanup): Likewise.
5746         (section_is_p): Signature change.
5747         * dwarf2-frame.c (dwarf2_build_frame_info): Use
5748         dwarf2_get_section_info instead of dwarf2_read_section.
5749         
5750 2009-06-16  Paul Pluzhnikov  <ppluzhnikov@google.com>
5751
5752         * solib.c (symbol_add_stub): New FLAGS parameter.
5753         (solib_read_symbols): FROM_TTY -> FLAGS, call symbol_add_stub
5754         directly.
5755         (solib_add): Defer breakpoint_re_set until after all solibs.
5756         * bsd-uthread.c (bsd_uthread_solib_loaded): Adjust.
5757         * rs6000-nat.c (objfile_symbol_add): Adjust.
5758         * symfile.c (syms_from_objfile): Merge parameters into ADD_FLAGS.
5759         (new_symfile_objfile): Likewise.
5760         (symbol_file_add_with_addrs_or_offsets): Likewise.
5761         (symbol_file_add_from_bfd): Likewise.
5762         (symbol_file_add): Likewise.
5763         * symfile.h (enum symfile_add_flags): New. Adjust prototypes.
5764         * symfile-mem.c (symbol_file_add_from_memory): Adjust.
5765         * windows-nat.c (safe_symbol_file_add_stub): Adjust.
5766         * machoread.c (macho_oso_symfile, macho_symfile_read): Adjust.
5767         
5768 2009-06-16  Keith Seitz  <keiths@redhat.com>
5769
5770         * linespec.c (collect_methods): Delete.
5771         (add_matching_methods): Reove destructor special case.
5772         (find_method): Call find_methods directly instead of
5773         collect_methods.
5774         * valops.c (value_struct_elt): Remove destructor
5775         special cases.
5776         (check_field): Likewise.
5777         (value_struct_elt_for_reference): Likewise.
5778         (destructor_name_p): Remove misleading comment about dtors
5779         being "special cases". 
5780         * gdbtypes.h (get_destructor_fn_field): Remove. No longer needed.
5781         * gdbtypes.c (get_destructor_fn_field): Likewise. 
5782
5783 2009-06-16  Pedro Alves  <pedro@codesourcery.com>
5784
5785         * mi/mi-main.c (mi_cmd_data_read_memory): Dispatch
5786         TARGET_OJECT_MEMORY reads to the topmost target, not to the
5787         flattened current_target.
5788
5789 2009-06-16  Tristan Gingold  <gingold@adacore.com>
5790
5791         * avr-tdep.c (struct gdbarch_tdep): Replace the unused field with
5792         call_length field.
5793         (avr_register_name): Add const to register_names.
5794         (avr_scan_arg_moves): Move inside avr_scan_prologue.
5795         (avr_scan_prologue): Add pc_end argument.
5796         Only read prologue bytes that can be read.
5797         Limit the scan to the known prologue length.
5798         Makes pattern variables static and const.
5799         Fix indentation.
5800         (avr_skip_prologue): Pass func_end argument to avr_scan_prologue.
5801         Fix indentation.
5802         (avr_breakpoint_from_pc): Constify avr_break_insn.
5803         (avr_extract_return_value): Fix function comment.
5804         (avr_frame_unwind_cache): Fix GNU style violations.
5805         Pass current_pc argument to avr_scan_prologue to stop prologue
5806         analysis to the current pc.  This fixes the bug with the 'next'
5807         command.
5808         Correctly set the SP register of the previous frame (use call_length).
5809         (avr_frame_prev_register): Fix indentation.
5810         Correctly read PC from the stack on avr6 architectures.
5811         (avr_push_dummy_call): Fix indentation.
5812         (avr_gdbarch_init): Set call_length according to the architecture.
5813
5814 2009-06-15  Phil Muldoon  <pmuldoon@redhat.com>
5815
5816         * infcall.c (show_unwind_on_terminating_exception_p): New
5817         function.
5818         (call_function_by_hand): Create breakpoint and clean-up call for
5819         std::terminate.breakpoint. Add unwind_on_terminating_exception_p
5820         gate. Pop frame on breakpoint hit.
5821         (_initialize_infcall): Add add_setshow_boolean_cmd for
5822         unwind-on-terminating-exception.
5823
5824 2009-06-12  Kevin Buettner  <kevinb@redhat.com>
5825
5826         * dwarf2read.c (dwarf2_psymtab_to_symtab): Propagate
5827         `has_section_at_zero' flag from stripped objfile to separate,
5828         debug info only, objfile.
5829
5830 2009-06-12  Pedro Alves  <pedro@codesourcery.com>
5831
5832         * exec.h (section_table_xfer_memory_partial): Improve description,
5833         mention SECTION_NAME.
5834         * exec.c (section_table_xfer_memory_partial): Remove stale
5835         description.
5836
5837 2009-06-11  Aleksandar Ristovski  <aristovski@qnx.com>
5838
5839         * nto-tdep.h (nto_generic_supply_gpregset)
5840         (nto_generic_supply_fpregset, nto_generic_supply_altregset): Remove.
5841         * nto-tdep.c (nto_generic_supply_gpregset)
5842         (nto_generic_supply_fpregset, nto_generic_supply_altregset): Remove.
5843
5844 2009-06-11  Aleksandar Ristovski  <aristovski@qnx.com>
5845
5846         * i386-nto-tdep.c (I386_NTO_SIGCONTEXT_OFFSET): Remove define.
5847         (i386nto_sigcontext_addr): Change the way context address is calculated.
5848         (i386nto_init_abi): Remove usage of deprecated sc_reg_offset and
5849         sc_sp_offset and set sc_reg_offset and sc_num_regs.
5850
5851 2009-06-11  Aleksandar Ristovski  <aristovski@qnx.com>
5852
5853         * i386-nto-tdep.c (i386_nto_target): Remove definition.
5854         (init_i386nto_ops): Use macros to set fields to global
5855         current_nto_target directly.
5856         (i386nto_init_abi): Remove unused nto_set_target call.
5857         * nto-tdep.h (nto_set_target): Remove unused declaration.
5858         * nto-tdep.c (nto_set_target): Remove unused function.
5859
5860 2009-06-11  Pedro Alves  <pedro@codesourcery.com>
5861
5862         * breakpoint.c (break_command_really): Rename local variable
5863         breakpoint_chain to bkpt_chain.
5864
5865 2009-06-11  Aleksandar Ristovski  <aristovski@qnx.com>
5866
5867         Add support for XMM registers.
5868         * i386-nto-tdep.c (i386nto_regset_id): Add case for SSE register set.
5869         (i386nto_register_area): Correctly calculate offsets and sizes for
5870         all supported registers.
5871
5872 2009-06-11  Tom Tromey  <tromey@redhat.com>
5873
5874         * eval.c (evaluate_subexp_standard) <OP_OBJC_MSGCALL>: Remove
5875         'static' from local variable definitions.
5876
5877 2009-06-11  Pedro Alves  <pedro@codesourcery.com>
5878
5879         * symtab.c (append_expanded_sal): Remove unused local variables.
5880
5881 2009-06-11  Pedro Alves  <pedro@codesourcery.com>
5882
5883         * infrun.c (sched_multi): New global.
5884         (resume): If sched_multi is set, resume only threads of the
5885         current inferior.
5886         (prepare_to_proceed): Don't switch over to wait_ptid if we're
5887         resuming a different inferior, and sched_multi is off.
5888         (show_schedule_multiple): New.
5889         (_initialize_infrun): Register new "set schedule-multiple" command.
5890         * inferior.h (sched_multi): Declare.
5891         * NEWS: Mention new "schedule-multiple" setting.
5892
5893 2009-06-11  Pedro Alves  <pedro@codesourcery.com>
5894
5895         * varobj.c (varobj_create): Properly restore the selected frame.
5896
5897 2009-06-05  Tom Tromey  <tromey@redhat.com>
5898
5899         * inferior.c (print_inferior): Make a table, not a list.  Emit
5900         table headers.
5901
5902 2009-06-10  Jonas Maebe  <jonas.maebe@elis.ugent.be>
5903
5904         * darwin-nat.c (darwin_stop_inferior): Pass 0 as options to
5905         darwin_wait (blocking wait).
5906         (darwin_kill_inferior): Likewise.
5907
5908 2009-06-10  Pedro Alves  <pedro@codesourcery.com>
5909
5910         * infrun.c (handle_inferior_event): Update comment around trying
5911         to revert back to a stepping thread that has exited.
5912
5913 2009-06-10  Cary Coutant  <ccoutant@google.com>
5914
5915         * dwarf2read.c (dwarf_decode_lines): Recognize and ignore
5916         DW_LNE_set_discriminator.
5917
5918 2009-06-10  Pierre Muller  <muller@ics.u-strasbg.fr>
5919
5920         * breakpoint.c: ARI fixes.
5921         (create_overlay_event_breakpoint): Avoid assignment inside if statement.
5922         (print_one_breakpoint_location): Likewise.
5923         (create_longjmp_breakpoint): Likewise.
5924         (tracepoint_save_command): Likewise
5925         (bpstat_find_step_resume_breakpoint): No operator at end of line.
5926         (bpstat_stop_status): Likewise.
5927         (describe_other_breakpoints): Likewise.
5928         (hw_watchpoint_used_count): Likewise.
5929         (expand_line_sal_maybe): Likewise.
5930         (break_command_really): Likewise.
5931         (delete_command): Likewise.
5932         (do_enable_breakpoint): Likewise.
5933         (delete_trace_command): Likewise.
5934         (catch_exception_command_1): Likewise and remove extra parentheses.
5935
5936 2009-06-08  Pierre Muller  <muller@ics.u-strasbg.fr>
5937
5938         * breakpoint.c (_initialize_breakpoint): Remove "bu" command alias of
5939         "ubreak" command that does not exist.
5940
5941 2009-06-08  Pierre Muller  <muller@ics.u-strasbg.fr>
5942
5943         * cli/cli-decode.c (add_alias_cmd): Correct assertion.
5944
5945 2009-06-07  Pedro Alves  <pedro@codesourcery.com>
5946
5947         * hppa-tdep.c (_initialize_hppa_tdep): Add declaration.
5948
5949 2009-06-07  Pedro Alves  <pedro@codesourcery.com>
5950
5951         * procfs.h: New.
5952         * proc-utils.h (procfs_first_available): Don't declare here.
5953         * sol-thread.c: Include procfs.h instead of sys/procfs.h and
5954         proc-utils.h.
5955         * procfs.c: Include procfs.h.
5956         (procfs_target): Make it public.  Don't register
5957         procfs_can_use_hw_breakpoint here.
5958         (proc_set_watchpoint): Check for PCWATCH or PIOCSWATCH being
5959         defined instead of TARGET_HAS_HARDWARE_WATCHPOINTS.
5960         (procfs_can_use_hw_breakpoint): Remove check of
5961         TARGET_HAS_HARDWARE_WATCHPOINTS.
5962         (procfs_use_watchpoints): Register procfs_can_use_hw_breakpoint
5963         here.
5964         (_initialize_procfs): Don't add the procfs target here.
5965
5966         * i386-sol2-nat.c: Include target.h and procfs.h.
5967         (_initialize_amd64_sol2_nat): Install the procfs target here,
5968         customized with watchpoints support.
5969         * irix5-nat.c: Include target.h.
5970         (_initialize_core_irix5): Rename to ...
5971         (_initialize_irix5_nat): ... this.  Install the procfs target
5972         here, customized with watchpoints support.
5973         * alpha-nat.c: Include procfs.h.
5974         (_initialize_core_alpha): Rename to...
5975         (_initialize_alpha_nat): ... this.  Install the procfs target
5976         here, customized with watchpoints support.
5977         * sparc-sol2-nat.c: Include target.h and procfs.h.
5978         (_initialize_sparc_sol2_nat): New.
5979
5980         * config/i386/nm-i386sol2.h (TARGET_HAS_HARDWARE_WATCHPOINTS): Delete.
5981         * config/sparc/nm-sol2.h (TARGET_HAS_HARDWARE_WATCHPOINTS): Delete.
5982         * config/mips/irix5.mh (NAT_FILE): Delete.
5983         * config/mips/irix6.mh (NAT_FILE): Delete.
5984         * config/mips/nm-irix5.h: Delete.
5985
5986 20009-06-07  Pedro  Alves  <pedro@codesourcery.com>
5987
5988         * auxv.c (procfs_xfer_auxv): Change type of the `object' argument
5989         to enum target_object.  Cleanup comments.
5990         * auxv.h: Include "target.h".  Cleanup comments to not mention
5991         NATIVE_XFER_AUXV anymore.
5992
5993 2009-06-07  Pedro Alves  <pedro@codesourcery.com>
5994
5995         * inferior.h (procfs_first_available): Move declaration to...
5996         * proc-utils.h: ... here.
5997         * sol-thread.c: Include procfs.h and proc-utils.h.
5998
5999 2009-06-07  Pedro Alves  <pedro@codesourcery.com>
6000
6001         * inferior.h (proc_iterate_over_mappings): Delete declaration.
6002         * nto-tdep.h (proc_iterate_over_mappings): Delete declaration.
6003         * procfs.c (proc_iterate_over_mappings): Delete.
6004
6005 2009-06-07  Pedro Alves  <pedro@codesourcery.com>
6006
6007         * target.h (struct target_ops): Make to_has_all_memory,
6008         to_has_memory, to_has_stack, to_has_registers and to_has_execution
6009         methods instead of variables.
6010         (target_has_all_memory_1, target_has_memory_1, target_has_stack_1)
6011         (target_has_registers_1, target_has_execution_1): Declare
6012         functions.
6013         (target_has_all_memory): Rewrite to call target_has_all_memory_1.
6014         (target_has_memory): Rewrite to call target_has_memory_1.
6015         (target_has_stack): Rewrite to call target_has_all_stack_1.
6016         (target_has_registers): Rewrite to call target_has_registers_1.
6017         (target_has_execution): Rewrite to call target_has_execution_1.
6018         (default_child_has_all_memory, default_child_has_memory)
6019         (default_child_has_stack, default_child_has_registers)
6020         (default_child_has_execution): Declare.
6021         (target_mark_running, target_mark_exited): Delete declarations.
6022         * target.c (default_child_has_all_memory,
6023         default_child_has_memory, default_child_has_stack,
6024         default_child_has_registers, default_child_has_execution): New.
6025         (target_has_all_memory_1, target_has_memory_1, target_has_stack_1,
6026         target_has_registers_1, target_has_execution_1): New.
6027         (add_target): Default the to_has_all_memory, to_has_all_memory,
6028         to_has_memory, to_has_stack, to_has_registers and to_has_execution
6029         callbacks to return 0.
6030         (update_current_target): Do not inherit to_has_all_memory,
6031         to_has_memory, to_has_stack, to_has_registers or to_has_execution.
6032         (target_mark_running, target_mark_exited): Delete.
6033         (memory_xfer_partial): Adjust.
6034         (target_read_memory, target_write_memory, target_search_memory):
6035         Dispatch to the the top-most target, not the flattened
6036         current_target.
6037         (target_info): Adjust.
6038         (init_dummy_target): Install return_zero as callback for
6039         to_has_all_memory, to_has_memory, to_has_stack, to_has_registers,
6040         to_has_execution.
6041         (set_maintenance_target_async_permitted): Use have_live_inferiors
6042         instead of target_has_execution.
6043         * target-memory.c (target_write_memory_blocks): Dispatch memory
6044         writes to the the top-most target, not the flattened
6045         current_target.
6046
6047         * breakpoint.c (insert_breakpoints): Don't check for
6048         target_has_execution here.
6049         (update_global_location_list): Check if there are live inferiors
6050         to debug instead of target_has_execution.
6051         * infcmd.c (kill_command, detach_command): Check if there are
6052         inferiors instead of target_has_execution.
6053         * inferior.h (have_live_inferiors): Declare.
6054         * inferior.c (have_live_inferiors): New.
6055         * infrun.c (normal_stop): Don't check for target_has_execution to
6056         finish the thread states.
6057         * thread.c (is_thread_state, is_stopped, is_exited, is_running)
6058         (any_running, is_executing): Remove checks for
6059         target_has_execution.
6060         * top.c (kill_or_detach): Don't try to kill core inferiors.
6061         (quit_target): Don't check for target_has_execution.
6062
6063         * corelow.c (core_has_memory, core_has_stack, core_has_registers):
6064         New.
6065         (init_core_ops): Install core_has_memory, core_has_stack and
6066         core_has_registers.
6067         * exec.c (exec_has_memory): New.
6068         (init_exec_ops): Install exec_has_memory.
6069         * remote.c (remote_add_inferior): Don't call target_mark_running.
6070         (remote_start_remote): Don't call target_mark_exited or call
6071         target_mark_running.
6072         (remote_open_1): Use have_inferiors instead of
6073         target_has_execution.  Don't use target_mark_exited.
6074         (init_remote_ops): Install deafult_child_has_all_memory,
6075         default_child_has_memory, default_child_has_stack,
6076         default_child_has_registers, default_child_has_execution.
6077         * bsd-kvm.c (bsd_kvm_return_one): New.
6078         (bsd_kvm_add_target): Register bsd_kvm_return_one as
6079         to_has_memory, to_has_stack and to_has_registers callbacks.
6080         * remote-m32r-sdi.c (m32r_return_one): New.
6081         (init_m32r_ops): Register it.
6082         * inf-child.c (inf_child_target): Adjust to register
6083         default_child_has_all_memory, default_child_has_memory,
6084         default_child_has_stack, default_child_has_registers,
6085         default_child_has_execution callbacks.
6086         * gnu-nat.c (init_gnu_ops): Likewise.
6087         * go32-nat.c (init_go32_ops): Likewise.
6088         * hpux-thread.c (init_hpux_thread_ops): Likewise.
6089         * monitor.c (init_base_monitor_ops): Likewise.
6090         * nto-procfs.c (init_procfs_ops): Likewise.
6091         * remote-mips.c (_initialize_remote_mips): Likewise.
6092         * windows-nat.c (init_windows_ops): Likewise.
6093         * remote-sim.c (gdbsim_create_inferior): Don't use
6094         target_mark_running or target_mark_exited.
6095         (gdbsim_mourn_inferior): Don't call target_mark_exited.
6096         (init_gdbsim_ops): Adjust to register
6097         default_child_has_all_memory, default_child_has_memory,
6098         default_child_has_stack, default_child_has_registers,
6099         default_child_has_execution callbacks.
6100
6101         * linux-nat.c (linux_nat_xfer_partial): If reading memory, and
6102         there's no inferior selected, defer to a lower stratum.
6103
6104 2009-06-05  Tom Tromey  <tromey@redhat.com>
6105
6106         * varobj.c (update_dynamic_varobj_children): Wrap error text in
6107         _().
6108         (install_visualizer): Likewise.
6109         (varobj_set_visualizer): Likewise.
6110
6111 2009-06-05  Marc Khouzam  <marc.khouzam@ericsson.com>
6112
6113         * mi/mi-main.c (mi_cmd_exec_continue)
6114         (mi_cmd_exec_interrupt): Adjust parsing of thread group
6115         ids to current reality, where they don't have any 'p' prefix.
6116
6117 2009-06-05  Aleksandar Ristovski  <aristovski@qnx.com>
6118
6119         * corelow.c (core_open): Check for core_gdbarch before calling
6120         gdbarch_target_signal_from_host.
6121
6122 2009-06-05  Tom Tromey  <tromey@redhat.com>
6123
6124         * c-exp.y (parse_number): Don't use K&R definition.
6125         (yylex): Likewise.
6126         (yyerror): Likewise.
6127
6128 2009-06-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
6129
6130         * varobj.c (varobj_update): Fix out of scope varobjs to not to change.
6131
6132 2009-06-04  Ulrich Weigand  <uweigand@de.ibm.com>
6133
6134         * symtab.h: Rename SYMBOL_OPS to SYMBOL_COMPUTED_OPS.
6135         * ax-gdb.c (gen_var_ref): Likewise.
6136         * findvar.c (read_var_value, symbol_read_needs_frame): Likewise.
6137         * printcmd.c (address_info): Likewise.
6138         * dwarf2loc.c (dwarf_expr_frame_base): Likewise.
6139         * dwarf2read.c (dwarf2_symbol_mark_computed): Likewise.
6140         * symtab.h: Rename struct symbol_ops to struct symbol_computed_ops.
6141         * dwarf2loc.h: Likewise.
6142         * dwarf2loc.c (dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Likewise.
6143
6144         * symtab.h: (struct symbol_register_ops): New struct definition.
6145         (struct symbol): Make "ops" member a union of symbol_computed_ops and
6146         symbol_register_ops callback pointers.
6147         (SYMBOL_REGISTER_OPS): New macro.
6148         * tracepoint.c: Include "objfiles.h".
6149         (scope_info, collect_symbol): Use SYMBOL_REGISTER_OPS register_number
6150         callback to retrieve register numbers.
6151         * ax-gdb.c (gen_var_ref): Likewise.
6152         * findvar.c (read_var_value): Likewise.
6153         * printcmd.c (address_info): Likewise.
6154
6155         * coffread.c (coff_reg_to_regnum): New function.
6156         (coff_register_funcs): New static variable.
6157         (process_coff_symbol): Do not call gdbarch_sdb_reg_to_regnum.
6158         Install SYMBOL_REGISTER_OPS callbacks.
6159         * mdebugread.c (mdebug_reg_to_regnum): New function.
6160         (mdebug_register_funcs): New static variable.
6161         (parse_symbol): Do not call gdbarch_ecoff_reg_to_regnum.
6162         Install SYMBOL_REGISTER_OPS callbacks.
6163         * stabsread.c (stab_reg_to_regnum): New function.
6164         (stab_register_funcs): New static variable.
6165         (define_symbol): Do not call gdbarch_stab_reg_to_regnum.
6166         Install SYMBOL_REGISTER_OPS callbacks.
6167
6168 2009-06-03  Doug Evans  <dje@google.com>
6169
6170         * symfile.c (reread_symbols): Reset psymtabs_addrmap to NULL
6171         after discarding its contents.
6172
6173 2009-06-03  Pedro Alves  <pedro@codesourcery.com>
6174
6175         * target.c: Include "exec.h".
6176         (update_current_target): Don't inherit to_sections or
6177         to_sections_end.
6178         (target_get_section_table): New.
6179         (target_section_by_addr): Fetch the section table from the passed
6180         in target.
6181         (memory_xfer_partial): Handle unmapped overlay sections before
6182         anything else.  Get the overlay mapped address here.  Adjust to
6183         use section_table_xfer_memory_partial.
6184         (get_target_memory): Request a TARGET_OBJECT_RAW_MEMORY object
6185         instead of TARGET_OBJECT_MEMORY.
6186         (target_resize_to_sections): Delete.
6187         (remove_target_sections): Adjust to remove target sections from
6188         `current_target_sections', and use resize_section_table.
6189         * target.h (struct target_ops) <to_sections, to_sections_end>:
6190         Remove fields.
6191         <to_get_section_table>: New method.
6192         (xfer_memory, print_section_info): Delete declarations.
6193         (struct target_section_table): New type.
6194         (target_get_section_table): Declare.
6195         (target_resize_to_sections): Delete declaration.
6196         (remove_target_sections): Delete declaration.
6197         * bfd-target.c (target_bfd_xfer_partial): Get the section table
6198         from to_data.
6199         (target_bfd_get_section_table): New.
6200         (target_bfd_xclose): Adjust.
6201         (target_bfd_reopen): Store the section table in the to_data field.
6202         * corelow.c (core_data): New.
6203         (core_close): Adjust to release core_data and its sections.
6204         (core_open): Allocate core_data, and build its target sections
6205         table.
6206         (deprecated_core_resize_section_table): New.
6207         (core_files_info): Pass core_data to print_section_info.
6208         (core_xfer_partial): Adjust to use
6209         section_table_xfer_memory_partial for TARGET_OBJECT_MEMORY xfers.
6210         (init_core_ops): Do not install a deprecated_xfer_memory callback
6211         anymore.
6212         * solib.c (update_solib_list): Add the shared library sections
6213         to the current target sections table.
6214         * exec.c (current_target_sections_1): New global.
6215         (current_target_sections): New global.
6216         (exec_close_1): New function, refactored from exec_close.  Remove
6217         the exec_bfd's sections from the current target sections table.
6218         Adjust to not use to_sections.
6219         (exec_close): Remove all target sections.  Call exec_close_1.
6220         (exec_file_clear): Use exec_close_1 instead of unpushing the
6221         target.
6222         (exec_file_attach): Likewise.  Adjust to not use to_sections.  Add
6223         exec_bfd's sections to the current target sections table.  Don't
6224         push the exec_ops target here.
6225         (resize_section_table): New.
6226         (add_target_sections): New.
6227         (remove_target_sections): Moved here.
6228         (section_table_xfer_memory): Adjust to implement the xfer_partial
6229         interface, and rename to...
6230         (section_table_xfer_memory_partial): ... this, replacing the
6231         current function of that same name.
6232         (exec_get_section_table): New.
6233         (exec_xfer_partial): New.
6234         (xfer_memory): Delete.
6235         (print_section_info): Replace the target_ops parameter by a
6236         target_section_table parameter.
6237         (exec_files_info, set_section_command, exec_set_section_address):
6238         Adjust to use the current sections table.
6239         (init_exec_ops): Do not register a deprecated_xfer_memory
6240         callback.  Register to_xfer_partial and to_get_section_table
6241         callbacks.
6242         * infrun.c (handle_inferior_event): Update comments around
6243         solib_add.
6244         * rs6000-nat.c (xcoff_relocate_core): Adjust to use
6245         deprecated_core_resize_section_table.
6246         * exec.h (resize_section_table): Declare.
6247         (section_table_xfer_memory_partial): Add const char * argument.
6248         (remove_target_sections): Declare here.
6249         (add_target_sections): Declare.
6250         (print_section_info): Declare here.
6251         * gdbcore.h (deprecated_core_resize_section_table): Declare.
6252
6253 2009-06-03  Ulrich Weigand  <uweigand@de.ibm.com>
6254
6255         * value.h (struct internalvar): Remove.
6256         (get_internalvar_integer): Add prototype.
6257         (set_internalvar_integer): Add prototype.
6258         (clear_internalvar): Add prototype.
6259
6260         * value.c (struct internalvar): Move here.  Add type member.  Remove
6261         endian member.  Add union_internalvar member instead of value member.
6262         (init_if_undefined_command): Use intvar->type.
6263         (create_internalvar): Do not initialize value/endian, but type.
6264         (create_internalvar_type_lazy): Call create_internalvar.
6265         (value_of_internalvar): Handle host-side internalvar contents.
6266         (set_internalvar_component): Likewise.
6267         (set_internalvar): Likewise.
6268         (get_internalvar_integer): New function.
6269         (clear_internalvar): Likewise.
6270         (set_internalvar_integer): Likewise.
6271         (preserve_values): Handle host-side internalvar contents.
6272
6273         * breakpoint.c (set_breakpoint_count, set_tracepoint_count): Call
6274         set_internalvar_integer instead of set_internalvar.
6275         * findcmd.c (find_command): Likewise.
6276         * infrun.c (handle_inferior_event): Likewise.
6277         * source.c (forward_search_command, reverse_search_command): Likewise.
6278         * tracepoint.c (set_traceframe_num, set_tracepoint_num,
6279         set_traceframe_context): Likewise.
6280
6281         * printcmd.c (x_command): Call clear_internalvar instead of
6282         set_internalvar.
6283         * tracepoint.c (set_traceframe_context): Likewise.
6284         
6285         * breakpoint.c (get_number_trailer): Call get_internalvar_integer
6286         instead of value_of_internalvar.
6287         * linespec.c (decode_dollar): Likewise.
6288
6289         * expprint.c (dump_subexp_body_standard): Use internalvar_name
6290         instead of accessing internalvar private elements.
6291         * valops.c (value_assign): Copy from original source instead of
6292         accessing internalvar private elements.
6293
6294 2009-06-03  Ulrich Weigand  <uweigand@de.ibm.com>
6295
6296         * scm-lang.c (builtin_type_scm): Remove.
6297         (scm_lookup_name): Add GDBARCH parameter.  Use it instead of
6298         objfile architecture.  Use per-architecture builtin_scm_type instead
6299         of builtin_type_scm.
6300         (evaluate_exp): Pass expression architecture to scm_lookup_name.
6301
6302         (scm_get_field): Add SIZE parameter.  Use it instead of 
6303         TYPE_LENGTH (builtin_type_scm).
6304
6305         (build_scm_types): New function.
6306         (scm_type_data): New variable.
6307         (builtin_scm_type): New function.
6308         (_initialize_scheme_language): Do not initialize builtin_type_scm.
6309         Register build_scm_types as post-init function for scm_type_data.
6310
6311         * scm-exp.c (scm_lreadr): Use per-architecture builtin_scm_type
6312         instead of builtin_type_scm.
6313
6314         * scm-lang.h (SCM_CAR, SCM_CDR): Pass SCM_SIZE to scm_get_field.
6315         (scm_get_field): Add SIZE paramter.
6316         (scm_scmval_print): Remove prototype.
6317         (builtin_type_scm): Remove.
6318         (struct builtin_scm_type): Add structure definition.
6319         (builtin_scm_type): Add prototype.
6320
6321         * scm-valprint.c (scm_inferior_print): Add TYPE parameter.  Use it
6322         instead of builtin_core_addr type; do not use objfile architecture.
6323         (scm_scmlist_print): Add TYPE parameter.  Use it to define SCM_SIZE.
6324         Pass type to scm_scmval_print.
6325         (scm_ipruk): Add TYPE parameter.  Use it to define SCM_SIZE.
6326         (scm_scmval_print): Make static.  Add TYPE parameter.  Use it to
6327         define SCM_SIZE.  Pass type to scm_ipruk and scm_scmlist_print.
6328         (scm_val_print): Pass type to scm_inferior_print and scm_scmval_print.
6329
6330 2009-06-03  Ulrich Weigand  <uweigand@de.ibm.com>
6331
6332         * mdebugread.c (mdebug_type_void, mdebug_type_char, mdebug_type_short,
6333         mdebug_type_int, mdebug_type_int_32, mdebug_type_int_64,
6334         mdebug_type_long_32, mdebug_type_long_64, mdebug_type_long_long_64,
6335         mdebug_type_unsigned_char, mdebug_type_unsigned_short,
6336         mdebug_type_unsigned_int_32, mdebug_type_unsigned_int_64,
6337         mdebug_type_unsigned_long_32, mdebug_type_unsigned_long_64,
6338         mdebug_type_unsigned_long_long_64, mdebug_type_adr_32,
6339         mdebug_type_adr_64, mdebug_type_float, mdebug_type_double,
6340         mdebug_type_complex, mdebug_type_double_complex,
6341         mdebug_type_fixed_dec, mdebug_type_float_dec, mdebug_type_string):
6342         Remove.
6343
6344         (basic_type_data): New global variable.
6345         (basic_type): New function.
6346         (parse_type): Remove static basic type map map_bt.  Call basic_type
6347         to get basic types instead of using mdebug_type_ variables.
6348
6349         (parse_symbol): Use builtin types instead of mdebug_type_ variables.
6350         (upgrade_type): Likewise.
6351         (parse_procedure): Likewise.
6352         (psymtab_to_symtab_1): Likewise.
6353
6354         (_initialize_mdebugread): Do not initialize mdebug_type_ variables.
6355         Initialize basic_type_data.
6356
6357 2009-06-03  Ulrich Weigand  <uweigand@de.ibm.com>
6358
6359         * dfp.h (decimal_binop): Convert LEN_RESULT to input parameter.
6360         * dfp.c (promote_decimal): Remove.
6361         (decimal_binop): Convert LEN_RESULT to input parameter.
6362         Remove call to decimal_binop.
6363         (decimal_compare): Remove call to decimal_binop.
6364
6365         * valarith.c (value_binop): Pass desired result type length
6366         to decimal_binop.
6367
6368 2009-06-01  Tristan Gingold  <gingold@adacore.com>
6369
6370         * configure.tgt (avr): Set gdb_sim to use the simulator.
6371
6372 2009-05-29  Doug Evans  <dje@google.com>
6373
6374         * infrun.c (prepare_to_proceed): Document.  Assert !non_stop.
6375         If scheduler-locking is enabled, we're not going to be singlestepping
6376         any other previously stopped thread.
6377
6378 2009-05-29  Pedro Alves  <pedro@codesourcery.com>
6379
6380         * mi/mi-interp.c (mi_on_resume): Initialize `count' to 0.
6381
6382 2009-05-29  Eli Zaretskii  <eliz@gnu.org>
6383
6384         * i386-tdep.c (i386_go32_init_abi): Use SVR4 register numbering
6385         for stabs and COFF debug info.
6386
6387 2009-05-28  Pedro Alves  <pedro@codesourcery.com>
6388
6389         * infrun.c (handle_inferior_event): When thread hoping, switch
6390         inferior_ptid to the event thread before removing breakpoints from
6391         the target.  If not stopping, also try to revert back to a thread
6392         that was doing a "next".  Check if that thread still exists before
6393         resuming.
6394         (currently_stepping_thread): Delete and merge with ...
6395         (currently_stepping): ... this.
6396         (currently_stepping_callback): Rename to ...
6397         (currently_stepping_or_nexting_callback): ... this, and also
6398         return true if the thread was stepping over a call (has a
6399         step-resume breakpoint).
6400
6401 2009-05-28  Tom Tromey  <tromey@redhat.com>
6402
6403         * python/python.c (gdbpy_parameter): Rename.  Fix error message.
6404         (GdbMethods): Change "get_parameter" to "parameter".
6405
6406 2009-05-28  Pierre Muller  <muller@ics.u-strasbg.fr>
6407             Paul Pluzhnikov  <ppluzhnikov@google.com>
6408
6409         * configure.ac (!have_libpython): Add python-prettyprint source
6410         and object files.
6411         * configure: Regenerate.
6412         * python/python-prettyprint.c: Move "#ifdef HAVE_PYTHON" before
6413         python headers.
6414         
6415 2009-05-27  Vladimir Prus  <vladimir@codesourcery.com>
6416             Tom Tromey  <tromey@redhat.com>
6417             Thiago Jung Bauermann  <bauerman@br.ibm.com>
6418
6419         * mi/mi-main.c (mi_cmd_list_features): List "python" feature.
6420         * varobj.h (varobj_set_visualizer): Declare.
6421         (varobj_get_display_hint): Likewise.
6422         (varobj_update_result_t) <children_changed, value_installed>: New
6423         fields.
6424         * mi/mi-cmds.c (mi_cmds): Add var-set-visualizer.
6425         * mi/mi-cmds.h (mi_cmd_var_set_visualizer,
6426         mi_cmd_var_set_child_range): Declare.
6427         * mi/mi-cmd-var.c (mi_cmd_var_set_visualizer): New function.
6428         (mi_cmd_var_list_children): Emit display hint.
6429         (varobj_update_one): Emit display hint.  Handle dynamic children.
6430         * python/python.c (GdbMethods): Add "default_visualizer".
6431         * python/python-internal.h (apply_varobj_pretty_printer,
6432         gdbpy_get_varobj_pretty_printer, gdbpy_get_display_hint):
6433         Declare.
6434         (gdbpy_default_visualizer): Likewise.
6435         * varobj.c: Include python.h, python-internal.h.
6436         (PyObject): New typedef.
6437         (struct varobj) <children_requested, pretty_printer>: New fields.
6438         (varobj_create): Call install_default_visualizer.
6439         (instantiate_pretty_printer): New function.
6440         (varobj_set_display_format): Update.
6441         (varobj_get_display_hint): New function.
6442         (update_dynamic_varobj_children): New function.
6443         (varobj_get_num_children): Handle dynamic children.
6444         (varobj_list_children): Likewise.
6445         (install_new_value): Likewise.
6446         (varobj_add_child): New function.
6447         (install_visualizer): Likewise.
6448         (install_default_visualizer): Likewise.
6449         (varobj_set_visualizer): Likewise.
6450         (varobj_update): Handle dynamic children.
6451         (create_child): Use create_child_with_value.
6452         (create_child_with_value): New function.
6453         (value_get_print_value): Call pretty printer.  Add value_formatter
6454         argument.
6455         (c_value_of_variable): Update.
6456         (varobj_invalidate): Always free all_rootvarobj.
6457         * python/python-prettyprint.c (apply_varobj_pretty_printer): New
6458         function.
6459         (gdbpy_get_varobj_pretty_printer): Likewise.
6460         (gdbpy_default_visualizer): Likewise.
6461
6462 2009-05-27  Tom Tromey  <tromey@redhat.com>
6463             Thiago Jung Bauermann  <bauerman@br.ibm.com>
6464             Phil Muldoon  <pmuldoon@redhat.com>
6465             Paul Pluzhnikov  <ppluzhnikov@google.com>
6466             Vladimir Prus  <vladimir@codesourcery.com>
6467
6468         * python/python-value.c (value_object_to_value): New function.
6469         * python/python-internal.h: Include frameobject.h.
6470         (gdbpy_children_cst, gdbpy_to_string_cst, gdbpy_display_hint_cst):
6471         Declare.
6472         (value_object_to_value): Declare.
6473         * printcmd.c (struct format_data) <raw>: New field.
6474         (last_format): Default to 0.
6475         (decode_format): Initialize val.raw.  Handle /r flag.
6476         (print_command_1): Initialize fmt.raw and opts.raw.
6477         (output_command): Likewise.
6478         (x_command): Fix initialization of fmt.format.  Initialize
6479         fmt.raw.
6480         (display_command): Initialize fmt.raw.
6481         (do_one_display): Set opts.raw.
6482         * python/python.c (gdbpy_to_string_cst, gdbpy_children_cst,
6483         gdbpy_display_hint_cst): New globals.
6484         (_initialize_python): Initialize them.  Set gdb.pretty_printers.
6485         * cp-valprint.c: Include python.h.
6486         (cp_print_value): Call apply_val_pretty_printer.
6487         * python/python.h (apply_val_pretty_printer): Declare.
6488         * stack.c (print_this_frame_argument_p): Remove.
6489         (print_frame_args): Compute summary flag.  Don't use
6490         print_this_frame_argument_p.
6491         * valprint.c: Include python.h.
6492         (user_print_options): Initialize new fields.
6493         (scalar_type_p): New function.
6494         (val_print): Handle 'raw' and 'summary' modes.  Call
6495         apply_val_pretty_printer.
6496         (value_print): Handle 'raw' mode.
6497         * valprint.h (struct value_print_options) <raw, summary>: New
6498         fields.
6499         * Makefile.in (SUBDIR_PYTHON_OBS): Add python-prettyprint.o
6500         (SUBDIR_PYTHON_SRCS): Add python-prettyprint.c.
6501         (python-prettyprint.o): New target.
6502         * python/python-prettyprint.c: New file.
6503
6504 2009-05-27  Tom Tromey  <tromey@redhat.com>
6505             Paul Pluzhnikov  <ppluzhnikov@google.com>
6506
6507         * mi/mi-main.c (mi_cmd_data_evaluate_expression): Use
6508         value_address.
6509         * cli/cli-dump.c (dump_value_to_file): Use value_address.
6510         * valprint.c (common_val_print): Likewise.
6511         * v850-tdep.c (v850_push_dummy_call): Use value_address.
6512         * tracepoint.c (encode_actions): Use value_address.
6513         * printcmd.c (print_formatted): Use value_address.
6514         (x_command): Likewise.
6515         * p-valprint.c (pascal_object_print_static_field): Use
6516         value_address.
6517         * mn10300-tdep.c (mn10300_push_dummy_call): Use value_address.
6518         * mips-tdep.c (mips_eabi_push_dummy_call): Use value_address.
6519         * m32r-tdep.c (m32r_push_dummy_call): Use value_address.
6520         * jv-valprint.c (java_value_print): Use value_address.
6521         * infcall.c (find_function_addr): Use value_address.
6522         * gnu-v3-abi.c (gnuv3_rtti_type): Use value_address.
6523         * gnu-v2-abi.c (gnuv2_value_rtti_type): Use value_address.
6524         * frv-tdep.c (frv_push_dummy_call): Use value_address.
6525         * frame.c (frame_register_unwind): Use value_address.
6526         (frame_unwind_register_value): Likewise.
6527         * darwin-nat-info.c (info_mach_region_command): Use
6528         value_address.
6529         * cp-valprint.c (cp_print_static_field): Use value_address.
6530         * c-valprint.c (c_value_print): Use value_address.
6531         * breakpoint.c (update_watchpoint): Use value_address.
6532         (can_use_hardware_watchpoint): Likewise.
6533         * ada-valprint.c (ada_val_print_1): Use value_address.
6534         (ada_value_print): Likewise.
6535         * ada-tasks.c (read_fat_string_value): Use value_address.
6536         * jv-lang.c (java_link_class_type): Use set_value_address.
6537         (java_link_class_type): Likewise.
6538         (get_java_utf8_name): Use value_address.
6539         (type_from_class): Likewise.
6540         (java_link_class_type): Likewise.
6541         * findvar.c (value_of_register): Use set_value_address.
6542         (read_var_value): Likewise.
6543         (read_var_value): Likewise.
6544         * eval.c (evaluate_subexp_standard): Use set_value_address.
6545         (evaluate_subexp_standard): Use value_address.
6546         * dwarf2loc.c (dwarf2_evaluate_loc_desc): Use set_value_address.
6547         * ada-lang.c (coerce_unspec_val_to_type): Use set_value_address.
6548         (ada_value_primitive_packed_val): Likewise.
6549         (ensure_lval): Likewise.
6550         (thin_data_pntr): Use value_address.
6551         (desc_bounds): Likewise.
6552         (ada_value_primitive_packed_val): Likewise.
6553         (value_assign_to_component): Likewise.
6554         (ensure_lval): Likewise.
6555         (make_array_descriptor): Likewise.
6556         (ada_to_fixed_value): Likewise.
6557         (unwrap_value): Likewise.
6558         * value.c (deprecated_value_address_hack): Remove.
6559         (value_address): New function.
6560         (value_raw_address): Likewise.
6561         (set_value_address): Likewise.
6562         (value_fn_field): Use set_value_address.
6563         (value_from_contents_and_address): Likewise.
6564         (value_fn_field): Likewise.
6565         (allocate_value_lazy): Don't use VALUE_ADDRESS.
6566         (value_as_address): Use value_address.
6567         (value_static_field): Likewise.
6568         * valops.c (search_struct_field): Use set_value_address.
6569         (value_at): Likewise.
6570         (value_at_lazy): Likewise.
6571         (value_repeat): Likewise.
6572         (value_cast_structs): Use value_address.
6573         (value_cast): Likewise.
6574         (value_fetch_lazy): Likewise.
6575         (value_assign): Likewise.
6576         (value_repeat): Likewise.
6577         (address_of_variable): Likewise.
6578         (value_coerce_array): Likewise.
6579         (value_coerce_function): Likewise.
6580         (value_addr): Likewise.
6581         (search_struct_field): Likewise.
6582         (search_struct_method): Likewise.
6583         (find_method_list): Likewise.
6584         (value_struct_elt_for_reference): Likewise.
6585         (value_full_object): Likewise.
6586         * jv-valprint.c (java_value_print): Use set_value_address.
6587         * value.h (deprecated_value_address_hack): Remove.
6588         (VALUE_ADDRESS): Remove.
6589         (value_address): Declare.
6590         (value_raw_address): Declare.
6591         (set_value_address): Declare.
6592
6593 2009-05-27  Tom Tromey  <tromey@redhat.com>
6594             Thiago Jung Bauermann  <bauerman@br.ibm.com>
6595             Phil Muldoon  <pmuldoon@redhat.com>
6596             Paul Pluzhnikov  <ppluzhnikov@google.com>
6597
6598         * python/python.c (_initialize_python): Call
6599         gdbpy_initialize_types.
6600         (GdbMethods): Add "lookup_type".
6601         * python/python-value.c (value_object) <type>: New field.
6602         (valpy_dealloc): Decref type.
6603         (valpy_new): Initialize type.
6604         (valpy_get_type): New function.
6605         (value_to_value_object): Initialize type.
6606         (valpy_cast): New function.
6607         (value_object_getset): Add "type".
6608         (value_object_methods): Add "cast".
6609         * python/python-internal.h (type_to_type_object): Declare.
6610         (type_object_to_type): Likewise.
6611         (gdbpy_initialize_types): Likewise.
6612         (gdbpy_lookup_type): Declare.
6613         * Makefile.in (SUBDIR_PYTHON_OBS): Add python-type.o.
6614         (SUBDIR_PYTHON_SRCS): Add python-type.c.
6615         (python-type.o): New target.
6616         * python/python-type.c: New file.
6617
6618 2009-05-27  Tom Tromey  <tromey@redhat.com>
6619             Thiago Jung Bauermann  <bauerman@br.ibm.com>
6620             Phil Muldoon  <pmuldoon@redhat.com>
6621
6622         * python/python.c: Include objfiles.h, observer.h.
6623         (gdbpy_auto_load): New global.
6624         (gdbpy_current_objfile): Likewise.
6625         (GDBPY_AUTO_FILENAME): New define.
6626         (gdbpy_new_objfile): New function.
6627         (gdbpy_get_current_objfile): Likewise.
6628         (gdbpy_objfiles): Likewise.
6629         (_initialize_python): Add "maint set auto-load".  Call
6630         gdbpy_initialize_objfile.  Attach objfile observer.
6631         (GdbMethods): New methods current_objfile, objfiles.
6632         * python/python-objfile.c: New file.
6633         * python/python-internal.h (objfile_to_objfile_object): Declare.
6634         (objfpy_get_printers): Likewise.
6635         (gdbpy_initialize_objfile): Likewise.
6636         * Makefile.in (SUBDIR_PYTHON_OBS): Add python-objfile.o.
6637         (SUBDIR_PYTHON_SRCS): Add python-objfile.c.
6638         (python-objfile.o): New target.
6639
6640 2009-05-27  Pedro Alves  <pedro@codesourcery.com>
6641
6642         * infrun.c (follow_exec): Clear the stop_requested flag.
6643         * linux-nat.c (linux_handle_extended_wait) <PTRACE_EVENT_EXEC>:
6644         Add debug output.
6645
6646 2009-05-27  Aleksandar Ristovski  <aristovski@qnx.com>
6647
6648         * nto-procfs.c (get_regset): Pass correct pointer.
6649
6650 2009-05-26  Doug Evans  <dje@google.com>
6651
6652         * dwarf2read.c (follow_die_ref): Add comment.
6653         (dwarf2_mark_helper): Tweak comment.
6654         (dwarf2_mark): Move description to its proper place.
6655
6656 2009-05-25  Pierre Muller  <muller@ics.u-strasbg.fr>
6657
6658         * procfs.c (procfs_wait): Add options parameter.
6659
6660 2009-05-24  Doug Evans  <dje@google.com>
6661
6662         Global renaming of find_thread_pid to find_thread_ptid.
6663         * gdbthread.h (find_thread_ptid): Renamed from find_thread_pid.
6664         * thread.c (find_thread_ptid): Renamed from find_thread_pid.
6665         All callers updated.
6666
6667         * infrun.c (follow_fork): Initialize new step_* locals
6668         to avoid "may be used uninitialized" warnings.
6669
6670 2009-05-24  Pedro Alves  <pedro@codesourcery.com>
6671
6672         * inflow.c (copy_terminal_info): Deep copy `run_terminal'.
6673
6674 2009-05-24  Pedro Alves  <pedro@codesourcery.com>
6675
6676         * gdbthread.h (struct thread_info): New `pending_follow' field.
6677         * thread.c (new_thread): New function.
6678         (add_thread_silent): Use it.
6679         * breakpoint.c (internal_breakpoint_number): New global, moved
6680         from inside...
6681         (create_internal_breakpoint): ... this.
6682         (clone_momentary_breakpoint): New.
6683         * breakpoint.h (clone_momentary_breakpoint): Declare.
6684         * infrun.c (nullify_last_target_wait_ptid): Move declaration
6685         higher.
6686         (pending_follow): Delete.
6687         (follow_fork): Handle pending follow fork event here.  Moved the
6688         preserving of thread stepping state here.
6689         (resume): Don't handle pending follow fork events here.  Only
6690         install the inferior's terminal modes if we're about to resume it.
6691         (proceed): Handle possible pending follow fork events here.
6692         (init_wait_for_inferior): No need to clear pending_follow anymore,
6693         it's gone.
6694         (handle_inferior_event): Adjust to per-thread `pending_follow'.
6695         Call `follow_fork' to handle following the fork.  If the
6696         follow-fork is cancelled, stop stepping.
6697         * linux-nat.c (linux_child_follow_fork): Adjust to per-thread
6698         `pending_follow' events.  Remove code that handled preserving the
6699         thread stepping state.
6700         * inf-ptrace.c (inf_ptrace_follow_fork): Ditto.
6701         * inf-ttrace.c (inf_ttrace_follow_fork): Ditto.
6702
6703 2009-05-24  Pierre Muller  <muller@ics.u-strasbg.fr>
6704
6705         * symfile.c (add_shared_symbol_files_command): Remove
6706         prototype and function.
6707         (_initialize _symfile): Move "add-shared-symbol-files"
6708         command and "assf" alias.
6709         * windows-nat.c (_initialize_windows_nat): to here.
6710         Change "add-shared-symbol-files" to alias.
6711         
6712         * config/i386/cygwin.mh: Remove NAT_FILE.
6713         * config/i386/mingw.mh: Remove NAT_FILE.
6714         * config/i386/mingw64.mh: Remove NAT_FILE.
6715         * config/i386/nm-cygwin.h: Remove file.
6716         * config/i386/nm-cygwin64.h: Remove file.
6717
6718 2009-05-24  Hui Zhu  <teawater@gmail.com>
6719
6720         * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
6721         I386_LINUX_RECORD_IOCTL_*,
6722         I386_LINUX_RECORD_FCNTL_*) Removed.
6723         (i386_linux_init_abi): Change size of record from macros to
6724         numbers.
6725
6726 2009-05-24  Hui Zhu  <teawater@gmail.com>
6727
6728         * i386-linux-tdep.c (i386_linux_init_abi): Remove size_char.
6729         * linux-record.c (record_linux_system_call): Ditto.
6730         * linux-record.h (linux_record_tdep): Ditto.
6731
6732 2009-05-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
6733
6734         Replace the savestring calls by xstrdup calls where possible.
6735         * breakpoint.c (condition_command, set_raw_breakpoint)
6736         (create_catchpoint, update_breakpoint_locations): Replace the
6737         savestring calls by xstrdup calls where possible.
6738         * buildsym.c (start_subfile, patch_subfile_names, record_debugformat)
6739         (record_producer): Likewise.
6740         * coffread.c (coff_start_symtab, complete_symtab): Likewise.
6741         * corefile.c (set_gnutarget): Likewise.
6742         * dbxread.c (add_new_header_file): Likewise.
6743         * demangle.c (set_demangling_command, set_demangling_style): Likewise.
6744         * event-top.c (push_prompt, pop_prompt, command_line_handler)
6745         (set_async_prompt): Likewise.
6746         * infcmd.c (set_inferior_io_terminal, attach_command_post_wait):
6747         Likewise.
6748         * language.c (set_language_command, _initialize_language): Likewise.
6749         * linespec.c (decode_line_2): Likewise.
6750         * rs6000-nat.c (add_vmap): Likewise.
6751         * top.c (set_prompt, init_history, init_main): Likewise.
6752         * tracepoint.c (stringify_collection_list): Likewise.
6753         * varobj.c (varobj_create): Remove variable expr_len.  Replace the 
6754         savestring calls by xstrdup calls where possible.
6755         (value_of_root, c_name_of_variable, c_describe_child): Replace the
6756         savestring calls by xstrdup calls where possible.
6757         * xcoffread.c (complete_symtab): Likewise.
6758         * cli/cli-script.c (build_command_line, define_command): Likewise.
6759         * cli/cli-setshow.c (do_setshow_command): Likewise.
6760
6761 2009-05-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
6762
6763         Remove already unreachable code.
6764         * varobj.c (varobj_get_handle): Fix comment when error is called.
6765         All callers updated.
6766
6767 2009-05-23  Eli Zaretskii  <eliz@gnu.org>
6768
6769         * README (`configure' options): Document GDB-specific options to
6770         `configure'.
6771
6772         * symtab.c (skip_prologue_using_lineinfo): New function.
6773         (find_function_start_sal): Use it to get to the first line of
6774         function's body that has an entry in the lineinfo table.
6775
6776         * symmisc.c (dump_symtab): Switch the current language to
6777         the language of the symtab we are dumping only if the symtab's
6778         language is neither language_auto nor language_unknown.
6779
6780         * coffread.c (coff_symtab_read): Set language_minimal as the
6781         language for the "_globals_" pseudo-file.
6782         (process_coff_symbol): Set the symbol's language to the language
6783         of current_subfile.
6784
6785 2009-05-22  Pedro Alves  <pedro@codesourcery.com>
6786
6787         * target.h (struct section_table): Rename to ...
6788         (struct target_section): ... this.
6789         * exec.c: Adjust all references.
6790         * exec.h: Adjust all references.
6791         * nto-tdep.c: Adjust all references.
6792         * nto-tdep.h: Adjust all references.
6793         * ppc-linux-tdep.c: Adjust all references.
6794         * rs6000-nat.c: Adjust all references.
6795         * s390-tdep.c: Adjust all references.
6796         * solib-darwin.c: Adjust all references.
6797         * solib-frv.c: Adjust all references.
6798         * solib-irix.c: Adjust all references.
6799         * solib-null.c: Adjust all references.
6800         * solib-osf.c: Adjust all references.
6801         * solib-pa64.c: Adjust all references.
6802         * solib-som.c: Adjust all references.
6803         * solib-sunos.c: Adjust all references.
6804         * solib-svr4.c: Adjust all references.
6805         * solib-target.c: Adjust all references.
6806         * solib.c: Adjust all references.
6807         * solist.h: Adjust all references.
6808         * symfile.c: Adjust all references.
6809         * symfile.h: Adjust all references.
6810         * target.c: Adjust all references.
6811
6812 2009-05-22  Hui Zhu  <teawater@gmail.com>
6813
6814         Add sys_fcntl argument interfaces to linux_record_tdep.
6815
6816         * linux-record.h (linux_record_tdep): Add fcntl_F_GETLK,
6817         fcntl_F_GETLK64, fcntl_F_SETLK64 and fcntl_F_SETLKW64 to be
6818         interfaces.
6819         * i386-linux-tdep.c (I386_LINUX_RECORD_FCNTL_F_GETLK,
6820         I386_LINUX_RECORD_FCNTL_F_GETLK64,
6821         I386_LINUX_RECORD_FCNTL_F_SETLK64,
6822         I386_LINUX_RECORD_FCNTL_F_SETLKW64): New macros. The values
6823         of I386 Linux sys_fcntl arguments.
6824         (i386_linux_init_abi): Set macros values to linux_record_tdep.
6825         * linux-record.c (record_linux_system_call): Change to use
6826         the interface in linux_record_tdep in sys_fcntl and
6827         sys_fcntl64.
6828
6829         * linux-record.c (record_linux_system_call): Fix the process
6830         record build error about type in CYGWIN.
6831
6832 2009-05-22  Pedro Alves  <pedro@codesourcery.com>
6833
6834         * inflow.c (kill_command): Delete left over static declaration.
6835
6836 2009-05-22  Pedro Alves  <pedro@codesourcery.com>
6837
6838         * bfd-target.c: Don't include gdb_assert.h or gdb_string.h.
6839         Include exec.h.
6840         (struct section_closure): Delete.
6841         (add_to_section_table): Delete.
6842         (build_target_sections_from_bfd): Delete.
6843         (target_bfd_xfer_partial): Use section_table_xfer_memory_partial.
6844         (target_bfd_reopen): Use build_section_table.
6845         * exec.c (xfer_memory): Move most code except for overlay
6846         debugging support from here...
6847         (section_table_xfer_memory): ... to this new function.
6848         (section_table_xfer_memory_partial): New.
6849         * exec.h (section_table_xfer_memory_partial): Declare.
6850         * bfd-target.h (build_target_sections_from_bfd): Delete
6851         declaration.
6852
6853 2009-05-22  Pedro Alves  <pedro@codesourcery.com>
6854
6855         * remote.c (compare_sections_command): Don't declare exec_bfd.
6856         * tracepoint.c: Include "gdbcore.h".
6857         (remote_set_transparent_ranges): Don't declare exec_bfd.
6858
6859 2009-05-21  Pedro Alves  <pedro@codesourcery.com>
6860
6861         * aix-thread.c (init_aix_thread_ops): Whitespace.
6862
6863 2009-05-21  Pedro Alves  <pedro@codesourcery.com>
6864
6865         * dec-thread.c (dec_thread_wait): Add options parameter.  Use it
6866         to call the to_wait method in the target beneath.
6867         * remote-m32r-sdi.c (m32r_wait): Add options parameter.
6868
6869 2009-05-21  Joel Brobecker  <brobecker@adacore.com>
6870
6871         * aix-thread.c (aix_thread_wait): Add options parameter.  Use it
6872         to call the to_wait method in the target_beneath.
6873
6874 2009-05-21  Pedro Alves  <pedro@codesourcery.com>
6875
6876         * linux-nat.c (linux_nat_terminal_inferior)
6877         (linux_nat_terminal_ours): Don't check sync_execution.
6878         * remote.c (remote_terminal_inferior, remote_terminal_ours):
6879         Don't check sync_execution.  Update comments.
6880         * target.c (target_terminal_inferior): New.
6881         * target.h (target_terminal_inferior): Delete macro, and declare
6882         as function.
6883         * event-top.c (async_disable_stdin): Make idempotent.  Don't give
6884         the target the terminal here.
6885         * inflow.c (terminal_ours_1): Don't return early without setting
6886         `terminal_is_ours'.
6887
6888 2009-05-21  Pedro Alves  <pedro@codesourcery.com>
6889
6890         * target.h (TARGET_WNOHANG): New.
6891         * target.c (target_wait): Add `options' argument.  Adjust.
6892         (struct target_ops) <to_wait>: Add `options' argument.
6893         (target_wait): Add `options' argument.
6894         * infrun.c (wait_for_inferior): Pass 0 as options to
6895         target_wait (blocking wait).
6896         (fetch_inferior_event): Pass TARGET_WNOHANG as options to
6897         target_wait.
6898         * fork-child.c (startup_inferior): Pass 0 as options to
6899         target_wait (blocking wait).
6900         * linux-nat.c (linux_nat_create_inferior): Remove async masking.
6901         (linux_nat_wait_1): Add `target_options' argument.  Use it instead
6902         of checking on target_can_async_p.
6903         (linux_nat_wait): Add `target_options' argument.  Adjust.
6904         * remote.c (remote_wait_ns): Add `options' argument.  Adjust to
6905         check on TARGET_WNOWAIT instead of checking on remote_is_async_p.
6906         (remote_wait_as): Add `options' argument.  Adjust to check on
6907         TARGET_WNOWAIT instead of checking on remote_is_async_p.  If doing
6908         a blocking wait, keep waiting until an interesting event comes
6909         out.
6910         (remote_wait): Add `options' argument.  Don't loop here if the
6911         target is in async mode, and a blocking wait has been requested.
6912
6913         * top.c (deprecated_target_wait_hook): Add `options' argument.
6914         * linux-thread-db.c (thread_db_wait): Add `options' argument, and
6915         pass it down to the layer beneath.
6916         * inf-ptrace.c (inf_ptrace_wait): Add `options' argument.
6917         * record.c (record_beneath_to_wait): Add `options' argument.
6918         (record_wait): Add `options' argument, and pass it down to the
6919         layer beneath.
6920         * bsd-uthread.c (bsd_uthread_wait): Add `options' argument.
6921         * darwin-nat.c (darwin_wait): Likewise.
6922         * defs.h (deprecated_target_wait_hook): Likewise.
6923         * gnu-nat.c (gnu_wait): Add `options' argument.
6924         * go32-nat.c (go32_wait): Likewise.
6925         * hpux-thread.c (hpux_thread_wait): Add `options' argument, and
6926         pass it down to the layer beneath.
6927         * inf-ttrace.c (inf_ttrace_wait): Add `options' argument.
6928         * monitor.c (monitor_wait): Likewise.
6929         * nto-procfs.c (procfs_wait): Likewise.
6930         * remote-mips.c (mips_wait): Add `options' argument.
6931         * remote-sim.c (gdbsim_wait): Likewise.
6932         * rs6000-nat.c (rs6000_wait): Add `options' argument.
6933         * sol-thread.c (sol_thread_wait): Add `options' argument, and pass
6934         it down to the layer beneath.
6935         * spu-linux-nat.c (spu_child_wait): Add `options' argument.
6936         * windows-nat.c (windows_wait): Likewise.
6937         * tui/tui-hooks.c (tui_target_wait_hook): Likewise.  Adjust.
6938
6939 2009-05-21  Pedro Alves  <pedro@codesourcery.com>
6940
6941         * mi/mi-interp.c (mi_on_resume): Account for whole process
6942         resumes.
6943
6944 2009-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
6945
6946         * m2-exp.y (MAX_FUNC): Fix trailing UNOP_MAX.
6947
6948 2009-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
6949
6950         * dwarf2read.c (set_cu_language): Recognize also DW_LANG_C99.
6951
6952 2009-05-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
6953
6954         Fix parsing DW_AT_const_value using DW_FORM_string.
6955         * dwarf2read.c (dwarf2_const_value <DW_FORM_string>): New.
6956
6957 2009-05-20  Joel Brobecker  <brobecker@adacore.com>
6958
6959         * aix-thread.c (giter_count): Do not count the main thread.
6960         (giter_accum): Do not include the main thread.
6961
6962 2009-05-19  Jan Kratochvil  <jan.kratochvil@redhat.com>
6963
6964         Remove the PROT parameter from openp.
6965         * source.c (openp): Remove the parameter PROT.  Assertion check MODE.
6966         defs.h (openp): Update the prototype.
6967         Update all the openp callers.
6968
6969 2009-05-19  Pedro Alves  <pedro@codesourcery.com>
6970
6971         * inflow.c (kill_command): Moved to infcmd.c.
6972         (_initialize_inflow): Don't add the "kill" command or clear
6973         inferior_ptid here.
6974         * infcmd.c (kill_command): Moved here from inflow.c.
6975         (_initialize_infcmd): Add the "kill" command here.
6976
6977 2009-05-19  Pedro Alves  <pedro@codesourcery.com>
6978
6979         * fork-child.c: Don't include frame.h.  Include terminal.h.
6980         (fork_inferior): Call new_tty_postfork after forking adn adding
6981         the child to the inferior list.
6982         * inferior.h (new_tty_prefork, gdb_has_a_terminal): Don't declare
6983         here.
6984         * inflow.c (struct terminal_info): Remove const qualifier from
6985         `run_terminal' field.
6986         (inferior_thisrun_terminal): Tweak comment.
6987         (inflow_inferior_exit): Release the `run_terminal' field.
6988         (copy_terminal_info): New function.
6989         (new_tty_postfork): New function.
6990         * terminal.h (new_tty_prefork, new_tty, new_tty_postfork,
6991         (copy_terminal_info, gdb_has_a_terminal, gdb_setpgid): Declare.
6992         * inf-ptrace.c: Include terminal.h.
6993         (inf_ptrace_follow_fork): Copy the parent's terminal info to the
6994         child.
6995         * linux-nat.c: Include terminal.h.
6996         (linux_child_follow_fork): Copy the parent's terminal info to the
6997         child.
6998         * inf-ttrace.c: Include terminal.h.
6999         (inf_ttrace_follow_fork): Copy the parent's terminal info to the
7000         child.
7001
7002 2009-05-19  Pedro Alves  <pedro@codesourcery.com>
7003
7004         * breakpoint.c (insert_breakpoints, breakpoint_init_inferior)
7005         (update_global_location_list): Use gdbarch_has_global_breakpoints
7006         instead of gdbarch_has_global_solist and
7007         target_supports_multi_process.
7008         * dicos-tdep.c (dicos_init_abi): Set
7009         gdbarch_has_global_breakpoints.
7010         * gdbarch.sh (has_global_solist): Update comment.
7011         (has_global_breakpoints): New.
7012         * remote.c (remote_start_remote): Use
7013         gdbarch_has_global_breakpoints instead of
7014         gdbarch_has_global_solist.
7015         * target.c (target_detach): Use gdbarch_has_global_breakpoints
7016         instead of gdbarch_has_global_solist.
7017         * infcmd.c (attach_command): Use gdbarch_has_global_solist instead
7018         of target_supports_multi_process.
7019
7020 2009-05-18  Paul Pluzhnikov  <ppluzhnikov@google.com>
7021
7022         * objc-lang.c (find_methods): Plug a small memory leak.
7023
7024 2009-05-18  Pedro Alves  <pedro@codesourcery.com>
7025
7026         * solib-svr4.c: Include observer.h.
7027         (debug_base, debug_loader_offset_p, debug_loader_offset)
7028         (debug_loader_name, main_lm_addr): Move these globals...
7029         (struct svr4_info): ... into this new structure.
7030         (svr4_info_p): New typedef.
7031         (svr4_info): New global.
7032         (get_svr4_info, remove_svr4_info, solib_svr4_inferior_exit): New
7033         functions.
7034         (locate_base, solib_svr4_r_map, solib_svr4_r_brk)
7035         (solib_svr4_r_ldsomap): Add svr4_info argument.  Adjust to
7036         per-inferior svr4.
7037         (open_symbol_file_object): Adjust to per-inferior svr4.
7038         (svr4_default_sos, svr4_current_sos, svr4_fetch_objfile_link_map):
7039         Ditto.
7040         (enable_break): Add svr4_info argument.  Adjust to per-inferior
7041         svr4.
7042         (enable_break, svr4_solib_create_inferior_hook, svr4_clear_solib):
7043         Adjust to per-inferior svr4.
7044         (_initialize_svr4_solib): Install the solib_svr4_inferior_exit
7045         observer.
7046
7047 2009-05-18  Pedro Alves  <pedro@codesourcery.com>
7048
7049         * linux-nat.h (linux_proc_get_tgid): Declare.
7050         * linux-nat.c (linux_proc_get_tgid): New.
7051         * linux-thread-db.c (struct thread_db_info): New field
7052         `need_stale_parent_threads_check'.
7053         (add_thread_db_info): Set it.
7054         (find_new_threads_callback): Ignore stale fork parent threads.
7055         (thread_db_resume): New.
7056         (init_thread_db_ops): Install thread_db_resume.
7057
7058 2009-05-18  Pedro Alves  <pedro@codesourcery.com>
7059
7060         * fork-child.c (fork_inferior): Only reset the thread list if this
7061         is the first inferior.
7062         (startup_inferior): If the target support multi-process, tell it
7063         to resume only the new process.
7064         * linux-nat.c (num_lwps): Delete global.
7065         (purge_lwp_list): New function.
7066         (num_lwps): New function.
7067         (add_lwp, delete_lwp): Adjust.
7068         (ptid_match): New.
7069         (iterate_over_lwps): Add filter argument.  Handle it.
7070         (linux_nat_attach): Remove FIXME note.
7071         (linux_nat_detach): Adjust to iterate over threads of the inferior
7072         we're detaching from.  Adjust to num_lwps being a function.  Don't
7073         assume the head of the lwp list is the main thread of the process
7074         we're detaching from.  Don't destroy the LWP list.
7075         (resume_callback): Add debug output.
7076         (linux_nat_resume): Handle resuming a single inferior.  Allow a
7077         wildcard resume in non-stop mode.
7078         (linux_handle_extended_wait): Don't assume inferior_ptid is the
7079         correct inferior of the parent LWP.
7080         (status_callback): Also check lp->waitstatus.
7081         (select_event_lwp): Add new filter parameter.  Handle it.
7082         (linux_nat_filter_event): Adjust to num_lwps being a function.
7083         (linux_nat_wait_1): When adding the first lwp of the inferior, use
7084         an is_lwp check instead of checking for the number of lwps.
7085         (linux_nat_wait_1): Handle waiting for a specific tgid.  Handle
7086         pending process exit statuses.
7087         (linux_nat_mourn_inferior): Don't destroy all the LWP info.
7088         Instead delete LWPs of the inferior that we're mourning.  Don't
7089         unregister from the event loop here.
7090         (linux_nat_pid_to_str): Use `num_lwps'.
7091         (linux_nat_make_corefile_notes): Adjust to walk over lwps of a
7092         single inferior.
7093         (linux_nat_is_async_p): Check if async was masked out.
7094         (linux_multi_process): New global.
7095         (linux_nat_supports_multi_process): New.
7096         (linux_nat_stop_lwp): Remove LWP filtering.  It is done by the
7097         caller.
7098         (linux_nat_stop): Adjust to make iterate_over_lwps itself do the
7099         LWP filtering.
7100         (linux_nat_close): New.
7101         (linux_nat_add_target): Register linux_nat_close and
7102         linux_nat_supports_multi_process.
7103         * linux-nat.h (iterate_over_lwps): Add filter argument.
7104         * linux-thread-db.c (thread_db_handle): Delete.
7105         (proc_handle, thread_agent, td_init_p, td_ta_new_p)
7106         (td_ta_map_id2thr_p, td_ta_map_lwp2thr_p, td_ta_thr_iter_p)
7107         (td_ta_event_addr_p, td_ta_set_event_p, td_ta_event_getmsg_p)
7108         (td_thr_validate_p, td_thr_get_info_p, td_thr_event_enable_p)
7109         (td_thr_tls_get_addr_p, td_create_bp_addr, td_death_bp_addr): No
7110         longer globals, moved to...
7111         (struct thread_db_info): ... this new structure.
7112         (thread_db_list): New.
7113         (add_thread_db_info, get_thread_db_info, delete_thread_db_info):
7114         New.
7115         (have_threads_callback): Filter out threads of all inferiors but
7116         the one specified by the ARGS argument.
7117         (have_threads): Add ptid argument specifying the inferior we're
7118         interested in.  Handle it.
7119         (struct thread_get_info_inout): New.
7120         (thread_get_info_callback, thread_from_lwp): Adjust to use it.
7121         (thread_db_attach_lwp): Check that inferior of the passed in
7122         thread is using thread-db.  Adjust.
7123         (enable_thread_event): Remove thread_agent parameter.  Instead,
7124         get it from the per-inferior thread-db info.
7125         (dladdr_to_soname): Move higher up.
7126         (enable_thread_event_reporting): Adjust to use per-inferior
7127         thread-db info.
7128         (try_thread_db_load_1): Replace `handle' parameter by a
7129         thread_db_info parameter.  Adjust to use per-inferior thread-db
7130         info.
7131         (try_thread_db_load): Adjust to use per-inferior thread-db info.
7132         (thread_db_load, disable_thread_event_reporting): Ditto.
7133         (check_for_thread_db): Remove conditional reporting of which
7134         libthread_db is in use.
7135         (thread_db_new_objfile): Add comment about inferior_ptid.
7136         (attach_thread): Adjust to use per-inferior thread-db info.
7137         (thread_db_detach): Adjust to use per-inferior thread-db info.
7138         Remove thread event breakpoints of the current inferior.  Only
7139         unpush the thread-db target if there are no more processes using
7140         it.
7141         (check_event): Adjust to use per-inferior thread-db info.
7142         (thread_db_wait): Adjust to use per-inferior thread-db info.  Only
7143         unpush the thread-db target if there are no more processes using
7144         it.
7145         (thread_db_mourn_inferior): Adjust to use per-inferior thread-db
7146         info.  Mark breakpoints of the current inferior out before
7147         deleting them.  Only unpush the thread-db target if there are no
7148         more processes using it.
7149         (find_new_threads_callback): Adjust to use per-inferior thread_db
7150         info.
7151         (thread_db_find_new_threads_1): Add new ptid argument.  Adjust to
7152         use per-inferior thread-db info.
7153         (thread_db_find_new_threads): Adjust to use per-inferior thread-db
7154         info.
7155         (thread_db_get_thread_local_address): Adjust.
7156         (thread_db_get_ada_task_ptid): Adjust.
7157         * inf-ptrace.c (inf_ptrace_mourn_inferior): Only unpush the target
7158         if there no more processes left to debug.
7159         * thread.c (set_running, set_executing): Handle resuming all
7160         threads of a single inferior.
7161         * mi/mi-interp.c (mi_output_running_pid): New.
7162         (mi_inferior_count): New.
7163         (mi_on_resume): For backwards compatibility, if resuming all
7164         threads of an inferior, and there is only one inferior, output
7165         "all".
7166
7167 2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
7168
7169         * ada-lang.c (ada_find_any_type): Move check for primitive types ...
7170         (to_fixed_range_type): ... to here.
7171
7172 2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
7173
7174         * ada-lang.c (desc_data_type): Remove, replace by ...
7175         (desc_data_target_type): ... this.
7176         (thin_data_pntr): Use desc_data_target_type instead of desc_data_type.
7177         (ada_is_array_descriptor_type): Likewise.
7178         (ada_type_of_array): Likewise.
7179         (ada_coerce_to_simple_array_type): Likewise.
7180         (ada_array_element_type): Likewise.
7181
7182 2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
7183
7184         * ada-valprint.c (ada_val_print_1): Use val_print_string to print
7185         result of ada_vax_float_print_function inferior call.
7186
7187 2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
7188
7189         * ada-lang.c (ada_coerce_to_simple_array_type): Reimplement to
7190         avoid creating a dummy value.
7191
7192 2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
7193
7194         * p-valprint.c (pascal_val_print): Use extract_typed_address
7195         to extract reference value.
7196
7197 2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
7198
7199         * doublest.c (NAN): Remove unused define.
7200         (extract_floating_by_length, deprecated_extract_floating): Remove.
7201         (store_floating_by_length, deprecated_store_floating): Remove.
7202         (extract_typed_floating): Do not call extract_floating_by_length.
7203         (store_typed_floating): Do not call store_floating_by_length.
7204         (convert_typed_floating): Remove redundant assertions.
7205         * doublest.h (deprecated_extract_floating): Remove.
7206         (deprecated_store_floating): Remove.
7207         * sh64-tdep.c (sh64_register_convert_to_raw): Call
7208         extract_typed_floating instead of deprecated_extract_floating.
7209
7210 2009-05-18  Jon Beniston <jon@beniston.com>
7211         
7212         * MAINTAINERS: Add lm32 target.        
7213         * Makefile.in: Add lm32 dependencies.        
7214         * NEWS: Indicate lm32 is a new target.
7215         * configure.tgt: Add lm32 targets.
7216         * lm32-tdep.c: New file.
7217
7218 2009-05-18  Pedro Alves  <pedro@codesourcery.com>
7219
7220         * corelow.c (core_open): Flush the register cache before doing
7221         anything with registers.
7222
7223 2009-05-18  Pedro Alves  <pedro@codesourcery.com>
7224
7225         * inflow.h (our_process_group): Remove declaration.
7226         (inferior_process_group): Delete global variable declaration.
7227         (inferior_process_group): New function declaration.
7228         * inflow.c: Include observer.h.
7229         (inferior_ttystate, our_ttystate, tflags_inferior, tflags_ours):
7230         Delete.
7231         (struct terminal_info): New struct.
7232         (our_terminal_info): New global.
7233         (inferior_process_group): New function.
7234         (inferior_thisrun_terminal): Extend description comment.
7235         (gdb_has_a_terminal): Adjust to write to our_terminal_info fields
7236         instead of globals.
7237         (terminal_init_inferior_with_pgrp): Adjust to per-inferior
7238         terminal settings.
7239         (terminal_inferior): Ditto.
7240         (terminal_ours_1): Ditto.
7241         (inflow_new_inferior, inflow_inferior_exit): New functions.
7242         (child_terminal_info): Adjust to per-inferior terminal settings.
7243         (osig_set): New global.
7244         (set_sigint_trap): Adjust to per-inferior terminal settings.  Set
7245         or clear `osig_set' accordingly.
7246         (clear_sigint_trap): Check `osig_set' to decide wheater to restore
7247         SIGINT handler, instead of checking the current inferior (which
7248         may be none).
7249         (_initialize_inflow): Attach inflow_new_inferior and
7250         inflow_inferior_exit to the "new_inferior" and "inferior_exit"
7251         notifications, respectively.
7252         * inferior.h (struct terminal_info): Forward declare.
7253         (struct inferior): Add `terminal_info' field.
7254         * inferior.c (delete_inferior_1): Notify the inferior_exit
7255         observers before removing the inferior from the lists and deleting
7256         it.
7257         * inf-ptrace.c (inf_ptrace_stop): `inferior_process_group' is now
7258         a function instead of a variable.  Adjust.
7259         * procfs.c (procfs_stop): Ditto.
7260
7261 2009-05-17  Pedro Alves  <pedro@codesourcery.com>
7262
7263         * infrun.c (handle_inferior_event): When handling a
7264         TARGET_WAITKIND_FORKED, detach breakpoints from the fork child
7265         immediatelly.
7266         * linux-nat.c (linux_child_follow_fork): Only detach breakpoints
7267         from the child if vforking.
7268         * inf-ptrace.c (inf_ptrace_follow_fork): No need to detach
7269         breakpoints from the child here.
7270
7271 2009-05-17  Pedro Alves  <pedro@codesourcery.com>
7272
7273         * infrun.c (pending_follow): Remove execd_pathname member.
7274         (resume): No longer handle TARGET_WAITKIND_EXECD pending follow.
7275         (handle_inferior_event): When handling a TARGET_WAITKIND_EXECD
7276         event, don't copy `execd_pathname' to pending_follow, use the
7277         event copy instead.  Release `execd_pathname' once done with
7278         handling the event.
7279
7280         * infrun.c (pending_follow): Remove mention of exec events.
7281
7282 2009-05-17  Hui Zhu  <teawater@gmail.com>
7283
7284         * i386-tdep.c (i386_process_record): Make it extern.
7285         (i386_gdbarch_init): Don't call set_gdbarch_process_record
7286         here.
7287         * i386-tdep.h (i386_process_record): Declare.
7288         * i386-linux-tdep.c (i386_linux_init_abi): Call
7289         set_gdbarch_process_record.
7290
7291 2009-05-17  Vladimir Prus  <vladimir@codesourcery.com>
7292
7293         Always report varobj as changed when in_scope attribute changes.
7294
7295         * varobj.c (install_new_value): If non-NULL-ness of value
7296         changed, return 1.
7297
7298 2009-05-15  Paul Pluzhnikov  <ppluzhnikov@google.com>
7299         
7300         * NEWS: Mention set/show libthread-db-search-path.
7301         * gdb_thread_db.h (LIBTHREAD_DB_SEARCH_PATH): New define.
7302         (LIBTHREAD_DB_SO): Moved from linux-thread-db.c
7303         * linux-thread-db.c (libthread_db_search_path): New setting.
7304         (thread_db_handle): New variable (replaces using_thread_db).
7305         (try_thread_db_load_1): New function.
7306         (try_thread_db_load, thread_db_load_search): Likewise.
7307         (dladdr_to_soname): Likewise.
7308         (thread_db_load): Iterate over possibly multiple libthread_db's.
7309         (check_for_thread_db): Attempt to load new libthread_db.
7310         (thread_db_detach, thread_db_wait): Unload libthread_db.
7311         (thread_db_mourn_inferior): Likewise.
7312         (_initialize_thread_db): Add new libthread-db-search-path option.
7313         Defer loading of libthread_db to check_for_thread_db.
7314         * solib.c (libpthread_name_p): New function.
7315         (libpthread_solib_p): Call it.
7316         * solib.h (libpthread_name_p): New prototype.
7317         
7318 2009-05-15  Pierre Muller  <muller@ics.u-strasbg.fr>
7319
7320         * MAINTAINERS: Update my email address.
7321         
7322 2009-05-14  Paul Pluzhnikov  <ppluzhnikov@google.com>
7323
7324         * breakpoint.h: Add breakpoint_re_set_objfile prototype.
7325         * breakpoint.c (create_overlay_event_breakpoint): Renamed
7326         from create_overlay_event_breakpoint_1, old
7327         create_overlay_event_breakpoint deleted.
7328         (breakpoint_re_set_objfile): Don't rescan all objfiles
7329         unnecessarily.
7330         (breakpoint_re_set): New function.
7331         * symfile.c (new_symfile_objfile): Call breakpoint_re_set_objfile
7332         instead of breakpoint_re_set.
7333         * objfiles.c (objfile_relocate): Likewise.
7334         
7335 2009-05-14  Joel Brobecker  <brobecker@adacore.com>
7336
7337         * gdbarch.sh: Add comment documenting the target_gdbarch global.
7338         gdbarch.h does NOT need to be regenerated as the corresponding
7339         change has already been made in a previous commit.
7340
7341 2009-05-14  Pierre Muller  <muller@ics.u-strasbg.fr>
7342
7343         Remove all i386 debug register low level macros in config nm files.
7344         (I386_DR_LOW_SET_ADDR, I386_DR_LOW_RESET_ADDR): Remove.
7345         (I386_DR_LOW_GET_STATUS, I386_DR_LOW_SET_CONTROL): Remove.
7346         (I386_USE_GENERIC_WATCHPOIINTS): Remove.
7347
7348         * i386-nat.h: New file (adapted from config/i386/nm-i386.h).
7349         (struct i386_dr_low_type): New type.
7350         (i386_dr_low): New global variable.
7351         * i386-nat.c (TARGET_HAS_DR_LEN_8): Update macro.
7352         (i386_insert_aligned_watchpoint): Replace i386 dr low macros by
7353         i386_dr_low struct variable fields.
7354         (i386_remove_aligned_watchpoint): Likewise.
7355         (i386_stopped_data_address): Likewise.
7356         (i386_stopped_by_hwbp): Likewise.
7357         (show_debug_regs_command_added): New static variable.
7358         (add_show_debug_regs_command): New static function.
7359         (i386_use_watchpoints): Call add_show_debug_regs_command if not done.
7360         (i386_set_debug_register_length): New function.
7361         (_initialize_i386_nat): Delete.
7362         
7363         * amd64-linux-nat.c: Include "i386-nat.h".
7364         (amd64_linux_dr_set_control):  Change to static.
7365         (amd64_linux_dr_get_status): Change to static.
7366         (amd64_linux_dr_set_addr,amd64_linux_dr_reset_addr): Likewise.
7367         (_initialize_amd64_linux_nat): Set i386_dr_low variable fields.
7368         
7369         * go32-nat.c: Include "i386-nat.h".
7370         (go32_set_addr): Change to static.
7371         (go32_set_dr7): Change to static. Change arg type to unisgned long.
7372         (go32_get_dr6): Change to static. Change return type to unisnged long.
7373         (init_go32_ops):  Set i386_dr_low variable fields.
7374         * i386-linux-nat.c: Include "i386-nat.h".
7375         (i386_linux_dr_set_control, i386_linux_dr_get_status): Change to static.
7376         (i386_linux_dr_set_addr, i386_linux_dr_reset_addr): Idem.
7377         (_initialize_i386_linux_nat):  Set i386_dr_low variable fields.
7378         * i386bsd-nat.h: Declare functions used for
7379         i386_dr_low fields in i386fbsd-nat.c.
7380         * i386fbsd-nat.c: Include "i386-nat.h".
7381         (_initialize_i386fbsd_nat): Set i386_dr_low variable fields.
7382         * windows-nat.c: Include "i386-nat.h".
7383         (cygwin_set_dr, cygwin_get_dr6, cygwin_set_dr7): Add prototypes.
7384         Change to static.
7385         (cygwin_get_dr6): Change return type to unisnged long.
7386         (cygwin_set_dr7): Change arg type to unisgned long.
7387         (init_windows_ops): Set i386_dr_low function fields.
7388
7389         * amd64-windows-nat.c (_initialize_amd64_windows_nat): Call 
7390         i386_set_debug_register_length.
7391         * i386-windows-nat.c (_initialize_i386_windows_nat): Likewise.
7392
7393         * config/i386/nm-cygwin.h: Remove all I386_* macros.
7394         * config/i386/nm-cygwin64.h: Likewise.
7395         * config/i386/nm-fbsd.h: Likewise.
7396         * config/i386/nm-linux.h: Likewise.
7397         * config/i386/nm-i386.h: Remove completely.
7398         * config/i386/nm-go32.h: Remove completely.
7399         * config/i386/nm-linux64.h: Remove completely.
7400         * config/i386/go32.mh (NAT_FILE): Remove entry.
7401         * config/i386/linux64.h (NAT_FILE): Change to config/nm-linux.h.
7402
7403 2009-05-14  Jon Beniston  <jon@beniston.com>
7404
7405         * MAINTAINERS: Add Jon Beniston to write after approval list.
7406
7407 2009-05-13  Paul Pluzhnikov  <ppluzhnikov@google.com>
7408
7409         * objc-lang.c (objc_objfile_data): New variable.
7410         (find_methods): Skip objfiles without Obj-C methods.
7411         (_initialize_objc_lang): New function.
7412
7413 2009-05-13  Joel Brobecker  <brobecker@adacore.com>
7414
7415         * c-lang.c (print_wchar): Remove unnecessary cast.
7416
7417 2009-05-12  Jim Blandy  <jimb@red-bean.com>
7418
7419         * MAINTAINERS: Remove self as m32c target maintainer.
7420
7421 2009-05-12  Pedro Alves  <pedro@codesourcery.com>
7422
7423         * cli/cli-decode.c (deprecated_add_set_cmd): Delete.
7424         * command.h (deprecated_add_set_cmd): Delete declaration.
7425         * gnu-nat.c (_initialize_gnu_nat): Replace 'maint gnu-debug' with
7426         'set debug gnu-nat' and 'show debug gnu-nat'.
7427         * i386-nat.c (_initialize_i386_nat): Replace 'maint
7428         show-debug-registers' with 'maint set show-debug-registers' and
7429         'maint show show-debug-registers'.
7430         * mips-linux-nat.c (_initialize_mips_linux_nat): Replace 'maint
7431         show-debug-registers' with 'maint set show-debug-registers' and
7432         'maint show show-debug-registers'.
7433
7434 2009-05-12  Joel Brobecker <brobecker@adacore.com>
7435
7436         * c-lang.c (print_wchar): Convert w into a gdb_wchar_t before
7437         pushing it on the output obstack.
7438
7439 2009-05-11  Joel Brobecker <brobecker@adacore.com>
7440
7441         Fix internal error on breaking at a multi-locations caller source line.
7442         * breakpoint.c (parse_breakpoint_sals): Set EXPLICIT_PC for the `break'
7443         command with no parameters.
7444
7445 2009-05-11  Pedro Alves  <pedro@codesourcery.com>
7446
7447         * linux-nat.c (enum sigchld_state): Delete.
7448         (linux_nat_async_events_state): Delete.
7449         (struct waitpid_result): Delete.
7450         (waitpid_queue): Delete.
7451         (queued_waitpid_1): Delete.
7452         (async_file_flush): New.
7453         (queued_waitpid, push_waitpid): Delete.
7454         (async_file_mark): New.
7455         (drain_queued_events): Delete.
7456         (my_waitpid): Remove locally queued events handling.
7457         (linux_test_for_tracefork): Upjust.
7458         (linux_child_follow_fork): Ditto.
7459         (sync_sigchld_action): Delete.
7460         (blocked_mask): Reinstate.
7461         (async_sigchld_action): Rename to...
7462         (sigchld_action): ... this.
7463         (block_child_signals): New.
7464         (restore_child_signals_mask): New.
7465         (lin_lwp_attach_lwp): Adjust.
7466         (linux_nat_create_inferior): Ditto.
7467         (linux_nat_attach): Also use lp->status in async mode.
7468         (get_pending_status): Don't use queued_waitpid.
7469         (linux_nat_detach): Don't drain locally queued events.
7470         (linux_nat_resume): Allow pending wait statuses stored lp->status
7471         in async mode.  If returning early due to a pending event,
7472         re-register the event source.
7473         (stop_wait_callback): Allow pending wait statuses stored
7474         lp->status in async mode.
7475         (pipe_to_local_event_queue, local_event_queue_to_pipe): Delete.
7476         (linux_nat_wait): Rename to ...
7477         (linux_nat_wait_1): ... this.  Allow pending wait statuses stored
7478         lp->status in async mode.  Always add WNOHANG to the waitpid
7479         options in async mode.
7480         (linux_nat_wait): New.
7481         (kill_callback): Don't drain locally queued events.
7482         (sigchld_handler): Rewrite.
7483         (linux_nat_is_async_p, linux_nat_can_async_p): Fix comments to
7484         refer to "set target-async".
7485         (linux_nat_async_mask): If in non-stop, and re-enabling async
7486         mode, re-register the target event source in the event loop.
7487         (linux_nat_event_pipe_pop, linux_nat_event_pipe_push)
7488         (get_pending_events, async_sigchld_handler)
7489         (linux_nat_async_events): Delete.
7490         (handle_target_event): New.
7491         (linux_nat_async_file_handler): Delete.
7492         (linux_async_pipe): New.
7493         (linux_nat_async): Only re-register in the event loop if not
7494         registered yet.  Always notify the event-loop once if enabling the
7495         event source.
7496         (linux_nat_stop_lwp): Rewrite to handle pending events stored in
7497         lp->status, not in the locally queued event list.
7498         (linux_nat_stop): Don't mask out async event handling.
7499         (linux_nat_setup_async): Delete.
7500         (_initialize_linux_nat): Adjust.
7501         (lin_thread_get_thread_signals): blocked_mask is global again.
7502         Adjust.
7503
7504 2009-05-11  Pierre Muller  <muller@ics.u-strasbg.fr>
7505
7506         Unify target macros.
7507
7508         * target.h (STOPPED_BY_WATCHPOINT): Delete, replaced by ...
7509         (target_stoppped_by_watchpoint): New macro.
7510         (HAVE_STEPPABLE_WATCHPOINT): Delete, replaced by ...
7511         (target_have_steppable_watchpoint): New macro.
7512         (HAVE_CONTINUABLE_WATCHPOINT): Delete, replace by ...
7513         (target_have_continuable_watchpoint): New macro.
7514         (TARGET_CAN_USE_HARDWARE_WATCHPOINT):Delete, replaced by ...
7515         (target_can_use_hardware_watchpoint): New macro.
7516         (TARGET_REGION_OK_FOR_HW_WATCHPOINT):Delete, replaced by ...
7517         (target_region_ok_for_hw_watchpoint): New macro.
7518
7519         * breakpoint.c (update_watchpoint): Use new macros.
7520         (bpstat_alloc): Likewise.
7521         (create_breakpoint): Likewise.
7522         (watch_command_1): Likewise.
7523         (can_use_hardware_watchpoint): Likewise.
7524         (do_enable_breakpoint): Likewise.
7525         * infrun.c (handle_inferior_event): Adapt to new macros.
7526         * mips-tdep.c (mips_gdbarch_init): Update comments.
7527         * procfs.c (procfs_set_watchpoint): Update comment.
7528         (procfs_insert_watchpoint): Adapt to new macros.
7529         * remote-m32r-sdi.c (m32r_stop):
7530         * remote-mips.c (mips_remove_breakpoint):
7531         * target.c (debug_to_region_ok_for_hw_watchpoint): Update to new macros.
7532         (debug_to_stopped_by_watchpoint): Likewise.
7533
7534
7535 2009-05-10  Pierre Muller  <muller@ics.u-strasbg.fr>
7536
7537         * src/gdb/target.h: Remove all tests for already defined
7538         macros. All macros defined here should not be set in config
7539         headers anymore.
7540
7541 2009-05-08  Sergio Durigan Junior <sergiodj@linux.vnet.ibm.com>
7542
7543         * ppc-linux-nat.c (have_ptrace_getsetregs): New variable.
7544         (have_ptrace_getsetfpregs): Likewise.
7545         fetch_all_gp_regs): New function.
7546         (fetch_gp_regs): New function.
7547         (fetch_all_fp_regs): Likewise.
7548         (fetch_fp_regs): New function.
7549         (fetch_ppc_registers): Using the new methods to fetch general-
7550         purpose and floating-pointer registers.
7551         (store_all_gp_regs): New function.
7552         (store_gp_regs): Likewise.
7553         (store_all_fp_regs): New function.
7554         (store_fp_regs): Likewise.
7555         (store_ppc_registers): Using the new methods to store general-
7556         purpose and floating-pointer registers.
7557
7558 2009-05-08  Doug Evans  <dje@google.com>
7559
7560         * linux-nat.c (linux_xfer_siginfo): Delete unused locals lp, n.
7561
7562 2009-05-07  Sergio Durigan Junior  <sergiodj@linux.vnet.ibm.com>
7563
7564         * MAINTAINERS (Write After Approval): Add self.
7565
7566 2009-05-07  Joel Brobecker  <brobecker@adacore.com>
7567
7568         * gdbarch.h (target_gdbarch): Add comment documenting this global.
7569
7570 2009-05-06  Joel Brobecker  <brobecker@adacore.com>
7571
7572         * acinclude.m4 (AM_ICONV): Prefer in-tree libiconv if present over
7573         system iconv.
7574         * configure: Regenerate.
7575
7576 2009-05-06  Joel Brobecker  <brobecker@adacore.com>
7577
7578         * utils.c: Add include of gdb_usleep.h.
7579         (defaulted_query): Detect false EOF conditions that happen
7580         on terminals opened with the O_NONBLOCK flag when there is
7581         nothing to read.
7582
7583 2009-05-06  Pedro Alves  <pedro@codesourcery.com>
7584
7585         * inferior.c (add_inferior): Move observer_notify_new_inferior
7586         call to ...
7587         (add_inferior_silent): ... here.
7588
7589 2009-05-06  Pierre Muller  <muller@ics.u-strasbg.fr>
7590             Pedro Alves  <pedro@codesourcery.com>
7591
7592         * procfs.c (procfs_insert_watchpoint, procfs_remove_watchpoint)
7593         (procfs_region_ok_for_hw_watchpoint, procfs_use_watchpoints): New
7594         functions.
7595         (procfs_stopped_by_watchpoint): Made static, ptid argument
7596         removed.
7597         (_initialize_procfs): Register new watchpoint related target
7598         functions.
7599         * config/i386/nm-i386sol2.h (TARGET_CAN_USE_HARDWARE_WATCHPOINT)
7600         (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT, STOPPED_BY_WATCHPOINT)
7601         (HAVE_CONTINUABLE_WATCHPOINT): Delete.
7602         (target_insert_watchpoint, target_remove_watchpoint): Delete.
7603         (procfs_stopped_by_watchpoint, procfs_set_watchpoint): Delete
7604         declarations.
7605         * config/mips/nm-irix5.h (STOPPED_BY_WATCHPOINT)
7606         (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete.
7607         (target_insert_watchpoint, target_remove_watchpoint): Delete.
7608         (procfs_stopped_by_watchpoint, procfs_set_watchpoint): Delete
7609         declarations.
7610         * config/sparc/nm-sol2.h (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT)
7611         (HAVE_CONTINUABLE_WATCHPOINT, STOPPED_BY_WATCHPOINT): Delete.
7612         (target_insert_watchpoint, target_remove_watchpoint): Delete.
7613         (procfs_stopped_by_watchpoint, procfs_set_watchpoint): Delete
7614         declarations.
7615
7616 2009-05-06  Hui Zhu  <teawater@gmail.com>
7617
7618         * i386-tdep.c (i386_process_record): Change bzero to memset.
7619
7620 2009-05-06  Hui Zhu  <teawater@gmail.com>
7621
7622         * NEWS: Add item for process record and replay.
7623
7624 2009-05-05  Maxim Grigoriev  <maxim2405@gmail.com>
7625
7626         * xtensa-tdep.c (xtensa_frame_cache): Use pc instead of cache->pc.
7627
7628 2009-05-05  Ulrich Weigand  <uweigand@de.ibm.com>
7629
7630         * inferior.h (read_pc, write_pc): Remove.
7631         * regcache.c (read_pc, write_pc): Remove.
7632
7633         * infrun.c (displaced_step_fixup): Use regcache_read_pc instead
7634         of read_pc.
7635         (handle_inferior_event): Use regcache_read_pc instead of read_pc
7636         when determining value of stop_pc.  Replace subsequent uses of
7637         read_pc by inspecting already-retrieved stop_pc value.
7638         (keep_going): Use regcache_read_pc instead of read_pc.
7639
7640         * breakpoint.c (watchpoint_check): Use current frame architecture
7641         and PC instead of current_gdbarch and read_pc ().
7642         * tracepoint.c (set_traceframe_context): Replace PC argument
7643         with FRAME argument.
7644         (trace_start_command, finish_tfind_command): Update calls.
7645         (finish_tfind_command): Compare frame IDs to identify transitions
7646         between frames.
7647         (trace_find_pc_command): Use regcache_read_pc instead of read_pc.
7648         * rs6000-nat.c (exec_one_dummy_insn): Pass in regcache instead
7649         of gdbarch.  Use regcache_read_pc and regcache_write_pc instead
7650         of read_pc and write_pc.
7651         (store_register): Make regcache argument non-const.  Update call
7652         to exec_one_dummy_insn.
7653
7654         * thread.c (switch_to_thread): Use regcache_read_pc instead of read_pc.
7655         * infcmd.c (post_create_inferior): Likewise.
7656         * solib-darwin.c (darwin_solib_create_inferior_hook): Likewise.
7657         * solib-pa64.c (pa64_solib_create_inferior_hook): Likewise.
7658         * solib-sunos.c (sunos_solib_create_inferior_hook): Likewise.
7659         * solib-svr4.c (enable_break, svr4_relocate_main_executable): Likewise.
7660         * linux-fork.c (fork_load_infrun_state): Likewise.
7661         * hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Likewise.
7662         * record.c (record_wait): Likewise.
7663         * procfs.c (procfs_wait): Likewise.
7664         * remote-mips.c (common_open, mips_wait): Likewise.
7665         * remote-m32r-sdi.c (m32r_resume): Likewise.
7666
7667         * symfile.c (generic_load): Use regcache_write_pc instead of write_pc.
7668         * monitor.c (monitor_create_inferior, monitor_load): Likewise.
7669         * m32r-rom.c (m32r_load, m32r_upload_command): Likewise.
7670         * remote-m32r-sdi.c (m32r_create_inferior, m32r_load): Likewise.
7671         * remote-mips.c (mips_create_inferior, mips_load): Likewise.
7672
7673         * solib-darwin.c: Include "regcache.h".
7674         * solib-pa64.c: Include "regcache.h".
7675         * solib-svr4.c: Include "regcache.h.".
7676
7677         * symfile.c: Do not mention read_pc or write_pc in comments.
7678         * dink32-rom.c: Likewise.
7679         * m32r-rom.c: Likewise.
7680         * mips-tdep.c: Likewise.
7681
7682 2009-05-05  Ulrich Weigand  <uweigand@de.ibm.com>
7683
7684         * fork-child.c (startup_inferior): Move setting stop_pc ...
7685         * infcmd.c (post_create_inferior): ... to here.
7686
7687 2009-05-04  Michael Snyder  <msnyder@vmware.com>
7688
7689         * NEWS: Add item for reverse debugging commands.
7690
7691 2009-05-04  Pedro Alves  <pedro@codesourcery.com>
7692
7693         * go32-nat.c (go32_stop): Delete.
7694         (go32_kill_inferior): Rewrite to only call go32_mourn_inferior.
7695         (go32_create_inferior): Don't call go32_stop or
7696         go32_kill_inferior.
7697         (go32_mourn_inferior): Inline go32_stop and go32_kill_inferior
7698         here.
7699         (init_go32_ops): Don't register go32_stop.
7700
7701 2009-05-02  Eli Zaretskii  <eliz@gnu.org>
7702
7703         * dbxread.c (read_dbx_symtab): Avoid compiler warnings for
7704         sym_name.
7705
7706         * infcall.c (find_function_addr): Avoid compiler warnings for
7707         funaddr.
7708
7709 2009-05-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
7710
7711         * dictionary.c (dict_hashed_vector, dict_hashed_expandable_vector)
7712         (dict_linear_vector, dict_linear_expandable_vector): Fix a comment typo.
7713
7714 2009-05-01  Doug Evans  <dje@google.com>
7715
7716         * linux-thread-db.c (thread_db_pid_to_str): Delete unused assignment
7717         to thread_info.
7718
7719 2009-05-01  Eli Zaretskii  <eliz@gnu.org>
7720
7721         * record.c (_initialize_record): Reformat and clarify doc strings
7722         for stop-at-limit and insn-number-max.
7723
7724         * go32-nat.c: Add comments about dirty secrets of DJGPP debugging.
7725
7726 2009-05-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
7727
7728         Make specifiable the make_function_type type memory ownership.
7729         * gdbtypes.c (make_function_type): New parameter `objfile', use it
7730         explicitely instead of TYPE-initialized removed local variable
7731         `objfile'.  Describe `objfile' it in the function comment.
7732         (lookup_function_type): Update make_function_type callers.
7733         * gdbtypes.h (make_function_type): Update the prototype.
7734         * jv-lang.c (java_link_class_type): Update make_function_type callers.
7735         * dwarf2read.c (read_subroutine_type): Likewise.
7736         * stabsread.c (read_type): Likewise.
7737
7738 2009-05-01  Eli Zaretskii  <eliz@gnu.org>
7739
7740         * go32-nat.c (go32_pid_to_str): Call normal_pid_to_str instead of
7741         printing a bogus "Thread <main>".
7742         (go32_thread_alive): Don't return 1 for null_ptid.
7743
7744         * i386-tdep.c (i386_go32_init_abi): Override the number of
7745         registers due to non-support of SSE.
7746
7747 2009-04-30  Anthony Green  <green@moxielogic.com>
7748
7749         * configure.tgt: Link the moxie simulator in with gdb.
7750
7751 2009-04-30  Paul Pluzhnikov  <ppluzhnikov@google.com>
7752
7753         * elfread.c (elf_symtab_read): Don't assume .data and .rodata
7754         are present.
7755
7756 2009-04-30  Hui Zhu  <teawater@gmail.com>
7757             Michael Snyder  <msnyder@vmware.com>
7758
7759         I386 Linux process record and replay support.
7760
7761         * i386-linux-tdep.c (i386_linux_record_tdep): New variable.
7762         This struct has the argument for the function
7763         "record_linux_system_call".
7764         (i386_linux_intx80_sysenter_record): New function. Parse the
7765         system call instruction and call function
7766         "record_linux_system_call" to record execute log.
7767         (i386_linux_init_abi): Initialize "i386_linux_record_tdep".
7768         Set "i386_linux_intx80_sysenter_record" to
7769         "i386_intx80_record" and "i386_sysenter_record".
7770
7771 2009-04-30  Hui Zhu  <teawater@gmail.com>
7772             Michael Snyder  <msnyder@vmware.com>
7773
7774         I386 architecture process record and replay support.
7775
7776         * i386-tdep.c (PREFIX_REPZ, PREFIX_REPNZ, PREFIX_LOCK,
7777         PREFIX_DATA, PREFIX_ADDR): New macros. Help decode the i386
7778         instruction set.
7779         (aflag, dflag, override, modrm, mod, reg, rm, ot,
7780         i386_record_pc): New variables. Ditto.
7781         (i386_record_modrm, i386_record_lea_modrm_addr,
7782         i386_record_lea_modrm): New functions. Ditto.
7783         (i386_process_record): New function. Parse the instruction in
7784         address "addr" and record the values of registers and memory
7785         that will be changed by this instruction.
7786         (i386_gdbarch_init): Set "i386_process_record" to GDBARCH
7787         "process_record" interface.
7788         * i386-tdep.h (gdbarch_tdep): New function pointers
7789         "i386_intx80_record" and "i386_sysenter_record" that point to
7790         the function that can record "intx80" and "sysenter" execute
7791         log.
7792
7793 2009-04-30  Hui Zhu  <teawater@gmail.com>
7794             Michael Snyder  <msnyder@vmware.com>
7795
7796         * infrun.c (use_displaced_stepping): Return false if process
7797         record and replay target is used.
7798         (proceed): Call function "record_not_record_set" if pocess
7799         record and replay target is used.
7800
7801 2009-04-30  Hui Zhu  <teawater@gmail.com>
7802             Michael Snyder  <msnyder@vmware.com>
7803
7804         Linux process record and replay support.
7805
7806         * Makefile.in (ALLDEPFILES): Add linux-record.c.
7807         (ALL_TARGET_OBS): Add linux-record.o.
7808         * configure.tgt (x86_64-*-linux*): Add linux-record.o.
7809         (i[34567]86-*-linux*): Add linux-record.o.
7810         * linux-record.c, linux-record.h: New file.
7811
7812 2009-04-30  Hui Zhu  <teawater@gmail.com>
7813             Michael Snyder  <msnyder@vmware.com>
7814
7815         Process record and replay target.
7816
7817         * Makefile.in (SFILES): Add record.c.
7818         (COMMON_OBS): Add record.o.
7819         * record.c, record.h: New file.
7820
7821 2009-04-30  Hui Zhu  <teawater@gmail.com>
7822             Michael Snyder  <msnyder@vmware.com>
7823
7824         * target.h (strata): New stratum "record_stratum".
7825
7826 2009-04-30  Hui Zhu  <teawater@gmail.com>
7827             Michael Snyder  <msnyder@vmware.com>
7828
7829         GDBARCH interface for process record and replay.
7830
7831         * gdbarch.sh (process_record): This interface point to the
7832         function that records the inferior execute log.
7833
7834 2009-04-29  Doug Evans  <dje@google.com>
7835
7836         * i386-nat.c (child_post_startup_inferior): Delete, unused.
7837
7838 2009-04-29  Pedro Alves  <pedro@codesourcery.com>
7839
7840         * breakpoint.c (print_exception_catchpoint): Access `b' directly
7841         instead of `b->loc->owner'.
7842         (print_mention_exception_catchpoint): Ditto.
7843
7844 2009-04-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
7845
7846         * macrocmd.c (info_macro_command): Print -Dname=value if LINE is zero.
7847
7848 2009-04-27  Tom Tromey  <tromey@redhat.com>
7849
7850         * c-exp.y (yylex): Handle '[' and ']' like '(' and ')'.
7851
7852 2009-04-27  Jerome Guitton  <guitton@adacore.com>
7853
7854         * symtab.c (append_exact_match_to_sals): New function, extracted
7855         from expand_line_sal.
7856         (expand_line_sal): Use append_exact_match_to_sals to append exact
7857         matches. If none found, append all best items.
7858
7859 2009-04-27  Jerome Guitton  <guitton@adacore.com>
7860
7861         * main.c (captured_main): Move gdbinit lookups after gdb_init.
7862
7863 2009-04-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
7864
7865         PR gdb/9675:
7866         * dwarf2read.c (unsigned_int_compar, inherit_abstract_dies): New.
7867         (read_func_scope): Call inherit_abstract_dies.
7868
7869 2009-04-25  Eli Zaretskii  <eliz@gnu.org>
7870
7871         * Makefile.in (ALLDEPFILES): Remove duplicate entries for
7872         sparc-sol2-nat.c and sparc-sol2-tdep.c.
7873
7874         * stack.c (_initialize_stack) <disassemble-next-line>: Doc fix.
7875
7876 2009-04-24  Pierre Muller  <muller@ics.u-strasbg.fr>
7877
7878         ARI change: Use "/* ARI: rule */" pattern.
7879         * utils.c: Update ARI patterns.
7880         * gdb_dirent.h: Likewise.
7881
7882 2009-04-23  Anthony Green  <green@moxielogic.com>
7883
7884         * MAINTAINERS: Add moxie target.
7885         * configure.tgt: Add moxie-*-elf target.
7886         * moxie-tdep.c: New file.
7887         * moxie-tdep.h: New file.
7888
7889 2009-04-23  Joel Brobecker  <brobecker@adacore.com>
7890
7891         * ada-lang.c: Remove an extra empty line. No code change.
7892
7893 2009-04-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
7894
7895         Fix double free on error inserting the breakpoint instruction.
7896         * breakpoint.c (create_breakpoints): Move the
7897         update_global_location_list call to ...
7898         (break_command_really): ... here together with the second local call
7899         both unified after all the cleanups.
7900
7901 2009-04-23  Sergio Durigan Junior <sergiodj@linux.vnet.ibm.com>
7902             Tom Tromey  <tromey@redhat.com>
7903
7904         * configure, config.in: Regenerate.
7905         * configure.ac: Support for relocatable GDB datadir.  Use
7906         GDB_AC_WITH_DIR.  Always define TARGET_SYSTEM_ROOT_RELOCATABLE.
7907         * acinclude.m4 (GDB_AC_WITH_DIR): New defun.
7908         * top.c (init_main): Add "set data-directory".
7909         * defs.h (gdb_datadir): Declare.
7910         * main.c (gdb_datadir): New global.
7911         (captured_main): Initialize gdb_datadir.  Use relocate_directory.
7912         (relocate_path): New function.
7913         (relocate_directory): Likewise.
7914         (get_init_files): Use relocate_path.
7915         (README): Mention --with-gdb-datadir.
7916
7917 2009-04-23  Joel Brobecker  <brobecker@adacore.com>
7918
7919         * ada-tasks (task_command_1): Call target_find_new_threads.
7920
7921 2009-04-23  Joel Brobecker  <brobecker@adacore.com>
7922
7923         * stack.c (do_gdb_disassembly): Print the exception message if an
7924         error was thrown while trying to perform the disassembly.
7925
7926 2009-04-22  Jan Kratochvil  <jan.kratochvil@redhat.com>
7927
7928         * varobj.c (free_variable): Replace free_current_contents by xfree.
7929
7930 2009-04-22  Kazu Hirata  <kazu@codesourcery.com>
7931
7932         * arm-linux-nat.c (fetch_register, store_register): Use
7933         ARM_CPSR_GREGNUM instead of ARM_CPSR_REGNUM.
7934         * arm-linux-tdep.c (arm_linux_supply_gregset,
7935         arm_linux_collect_gregset): Likewise.
7936         * arm-linux-tdep.h (ARM_CPSR_GREGNUM): New.
7937         * arm-tdep.h (ARM_CPSR_REGNUM): Remove.
7938
7939 2009-04-22  Hui Zhu  <teawater@gmail.com>
7940
7941         * stack.c (_initialize_stack): Set the default of
7942         disassemble-next-line to off.
7943
7944 2009-04-21  Tom Tromey  <tromey@redhat.com>
7945
7946         * acinclude.m4: Use AS_HELP_STRING, not AC_HELP_STRING.
7947         * configure.ac: Use AS_HELP_STRING, not AC_HELP_STRING.
7948
7949 2009-04-21  Andreas Schwab  <schwab@linux-m68k.org>
7950
7951         * configure.ac: Add quotes to not lose brackets in help text.
7952         * configure: Rebuild.
7953
7954 2009-04-21  Andreas Schwab  <schwab@linux-m68k.org>
7955
7956         * configure.ac: Don't postprocess Makefile in config.status.
7957         Substitute GDB_NM_FILE.  Don't substitute nm_h.
7958         * Makefile.in (GDB_NM_FILE): Substitute.
7959         (TAGS): Use $(GDB_NM_FILE) instead of $(NAT_FILE).
7960         * configure: Regenerate.
7961         * gnulib/Makefile.in: Regenerate.
7962
7963 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
7964
7965         * configure.ac (--with-datarootdir, --with-docdir, --with-pdfdir,
7966         --with-htmldir): New.
7967         * configure: Regenerate.
7968
7969 2009-04-21  Tom Tromey  <tromey@redhat.com>
7970
7971         * configure: Rebuild.
7972         * configure.ac: Use lower case for start of help strings.  Clean
7973         up --with-sysroot help.
7974
7975 2009-04-21  Tom Tromey  <tromey@redhat.com>
7976
7977         * configure: Rebuild.
7978         * acinclude.m4 (AM_ICONV): Use AC_HELP_STRING.
7979         * configure.ac: Use AC_HELP_STRING.  Use upper case for variables
7980         in help.
7981
7982 2009-04-21  Pierre Muller  <muller@ics.u-strasbg.fr>
7983
7984         ARI fix: remove "%p".
7985         * ia64-tdep.c (ia64_frame_this_id): Use host_address_to_string function.
7986         (ia64_sigtramp_frame_this_id): Ditto.
7987         (ia64_libunwind_frame_this_id): Ditto.
7988         (ia64_libunwind_sigtramp_frame_this_id): Ditto.
7989         * symmisc.c (maintenance_info_psymtabs): Ditto.
7990
7991 2009-04-21  Joseph Myers  <joseph@codesourcery.com>
7992
7993         * configure.ac (--with-relocated-sources): New.
7994         * configure, config.in: Regenerate.
7995         * source.c (add_substitute_path_rule): Remove static.
7996         * source.h (add_substitute_path_rule): Declare.
7997         * main.c: Include "source.h".
7998         (captured_main): Add substitution rule if RELOC_SRCDIR.
7999
8000 2009-04-21  Pierre Muller  <muller@ics.u-strasbg.fr>
8001
8002         * gnu-nat.h (proc_debug): Add missing continuation line in macro.
8003
8004 2009-04-20  David Daney  <ddaney@caviumnetworks.com>
8005
8006         * NEWS: Mention MIPS/Linux hardware watchpoint support.
8007
8008 2009-04-20  David Daney  <ddaney@caviumnetworks.com>
8009
8010         * mips-linux-nat.c (command.h, gdbcmd.h, gdb_assert.h): New #includes.
8011         (maint_show_dr, super_close): New variables.
8012         (super_fetch_registers, super_store_registers): Make static.
8013         (PTRACE_GET_WATCH_REGS, PTRACE_SET_WATCH_REGS, W_BIT, R_BIT, I_BIT)
8014         (W_MASK, R_MASK, I_MASK, IRW_MASK, MAX_DEBUG_REGISTER): Define.
8015         (pt_watch_style): Define new enum.
8016         (mips32_watch_regs, mips64_watch_regs, pt_watch_regs, mips_watchpoint):
8017         Define new structs.
8018         (watch_readback_valid, watch_readback, current_watches, watch_mirror):
8019         New variables.
8020         (get_irw_mask, get_reg_mask, get_num_valid, get_watchlo)
8021         (set_watchlo, get_watchhi, set_watchhi, mips_show_dr)
8022         (mips_linux_read_watch_registers, mips_linux_can_use_hw_breakpoint)
8023         (mips_linux_stopped_by_watchpoint, mips_linux_stopped_data_address)
8024         (type_to_irw, fill_mask, try_one_watch)
8025         (mips_linux_region_ok_for_hw_watchpoint, write_watchpoint_regs)
8026         (mips_linux_new_thread, populate_regs_from_watches)
8027         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
8028         (mips_linux_close): New functions.
8029         (_initialize_mips_linux_nat): Register watchpoint functions with
8030         the target_ops.  Add show-debug-regs maintenance command.
8031
8032 2009-04-20  David Daney  <ddaney@caviumnetworks.com>
8033
8034         * infrun.c (handle_inferior_event): Move gegisters_changed call down.
8035
8036 2009-04-19  Pedro Alves  <pedro@codesourcery.com>
8037
8038         * NEWS: Mention gdbserver support for x86 Windows CE.
8039
8040 2009-04-19  Eli Zaretskii  <eliz@gnu.org>
8041
8042         * config/djgpp/fnchange.lst: Fix typos.
8043
8044         Set default host and target charsets in the DJGPP port.
8045
8046         * config/djgpp/config.sed (am_cv_langinfo_codeset)
8047         (bash_cv_langinfo_codeset, ac_cv_header_nl_types_h): Set to "yes"
8048         in all configure scripts that define ac_cv_env_CPP_value.
8049
8050         * go32-nat.c (dos_codepage, nl_langinfo): New functions.
8051         Include langinfo.h.
8052
8053         * config/djgpp/nl_types.h: New file.
8054
8055         * config/djgpp/langinfo.h: New file.
8056
8057         * config/i386/go32.mh (MH_CFLAGS): Add $(srcdir)/config/djgpp.
8058
8059 2009-04-18  Carlos O'Donell  <carlos@codesourcery.com>
8060
8061         * Makefile.in (MAKEHTML): Set to makeinfo --html.
8062         (MAKEHTMLFLAGS): Set to empty.
8063
8064 2009-04-18  Eli Zaretskii  <eliz@gnu.org>
8065
8066         * NEWS: Mention all new set/show commands added since GDB 6.8 was
8067         released.
8068
8069         * go32-nat.c (go32_sysinfo): Check if the call to
8070         __dpmi_get_capabilities fills the buffer with information, and
8071         don't use the buffer if not.
8072
8073 2009-04-17  Tom Tromey  <tromey@redhat.com>
8074
8075         * charset.c (_initialize_charset): Add special case for "646".
8076
8077 2009-04-17  Carlos O'Donell  <carlos@codesourcery.com>
8078
8079         * configure.ac: AC_SUBST datarootdir, docdir, htmldir, pdfdir.
8080         * configure: Regenerate.
8081         * Makefile.in: Set datarootdir, docdir, htmldir, and pdfdir from
8082         configure substitutions.
8083         (FLAGS_TO_PASS): Add datarootdir, docdir, and htmldir.
8084
8085 2009-04-17  Pierre Muller  <muller@ics.u-strasbg.fr>
8086
8087         ARI fix: Do not use %p, replace by call to host_address_to_string
8088         for host pointers.
8089         * darwin-nat.c (darwin_xfer_partial): Apply change.
8090         * gnu-nat.c (inf_continue, gnu_xfer_memory): Ditto.
8091         * gnu-nat.h (proc_debug): Ditto.
8092         * symmisc.c (maintenance_info_symtabs): Ditto.
8093         (maintenance_info_psymtabs): Ditto.
8094         * windows-nat.c (handle_load_dll): Ditto.
8095         (handle_unload_dll, info_w32_command, handle_exception): Ditto.
8096         * xtensa-tdep.c (xtensa_unwind_pc): Ditto.
8097
8098 2009-04-17  Joseph Myers  <joseph@codesourcery.com>
8099
8100         * configure.tgt (i[34567]86-*-linux*): Use 64-bit configuration if
8101         --enable-64-bit-bfd.
8102         (sparc-*-linux*): Likewise.
8103
8104 2009-04-17  Eli Zaretskii  <eliz@gnu.org>
8105
8106         * go32-nat.c (go32_sysinfo): Update list of Windows versions of
8107         the NT family.
8108
8109 2009-04-16  Pedro Alves  <pedro@codesourcery.com>
8110
8111         * remote.c (remote_query_attached): Fix pasto in packet_ok result
8112         checking.
8113
8114 2009-04-16  Joel Brobecker  <brobecker@adacore.com>
8115
8116         * procfs.c (solib_mappings_callback, find_memory_regions_callback):
8117         Revert the previous change.  Might not be correct, actually.
8118
8119 2009-04-16  Joel Brobecker  <brobecker@adacore.com>
8120
8121         * ada-lang.h (ada_adjust_exception_stop, ada_print_exception_stop)
8122         (ada_get_current_task, ada_print_exception_breakpoint_nontask)
8123         (ada_print_exception_breakpoint_task, ada_reset_thread_registers):
8124         Remove declaration. These are non-existent functions.
8125
8126 2009-04-16  Joel Brobecker  <brobecker@adacore.com>
8127
8128         * procfs.c (solib_mappings_callback, find_memory_regions_callback):
8129         Fix a compilation warning on mips-irix due to casting from
8130         a pointer of different size.
8131
8132 2009-04-16  Joel Brobecker  <brobecker@adacore.com>
8133
8134         * ada-lang.c (symtab_for_sym): Delete.
8135         (user_select_syms): Use sym->symtab instead of calling symtab_for_sym.
8136
8137 2009-04-16  Joel Brobecker  <brobecker@adacore.com>
8138
8139         * ada-lang.c (extract_string): Delete.
8140         (ada_main_name): Reimplement using target_read_string instead of
8141         extract_string.
8142
8143 2009-04-16  Andreas Schwab  <schwab@linux-m68k.org>
8144
8145         * m68klinux-nat.c: Remove obsolete comment.
8146         (fetch_register, store_register): Don't call
8147         gdbarch_cannot_fetch_register or gdbarch_cannot_store_register,
8148         which are always nops here.
8149
8150 2009-04-14  Tom Tromey  <tromey@redhat.com>
8151
8152         * c-lang.c (c_emit_char): Use INTERMEDIATE_ENCODING.
8153         (c_printstr): Likewise.
8154         * charset.c: Include gdb_wait.h.
8155         (make_wchar_iterator): Use INTERMEDIATE_ENCODING.
8156         (find_charset_names): Use pexecute.  Handle libiconv's output.
8157         Detect errors.
8158         (_initialize_charset): Use xstrdup.
8159         * gdb_wchar.h: Check HAVE_BTOWC.  Split PHONY_ICONV and wchar
8160         cases.
8161         (INTERMEDIATE_ENCODING): New define.
8162         * configure, config.in: Rebuild.
8163         * configure.ac: Check for btowc.
8164
8165 2009-04-15  Tom Tromey  <tromey@redhat.com>
8166
8167         * c-lang.c (evaluate_subexp_c): Correctly handle EVAL_SKIP.
8168
8169 2009-04-15  Eli Zaretskii  <eliz@gnu.org>
8170
8171         * utils.c (parse_escape): Initialize target_char to pacify GCC.
8172
8173 2009-04-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
8174
8175         * c-lang.c (c_get_string): Fix xfree crash on a failed string read.
8176
8177 2009-04-14  Pierre Muller  <muller@ics.u-strasbg.fr>
8178
8179         ARI fix: sprintf rule.
8180         * ada-exp.y (convert_char_literal): Replace sprintf by xsnprintf.
8181         * ada-lang.c (add_angle_brackets): Use xstrprintf.
8182         (ada_decode): Replace sprintf by xsnprintf.
8183         (find_old_style_renaming_symbol): Ditto.
8184         (ada_to_fixed_type_1, ada_enum_name): Ditto.
8185
8186
8187 2009-04-14  Joel Brobecker  <brobecker@adacore.com>
8188
8189         * target.c (target_mourn_inferior): Call bfd_cache_close_all
8190         after having executed the target mourn_inferior routine.
8191
8192 2009-04-14  Eli Zaretskii  <eliz@gnu.org>
8193
8194         * config/djgpp/djconfig.sh (DEPDIR): Define to "_deps", if
8195         undefined.
8196
8197 2009-04-13  David Daney  <ddaney@caviumnetworks.com>
8198
8199         * infrun.c (maybe_software_singlestep): New function.
8200         (resume): Call maybe_software_singlestep.
8201         (handle_inferior_event): Same.
8202
8203 2009-04-13  Tom Tromey  <tromey@redhat.com>
8204
8205         * python/python-frame.c (frapy_richcompare): Return
8206         Py_NotImplemented, not an error.  Handle Py_NE as well.
8207
8208 2009-04-13  Eli Zaretskii  <eliz@gnu.org>
8209
8210         * charset.c (EILSEQ): Define if not defined by system headers.
8211
8212 2009-04-11  Eli Zaretskii  <eliz@gnu.org>
8213
8214         * config/djgpp/config.sed: Tweak ac_config_files in intl/configure
8215         to be consistent with renaming config.intl.in into config_intl.in.
8216
8217         * go32-nat.c (go32_attach, go32_detach): Fix prototypes to be
8218         consistent with the change from 2008-11-09.
8219
8220 2009-04-10  Jan Kratochvil  <jan.kratochvil@redhat.com>
8221
8222         * gdbtypes.c: Remove excessive parentheses at the return keywords.
8223         * varobj.c (varobj_invalidate): Fix indentation.
8224         * varobj.c (varobj_invalidate): Fix formatting text width.
8225
8226 2009-04-08  Vladimir Prus  <vladimir@codesourcery.com>
8227
8228         Implement -exec-jump.
8229
8230         * mi/mi-cmds.h (mi_cmd_exec_jump): Declare.
8231         * mi/mi-main.c (mi_cmd_exec_jump): New.
8232         * mi/mi-cmds.c (mi_cmds): Register exec-jump.
8233
8234 2009-04-07  Doug Evans  <dje@google.com>
8235
8236         * symfile.c (symbol_file_clear): Fix indentation.
8237
8238 2009-04-06  Mark Kettenis  <kettenis@gnu.org>
8239
8240         * sparc64nbsd-nat.c (sparc64nbsd_supply_pcb): Fix comment.
8241
8242 2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
8243
8244         * ppc-linux-nat.c (ppc_linux_target_wordsize): New function.
8245         (ppc_linux_auxv_parse): New function.
8246         (ppc_linux_read_description): Use ppc_linux_target_wordsize.
8247         (_initialize_ppc_linux_nat): Install ppc_linux_auxv_parse.
8248
8249 2009-04-03  Ulrich Weigand  <uweigand@de.ibm.com>
8250
8251         * spu-linux-nat.c (spu_bfd_open): Set filename of in-memory
8252         BFD to contents of SPU name note.
8253         (spu_symbol_file_add_from_memory): Call symbol_file_add_from_bfd
8254         with "from_tty" argument 1 instead of 0.
8255
8256 2009-04-02  Jan Kratochvil  <jan.kratochvil@redhat.com>
8257
8258         * dwarf2read.c
8259         (new_symbol <DW_TAG_variable> <!DW_AT_location> <DW_AT_external>):
8260         Create the symbol in local scope.
8261         * symtab.h (cu->list_in_scope <LOC_UNRESOLVED>): New comment part.
8262
8263 2009-04-02  Keith Seitz  <keiths@redhat.com>
8264
8265         * stabsread.c (read_member_functions): GCC may emit an extra space
8266         at the end of the names "__base_ctor" and "__base_dtor"; so ignore
8267         whitespace when looking for these functions.
8268
8269 2009-04-01  Joel Brobecker  <brobecker@adacore.com>
8270
8271         Change the default value for "set print frame-arguments" to scalars.
8272
8273         * stack.c (print_frame_arguments): Set initial value to "scalars".
8274
8275 2009-04-01  Aleksandar Ristovski  <aristovski@qnx.com>
8276
8277         * mips-tdep.c (mips_numeric_register_alieses): New definition.
8278         (mips_gdbarch_init): Add user registers from
8279         mips_numeric_register_aliases.
8280
8281 2009-04-01  Joel Brobecker  <brobecker@adacore.com>
8282
8283         * linux-nat.c (linux_nat_filter_event): Minor comment reformatting.
8284
8285 2009-04-01  Joel Brobecker  <brobecker@adacore.com>
8286
8287         * linux-nat.c (linux_nat_filter_events): Do not delete the lwp if
8288         this is the last one.
8289
8290 2009-04-01  Pedro Alves  <pedro@codesourcery.com>
8291
8292         * remote.c (append_resumption): New.
8293         (remote_vcont_resume): Use it.
8294
8295 2009-04-01  Joel Brobecker  <brobecker@adacore.com>
8296
8297         * windows-nat.c (+windows_get_ada_task_ptid): New function.
8298         (init_windows_ops): Set windows_ops.to_get_ada_task_ptid.
8299
8300 2009-03-31  Daniel Jacobowitz  <dan@codesourcery.com>
8301             Keith Seitz  <keiths@redhat.com>
8302             Jan Kratochvil  <jan.kratochvil@redhat.com>
8303
8304         PR gdb/6817
8305         * Makefile.in (dbxread.o): Update.
8306         * dbxread.c (read_dbx_symtab): Use cp_canonicalize_string.
8307         * dwarf2read.c (GDB_FORM_cached_string): New.
8308         (read_partial_die): Use dwarf2_canonicalize_name.
8309         (dwarf2_linkage_name): Use dwarf2_name.
8310         (dwarf2_canonicalize_name): New.
8311         (dwarf2_name): Use dwarf2_canonicalize_name.
8312         (dwarf_form_name, dump_die): Handle GDB_FORM_cached_string.
8313         * stabsread.c (define_symbol, read_type): Use cp_canonicalize_string.
8314         * symtab.c (lookup_symbol_in_language): Canonicalize input before
8315         searching.
8316         * cp-name-parser.y: operator() requires two parameters,
8317         according to libiberty.
8318         * minsyms.c (lookup_minimal_symbol): Canonicalize input
8319         before searching.
8320         * NEWS: Update.
8321
8322 2009-03-31  Joel Brobecker  <brobecker@adacore.com>
8323
8324         Provide support for (Ada) task-specific breakpoints.
8325
8326         * ada-lang.h (ada_get_task_number): Add declaration.
8327         (breakpoint_ada_task_match): Delete declaration.
8328         * ada-tasks.c (ada_get_task_number): Make non-static.
8329         * breakpoint.h (struct breakpoint): Add field "task".
8330         * breakpoint.c (print_one_breakpoint_location): Add handling of
8331         task-specific breakpoints.
8332         (create_breakpoint, create_breakpoints, find_condition_and_thread):
8333         New parameter "task".
8334         (break_command_really): Update calls to find_condition_and_thread
8335         and create_breakpoints.
8336         (breakpoint_re_set_one): Update call to find_condition_and_thread.
8337         Set b->task.
8338
8339 2009-03-31  Joel Brobecker  <brobecker@adacore.com>
8340
8341         * ada-tasks.c (short_task_info): Eliminate the "Running" task state.
8342
8343 2009-03-31  Pedro Alves  <pedro@codesourcery.com>
8344
8345         * remote.c (remote_notice_new_inferior): Use ptid_is_pid.  Check
8346         if the thread's ptid without a thread id field is in the list
8347         before calling thread_change_ptid.
8348         (extended_remote_attach_1): In non-stop mode, do not rely on
8349         querying the current thread, instead, query the thread list, and
8350         select the first thread of the process.
8351         * gdbthread.h (first_thread_of_process): Declare.
8352         * thread.c (first_thread_of_process): Define.
8353
8354 2009-03-30  Stan Shebs  <stan@codesourcery.com>
8355
8356         Make tracepoints into a type of breakpoint.
8357         * breakpoint.h (enum bptype): Add bp_tracepoint.
8358         (struct breakpoint): Add fields step_count, pass_count, actions.
8359         (get_tracepoint, get_tracepoint_by_number): Declare.
8360         (all_tracepoints): Declare.
8361         * breakpoint.c: Include tracepoint.h, readline.h.
8362         (ALL_TRACEPOINTS): Move here from tracepoint.c.
8363         (tracepoint_count): Ditto.
8364         (should_be_inserted): GDB does not insert tracepoints itself.
8365         (print_it_typical): Add tracepoint case.
8366         (bpstat_what): Ditto.
8367         (print_one_breakpoint_location): Ditto, and add printing for
8368         pass count, step count, and action list.
8369         (user_settable_breakpoint): Add tracepoint case.
8370         (allocate_bp_location): Ditto.
8371         (set_breakpoint_location_function): Ditto.
8372         (disable_breakpoints_in_shlibs): Ditto.
8373         (mention): Ditto.
8374         (break_command_really): Add argument traceflag, use to choose
8375         basic breakpoint type.
8376         (break_command_1): Pass extra argument.
8377         (set_breakpoint, handle_gnu_v3_exceptions): Ditto.
8378         (breakpoint_re_set_one): Add tracepoint case.
8379         (disable_command, enable_command): Ditto.
8380         (set_tracepoint_count): Move here from tracepoint.c.
8381         (trace_command): Move here from tracepoint.c and use
8382         break_command_really.
8383         (tracepoints_info): Move here from tracepoint.c and call
8384         breakpoints_info.
8385         (enable_trace_command): Move here from tracepoint.c and call
8386         enable_command.
8387         (disable_trace_command): Move here from tracepoint.c and call
8388         disable_command.
8389         (delete_trace_command): Move here from tracepoint.c and call
8390         delete_breakpoint.
8391         (trace_pass_command): Move here from tracepoint.c.
8392         (get_tracepoint_by_number): Ditto.
8393         (tracepoint_save_command): Ditto.
8394         (get_tracepoint): New function.
8395         (all_tracepoints): New function.
8396         (_initialize_breakpoint): Move tracepoint init from tracepoint.c,
8397         deprecate "enable trace" and "disable trace" commands.
8398         * tracepoint.h (struct tracepoint): Remove.
8399         (tracepoint_chain): Remove decl.
8400         (deprecated_create_tracepoint_hook): Remove decl.
8401         (deprecated_delete_tracepoint_hook): Remove decl.
8402         (deprecated_modify_tracepoint_hook): Remove decl.
8403         (ALL_TRACEPOINTS, ALL_TRACEPOINTS_SAFE): Remove.
8404         (free_actions): Update signature.
8405         (validate_actionline): Update signature.
8406         (end_actions_pseudocommand): Declare.
8407         (while_stepping_pseudocommand): Declare.
8408         * tracepoint.c: Include breakpoint.h.
8409         (tracepoint_chain, tracepoint_count): Remove.
8410         (free_actions, make_cleanup_free_actions): Update signature.
8411         (trace_command, set_raw_tracepoint): Remove.
8412         (trace_mention): Remove.
8413         (tracepoints_info): Remove.
8414         (tracepoint_operation, map_args_over_tracepoints): Remove.
8415         (get_tracepoint_by_number): Remove.
8416         (enable_trace_command, disable_trace_command): Remove.
8417         (delete_trace_command, trace_pass_command): Remove.
8418         (trace_actions_command, read_actions): Update signature.
8419         (validate_actionline): Update signature, use bp loc.
8420         (encode_actions): Ditto.
8421         (download_tracepoint): New function, body of trace_start_command.
8422         (trace_start_command): Call it, use all_tracepoints.
8423         (tracepoint_save_command): Remove.
8424         (tracepoint_dump_command): Use get_tracepoint.
8425         (end_actions_pseudocommand): Make globally visible.
8426         (while_stepping_pseudocommand): Ditto.
8427         (_initialize_tracepoint): Move command definitions to breakpoint.c.
8428
8429 2009-03-30  Thiago Jung Bauermann  <bauerman@br.ibm.com>
8430
8431         Expose frames to Python.
8432         * Makefile.in (SUBDIR_PYTHON_OBS): Add python-frame.o.
8433         (SUBDIR_PYTHON_SRCS): Add python-frame.c.
8434         (python-frame.o): New target.
8435         * python/python-frame.c: New file.
8436         * python/python-internal.h (gdbpy_frames, gdbpy_newest_frame,
8437         gdbpy_frame_stop_reason_string, gdbpy_selected_frame,
8438         gdbpy_initialize_frames): New prototypes.
8439         * python/python.c (_initialize_python): Call gdbpy_initialize_frames.
8440         (GdbMethods): Add `selected_frame' and `frame_stop_reason_string'
8441         entries.
8442         * stack.c (find_frame_funname): New function, factored out of
8443         print_frame.
8444         (print_frame): Call find_frame_funname.
8445         * stack.h (find_frame_funname): Add prototype.
8446
8447 2009-03-29  Thiago Jung Bauermann  <bauerman@br.ibm.com>
8448
8449         Remove unused value_object attribute `owned_by_gdb'.
8450         * python/python-value.c (value_object): Remove owned_by_gdb
8451         attribute.
8452         (valpy_dealloc): Remove reference to self->owned_by_gdb.
8453         (valpy_new): Likewise.
8454         (value_to_value_object): Likewise.
8455
8456 2009-03-29  Thiago Jung Bauermann  <bauerman@br.ibm.com>
8457
8458         Change gdb.Value.address from a method to an attribute.
8459         * python/python-value.c (value_object): Add `address' element.
8460         (valpy_dealloc): Decrement reference to self->address if set.
8461         (valpy_new): Initialize val_obj->address.
8462         (valpy_address): Rename to ...
8463         (valpy_get_address): ... this.  Change signature from method to
8464         attribute.  Update self->address if not set.
8465         (value_to_value_object): Initialize val_obj->address.
8466         (value_object_getset): Add `address' element.
8467         (value_object_methods): Remove `address' element.
8468
8469 2009-03-29  Andreas Schwab  <schwab@linux-m68k.org>
8470
8471         * observer.sh: Set LANG/LC_ALL to C, not c.
8472
8473 2009-03-28  Kevin Buettner  <kevinb@redhat.com>
8474
8475         * mn10300-tdep.c (mn10300_gdbarch_init): For mn10300, by default,
8476         `char' is unsigned.
8477
8478 2009-03-28  Pedro Alves  <pedro@codesourcery.com>
8479
8480         * remote.c (remote_stop_ns): If multi-process extensions are off,
8481         and GDB is requesting the whole process to stop, sent "vCont;t",
8482         not "vCont;t:-1"
8483
8484 2009-03-28  Pedro Alves  <pedro@codesourcery.com>
8485
8486         * inf-loop.c (inferior_event_handler): Avoid calling is_running on
8487         null inferior_ptid.
8488
8489 2009-03-27  Eli Zaretskii  <eliz@gnu.org>
8490
8491         * config/djgpp/fnchange.lst: Update to fix ARI-reported problems.
8492
8493 2009-03-26  Doug Evans  <dje@google.com>
8494
8495         * thread.c (do_restore_current_thread_cleanup): Redo test for
8496         whether to restore old->inferior_ptid.
8497
8498 2009-03-26  Tom Tromey  <tromey@redhat.com>
8499
8500         * breakpoint.c (resolve_sal_pc): Preserve original line number
8501         when skipping prologue.
8502
8503 2009-03-26  Doug Evans  <dje@google.com>
8504
8505         * thread.c (inferior_thread) Remove "extern" in definition.
8506
8507 2009-03-26  Thiago Jung Bauermann  <bauerman@br.ibm.com>
8508
8509         Add gdb.Value.is_optimized_out attribute.
8510         * python/python-value.c (valpy_get_is_optimized_out): New
8511         function.
8512         (value_object_getset): New variable.
8513         (value_object_type): Initialize tp_getset element.
8514
8515 2009-03-26  Joel Brobecker  <brobecker@adacore.com>
8516
8517         Recognize missing DW_AT_location as <value optimized out>.
8518         * dwarf2read.c
8519         (new_symbol <DW_TAG_variable> <!DW_AT_location> <!DW_AT_external>):
8520         Call add_symbol_to_list.
8521
8522 2009-03-25  Tom Tromey  <tromey@redhat.com>
8523
8524         * gdbtypes.h (CHECK_TYPEDEF): Don't yield a value.
8525         * stack.c (print_this_frame_argument_p): Use check_typedef.
8526
8527 2009-03-25  Tom Tromey  <tromey@redhat.com>
8528
8529         * configure: Rebuild.
8530         * acinclude.m4 (AM_ICONV): Set am_cv_use_build_libiconv.
8531         Rearrange flags setting.  Add comments.
8532
8533 2009-03-25  Pierre Muller  <muller@ics.u-strasbg.fr>
8534
8535         * config/i386/nm-i386.h: Remove code within
8536         I386_WATCHPOINTS_IN_TARGET_VECTOR conditional.
8537         * config/i386/nm-cygwin.h: Remove I386_WATCHPOINTS_IN_TARGET_VECTOR
8538         macro.
8539         * config/i386/nm-cygwin64.h: Ditto.
8540         * config/i386/nm-fbsd.h: Ditto.
8541         * config/i386/nm-go32.h: Ditto.
8542         * config/i386/nm-linux.h: Ditto.
8543         * config/i386/nm-linux64.h: Ditto.
8544
8545 2009-03-25  Pierre Muller  <muller@ics.u-strasbg.fr>
8546
8547         ARI fix: "xasprintf" rule.
8548         * printcmd.c (sym_info): Replace xasprintf by xstrprintf.
8549
8550 2009-03-25  Pedro Alves  <pedro@codesourcery.com>
8551
8552         * remote.c (remote_start_remote): In non-stop mode, call
8553         init_wait_for_inferior before adding threads and inferiors.
8554
8555 2009-03-25  Joel Brobecker  <brobecker@adacore.com>
8556
8557         * breakpoint.c (breakpoint_thread_match): Split a large condition
8558         into several smaller conditions.  No behavior change.
8559
8560 2009-03-25  Pedro Alves  <pedro@codesourcery.com>
8561
8562         * infrun.c (infrun_thread_thread_exit): New.
8563         (_initialize_infrun): Attach it to the thread_exit observer.
8564         * thread.c (delete_thread_1): Always call the observer, passing it
8565         the silent flag.
8566         * mi/mi-interp.c (mi_thread_exit): Add "silent" parameter.  If
8567         SILENT, return immediately.
8568
8569 2009-03-25  Pedro Alves  <pedro@codesourcery.com>
8570
8571         * infrun.c (normal_stop): Use has_stack_frames instead of
8572         target_has_stack.
8573         * mi/mi-main.c (mi_execute_command): Avoid calling inferior_thread
8574         when there is no thread selected.
8575         (mi_cmd_execute): Don't special case commands that can run without
8576         a valid selected thread.
8577         * top.c (execute_command): Don't special case commands that can
8578         run without a valid selected thread.  Use has_stack_frames.
8579         * infcmd.c (ensure_valid_thread): New.
8580         (continue_1, step_1, jump_command, signal_command): Use it.
8581         (detach_command): Error out if there's no selected thread/inferior.
8582         * thread.c (print_thread_info): Allow having no thread selected.
8583         (switch_to_thread): Don't read the PC if there is no current thread.
8584         (do_restore_current_thread_cleanup): Don't record the current
8585         frame if there is no current thread.
8586         (make_cleanup_restore_current_thread): Don't read frame info if
8587         there is no selected thread.
8588         (_initialize_thread): Don't mark commands as
8589         "no_selected_thread_ok".
8590         * frame.c (get_current_frame): Error out if there is no valid
8591         selected thread.
8592         (has_stack_frames): Return false if there is no valid
8593         selected thread.
8594         * cli/cli-cmds.c (init_cli_cmds): Don't mark commands as
8595         "no_selected_thread_ok".
8596         * cli/cli-decode.c (set_cmd_no_selected_thread_ok)
8597         (get_cmd_no_selected_thread_ok): Delete.
8598         * cli/cli-decode.h (CMD_NO_SELECTED_THREAD_OK): Delete.
8599         (set_cmd_no_selected_thread_ok, get_cmd_no_selected_thread_ok):
8600         Delete declaration.
8601         * stack.c (get_selected_block): Use has_stack_frames.
8602
8603 2009-03-25  Thiago Jung Bauermann  <bauerman@br.ibm.com>
8604
8605         Fix size of FPSCR in Power 7 processors.
8606         * ppc-linux-nat.c (PPC_FEATURE_ARCH_2_05): Remove #define.
8607         (PPC_FEATURE_HAS_DFP): New #define.
8608         (ppc_linux_read_description): Check for DFP feature instead of
8609         ISA 2.05 to decide on size of the FPSCR.
8610
8611 2009-03-25  Kevin Buettner  <kevinb@redhat.com>
8612
8613         * mn10300-tdep.c (trad-frame.h): Don't include.
8614         (prologue-value.h): Include.
8615         (mn10300_frame_unwind_cache, set_reg_offsets): Delete.
8616         (struct mn10300_prologue): Define.
8617         (push_reg, translate_rreg, check_for_saved): New functions.
8618         (mn10300_analyze_prologue): Rewrite, using prologue-value
8619         machinery.  Handle more instructions than before.  Permit
8620         instructions to occur in any order.
8621         (mn10300_skip_prologue): Find the extents of the function
8622         in question; mn10300_analyze_prologue no longer does this.
8623         (mn10300_analyze_frame_prologue): New function.
8624         (mn10300_frame_base): New function.
8625         (mn10300_frame_this_id): Rewrite, no longer using trad-frame
8626         implementation.
8627         (mn10300_frame_prev_register): Likewise.
8628         (mn10300_frame_base_address, mn10300_frame_base struct): Delete.
8629         (mn10300_unwind_pc, mn10300_unwind_sp): Rename `next_frame' to
8630         `this_frame'.
8631         (mn10300_frame_unwind_init): Don't call frame_base_set_default().
8632
8633 2009-03-25  Pierre Muller  <muller@ics.u-strasbg.fr>
8634
8635         Fix completer problem for filename completion on the first try.
8636
8637         * gdb/completer.h (gdb_completion_word_break_characters): New function.
8638         * gdb/completer.c: Include gdb_assert.h.
8639         (complete_line_internal_reason): New enum.
8640         (complete_line_internal): Change last argument type to
8641         complete_line_internal_reason.
8642         Modify function to handle the different complete_line_internal_reason
8643         argument values.
8644         (complete_line): Adapt to change in complete_line_internal.
8645         (command_completer): Ditto.
8646         (gdb_completion_word_break_characters): Implement new function.
8647         * top.c (init_main): Set  rl_completion_word_break_hook to
8648         gdb_completion_word_break_characters.
8649
8650
8651 2009-03-25  Pierre Muller  <muller@ics.u-strasbg.fr>
8652
8653         ARI fix: "strlen d_name" rule.
8654         * linux-nat.c (linux_nat_xfer_osdata): Use NAMELEN macro.
8655
8656
8657 2009-03-24  Tom Tromey  <tromey@redhat.com>
8658             Pedro Alves  <pedro@codesourcery.com>
8659
8660         * configure, config.in: Rebuild.
8661         * configure.ac: Check for libiconvlist.
8662         * charset.c: Check HAVE_LIBICONVLIST.
8663         * acinclude.m4 (AM_ICONV): Don't subst LIBICONV, LIBICONV_INCLUDE,
8664         LIBICONV_LIBDIR.  Update CPPFLAGS and LIBS.
8665         * Makefile.in (LIBICONV, LIBICONV_INCLUDE, LIBICONV_LIBDIR):
8666         Remove.
8667         (INTERNAL_CFLAGS_BASE): Update.
8668         (INTERNAL_LDFLAGS): Update.
8669         (CLIBS): Update.
8670
8671 2009-03-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
8672
8673         * configure.ac: Initialize the variable $PREFER_CURSES.
8674         * configure: Regenerated.
8675
8676 2009-03-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
8677
8678         * configure.ac: Enable $PREFER_CURSES even with default $ENABLE_TUI.
8679         * configure: Regenerated.
8680
8681 2009-03-24  Pierre Muller  <muller@ics.u-strasbg.fr>
8682
8683         ARI fix: "strerror" rule.
8684         * darwin-nat.c (darwin_ptrace): Use safe_strerror.
8685         (darwin_stop_inferior, darwin_attach, darwin_detach): Ditto.
8686
8687 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
8688
8689         * ada-exp.y (get_symbol_field_type): Make sure to resolve typedefs
8690         before looking up the fields inside our struct type.
8691
8692 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
8693
8694         * ada-lang.c (resolve_subexp) [UNOP_QUAL]: Resolve typedefs before
8695         trying to resolve the type qualification.
8696
8697 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
8698
8699         * ada-lang.c (ada_evaluate_subexp) [UNOP_IN_RANGE]: make sure
8700         we try to apply the attribute on the real type, rather than
8701         its associated typedef.
8702
8703 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
8704
8705         * ada-lang.c (ada_evaluate_subexp) [OP_ATR_MODULUS]: Use check_typdef
8706         to make sure we try to get the modulus of the actual type, not the
8707         associated typedef.
8708
8709 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
8710
8711         * ada-lang.c (ada_evaluate_subexp): [OP_ATR_FIRST, OP_ATR_LAST]
8712         [OP_ATR_LENGTH]: When using the attribute on a type, make sure
8713         to get the real type, not the associated typedef.
8714
8715 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
8716
8717         * ada-lang.c (ada_get_field_index): Add handling of the case
8718         when TYPE is a typedef of a struct.
8719
8720 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
8721
8722         Add gdb_usleep as a portable version of usleep based on gdb_select.
8723         * gdb_usleep.h, gdb_usleep.c: New files.
8724         * Makefile.in (SFILES): Add gdb_usleep.c.
8725         (HFILES_NO_SRCDIR): Add gdb_usleep.h.
8726         (COMMON_OBS): Add gdb_usleep.o.
8727         * ser-unix.c (hardwire_send_break): Replace call to gdb_select
8728         by call to gdb_usleep.
8729
8730 2009-03-23  Joel Brobecker  <brobecker@adacore.com>
8731
8732         * buildsym.c (end_symtab): If we ignore the subfiles, then
8733         unlink the associated symtabs if they were already allocated.
8734
8735 2009-03-23  Jerome Guitton  <guitton@adacore.com>
8736
8737         Provide a way to force building of GDB with libcurses.
8738         * configure.ac: Add --with-curses.
8739         * configure: Regenerated.
8740
8741 2009-03-23  Tom Tromey  <tromey@redhat.com>
8742
8743         * dwarf2expr.c (execute_stack_op) <DW_OP_GNU_uninit>: Fix typo in
8744         error message.
8745
8746 2009-03-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
8747
8748         * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Use
8749         solib_contains_address_p instead of searching.
8750
8751 2009-03-23  Tom Tromey  <tromey@redhat.com>
8752
8753         * charset.c (ICONV_CONST) <PHONY_ICONV>: Define.
8754         (iconv): Make 'inbuf' argument const.
8755         (convert_between_encodings): Use ICONV_CONST.
8756         (wchar_iterate): Likewise.
8757
8758 2009-03-22  Christopher Faylor  <me+cygwin@cgf.cx>
8759
8760         * windows-nat.c (AdjustTokenPrivileges): Implement macro wraparound for
8761         dynamically loaded function.
8762         (LookupPrivilegeValueA): Ditto.
8763         (OpenProcessToken): Ditto.
8764         (AdjustTokenPrivileges): Rename and define placeholder for address of
8765         dynamically loaded function.
8766         (LookupPrivilegeValueA): Ditto.
8767         (OpenProcessToken): Ditto.
8768         (set_process_privilege): Remove check for loaded functions.
8769         (bad_OpenProcessToken): Define.
8770         (_initialize_loadable): Load token functions from advapi here, setting
8771         OpenProcessToken function to a dummy static function which always return
8772         error if OS doesn't support this functionality.
8773
8774 2009-03-22   Nicolas Roche  <roche@adacore.com>
8775              Christopher Faylor <me+cygwin@cgf.cx>
8776
8777         * win32-nat.c (ctrl_c_handler): New function.
8778         (win32_wait): Register ctrl_c_handler as Ctrl-C handler if the inferior
8779         is run in a separate console.
8780
8781 2009-03-22  Christopher Faylor  <me+cygwin@cgf.cx>
8782
8783         * windows-nat.c (DebugActiveProcessStop): Implement macro wraparound
8784         for dynamically loaded function.
8785         (DebugBreakProcess): Ditto.
8786         (DebugSetProcessKillOnExit): Ditto.
8787         (EnumProcessModules): Ditto.
8788         (GetModuleFileNameExA): Ditto.
8789         (GetModuleInformation): Ditto.
8790         (DebugActiveProcessStop): Rename and define placeholder for address of
8791         dynamically loaded function.
8792         (DebugBreakProcess): Ditto.
8793         (DebugSetProcessKillOnExit): Ditto.
8794         (EnumProcessModules): Ditto.
8795         (GetModuleFileNameExA): Ditto.
8796         (GetModuleInformation): Ditto.
8797         (psapi_loaded): Delete.
8798         (get_module_name): Don't check psapi_loaded, just rely on the fact that
8799         dynamically loaded functions will return failure if they weren't
8800         previously found.
8801         (has_detach_ability): Delete.
8802         (windows_attach): Remove call to has_detach_ability ().  Just rely on
8803         functions being callable.
8804         (bad_DebugActiveProcessStop): Define.
8805         (bad_DebugBreakProcess): Ditto.
8806         (bad_DebugSetProcessKillOnExit): Ditto.
8807         (bad_EnumProcessModules): Ditto.
8808         (bad_GetModuleFileNameExA): Ditto.
8809         (bad_GetModuleInformation): Ditto.
8810         (_initialize_loadable): Rename from _initialize_psapi.  Initialize all
8811         dynamic storage here, setting nonexistent functions to dummy static
8812         functions which always return error.
8813
8814 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
8815
8816         * mi/mi-interp.c (mi_interpreter_init): Attach mi_about_to_proceed
8817         to the about_to_proceed observer notification.
8818         (mi_about_to_proceed): New.
8819         (mi_on_resume): Only output ^running and the prompt here if the
8820         target was proceeded.
8821         * breakpoint.c (breakpoint_proceeded): New static.
8822         (breakpoint_about_to_proceed): New.
8823         (_initialize_breakpoints): Attach breakpoint_about_to_proceed to
8824         the about_to_proceed observer notification.
8825         * inferior.h (breakpoint_proceeded): Delete declaration.
8826         * infrun.c (clear_proceed_status): Don't set breakpoint_proceeded.
8827         Notify the about_to_proceed observers.
8828         (struct inferior_status): Delete breakpoint_proceeded member.
8829         (save_inferior_status): Don't save it.
8830         (restore_inferior_status): Don't restore it.
8831         * mi-main.h (mi_proceeded): Declare.
8832         * mi/mi-main.c (mi_cmd_execute): Clear mi_proceeded before running
8833         a command.
8834
8835 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
8836
8837         * gdbthread.h (struct thread_info): Add in_infcall member.
8838         * infcall.c (run_inferior_call): Save, set and restore in_infcall.
8839         Remove reverences to suppress_resume_observer.  Refresh
8840         `call_thread' after returning from `proceed'.
8841         * infcmd.c (suppress_resume_observer): Delete.
8842         * inferior.h (suppress_resume_observer): Delete declaration.
8843         * mi/mi-interp.c (mi_on_resume): Suppress output while calling an
8844         inferior function.
8845         * thread.c (set_running): Remove references to
8846         suppress_resume_observer.
8847         * infrun.c (struct inferior_status): Add in_infcall member.
8848         (save_inferior_status): Save it.
8849         (restore_inferior_status): Restore it.
8850
8851 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
8852
8853         * infcall.c (run_inferior_call): Remove references to
8854         suppress_stop_observer.
8855         * infcmd.c (suppress_stop_observer): Delete.
8856         (finish_command_continuation): Remove NOTE.  Don't clear
8857         suppress_stop_observer anymore.
8858         (finish_command_continuation_free_arg): Likewise.
8859         (finish_forward): Remove references to suppress_stop_observer.
8860         Call normal_stop observer if we haven't already.
8861         * inferior.h (suppress_stop_observer): Delete.
8862         * infrun.c (normal_stop): When deciding to suppress the
8863         normal_stop observer, check for proceed_to_finish instead of
8864         suppress_stop_observer.
8865
8866 2009-03-22  Pedro Alves  <pedro@codesourcery.com>
8867
8868         * symfile.c (symfile_relocate_debug_section): Remove check for
8869         SEC_DEBUGGING.
8870
8871 2009-03-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
8872             Jim Blandy  <jimb@red-bean.com>
8873             Thiago Jung Bauermann  <bauerman@br.ibm.com>
8874             Tom Tromey  <tromey@redhat.com>
8875
8876         Miscellaneous fixes to the Python code.
8877         * python/python-cmd.c (cmdpy_init): Accept keyword
8878         arguments.
8879         * python/python-value.c (valpy_string): Accept keyword
8880         arguments.
8881         (valpy_binop): Use `break' to exit from the TRY_CATCH block.
8882         Do not call value_to_value_object on NULL RES_VAL.
8883         (value_object_methods): Change `string' entry to also accept
8884         keyword arguments.
8885         (convert_value_from_python): Return a copy of the value if obj is
8886         a gdb.Value object.
8887         (value_object_methods): Mark the `string' method as accepting
8888         keywords, and show method "prototype" in the doc string.
8889         * python/python.c (get_parameter): Don't return inside a
8890         TRY_CATCH.
8891
8892 2009-03-20  Tom Tromey  <tromey@redhat.com>
8893
8894         Add support for convenience functions in Python.
8895         * Makefile.in (SUBDIR_PYTHON_OBS): Add python-function.o.
8896         (SUBDIR_PYTHON_SRCS): Add python-function.c.
8897         (python-function.o): New target.
8898         * eval.c: Include "python/python.h" and <ctype.h>.
8899         (evaluate_subexp_standard): Handle values of type
8900         TYPE_CODE_INTERNAL_FUNCTION.
8901         * gdbtypes.h (type_code): Add TYPE_CODE_INTERNAL_FUNCTION.
8902         * parse.c (write_exp_string): Remove duplicate word in comment.
8903         * python/python-function.c: New file.
8904         * python/python-internal.h (gdbpy_initialize_functions): Add
8905         prototype.
8906         * python/python.c (_initialize_python): Call
8907         gdbpy_initialize_functions.
8908         * valprint.c (value_check_printable): Handle values of type
8909         TYPE_CODE_INTERNAL_FUNCTION.
8910         * value.c: Include "cli/cli-decode.h".
8911         (internal_function): New struct.
8912         (functionlist, internal_fn_type): New static variables.
8913         (lookup_only_internalvar,
8914         lookup_internalvar): Add const qualifier to name argument.
8915         (create_internalvar): Likewise.  Initialize new field.
8916         (set_internal_var): Fix typo in comment.  Don't allow assignment
8917         to canonical variable.
8918         (value_create_internal_function, value_internal_function_name,
8919         call_internal_function, function_command, function_destroyer,
8920         add_internal_function): New functions.
8921         (_initialize_values): Create `function' placeholder command.
8922         Initialize internal_fn_type.
8923         * value.h (lookup_only_internalvar, create_internalvar,
8924         lookup_internalvar): Add const qualifier to name argument.
8925         (internal_function_fn, add_internal_function, call_internal_function,
8926         value_internal_function_name): Add prototypes.
8927         (struct internalvar) <canonical>: New field.
8928
8929 2009-03-20  Tom Tromey  <tromey@redhat.com>
8930
8931         * c-lang.c (evaluate_subexp_c): Call check_typedef.
8932
8933 2009-03-20  Tom Tromey  <tromey@redhat.com>
8934             Julian Brown  <julian@codesourcery.com>
8935
8936         PR i18n/7220, PR i18n/7821, PR exp/8815, PR exp/9103,
8937         PR i18n/9401, PR exp/9613:
8938         * NEWS: Update
8939         * value.h (value_typed_string): Declare.
8940         (val_print_string): Update.
8941         * valprint.h (print_char_chars): Update.
8942         * valprint.c (print_char_chars): Add type argument.  Update.
8943         (val_print_string): Likewise.
8944         * valops.c (value_typed_string): New function.
8945         * utils.c (host_char_to_target): New function.
8946         (parse_escape): Use host_char_to_target, host_hex_value.  Update.
8947         Remove '^' case.
8948         (no_control_char_error): Remove.
8949         * typeprint.c (print_type_scalar): Update.
8950         * scm-valprint.c (scm_scmval_print): Update.
8951         * scm-lang.h (scm_printchar, scm_printstr): Update.
8952         * scm-lang.c (scm_printchar): Add type argument.
8953         (scm_printstr): Likewise.
8954         * printcmd.c (print_formatted): Update.
8955         (print_scalar_formatted): Update.
8956         (printf_command) <wide_string_arg, wide_char_arg>: New constants.
8957         Handle '%lc' and '%ls'.
8958         * parser-defs.h (struct typed_stoken): New type.
8959         (struct stoken_vector): Likewise.
8960         (write_exp_string_vector): Declare.
8961         * parse.c (write_exp_string_vector): New function.
8962         * p-valprint.c (pascal_val_print): Update.
8963         * p-lang.h (is_pascal_string_type, pascal_printchar,
8964         pascal_printstr): Update.
8965         * p-lang.c (is_pascal_string_type): Remove 'char_size' argument.
8966         Add 'char_type' argument.
8967         (pascal_emit_char): Add type argument.
8968         (pascal_printchar): Likewise.
8969         (pascal_printstr): Likewise.
8970         * objc-lang.c (objc_emit_char): Add type argument.
8971         (objc_printchar): Likewise.
8972         (objc_printstr): Likewise.
8973         * macroexp.c (get_character_constant): Handle unicode characters.
8974         Use c_parse_escape.
8975         (get_string_literal): Handle unicode strings.  Use
8976         c_parse_escape.
8977         * m2-valprint.c (print_unpacked_pointer): Update.
8978         (m2_print_array_contents): Update.
8979         (m2_val_print): Update.
8980         * m2-lang.c (m2_emit_char): Add type argument.
8981         (m2_printchar): Likewise.
8982         (m2_printstr): Likewise.
8983         * language.h (struct language_defn) <la_printchar>: Add type
8984         argument.
8985         <la_printstr, la_emitchar>: Likewise.
8986         (LA_PRINT_CHAR): Likewise.
8987         (LA_PRINT_STRING): Likewise.
8988         (LA_EMIT_CHAR): Likewise.
8989         * language.c (unk_lang_emit_char): Add type argument.
8990         (unk_lang_printchar): Likewise.
8991         (unk_lang_printstr): Likewise.
8992         * jv-valprint.c (java_val_print): Update.
8993         * jv-lang.c (java_emit_char): Add type argument.
8994         * f-valprint.c (f_val_print): Update.
8995         * f-lang.c (f_emit_char): Add type argument.
8996         (f_printchar): Likewise.
8997         (f_printstr): Likewise.
8998         * expprint.c (print_subexp_standard): Update.
8999         * charset.h (target_wide_charset): Declare.
9000         (c_target_char_has_backslash_escape, c_parse_backslash,
9001         host_char_print_literally, host_char_to_target,
9002         target_char_to_host, target_char_to_control_char): Remove.
9003         (enum transliterations): New type.
9004         (convert_between_encodings): Declare.
9005         (HOST_ESCAPE_CHAR): New define.
9006         (host_letter_to_control_character, host_hex_value): Declare.
9007         (enum wchar_iterate_result): New enum.
9008         (struct wchar_iterator): Declare.
9009         (make_wchar_iterator, make_cleanup_wchar_iterator, wchar_iterator,
9010         wchar_push_back): Declare.
9011         * charset-list.h: New file.
9012         * c-valprint.c (textual_name): New function.
9013         (textual_element_type): Handle wide character types.
9014         (c_val_print): Pass original type to textual_element_type.  Handle
9015         wide character types.
9016         (c_value_print): Use textual_element_type.  Pass original type of
9017         value to val_print.
9018         * c-lang.h (enum c_string_type): New type.
9019         (c_printchar, c_printstr): Update.
9020         * c-lang.c (classify_type): New function.
9021         (print_wchar): Likewise.
9022         (c_emit_char): Add type argument.  Handle wide characters.
9023         (c_printchar): Likewise.
9024         (c_printstr): Add type argument.  Handle wide and multibyte
9025         character sets.
9026         (convert_ucn): New function.
9027         (emit_numeric_character): Likewise.
9028         (convert_octal): Likewise.
9029         (convert_hex): Likewise.
9030         (ADVANCE): New macro.
9031         (convert_escape): New function.
9032         (parse_one_string): Likewise.
9033         (evaluate_subexp_c): Likewise.
9034         (exp_descriptor_c): New global.
9035         (c_language_defn): Use exp_descriptor_c.
9036         (cplus_language_defn): Likewise.
9037         (asm_language_defn): Likewise.
9038         (minimal_language_defn): Likewise.
9039         (charset_for_string_type): New function.
9040         * c-exp.y (%union): Add 'svec' and 'tsval'.
9041         (CHAR): New token.
9042         (exp): Add CHAR production.
9043         (string_exp): Rewrite.
9044         (exp) <string_exp>: Rewrite.
9045         (tempbuf): Now global.
9046         (tempbuf_init): New global.
9047         (parse_string_or_char): New function.
9048         (yylex) <tempbuf>: Now global.
9049         <tokptr, tempbufindex, tempbufsize, token_string, class_prefix>:
9050         Remove.
9051         Handle 'u', 'U', and 'L' prefixes.  Call parse_string_or_char.
9052         (c_parse_escape): New function.
9053         * auxv.c (fprint_target_auxv): Update.
9054         * ada-valprint.c (ada_emit_char): Add type argument.
9055         (ada_printchar): Likewise.
9056         (ada_print_scalar): Update.
9057         (printstr): Add type argument.  Update calls to ada_emit_char.
9058         (ada_printstr): Add type argument.
9059         (ada_val_print_array): Update.
9060         (ada_val_print_1): Likewise.
9061         * ada-lang.c (emit_char): Add type argument.
9062         * ada-lang.h (ada_emit_char, ada_printchar, ada_printstr): Add
9063         type arguments.
9064         * gdb_locale.h: Include langinfo.h.
9065         * charset.c (_initialize_charset): Set default host charset from
9066         the locale.  Don't register charsets.  Add target-wide-charset
9067         commands.  Call find_charset_names.
9068         (struct charset, struct translation): Remove.
9069         (GDB_DEFAULT_HOST_CHARSET): Remove.
9070         (GDB_DEFAULT_TARGET_WIDE_CHARSET): New define.
9071         (target_wide_charset_name): New global.
9072         (show_host_charset_name): Handle "auto".
9073         (show_target_wide_charset_name): New function.
9074         (host_charset_enum, target_charset_enum): Remove.
9075         (charset_enum): New global.
9076         (all_charsets, register_charset, lookup_charset, all_translations,
9077         register_translation, lookup_translation): Remove.
9078         (simple_charset, ascii_print_literally, ascii_to_control): Remove.
9079         (iso_8859_print_literally, iso_8859_to_control,
9080         iso_8859_family_charset): Remove.
9081         (ebcdic_print_literally, ebcdic_to_control,
9082         ebcdic_family_charset): Remove.
9083         (struct cached_iconv, check_iconv_cache, cached_iconv_convert,
9084         register_iconv_charsets): Remove.
9085         (target_wide_charset_be_name, target_wide_charset_le_name): New
9086         globals.
9087         (identity_either_char_to_other): Remove.
9088         (set_be_le_names, validate): New functions.
9089         (backslashable, backslashed, represented): Remove.
9090         (default_c_target_char_has_backslash_escape): Remove.
9091         (default_c_parse_backslash, iconv_convert): Remove.
9092         (ascii_to_iso_8859_1_table, ascii_to_ebcdic_us_table,
9093         ascii_to_ibm1047_table, iso_8859_1_to_ascii_table,
9094         iso_8859_1_to_ebcdic_us_table, iso_8859_1_to_ibm1047_table,
9095         ebcdic_us_to_ascii_table, ebcdic_us_to_iso_8859_1_table,
9096         ebcdic_us_to_ibm1047_table, ibm1047_to_ascii_table,
9097         ibm1047_to_iso_8859_1_table, ibm1047_to_ebcdic_us_table): Remove.
9098         (table_convert_char, table_translation, simple_table_translation):
9099         Remove.
9100         (current_host_charset, current_target_charset,
9101         c_target_char_has_backslash_escape_func,
9102         c_target_char_has_backslash_escape_baton): Remove.
9103         (c_parse_backslash_func, c_parse_backslash_baton): Remove.
9104         (host_char_to_target_func, host_char_to_target_baton): Remove.
9105         (target_char_to_host_func, target_char_to_host_baton): Remove.
9106         (cached_iconv_host_to_target, cached_iconv_target_to_host):
9107         Remove.
9108         (lookup_charset_or_error, check_valid_host_charset): Remove.
9109         (set_host_and_target_charsets): Remove.
9110         (set_host_charset, set_target_charset): Remove.
9111         (set_host_charset_sfunc, set_target_charset_sfunc): Rewrite.
9112         (set_target_wide_charset_sfunc): New function.
9113         (show_charset): Print target wide character set.
9114         (host_charset, target_charset): Rewrite.
9115         (target_wide_charset): New function.
9116         (c_target_char_has_backslash_escape): Remove.
9117         (c_parse_backslash): Remove.
9118         (host_letter_to_control_character): New function.
9119         (host_char_print_literally): Remove.
9120         (host_hex_value): New function.
9121         (target_char_to_control_char): Remove.
9122         (cleanup_iconv): New function.
9123         (convert_between_encodings): New function.
9124         (target_char_to_host): Remove.
9125         (struct wchar_iterator): Define.
9126         (make_wchar_iterator, make_cleanup_wchar_iterator, wchar_iterator,
9127         wchar_push_back): New functions.
9128         (do_cleanup_iterator): New function.
9129         (char_ptr): New typedef.
9130         (charsets): New global.
9131         (add_one, find_charset_names): New functions.
9132         (default_charset_names): New global.
9133         (auto_host_charset_name): Likewise.
9134         * aclocal.m4, config.in, configure: Rebuild.
9135         * configure.ac: Call AM_LANGINFO_CODESET.
9136         (GDB_DEFAULT_HOST_CHARSET): Default to UTF-8.
9137         (AM_ICONV): Invoke earlier.
9138         * acinclude.m4: Include codeset.m4.  Subst LIBICONV_INCLUDE and
9139         LIBICONV_LIBDIR.  Check for libiconv in build tree.
9140         * Makefile.in (LIBICONV_LIBDIR, LIBICONV_INCLUDE): New macros.
9141         (INTERNAL_CFLAGS_BASE): Add LIBICONV_INCLUDE.
9142         (INTERNAL_LDFLAGS): Add LIBICONV_LIBDIR.
9143         * gdb_obstack.h (obstack_grow_wstr): New define.
9144         * gdb_wchar.h: New file.
9145         * defs.h: Include it.
9146
9147 2009-03-20  Tom Tromey  <tromey@redhat.com>
9148             Jan Kratochvil  <jan.kratochvil@redhat.com>
9149
9150         * dwarf2read.c (process_die): Handle DW_TAG_typedef.
9151         * eval.c (evaluate_subexp_standard) <OP_TYPE>: Strip a single
9152         typedef.
9153         * ada-lang.c (decode_packed_array_type): Call CHECK_TYPEDEF on the
9154         SYMBOL_TYPE result.
9155         * ada-typeprint.c (print_array_type): Do the NULL check
9156         unconditionally.
9157
9158 2009-03-19  Tom Tromey  <tromey@redhat.com>
9159
9160         * utils.c (do_obstack_free): New function.
9161         (make_cleanup_obstack_free): Likewise.
9162         * defs.h (make_cleanup_obstack_free): Declare.
9163
9164 2009-03-18  Doug Evans  <dje@google.com>
9165
9166         * linux-nat.c (linux_nat_find_memory_regions): Result of PIDGET is an
9167         int, not a long long.
9168         (linux_nat_info_proc_cmd): Store pid in long instead of long long.
9169
9170         * expprint.c (dump_raw_expression): Print note if non-NULL.
9171
9172         * printcmd.c (display_uses_solib_p): Redo loop, scan element list
9173         backwards.
9174
9175 2009-03-18  Nathan Sidwell  <nathan@codesourcery.com>
9176
9177         * Makefile.in: Update license to GPLv3.
9178         * ada-exp.y: Update license to GPLv3.
9179         * ada-lex.l: Update license to GPLv3.
9180         * c-exp.y: Update license to GPLv3.
9181         * cp-name-parser.y: Update license to GPLv3.
9182         * darwin-nat-info.c: Update license to GPLv3.
9183         * f-exp.y: Update license to GPLv3.
9184         * gdb_thread_db.h: Update license to GPLv3.
9185         * hppanbsd-nat.c: Update license to GPLv3.
9186         * hppanbsd-tdep.c: Update license to GPLv3.
9187         * hppaobsd-tdep.c: Update license to GPLv3.
9188         * jv-exp.y: Update license to GPLv3.
9189         * m2-exp.y: Update license to GPLv3.
9190         * objc-exp.y: Update license to GPLv3.
9191         * p-exp.y: Update license to GPLv3.
9192         * reply_mig_hack.awk: Update license to GPLv3.
9193         * reverse.c: Update license to GPLv3.
9194         * xtensa-xtregs.c: Update license to GPLv3.
9195
9196 2009-03-18  Pedro Alves  <pedro@codesourcery.com>
9197
9198         * remote.c (remote_close): Don't call generic_mourn_inferior.
9199         (remote_mourn_1): Call generic_mourn_inferior after closing the
9200         target.
9201
9202 2009-03-18  Pedro Alves  <pedro@codesourcery.com>
9203
9204         * remote.c (remote_start_remote): Add missing call to
9205         init_wait_for_inferior in non-stop mode.
9206
9207 2009-03-18  Pedro Alves  <pedro@codesourcery.com>
9208
9209         * breakpoint.c (bpstat_should_step): Only consider software
9210         watchpoints that have a location.
9211
9212 2009-03-17  Joel Brobecker  <brobecker@adacore.com>
9213
9214         Add a target_ops parameter to the to_kill method in struct target_ops.
9215
9216         * target.h (struct target_ops): Add a "target_ops *" parameter to
9217         method to_kill.
9218         (target_kill): Remove macro. Add declaration.
9219         * target.c (debug_to_kill): Delete, no longer necessary.
9220         (target_kill): New function.
9221         (update_current_target):  Stop inheriting the to_kill method.
9222         Do not de_fault it to no_process either.
9223         (setup_target_debug): Do not set current_target.to_kill.
9224         * gnu-nat.c, go32-nat.c, hpux-thread.c, inf-ptrace.c, inf-ttrace.c,
9225         linux-nat.c, monitor.c, nto-procfs.c, procfs.c, remote-m32r-sdi.c,
9226         remote-mips.c, remote-sim.c, remote.c, windows-nat.c: Update
9227         accordingly.
9228
9229 2009-03-17  Doug Evans  <dje@google.com>
9230
9231         * amd64-linux-nat.c (si_timerid,si_overrun): Provide definition for
9232         glibc 2.3.2 and earlier.
9233
9234 2009-03-17  Joel Brobecker  <brobecker@adacore.com>
9235
9236         * frame.c (get_prev_frame_1): Do not perform the inner_frame
9237         sanity check if this_frame is not NORMAL.
9238         (frame_id_inner): Update the description of this function.
9239
9240 2009-03-17  Hui Zhu  <teawater@gmail.com>
9241
9242         * stack.c: Change the introduce of "disassemble-next-line".
9243
9244 2009-03-17  Pedro Alves  <pedro@codesourcery.com>
9245
9246         * mi/mi-main.h (mi_print_timing_maybe): Add strict prototype,
9247         declare as extern.
9248
9249 2009-03-17  Hui Zhu  <teawater@gmail.com>
9250
9251         * stack.c: Include valprint.h.
9252         (disassemble_next_line): New enum.
9253         (show_disassemble_next_line): New function.  Show the current
9254         value of disassemble-next-line.
9255         (gdb_disassembly_stub_args): New struct for argument passing
9256         between function do_gdb_disassembly and function
9257         gdb_disassembly_stub.
9258         (gdb_disassembly_stub): New function.  Helper for
9259         gdb_disassembly.
9260         (do_gdb_disassembly): New function.  Use TRY_CATCH to catch
9261         the exception from the gdb_disassembly because it will be
9262         broken by filter sometime.
9263         (print_frame_info): If disassemble-next-line is set to auto
9264         or on and doesn't have the line debug messages for $pc,
9265         output the next instruction.
9266         If disassemble-next-line is set to on and there is line debug
9267         messages, output assembly codes for next line.
9268         (_initialize_stack): Make the "set disassemble-next-line"
9269         command an auto-boolean command.  Change its class to
9270         class_stack.  Place it in the top level set list.  Extend help
9271         to describe the auto mode.
9272
9273 2009-03-17  Pedro Alves  <pedro@codesourcery.com>
9274
9275         * infrun.c (normal_stop): Don't overwrite old_chain.
9276
9277 2009-03-16  Joel Brobecker  <brobecker@adacore.com>
9278
9279         * remote-mips.c (mips_load): Replace call to regcache_set_valid_p,
9280         which is undefined, by call to regcache_invalidate, which should
9281         do what the original author wanted to do.
9282
9283 2009-03-16  Joel Brobecker  <brobecker@adacore.com>
9284
9285         * remote-mips.c (mips_mourn_inferior): Add missing ops parameter.
9286         (mips_create_inferior): Likewise.
9287
9288 2009-03-16  Joel Brobecker  <brobecker@adacore.com>
9289
9290         * go32-nat.c (go32_create_inferior): Add missing ops parameter.
9291
9292 2009-03-16  Joel Brobecker  <brobecker@adacore.com>
9293
9294         * darwin-nat.c (darwin_resume): Fix a compiler warning when
9295         building on x86_64-darwin.
9296
9297 2009-03-16  Tristan Gingold  <gingold@adacore.com>
9298
9299         * configure.tgt: Add handling for x86_64-darwin.
9300
9301 2009-03-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
9302
9303         * auxv.c (fprint_target_auxv): New TAG for AT_RANDOM.
9304
9305 2009-03-15  Joel Brobecker  <brobecker@adacore.com>
9306
9307         * aix-thread.c (aix_thread_thread_alive, aix_thread_pid_to_str):
9308         Use the ops parameter to get to the target beneath, rather than
9309         using the current_target global.  Using the current_target global
9310         was an unintended accident.
9311
9312 2009-03-15  Joel Brobecker  <brobecker@adacore.com>
9313
9314         Fix an error happening while loading symbols from a core file
9315         (on AIX).
9316
9317         * rs6000-nat.c (xcoff_relocate_symtab): Use target_has_execution
9318         to detect whether we're debugging a core file or not.
9319
9320 2009-03-15  Joel Brobecker  <brobecker@adacore.com>
9321
9322         Modernize the aix-thread later by getting rid of the base_target
9323         global.  This brings back to life the AIX port which was otherwise
9324         crashing all the time.
9325
9326         * aix-thread.c (base_target): Delete.
9327         (pd_enable): Do not set base_target.
9328         (aix_thread_attach): Use find_target_beneath instead of base_target.
9329         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
9330         (aix_thread_fetch_registers, aix_thread_store_registers),
9331         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
9332         (aix_thread_thread_alive, aix_thread_pid_to_str): Likewise.
9333         (aix_thread_kill): Delete. Does not seem necessary.
9334         (init_aix_thread_ops): Do not set aix_thread_ops.to_kill.
9335
9336 2009-03-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
9337
9338         * stack.c (return_command <retval_exp>): New variables retval_expr
9339         and old_chain.  Inline parse_and_eval to initialize retval_expr.  Check
9340         RETVAL_EXPR for UNOP_CAST and set RETURN_TYPE to the RETURN_VALUE type
9341         if RETURN_TYPE is NULL.
9342
9343 2009-03-14  Pedro Alves  <pedro@codesourcery.com>
9344
9345         * remote.c (PACKET_qAttached): New.
9346         (remote_query_attached): New.
9347         (remote_add_inferior): Add new `attached' argument.  Handle it.
9348         (remote_notice_new_inferior, remote_start_remote): Adjust to pass
9349         -1 to remote_add_inferior in new parameter.
9350         (extended_remote_attach_1): Adjust to pass 1 to
9351         remote_add_inferior in the new parameter.
9352         (extended_remote_create_inferior_1): Adjust to pass 0 to
9353         remote_add_inferior in the new parameter.
9354         (_initialize_remote): Add "set/show remote query-attached-packet"
9355         commands.
9356
9357 2009-03-13  Tom Tromey  <tromey@redhat.com>
9358
9359         * symtab.c (lookup_symbol_in_language): Use a cleanup.
9360
9361 2009-03-13  Doug Evans  <dje@google.com>
9362
9363         * exceptions.h: Clean up some comments on catch_exceptions usage.
9364         * exceptions.c: Ditto.  Plus mark catch_errors as superseded by
9365         catch_exceptions.
9366
9367 2009-02-17  Joel Brobecker  <brobecker@adacore.com>
9368
9369         The following patch helps getting rid of a warning inside solib-som.c.
9370
9371         * source.c (source_full_path_of): Constify parameter filename.
9372         * defs.h (source_full_path_of): Update declaration accordingly.
9373
9374 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
9375
9376         * ada-lang.c (ada_evaluate_subexp): Merge case BINOP_REM and
9377         BINOP_MOD cases with the handling of case BINOP_DIV and BINOP_MUL.
9378         Remove useless op value checks when EVAL_AVOID_SIDE_EFFECTS.
9379
9380 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
9381
9382         * ada-lang.c (ada_evaluate_subexp) <BINOP_DIV>: make sure to
9383         promote the operands when noside is EVAL_AVOID_SIDE_EFFECTS.
9384
9385 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
9386
9387         * ada-tasks.c (ada_task_is_alive): Move up and make static.
9388         * ada-lang.h (ada_task_is_alive): Remove declaration.
9389
9390 2009-03-12  Jerome Guitton  <guitton@adacore.com>
9391
9392         * ada-lang.c (ada_delta): Change the type of numerators and
9393         denominators to DOUBLEST, as they may not fit into a long.
9394         (scaling_factor): Ditto.
9395
9396 2009-03-12  Jerome Guitton  <guitton@adacore.com>
9397
9398         * language.c (lang_bool_type): Set lai->bool_type_symbol to NULL.
9399
9400 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
9401
9402         * ada-lang.c (ada_evaluate_subexp) [OP_VAR_VALUE]: For tagged
9403         types, if we are unable to determine the actual symbol type
9404         from its tag, then use the static approximation instead.
9405
9406 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
9407
9408         Fix crash printing packed record with packed array.
9409
9410         * ada-lang.c (ada_modulus_from_name): New function.
9411         (ada_modulus): In the case where the type length is bigger than
9412         the size of the type used to hold the bounds, try determining
9413         the modulus from the type name.
9414         (ada_value_primitive_packed_val): Fix bug in the computation of
9415         ntarg causing an out-of-buffer invalid access.
9416
9417 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
9418
9419         Fix segfault when printing short_integer'last.
9420
9421         * ada-lang.c (ada_find_any_type): Search in the primitive types
9422         if a symbol could not be found.
9423
9424 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
9425
9426         * ada-tasks.c (task_states,long_task_states): Add new states
9427         Activating and Acceptor_Delay_Sleep.  Update the description
9428         of state Acceptor_Sleep.
9429
9430 2009-03-12  Jonas Maebe <jonas.maebe@elis.ugent.be>  (obvious change)
9431
9432         Fix a build failure on Darwin following some changes in
9433         the profile of some target_ops methods.
9434
9435         * darwin-nat.c (darwin_kill_inferior): Add target_ops parameter
9436         where missing.
9437         (darwin_stop_inferior, darwin_detach): Likewise.
9438
9439 2009-03-12  Vladimir Prus  <vladimir@codesourcery.com>
9440
9441         Include token in ^running notification for CLI commands.
9442
9443         * mi/mi-main.c (mi_execute_command): Set current_token here.
9444         (mi_cmd_execute): Do not set current_token here.
9445
9446 2009-03-12  Vladimir Prus  <vladimir@codesourcery.com>
9447
9448         Fix MI timings.
9449
9450         * mi/mi-main.c (mi_print_timing_maybe): New.
9451         (captured_mi_execute_command): Simplify. Output timings to
9452         CLI commands, too.
9453         (mi_execute_async_cli_command): Do not print timings.
9454         * mi/mi-main.h (mi_print_timing_maybe): Declare.
9455         * mi/mi-interp.c (mi_on_normal_stop): Call mi_print_timing_maybe.
9456
9457 2009-03-12  Jerome Guitton  <guitton@adacore.com>
9458
9459         * xcoffread.c (process_linenos): Check if the line in the
9460         include table refers to the main source file and, if so,
9461         add them to the main subfile.
9462
9463 2009-03-12  Joel Brobecker  <brobecker@adacore.com>
9464
9465         Fix a build failure on AIX introduced after a change in the profile
9466         of some of the "methods" in the target_ops structure.
9467         * aix-thread.c: Add missing target_ops parameter throughout.
9468
9469         Implement Ada task switching on AIX.
9470         * aix-thread.c (aix_thread_get_ada_task_ptid): New function.
9471         (init_aix_thread_ops): Set aix_thread_ops.to_get_ada_task_ptid.
9472
9473 2009-03-11  Daniel Jacobowitz  <dan@codesourcery.com>
9474
9475         * breakpoint.c (bpstat_check_breakpoint_conditions): Use
9476         value_mark and value_free_to_mark.
9477         * objfiles.c (free_objfile): Call objfile_free_data before
9478         freeing the BFD.
9479
9480 2009-03-10  Hui Zhu  <teawater@gmail.com>
9481
9482         * disasm.c (gdb_disassembly): Remove unused argument
9483         "line_num".
9484         * disasm.h (gdb_disassembly): Ditto.
9485         * cli/cli-cmds.c (print_disassembly): Ditto.
9486         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Ditto.
9487
9488 2009-03-09  Paul Pluzhnikov  <ppluzhnikov@google.com>
9489
9490         * solib.c (solib_contains_address_p): New function.
9491         (solib_name_from_address): Use it.
9492         * printcmd.c (display_uses_solib_p): Use it.
9493         * solib.h (solib_contains_address_p): Declare it.
9494
9495 2009-03-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
9496
9497         * varobj.c (free_variable): Call value_free.
9498
9499 2009-03-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
9500
9501         PR gdb/9873:
9502         * dwarf2read.c (dwarf_decode_macros): New variable `at_commandline'.
9503         Move the variable `macinfo_type' out of the loop.  Create a new
9504         processing pass before the current one to pre-create `current_file'.
9505         New complaint on misplaced zero/non-zero definitions/includes.
9506         Skip first DW_MACINFO_start_file with `at_commandline' set.
9507
9508 2008-03-09  Vladimir Prus  <vladimir@codesourcery.com>
9509
9510        * solib.c (reload_shared_libraries): Give
9511        inferior a chance to reset solib breakpoint.
9512        Reinit frame cache.
9513
9514 2009-03-08  Christopher Faylor  <me+cygwin@cgf.cx>
9515
9516         * windows-nat.c (dr): Redefine to use largest possible integer which
9517         holds a pointer.
9518         (cygwin_set_dr): Avoid coercion.
9519
9520 2009-03-08  Oswald Buddenhagen  <oswald.buddenhagen@trolltech.de>
9521
9522         * windows-nat.c (windows_create_inferior): Implement --tty handling on
9523         non-cygwin.
9524
9525 2009-03-06  Paul Pluzhnikov  <ppluzhnikov@google.com>
9526
9527         Rename solib_address to solib_name_from_address.
9528         * breakpoint.c (insert_bp_location, disable_breakpoints_in_shlibs)
9529         (disable_breakpoints_in_unloaded_shlib): Update.
9530         * printcmd.c (display_uses_solib_p): Likewise.
9531         * stack.c (print_frame): Likewise.
9532         * solib.c: Rename.
9533         * solib.h: Rename.
9534
9535 2009-03-05  Paul Pluzhnikov  <ppluzhnikov@google.com>
9536
9537         * printcmd.c (do_one_display): Reparse exp_string.
9538         (display_uses_solib_p): New function.
9539         (clear_dangling_display_expressions): New function.
9540         (_initialize_printcmd): Add observer.
9541         * solib.c (no_shared_libraries): Swap order of calls to
9542         clear_solib and objfile_purge_solibs.
9543
9544 2009-03-05  Joel Brobecker  <brobecker@adacore.com>
9545
9546         Implement the target-specific part of Ada tasking support
9547         on Tru64.
9548
9549         * dec-thread.c (dec_thread_get_ada_task_ptid): New function.
9550         (init_dec_thread_ops): Set the to_get_ada_task_ptid method.
9551
9552 2009-03-05  Joel Brobecker  <brobecker@adacore.com>
9553
9554         Get rid of the global "base_target" and use "find_target_beneath"
9555         to find the underlying target.
9556         * dec-thread.c (base_target): Delete.
9557         (enable_dec_thread): Remove assignement to base_target.
9558         (dec_thread_detach, dec_thread_wait, dec_thread_wait)
9559         (dec_thread_fetch_registers, dec_thread_store_registers)
9560         (dec_thread_mourn_inferior, dec_thread_pid_to_str):
9561         Update the function profile if necessary.
9562         Use find_target_beneath to call the same method but from
9563         the underlying target, removing the need for "base_target".
9564
9565         * dec-thread.c (dec_thread_get_regsets, dec_thread_set_regsets):
9566         Fix a copy/paste error in a few debug traces...
9567
9568         * solib-osf.c (init_so): Use a simpler method for computing
9569         the size of lm_info structure. This also gets rid of warning
9570         emitted by the compiler.
9571
9572 2009-03-05  Pedro Alves  <pedro@codesourcery.com>
9573
9574         * breakpoint.c (check_duplicates_for): Skip permanent breakpoints
9575         duplicates of permanent breakpoints.
9576
9577 2009-03-04  Pedro Alves  <pedro@codesourcery.com>
9578
9579         * inferior.h (notice_new_inferior): Declare.
9580         * infcmd.c (notice_new_inferior): New.
9581         * remote.c (remote_add_inferior, remote_add_thread): New.
9582         (notice_new_inferiors): Rename to...
9583         (remote_notice_new_inferior): ... this.  Add RUNNING argument.
9584         Use remote_add_thread instead of add_thread, passing it the
9585         RUNNING argument.  Add an inferior with remote_add_inferior.  If
9586         we just learned about an inferior, call notice_new_inferior.
9587         (record_currthread): Adjust.
9588         (remote_threads_info): Adjust to use remote_notice_new_inferior.
9589         (remote_start_remote, extended_remote_attach_1): Use
9590         remote_add_inferior.
9591         (process_stop_reply): Adjust.  Call remote_notice_new_inferior
9592         after handling expedited registers and watchpoint state.
9593         (extended_remote_create_inferior_1): Use remote_add_inferior.
9594
9595 2009-03-04  Aleksandar Ristovski  <aristovski@qnx.com>
9596
9597         * infcmd.c (registers_info): Remove register number case.
9598
9599 2009-03-03  Pedro Alves  <pedro@codesourcery.com>
9600
9601         * top.c (quit_target): Check for target_has_execution before
9602         killing or detaching from inferiors.
9603
9604 2009-03-02  Joel Brobecker  <brobecker@adacore.com>
9605
9606         Remove some unused routines.
9607
9608         * ada-lang.c (is_suppressed_name, ada_suppress_symbol_printing):
9609         Delete.
9610         * ada-lang.c (ada_task_list_iterator_ftype)
9611         (iterate_over_live_ada_tasks): Delete.
9612         * ada-tasks.c (ada_get_environment_task, iterate_over_live_ada_tasks):
9613         Delete.
9614
9615 2009-03-01  Doug Evans  <dje@google.com>
9616
9617         * symtab.c: Remove trailing whitespace throughout the file.
9618         (expand_line_sal): Fix some typos and whitespace.
9619
9620         * Makefile.in (clean): rm -f $(DEPDIR)/*.
9621
9622         * Makefile.in (GDB_CFLAGS): Add -I$(srcdir)/common.
9623         (init.c): signals/ -> common/.
9624         (signals.o): Update.
9625         * target.h (target_signal_to_string,target_signal_to_string)
9626         (target_signal_from_name,target_signal_to_host_p)
9627         (target_signal_from_host,target_signal_to_host): Move to ...
9628         * common/gdb_signals.h: ... here.  New file.
9629         * common/signals.c: Moved here from signals/signals.c.
9630         #include gdb_signals.h, remove #include of target.h in gdb case.
9631         (target_signal_from_command,default_target_signal_to_host)
9632         (default_target_signal_from_host): Move inside #ifndef GDBSERVER.
9633
9634         Include thread ID in target_wait debugging output.
9635         * infrun.c (print_target_wait_results): New function.
9636         (wait_for_inferior,fetch_inferior_event): Call it.
9637
9638 2009-02-27  Pedro Alves  <pedro@codesourcery.com>
9639
9640         * gdb_proc_service.h (struct ps_prochandle): Replace pid_t field
9641         with a ptid_t field.
9642         * linux-thread-db.c (thread_get_info_callback): Build the ptid
9643         using the pid stored in proc_handle.ptid.
9644         (thread_from_lwp, thread_db_attach_lwp, enable_thread_event)
9645         (check_for_thread_db, thread_db_detach, check_event)
9646         (thread_db_mourn_inferior, find_new_threads_callback)
9647         (thread_db_find_new_threads_1): Adjust.
9648         * proc-service.c (ps_xfer_memory, ps_lgetregs, ps_lsetregs)
9649         (ps_lgetfpregs, ps_lsetfpregs, ps_getpid): Adjust.
9650
9651 2009-02-27  Phil Muldoon  <pmuldoon@redhat.com>
9652
9653         * valprint.c (read_string): Rework clean-up logic. Use
9654         free_current_contents to clean-up buffer.
9655
9656 2009-02-27  Andreas Schwab  <schwab@linux-m68k.org>
9657
9658         * MAINTAINERS: Update e-mail address.
9659
9660 2009-02-26  Phil Muldoon  <pmuldoon@redhat.com>
9661
9662         * python/python-utils.c (python_string_to_unicode): Always return
9663         a new reference.
9664         (python_string_to_target_string): Decrement transient python
9665         instance.
9666         (python_string_to_host_string): Likewise.
9667
9668 2007-02-26  Pedro Alves  <pedro@codesourcery.com>
9669
9670         * mips-linux-nat.c (mips64_linux_fetch_registers): Pass `ops' to
9671         call to super_fetch_registers.
9672         (mips64_linux_store_registers): Pass `ops' to call to
9673         super_store_registers.
9674
9675 2009-02-25  Doug Evans  <dje@google.com>
9676
9677         * breakpoint.c (insert_bp_location): Add \n to overlay breakpoint
9678         error message.
9679
9680         * breakpoint.c (disable_breakpoints_in_shlibs): Delete local
9681         disabled_shlib_breaks, unused.
9682
9683         * printcmd.c (build_address_symbolic): Fix comment.
9684
9685 2009-02-25  Hui Zhu  <teawater@gmail.com>
9686
9687         * cli/cli-script.c (define_command): Add _() to query.
9688         * gnu-nat.c (inf_validate_task_sc): Ditto.
9689         * infcmd.c (kill_if_already_running): Ditto.
9690         (jump_command): Ditto.
9691         (attach_command): Ditto.
9692         * inflow.c (kill_command): Ditto.
9693         * infrun.c (handle_command): Ditto.
9694         * maint.c (maintenance_dump_me): Ditto.
9695         * memattr.c (mem_delete_command): Ditto.
9696         * monitor.c (monitor_interrupt_query): Ditto.
9697         * nto-procfs.c (interrupt_query): Ditto.
9698         * printcmd.c (undisplay_command): Ditto.
9699         * remote-mips.c (mips_kill): Ditto.
9700         * remote.c (interrupt_query): Ditto.
9701         * solib-irix.c (irix_open_symbol_file_object): Ditto.
9702         * solib-osf.c (osf_open_symbol_file_object): Ditto.
9703         * solib-pa64.c (pa64_open_symbol_file_object): Ditto.
9704         * solib-som.c (som_open_symbol_file_object): Ditto.
9705         * solib-svr4.c (open_symbol_file_object): Ditto.
9706         * symfile.c (symbol_file_add_with_addrs_or_offsets): Ditto.
9707         * target.c (kill_or_be_killed): Ditto.
9708         * tracepoint.c (delete_trace_command): Ditto.
9709         * top.c (quit_confirm): Add _() to s that will be used
9710         in query.
9711
9712 2009-02-24  Pierre Muller  <muller@ics.u-strasbg.fr>
9713
9714         Fix windows-nat.c compilation failure.
9715
9716         * windows-nat.c (windows_thread_alive): Fix forward declaration.
9717         (get_windows_debug_event): Add ops parameter to call to windows_resume.
9718
9719 2009-02-23  Pedro Alves  <pedro@codesourcery.com>
9720
9721         * remote-sim.c (gdbsim_resume): Add target_ops* argument.
9722
9723 2009-02-23  Jay Krell  <jay.krell@cornell.edu>  (tiny change)
9724
9725         * symtab.c (find_line_symtab): Initialize exact to avoid
9726         a compiler warning.
9727
9728 2009-02-23  Pedro Alves  <pedro@codesourcery.com>
9729
9730         * i386-linux-nat.c (i386_linux_fetch_inferior_registers): Pass
9731         `ops' to recursive call.
9732
9733 2009-02-23  Pedro Alves  <pedro@codesourcery.com>
9734
9735         * corelow.c (get_core_registers): Adjust.
9736         (core_file_thread_alive): Rename to...
9737         (core_thread_alive): ... this.
9738         (core_pid_to_str): Try gdbarch_core_pid_to_str first.
9739         (init_core_ops): Adjust.
9740         (coreops_suppress_target): Delete.
9741         (_initialize_corelow): Unconditionally add core_ops.
9742         * procfs.c: Include "inf-child.h".
9743         (procfs_ops): Delete.
9744         (init_procfs_ops): Delete.  Reimplement as...
9745         (procfs_target): ... this, inheriting from inf-child.
9746         (procfs_attach, procfs_detach, procfs_fetch_registers): Adjust.
9747         (procfs_prepare_to_store): Delete.
9748         (procfs_store_registers, procfs_resume): Adjust.
9749         (procfs_open): Delete.
9750         (procfs_suppress_run): Delete.
9751         (procfs_can_run): Delete.
9752         (procfs_mourn_inferior): Adjust.
9753         (procfs_init_inferior): Add target_ops parameter.  Adjust.
9754         (procfs_create_inferior): Don't pass procfs_init_inferior to
9755         fork_inferior.  Instead call it after fork_inferior returns.
9756         (procfs_find_new_threads): Adjust.
9757         (_initialize_procfs): Adjust to use procfs_target instead of
9758         init_procfs_ops.
9759         * sol-thread.c (orig_core_ops, sol_core_ops): Delete.
9760         (lwp_to_thread): Use target_thread_alive.
9761         (sol_thread_open): Delete.
9762         (sol_thread_attach): Delete.
9763         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
9764         (sol_thread_fetch_registers, sol_thread_store_registers): Adjust
9765         to use find_target_beneath.
9766         (sol_thread_prepare_to_store, sol_thread_xfer_memory): Delete.
9767         (sol_thread_xfer_partial): Adjust to use find_target_beneath.
9768         (sol_thread_files_info, sol_thread_kill_inferior): Delete.
9769         (check_for_thread_db): New.
9770         (sol_thread_notice_signals, sol_thread_create_inferior): Delete.
9771         (sol_thread_new_objfile): Call check_for_thread_db.
9772         (sol_thread_mourn_inferior): Adjust to use find_target_beneath.
9773         (sol_thread_can_run): Delete.
9774         (sol_thread_alive): Adjust to use find_target_beneath.
9775         (sol_thread_stop): Delete.
9776         (rw_common): Use target_write_memory or target_read_memory.
9777         (ps_lgetregs, ps_lgetfpregs): Use target_fetch_registers.
9778         (ps_lsetregs, ps_lsetfpregs): Use target_store_registers.
9779         (solaris_pid_to_str): Remove check for libthread_db initialization
9780         failing.
9781         (sol_find_new_threads): Remove check for libthread_db
9782         initialization failing, or for an invalid inferior_ptid.  Adjust
9783         to use find_target_beneath.
9784         (sol_core_open, sol_core_close, sol_core_detach,
9785         sol_core_files_info, sol_find_memory_regions,
9786         sol_make_note_section, ignore): Delete.
9787         (init_sol_thread_ops): Make it a thread_stratum target.  Remove
9788         unneeded callback settings.
9789         (init_sol_core_ops): Delete.
9790         (_initialize_sol_thread): No longer call init_sol_core_ops, set
9791         procfs_suppress_run, or hack with core_ops.
9792
9793         * target.h (struct target_ops): Add a target_ops * parameter to
9794         to_resume, to_fetch_registers, to_store_registers, to_thread_alive
9795         and to_find_new_threads.
9796         (target_fetch_registers, target_store_registers)
9797         (target_thread_alive, target_find_new_threads): Redeclare as
9798         function.
9799
9800         * target.c (update_current_target): Do not inherit or de_fault
9801         to_resume, to_fetch_registers, to_store_registers,
9802         to_thread_alive, to_find_new_threads.
9803         (target_resume): Adjust.
9804         (target_thread_alive, target_find_new_threads): New.
9805         (debug_to_resume, debug_to_fetch_registers): Delete.
9806         (target_fetch_registers): New.
9807         (debug_to_store_registers): Delete.
9808         (target_store_registers): New.
9809         (debug_to_thread_alive, debug_to_find_new_threads): Delete.
9810         (setup_target_debug): Adjust.
9811
9812         * gdbcore.h (core_ops): Delete declaration.
9813
9814         * inf-ptrace.c, linux-nat.c, remote.c, amd64-linux-nat.c,
9815         inf-child.c, linux-thread-db.c, bsd-uthread.c, inf-ttrace.c,
9816         i386-sol2-tdep.c, darwin-nat.c, gnu-nat.c, go32-nat.c,
9817         hpux-thread.c, i386-linux-nat.c, i386fbsd-nat.c, monitor.c,
9818         nto-procfs.c, remote-m32r-sdi.c, remote-mips.c, windows-nat.c,
9819         alphabsd-nat.c, amd64bsd-nat.c, arm-linux-nat.c, armnbsd-nat.c,
9820         bsd-kvm.c, hppa-hpux-nat.c, hppa-linux-nat.c, hppabsd-nat.c,
9821         hppanbsd-nat.c, i386-darwin-nat.c, i386bsd-nat.c,
9822         ia64-linux-nat.c, m32r-linux-nat.c, m68kbsd-nat.c,
9823         m68klinux-nat.c, m88kbsd-nat.c, mips-linux-nat.c,
9824         mips64obsd-nat.c, mipsnbsd-nat.c, ppc-linux-nat.c, ppcnbsd-nat.c,
9825         ppcobsd-nat.c, remote-sim.c, rs6000-nat.c, s390-nat.c,
9826         shnbsd-nat.c, sparc-nat.c, sparc-nat.h, spu-linux-nat.c,
9827         vaxbsd-nat.c, xtensa-linux-nat.c: Adjust to target_ops changes.
9828
9829         * gdbarch.sh (core_pid_to_str): New gdbarch callback.
9830         * gdbarch.h, gdbarch.c: Regenerate.
9831
9832         * sol2-tdep.c: Include "inferior.h".
9833         (sol2_core_pid_to_str): New.
9834         * sol2-tdep.h (sol2_core_pid_to_str): Declare.
9835
9836         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Set it.
9837         * sparc-sol2-tdep.c (sparc32_sol2_init_abi): Set it.
9838         * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Set it.
9839         * i386-sol2-tdep.c (i386_sol2_init_abi): Set it.
9840
9841 2009-02-22  Doug Evans  <dje@google.com>
9842
9843         * exec.c (exec_file_attach): Fix comment.
9844
9845 2009-02-22  Pedro Alves  <pedro@codesourcery.com>
9846
9847         Silence a few -Wmissing-prototypes warnings.
9848
9849         PR build/9877:
9850         * alpha-linux-tdep.c (alpha_linux_regset_from_core_section): Make
9851         it static.
9852         * alpha-osf1-tdep.c (_initialize_alpha_osf1_tdep): Declare.
9853         * amd64fbsd-tdep.c (amd64fbsd_init_abi): Make it static.
9854         * amd64nbsd-tdep.c (_initialize_amd64nbsd_ndep): Rename to ...
9855         (_initialize_amd64nbsd_tdep): ... this.
9856         * arm-linux-tdep.c (arm_linux_software_single_step): Make it static.
9857         (_initialize_arm_linux_tdep): Declare.
9858         * armbsd-tdep.c (armbsd_fpreg_offset): Make it static.
9859         * armnbsd-tdep.c (_initialize_arm_netbsd_tdep): Declare.
9860         * armobsd-tdep.c (_initialize_armobsd_tdep): Declare.
9861         * avr-tdep.c (avr_return_value): Make it static.
9862         (avr_frame_unwind_cache): Ditto.
9863         * bsd-uthread.c (bsd_uthread_inferior_created): Ditto.
9864         (bsd_uthread_solib_loaded): Ditto.
9865         (bsd_uthread_solib_unloaded): Ditto.
9866         (bsd_uthread_target): Ditto.
9867         (_initialize_bsd_uthread): Declare.
9868         * cris-tdep.c (crisv32_single_step_through_delay): Make it static.
9869         (cris_frame_unwind_cache): Ditto.
9870         * frv-tdep.c (frv_return_value): Ditto.
9871         * h8300-tdep.c (h8300_use_struct_convention): Ditto.
9872         (h8300h_use_struct_convention): Ditto.
9873         * hppa-tdep.c (hppa_sign_extend, hppa_low_hppa_sign_extend):
9874         Ditto.
9875         * hppa-tdep.h (hppa_low_sign_extend, hppa_sign_extend): Delete
9876         declarations.
9877         * hppabsd-tdep.c: Include hppabsd-tdep.h.
9878         (hppabsd_find_global_pointer): Make it static.
9879         * hppabsd-tdep.h: New.
9880         * hppanbsd-tdep.c: Include hppabsd-tdep.h.
9881         (hppabsd_init_abi): Remove declaration.
9882         (_initialize_hppabsd_tdep): Remove declaration.
9883         (_initialize_hppanbsd_tdep): Declare.
9884         * hppaobsd-tdep.c: Include hppabsd-tdep.h.
9885         (hppabsd_init_abi): Delete declaration.
9886         (hppaobsd_init_abi): Make it static.
9887         * i386-nto-tdep.c (_initialize_i386nto_tdep): Declare.
9888         * i386nbsd-tdep.c (_initialize_i386nbsd_tdep): Declare.
9889         * ia64-linux-tdep.c (_initialize_ia64_linux_tdep): Declare.
9890         * ia64-tdep.c (ia64_register_reggroup_p): Make it static.
9891         * iq2000-tdep.c (_initialize_iq2000_tdep): Declare.
9892         * m32c-tdep.c (m32c_register_reggroup_p): Make it static.
9893         (m32c_analyze_prologue, m32c_virtual_frame_pointer): Ditto.
9894         (_initialize_m32c_tdep): Declare.
9895         * m32r-rom.c (_initialize_m32r_rom): Declare.
9896         * m32r-tdep.c (m32r_skip_prologue): Make it static.
9897         (m32r_return_value): Ditto.
9898         * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Make it static.
9899         (m68hc11_return_value): Ditto.
9900         * m68klinux-tdep.c (_initialize_m68k_linux_tdep): Declare.
9901         * m88k-tdep.c (m88k_frame_cache): Make it static.
9902         * mep-tdep.c (mep_gdb_print_insn): Ditto.
9903         (mep_return_value): Ditto.
9904         (_initialize_mep_tdep): Declare.
9905         * mips-irix-tdep.c (_initialize_mips_irix_tdep): Declare.
9906         * mips-linux-tdep.c (supply_64bit_reg): Make it static.
9907         (mips_linux_syscall_next_pc): Ditto.
9908         (_initialize_mips_linux_tdep): Declare.
9909         * mips-tdep.c (mips_single_step_through_delay): Make it static.
9910         * mipsnbsd-tdep.c (_initialize_mipsnbsd_tdep): Declare.
9911         * mn10300-linux-tdep.c (_initialize_mn10300_linux_tdep): Declare.
9912         * mn10300-tdep.c (_initialize_mn10300_tdep): Declare.
9913         * mt-tdep.c (_initialize_mt_tdep): Declare.
9914         * nbsd-tdep.c: Include nbsd-tdep.h.
9915         * nto-tdep.c (find_load_phdr): Make it static.
9916         (_initialize_nto_tdep): Declare.
9917         * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Make it
9918         static.
9919         (_initialize_ppc_linux_tdep): Declare.
9920         * remote-m32r-sdi.c (m32r_can_use_hw_watchpoint)
9921         (m32r_insert_watchpoint, m32r_remove_watchpoint)
9922         (m32r_stopped_data_address, m32r_stopped_by_watchpoint): Make
9923         static.
9924         * rs6000-aix-tdep.c (_initialize_rs6000_aix_tdep): Declare.
9925         * rs6000-nat.c: Include xcoffread.h.
9926         (find_toc_address): Don't extern declare get_toc_offset.  Adjust
9927         to call xcoff_get_to_offset.
9928         * rs6000-tdep.c (ppc_vsx_support_p, ppc_displaced_step_fixup)
9929         (rs6000_skip_main_prologue, rs6000_in_solib_return_trampoline)
9930         (rs6000_skip_trampoline_code): Make static.
9931         * s390-tdep.c (s390_regset_from_core_section): Ditto.
9932         * sh-tdep.c (sh_register_reggroup_p): Ditto.
9933         * shnbsd-tdep.c (shnbsd_regset_from_core_section): Ditto.
9934         (_initialize_shnbsd_tdep): Declare.
9935         * solib-frv.c (displacement_from_map): Make static.
9936         (_initialize_frv_solib): Declare.
9937         * solib-irix.c (fetch_lm_info): Make static.
9938         (_initialize_irix_solib): Declare.
9939         * solib-som.c: Include solib-som.h.
9940         (som_solib_select): Line break.
9941         * sparc-tdep.c (sparc_regset_from_core_section): Make static.
9942         * sparcnbsd-tdep.c (_initialize_sparnbsd_tdep): Rename to ...
9943         (_initialize_sparcnbsd_tdep): ... this.
9944         * spu-tdep.c (spu_software_single_step): Make it static.
9945         (_initialize_spu_tdep): Declare.
9946         * vax-tdep.c (vax_frame_cache): Make it static.
9947         * xcoffread.c: Include xcoffread.h.
9948         (get_toc_offset): Rename to ...
9949         (xcoff_get_toc_offset): ... this.
9950         (_initialize_xcoffread): Declare.
9951         * xcoffread.h: New.
9952         * xtensa-linux-tdep.c (_initialize_xtensa_linux_tdep): Declare.
9953         * xtensa-tdep.c (xtensa_skip_prologue, xtensa_derive_tdep): Make
9954         static.
9955         (_initialize_xtensa_tdep): Declare.
9956
9957 2008-02-21  Pedro Alves  <pedro@codesorcery.com>
9958
9959         Silence a few -Wmissing-prototypes warnings.
9960
9961         PR build/9877:
9962         * amd64-nat.c: Include "amd64-nat.h".
9963         * fork-child.c (_initialize_fork_child): Ditto.
9964         * gcore.c (_initialize_gcore): Ditto.
9965         * inf-ptrace.c: Include "inf-ptrace.h".
9966         (inf_ptrace_store_registers): Make it static.
9967         * linux-nat.c (linux_nat_terminal_ours): Make it static.
9968         (_initialize_linux_nat): Declare before definition.
9969         * linux-tdep.c: Include "linux-tdep.h".
9970         * linux-thread-db.c (_initialize_thread_db): Declare before
9971         definition.
9972         * proc-service.c (_initialize_proc_service): Ditto.
9973         * remote.c (remote_send_printf): Make it static.
9974         * solib.c: Include "solib.h".
9975         * symfile-mem.c (_initialize_symfile_mem): Declare before
9976         definition.
9977         * ada-lang.c (ada_la_decode, ada_match_name)
9978         (ada_suppress_symbol_printing, ada_is_array_type)
9979         (ada_value_ptr_subscript, ada_array_length)
9980         (ada_to_static_fixed_value): Make them static.
9981         (_initialize_ada_language): Declare before definition.
9982         * ada-tasks.c (ada_get_task_number, ada_get_environment_task)
9983         (ada_task_list_changed, ada_new_objfile_observer): Make them
9984         static.
9985         (_initialize_tasks): Declare before definition.
9986         * addrmap.c (_initialize_addrmap): Declare before definition.
9987         * auxv.c (default_auxv_parse): Make it static.
9988         * bfd-target.c (target_bfd_xfer_partial, target_bfd_xclose): Make
9989         them static.
9990         * breakpoint.c (remove_sal): Add line break.
9991         (expand_line_sal_maybe): Make it static.
9992         * cp-name-parser.y: Include "cp-support.h".
9993         * cp-valprint.c (cp_find_class_member): Make it static.
9994         * eval.c (value_f90_subarray): Ditto.
9995         * exceptions.c (print_any_exception): Ditto.
9996         * findcmd.c (_initialize_mem_search): Declare before definition.
9997         * frame.c (frame_observer_target_changed): Make it static.
9998         * gnu-v3-abi.c (gnuv3_find_method_in): Make it static.
9999         * inf-child.c: Include "inf-child.h".
10000         * inferior.h (valid_inferior_id): Rename to ...
10001         (valid_gdb_inferior_id): ... this.
10002         * infrun.c (infrun_thread_stop_requested, siginfo_make_value):
10003         Make them static.
10004         * jv-lang.c (java_language_arch_info): Make it static.
10005         * m2-typeprint.c (m2_get_discrete_bounds): Ditto.
10006         * osdata.c (info_osdata_command): Make it static.
10007         * regcache.c (regcache_observer_target_changed): Make it static.
10008         * reverse.c (_initialize_reverse): Declare before definition.
10009         * stabsread.c (cleanup_undefined_types_noname)
10010         (cleanup_undefined_types_1): Make them static.
10011         * symfile.c (place_section): Make it static.
10012         * symtab.c (find_pc_sect_psymtab_closer): Make it static.
10013         * target-descriptions.c (_initialize_target_descriptions): Declare
10014         before definition.
10015         * target.c (default_get_ada_task_ptid, find_default_can_async_p)
10016         (find_default_is_async_p, find_default_supports_non_stop): Make
10017         them static.
10018         (target_supports_non_stop): Add prototype.
10019         (dummy_pid_to_str): Make it static.
10020         * utils.c (_initialize_utils): Declare before definition.
10021         * ada-exp.y (_initialize_ada_exp): Declare before definition.
10022         * solib-svr4.c (HAS_LM_DYNAMIC_FROM_LINK_MAP): Add a prototype.
10023         * target.h (struct target_ops): Add a prototype to the
10024         to_can_execute_reverse callback.
10025         * macroscope.c (_initialize_macroscope): Declare before definition.
10026         * cp-namespace.c (_initialize_cp_namespace): Declare before definition.
10027         * python/python.c (_initialize_python): Declare before definition.
10028         * tui/tui-command.c: Include "tui/tui-command.h".
10029         * tui/tui-data.c (init_content_element, init_win_info): Make them
10030         static.
10031         * tui/tui-disasm.c: Include "tui/tui-disasm.h".
10032         * tui/tui-interp.c (_initialize_tui_interp): Declare before
10033         definition.
10034         * tui/tui-layout.c: Include "tui/tui-layout.h".
10035         (_initialize_tui_layout): Declare before definition.
10036         * tui/tui-regs.c: Include "tui/tui-regs.h".
10037         (tui_display_reg_element_at_line): Make it static.
10038         (_initialize_tui_regs): Declare before definition.
10039         * tui/tui-stack.c (_initialize_tui_stack): Declare before
10040         definition.
10041         * tui/tui-win.c: Include "tui/tui-win.h".
10042         (_initialize_tui_win): Declare before definition.
10043         (tui_sigwinch_handler): Make it static.  Wrap in ifdef SIGWINCH.
10044         * tui/tui-win.h (tui_sigwinch_handler): Delete declaration.
10045         (tui_get_cmd_list): Add a prototype.
10046         * tui/tui-windata.c: Include tui-windata.h.
10047         * tui/tui-wingeneral.c (box_win): Make it static.
10048         * cli/cli-logging.c (show_logging_command): Make it static.
10049         (_initialize_cli_logging): Declare before definition.
10050         * mi/mi-common.c (_initialize_gdb_mi_common): Declare before
10051         definition.
10052
10053 2009-02-20  Pierre Muller  <muller@ics.u-strasbg.fr>
10054
10055         Extend use of i386_use_watchpoints to all i386 native files
10056         using hardware watchpoints.
10057         * go32-nat.c (init_go32_ops): Call i386_use_watchpoints.
10058         * i386fbsd-nat.c (_initialize_i386fbsd_nat): Ditto.
10059         * windows-nat.c (init_windows_ops): Ditto.
10060         * config/i386/nm-cygwin.h: Define I386_WATCHPOINTS_IN_TARGET_VECTOR.
10061         * config/i386/nm-cygwin64.h: Ditto.
10062         * config/i386/nm-fbsd.h: Ditto.
10063         * config/i386/nm-go32.h: Ditto.
10064
10065 2009-02-19  Joel Brobecker  <brobecker@adacore.com>
10066
10067         * ada-typeprint.c (ada_typedef_print): Remove.  Unused.
10068
10069 2009-02-18  Vladimir Prus  <vladimir@codesourcery.com>
10070
10071         * mi/mi-interp.c (mi_solib_loaded, mi_solib_unloaded): New.
10072         (mi_interpreter_init): Register the above.
10073         * solib.c (clear_solib): Notify solib unload.
10074         * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Do not
10075         disable breakpoints on a.out targets.
10076
10077 2009-02-17  Vladimir Prus  <vladimir@codesourcery.com>
10078
10079         * observer.c (observer_test_first_notification_function)
10080         (observer_test_second_notification_function)
10081         (observer_test_third_notification_function): Adjust prototype.
10082
10083 2009-02-17  Pedro Alves  <pedro@codesourcery.com>
10084
10085         * Makefile.in (ALL_64_TARGET_OBS): Add amd64-dicos-tdep.o.
10086         (ALL_TARGET_OBS): Add dicos-tdep.o.
10087         (ALLDEPFILES): Add amd64-dicos-tdep.c and dicos-tdep.c.
10088         * configure.tgt (i[34567]86-*-dicos*): Add dicos-tdep.o to
10089         gdb_target_obs.
10090         (x86_64-*-dicos*): Add dicos-tdep.o and amd64-dicos-tdep.o to
10091         gdb_target_obs.
10092         * dicos-tdep.h, dicos-tdep.c: New.
10093         * amd64-dicos-tdep.c: New.
10094         * i386-dicos-tdep.c: Don't include solib.h, solib-target.h or
10095         inferior.h.  Include dicos-tdep.h.
10096         (i386_dicos_init_abi): Call dicos_init_abi.
10097         (i386_dicos_bfd_has_symbol_p): Delete.
10098         (i386_dicos_osabi_sniffer): Use dicos_load_module_p.
10099
10100         * NEWS: Mention x86-64 DICOS target support.
10101
10102 2009-02-16  Doug Evans  <dje@google.com>
10103
10104         * amd64-tdep.c (amd64_skip_prefixes): Renamed from skip_prefixes.
10105         All callers updated.
10106         (amd64_get_insn_details): Handle more 3-byte opcode insns.
10107         (amd64_breakpoint_p): Delete.
10108         (amd64_displaced_step_fixup): When fixing up after stepping an int3,
10109         don't back up pc to the start of the int3.
10110         * i386-tdep.c: #include opcode/i386.h.
10111         (i386_skip_prefixes): New function.
10112         (i386_absolute_jmp_p): Constify argument.
10113         (i386_absolute_call_p,i386_ret_p,i386_call_p,i386_syscall_p): Ditto.
10114         (i386_breakpoint_p): Delete.
10115         (i386_displaced_step_fixup): Handle unnecessary or redundant prefixes.
10116         When fixing up after stepping an int3, don't back up pc to the start
10117         of the int3.
10118
10119 2009-02-16  Pedro Alves  <pedro@codesourcery.com>
10120
10121         * corelow.c (core_close): Don't hardcode the core's pid.
10122         (core_open): Find core threads before calling
10123         post_create_inferior.
10124         (add_to_thread_list, get_core_register_section): Take into account
10125         systems where the regset section names encode the pid of the
10126         inferior.
10127
10128         * gdbarch.sh (core_reg_section_encodes_pid): New gdbarch setting.
10129         * gdbarch.h, gdbarch.c: Regenerate.
10130
10131         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Set it.
10132         * i386-sol2-tdep.c (i386_sol2_init_abi): Set it.
10133         * sparc-sol2-tdep.c (sparc32_sol2_init_abi): Set it.
10134         * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Set it.
10135
10136 2009-02-14  Vladimir Prus  <vladimir@codesourcery.com>
10137
10138         Include frame information for *stopped due to CLI commands.
10139
10140         * ada-tasks.c (ada_normal_stop_observer): Adjust prototype.
10141         * infcmd.c (finish_command_continuation): Pass '1' for
10142         'print_frame' parameter to the observer.
10143         * infrun.c (normal_stop): Don't print mi-specific information
10144         here. Pass 'stop_print_frame' to the 'print_frame' parameter
10145         of the observer.
10146         * mi/mi-interp.c (mi_on_normal_stop): Adjust prototype.
10147         If we need to print frame, and current uiout is not the MI one,
10148         print frame again.
10149
10150 2009-02-13  Pierre Muller  <muller@ics.u-strasbg.fr>
10151
10152         * xtensa-tdep.c (call0_analyze_prologue): Delete BSZ macro.
10153         Replace BSZ macro uses by XTENSA_ISA_BSZ macro.
10154
10155 2009-02-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
10156
10157         PR fortran/9806
10158         * dwarf2read.c (process_die <DW_TAG_module>, read_module)
10159         (scan_partial_symbols <DW_TAG_module>, add_partial_module): New.
10160
10161 2009-02-11  Pierre Muller  <muller@ics.u-strasbg.fr>
10162
10163         * dwarf2read.c (read_base_type): Set code to TYPE_CODE_CHAR
10164         for DW_ATE_signed_char and DW_ATE_unsigned_char
10165         for pascal language.
10166
10167 2009-02-11  Jim Meyering  <meyering@redhat.com>
10168             Jan Kratochvil  <jan.kratochvil@redhat.com>
10169
10170         Avoid NULL dereference.
10171         * stack.c (return_command): Guard use of SYMBOL_TYPE (thisfun).
10172         New variable func_type.
10173
10174 2009-02-11  Pedro Alves  <pedro@codesourcery.com>
10175
10176         * gdbarch.c: Regenerate.
10177
10178 2009-02-10  Pierre Muller  <muller@ics.u-strasbg.fr>
10179
10180         * p-lang.c (is_pascal_string_type): Fix comment.
10181         Determine exact size of char elements for GPC
10182         strings.
10183         (pascal_printstr): Handle char width of 2 or 4.
10184         * p-valprint.c (pascal_val_print): Handle char
10185         of width 2 or 4.
10186
10187 2009-02-07  Daniel Jacobowitz  <dan@codesourcery.com>
10188
10189         * dwarf2read.c (dwarf2_build_psymtabs_hard): Move lowpc and highpc
10190         inside the loop.  Only call addrmap_set_empty if the compilation unit
10191         had DW_AT_high_pc and DW_AT_low_pc.  Update call to
10192         scan_partial_symbols.
10193         (scan_partial_symbols): Take NEED_PC argument and pass it along with
10194         LOWPC and HIGHPC.
10195         (add_partial_namespace): Take NEED_PC argument and pass it through.
10196         (add_partial_subprogram): Take NEED_PC argument.  Update the addrmap
10197         if necessary.
10198
10199 2009-02-07  Pedro Alves  <pedro@codesourcery.com>
10200
10201         * NEWS: Mention inspecting extra signal information, $_siginfo,
10202         and the qXfer:siginfo:read and qXfer:siginfo:write packets.
10203
10204 2009-02-07  Pedro Alves  <pedro@codesourcery.com>
10205
10206         * linux-nat.c (PTRACE_SETSIGINFO): Define if PTRACE_GETSIGINFO
10207         isn't defined.
10208
10209 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
10210
10211         * amd64-linux-nat.c (compat_int_t, compat_uptr_t, compat_time_t)
10212         (compat_timer_t, compat_clock_t, struct compat_timeval)
10213         (compat_sigval_t, compat_siginfo_t): New types.
10214         (cpt_si_pid, cpt_si_uid, cpt_si_timerid, cpt_si_overrun)
10215         (cpt_si_status, cpt_si_utime, cpt_si_stime, cpt_si_ptr)
10216         (cpt_si_addr, cpt_si_band, cpt_si_fd): New defines.
10217         (compat_siginfo_from_siginfo, siginfo_from_compat_siginfo)
10218         (amd64_linux_siginfo_fixup): New.
10219         * linux-nat.c (linux_nat_siginfo_fixup): New.
10220         (siginfo_fixup): New.
10221         (linux_xfer_siginfo): Use siginfo_fixup to convert between the
10222         siginfo layout expected by ptrace and the siginfo layout of the
10223         inferior.
10224         (linux_nat_set_siginfo_fixup): New.
10225         * linux-nat.h (linux_nat_set_siginfo_fixup): Declare.
10226
10227 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
10228
10229         * target.h (enum target_object): Add new TARGET_OBJECT_SIGNAL_INFO.
10230         * infrun.c (siginfo_value_read, siginfo_value_write): New.
10231         (siginfo_value_funcs): New.
10232         (siginfo_make_value): New.
10233         (_initialize_infrun): Create the $_siginfo convenience variable.
10234         * gdbtypes.h (append_composite_type_field_aligned): Declare.
10235         * gdbtypes.c (append_composite_type_field): Rename to...
10236         (append_composite_type_field_aligned): ... this.  Add ALIGNMENT
10237         argument.  Handle it.
10238         (append_composite_type_field): Rewrite on top of
10239         append_composite_type_field_aligned.
10240         * value.h (internalvar_make_value): New typedef.
10241         (struct internalvar) <make_value>: New field.
10242         (create_internalvar_type_lazy): Declare.
10243         * value.c (create_internalvar): Clear make_value.
10244         (create_internalvar_type_lazy): New.
10245         (value_of_internalvar): If make_value is set use it.
10246         (preserve_values): Skip internal variables that don't have a
10247         value.
10248         * gdbarch.sh (get_siginfo_type): New.
10249         * gdbarch.h, gdbarch.c: Regenerate.
10250
10251         * linux-tdep.h, linux-tdep.c: New.
10252         * amd64-linux-tdep.c: Include "linux-tdep.h".
10253         (amd64_linux_init_abi): Register linux_get_siginfo_type and
10254         linux_get_siginfo_mapper.
10255         * i386-linux-tdep.c: Include "linux-tdep.h".
10256         (i386_linux_init_abi): Register linux_get_siginfo_type and
10257         linux_get_siginfo_mapper.
10258         * arm-linux-tdep.c: Include "linux-tdep.h".
10259         (i386_linux_init_abi): Register linux_get_siginfo_type and
10260         linux_get_siginfo_mapper.
10261
10262         * linux-nat.c (linux_xfer_siginfo): New.
10263         (linux_nat_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO.
10264         * remote.c (PACKET_qXfer_siginfo_read)
10265         (PACKET_qXfer_siginfo_write): New.
10266         (feature remote_protocol_features): Add "qXfer:siginfo:read" and
10267         "qXfer:siginfo:write" features.
10268         (remote_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO.
10269         (_initialize_remote): Add "set/show remote read-siginfo-object"
10270         and "set/show remote write-siginfo-object" commands.
10271
10272         * Makefile.in (ALL_TARGET_OBS): Add linux-tdep.o.
10273         (HFILES_NO_SRCDIR): Add linux-tdep.h.
10274         (ALLDEPFILES): Add linux-tdep.c.
10275
10276         * configure.tgt (arm*-*-linux* | arm*-*-uclinux*)
10277         (i[34567]86-*-linux*, x86_64-*-linux*): Add linux-tdep.o to
10278         gdb_target_obs.
10279
10280 2009-02-06  Jim Blandy  <jimb@codesourcery.com>
10281             Daniel Jacobowitz  <dan@codesourcery.com>
10282             Vladimir Prus  <vladimir@codesourcery.com>
10283             Pedro Alves  <pedro@codesourcery.com>
10284
10285         * defs.h (enum lval_type): New value: lval_computed.
10286         * value.h (struct lval_funcs): New type.
10287         (allocate_computed_value, value_computed_funcs)
10288         (value_computed_closure): New declarations.
10289         * value.c (struct value): Add a structure to the location union
10290         for computed lvalues, containing 'funcs' and 'closure' members.
10291         (allocate_computed_value, value_computed_funcs)
10292         (value_computed_closure): New functions.
10293         (value_free): For computed lvalues, call the closure's
10294         'free_closure' function before freeing the value itself.
10295         (value_copy): If we're copying an lval_computed value, call the
10296         closure's 'copy_closure' function.
10297         (set_value_component_location): If the original value is a
10298         computed lvalue, then call the closure's 'copy_closure' function.
10299         (value_of_internalvar): If an internal variable's value is a
10300         computed lvalue, make retrieving its value produce an equivalent
10301         computed lvalue.
10302         * valops.c (value_fetch_lazy): Unlazy computed lvalues by calling
10303         their read function.
10304         (value_assign): Assign to computed lvalues by calling their write
10305         function.
10306
10307 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
10308
10309         * linux-nat.c (linux_nat_wait): Adjust.
10310         (linux_nat_pid_to_str): Adjust.  Remove call to thread_db_init.
10311         * linux-nat.h (thread_db_init): Delete declaration.
10312         * linux-thread-db.c (target_beneath): Delete.
10313         (thread_db_init): Delete.
10314         (thread_db_detach): Use find_target_beneath.
10315         (thread_db_wait): Adjust interface.  Use find_target_beneath.
10316         (thread_db_mourn_inferior): Use find_target_beneath.
10317         (thread_db_can_async_p, thread_db_is_async_p, thread_db_async)
10318         (thread_db_async_mask): Delete.
10319         (thread_db_pid_to_str): Adjust interface.  Use
10320         find_target_beneath.
10321         (thread_db_get_thread_local_address): Adjust interface.  Use
10322         find_target_beneath.
10323         (init_thread_db_ops): Delete references to delete functions.
10324         * target.c (update_current_target): Don't inherit or default
10325         to_wait.  Don't inherit to_pid_to_str and
10326         to_get_thread_local_address.
10327         (target_translate_tls_address): Look for a pushed target that
10328         implements to_get_thread_local_address, and use it instead of
10329         checking for target_get_thread_local_address_p.
10330         (target_wait, target_pid_to_str): Reimplement as functions.
10331         (dummy_pid_to_str): New.
10332         (init_dummy_target): Register it.
10333         (debug_to_wait): Delete.
10334         * target.h (struct target_ops): Make to_wait, to_pid_to_str and
10335         to_get_thread_local_address accept a pointer to struct target_ops.
10336         (target_wait): Delete macro, and declare as function.
10337         (target_pid_to_str): Likewise.
10338         (target_get_thread_local_address)
10339         (target_get_thread_local_address_p): Delete.
10340         (noprocess): Add NORETURN and ATTR_NORETURN tags.
10341         * inf-ptrace.c (inf_ptrace_wait): Adjust.
10342         (inf_ptrace_pid_to_str): New.
10343         (inf_ptrace_target): Use inf_ptrace_pid_to_str.
10344         * aix-thread.c (aix_thread_wait, aix_thread_pid_to_str): Adjust.
10345         * bsd-kvm.c (bsd_kvm_pid_to_str): Adjust.
10346         * bsd-uthread.c (bsd_uthread_wait, bsd_uthread_pid_to_str):
10347         Adjust.
10348         * corelow.c (core_pid_to_str): Adjust.
10349         * darwin-nat.c (darwin_wait, darwin_pid_to_str): Adjust.
10350         * dec-thread.c (dec_thread_wait, dec_thread_pid_to_str): Adjust.
10351         * gnu-nat.c (gnu_wait, gnu_pid_to_str): Adjust.
10352         * go32-nat.c (go32_wait, go32_pid_to_str): Adjust.
10353         * hpux-thread.c (hpux_thread_wait): Adjust.
10354         * inf-ttrace.c (inf_ttrace_wait, inf_ttrace_pid_to_str): Adjust.
10355         * monitor.c (monitor_wait, monitor_pid_to_str): Adjust.
10356         * nto-procfs.c (procfs_wait, procfs_pid_to_str): Adjust.
10357         * procfs.c (procfs_pid_to_str): Adjust.
10358         * remote-m32r-sdi.c (m32r_wait, m32r_pid_to_str): Adjust.
10359         * remote-mips.c (mips_wait): Adjust.
10360         * remote-sim.c (gdbsim_wait, gdbsim_pid_to_str): Adjust.
10361         * remote.c (remote_wait, remote_pid_to_str)
10362         (remote_get_thread_local_address): Adjust.
10363         * rs6000-nat.c (rs6000_wait): Adjust.
10364         * sol-thread.c (procfs_pid_to_str): Adjust declaration.
10365         (sol_thread_wait, solaris_pid_to_str): Adjust.
10366         * spu-linux-nat.c (spu_child_wait): Adjust.
10367         * windows-nat.c (windows_wait, windows_pid_to_str): Adjust.
10368
10369 2009-02-06  Tom Tromey  <tromey@redhat.com>
10370
10371         * Makefile.in (SUBDIR_PYTHON_OBS): Add python-cmd.o.
10372         (SUBDIR_PYTHON_SRCS): Add python-cmd.c.
10373         (python-cmd.o): New target.
10374         * cli/cli-decode.c (set_cmd_completer): Add self parameter to
10375         completer prototype.
10376         (add_cmd): Initialize destroyer member of cmd_list_element. Use
10377         make_symbol_completion_list_fn as completer.
10378         (delete_cmd): Call destroyer if one is set.
10379         * cli/cli-decode.h (cmd_list_element): Add cmd parameter to
10380         completer member.  Add destroyer member.
10381         (set_cmd_completer): Add self parameter to
10382         completer prototype.
10383         * command.h (set_cmd_completer): Add cmd parameter to
10384         completer prototype.
10385         * completer.c (noop_completer, filename_completer,
10386         location_completer, expression_completer, command_completer): Adapt
10387         to new completer prototype.
10388         (complete_line_internal): Pass new parameter to completer function.
10389         * completer.h (noop_completer, filename_completer,
10390         location_completer, expression_completer, command_completer): Adapt
10391         prototypes to new completer prototype.
10392         * interps.c (interpreter_completer): Adapt to new completer
10393         prototype.
10394         * python/python-cmd.c: New file.
10395         * python/python-internal.h (gdbpy_initialize_commands): Add
10396         prototype.
10397         (gdbpy_doc_cst): Add forward declaration.
10398         * python/python.c (gdbpy_doc_cst): Declare.
10399         (_initialize_python): Call gdbpy_initialize_commands.  Initialize
10400         gdbpy_doc_cst.
10401         * symtab.c (make_symbol_completion_list_fn): New function.
10402         * symtab.h (make_symbol_completion_list_fn): Add prototype.
10403
10404 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
10405
10406         * target.c (target_get_osdata): Check for equal or higher than
10407         process_stratum, not dummy_stratum.
10408
10409 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
10410
10411         * remote.c (extended_remote_can_run): Delete.
10412         (init_remote_ops): Don't register it.
10413         * target.c (target_get_osdata): Don't check for target_can_run.
10414         Instead any target that has already been pushed, otherwise
10415         fallback to the default run target.
10416
10417 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
10418
10419         * target.c (target_create_inferior, target_detach)
10420         (target_mourn_inferior, target_attach, target_close): Do target
10421         debug output.
10422         (debug_to_attach, debug_to_detach, debug_to_create_inferior)
10423         (debug_to_mourn_inferior, debug_to_close): Delete.
10424         (setup_target_debug): Adjust.
10425
10426 2009-02-05  Pedro Alves  <pedro@codesourcery.com>
10427
10428         * target.h (target_stopped_data_address_p): Delete declaration,
10429         and don't define as macro.
10430         * target.c (target_stopped_data_address_p): Delete.
10431
10432 2009-02-05  Thiago Jung Bauermann  <bauerman@br.ibm.com>
10433             Tom Tromey  <tromey@redhat.com>
10434
10435         * python/python-utils.c (target_string_to_unicode): New function.
10436         * python/python-internal.h (target_string_to_unicode): New prototype.
10437         * python/python-value.c (valpy_string): New function.
10438         (value_object_methods): Add `string' entry.
10439
10440 2009-02-05  Pedro Alves  <pedro@codesourcery.com>
10441
10442         * target.h (target_tid_to_str): Delete.
10443         * thread.c (print_thread_info, thread_apply_all_command)
10444         (thread_apply_command, thread_command, do_captured_thread_select):
10445         Use target_pid_to_str instead of target_tid_to_str.
10446         * linux-fork.c (delete_fork_command): Likewise.
10447
10448 2009-02-05  Pedro Alves  <pedro@codesourcery.com>
10449
10450         * frame.c (has_stack_frames): Make public.
10451         (get_prev_frame): Don't allow a NULL this_frame anymore.
10452         * frame.h (has_stack_frames): Declare.
10453         * varobj.c (find_frame_addr_in_frame_chain): Don't ever pass NULL
10454         to get_prev_frame, instead start at get_current_frame.
10455         (varobj_create): Check has_stack_frames before getting any frame;
10456         eliminate one usage of deprecated_safe_get_selected_frame.
10457
10458 2009-02-05  Tom Tromey  <tromey@redhat.com>
10459             Thiago Jung Bauermann  <bauerman@br.ibm.com>
10460
10461         * python/python.c (GdbMethods): Move to bottom of file.
10462         (get_parameter, execute_gdb_command, gdbpy_write,
10463         gdbpy_flush): Remove forward declarations.
10464         (eval_python_from_control_command): Fix error checking of function
10465         PyRun_SimpleString.  Fix error string.
10466         (python_command): Likewise.
10467         (execute_gdb_command): Added from_tty argument.
10468
10469 2009-02-05  Thiago Jung Bauermann  <bauerman@br.ibm.com>
10470
10471         * language.h (language_dfn): Add la_get_string member.
10472         (LA_GET_STRING): New macro.
10473         (default_get_string): New prototype.
10474         * language.c (default_get_string): New function.
10475         (unknown_language_defn, auto_language_defn, local_language_defn): Use
10476         default_get_string for la_get_string.
10477         * c-lang.c (c_get_string): New function.
10478         (c_language_defn, cplus_language_defn, asm_language_defn): Use
10479         c_get_string for la_get_string.
10480         (minimal_language_defn): Likewise
10481         * ada-lang.c (ada_language_defn): Likewise.
10482         * f-lang.c (f_language_defn): Use default_get_string for
10483         la_get_string.
10484         * jv-lang.c (java_language_defn): Likewise.
10485         * m2-lang.c (m2_language_defn): Likewise.
10486         * objc-lang.c (objc_language_defn): Likewise.
10487         * p-lang.c (p_language_defn): Likewise.
10488         * scm-lang.c (scm_language_defn): Likewise.
10489         * typeprint.c (type_to_string): New function.
10490         * value.h (type_to_string): New prototype.
10491         * valprint.c (val_print_string): Factor out code for reading string
10492         from the inferior into its own function.  Put 2 spaces after period
10493         in comments.
10494         (read_string): New function.
10495         * valprint.h (read_string): New prototype.
10496
10497 2009-01-07  Pierre Muller  <muller@ics.u-strasbg.fr>
10498             Tom Tromey  <tromey@redhat.com>
10499
10500         PR breakpoints/8079:
10501         * breakpoint.c (print_one_breakpoint): Use exp_string field
10502         to display expression of watchpoints.
10503         (mention): Likewise.
10504         (watch_command_1): Remove trailing whitespace from expression.
10505         * printcmd.c (struct display) <exp_string>: New field.
10506         (display_command): Set exp_string.
10507         (free_display): Free exp_string.
10508         (clear_displays): Use free_display.
10509         (do_one_display): Print exp_string.
10510         (display_info): Likewise.
10511
10512 2009-02-04  Tom Tromey  <tromey@redhat.com>
10513             Thiago Jung Bauermann  <bauerman@br.ibm.com>
10514             Phil Muldoon  <pmuldoon@redhat.com>
10515
10516         * python/python-internal.h (gdbpy_get_value_from_history): Rename
10517         prototype to gdbpy_history.
10518         (gdbpy_is_string): Declare.
10519         (python_string_to_host_string): Declare.
10520         * python/python-utils.c (gdbpy_is_string): New function.
10521         (unicode_to_encoded_string): New function.
10522         (unicode_to_target_string): Use it.
10523         (python_string_to_host_string): New function.
10524         * python/python-value.c (valpy_address): New function.
10525         (convert_value_from_python): Use gdbpy_is_string.  Change to throw
10526         Python exception instead of a GDB exception on error.  Properly check
10527         Python booleans.
10528         (valpy_getitem): Convert field name to host string.  Handle array
10529         accesses.  Adapt to new behaviour of convert_value_from_python.
10530         (valpy_new): Adapt to new behaviour of convert_value_from_python.
10531         (enum valpy_opcode) <VALPY_LSH, VALPY_RSH, VALPY_BITAND,
10532         VALPY_BITXOR, VALPY_BITOR>: New constants.
10533         (valpy_binop): Update.  Adapt to new behaviour of
10534         convert_value_from_python.
10535         (valpy_invert): New function.
10536         (valpy_lsh): Likewise.
10537         (valpy_rsh): Likewise.
10538         (valpy_and): Likewise.
10539         (valpy_or): Likewise.
10540         (valpy_xor): Likewise.
10541         (valpy_richcompare): Call convert_value_from_python instead of doing
10542         conversions itself.
10543         (is_intlike, valpy_int, valpy_long, valpy_float): New functions.
10544         (gdbpy_get_value_from_history): Rename
10545         function to gdbpy_history.
10546         (gdbpy_initialize_values): Don't set tp_new.
10547         (value_object_type): Add valpy_new.
10548         (value_object_methods): Add `address' entry.
10549         (value_object_as_number): Update for new methods.
10550         * python/python.c (GdbMethods): Rename entry from
10551         `get_value_from_history' to `history'.
10552
10553 2009-02-04  Jerome Guitton  <guitton@adacore.com>
10554
10555         * ada-lang.c (ada_template_to_fixed_record_type_1): Check size
10556         of type to guard against a crash.
10557
10558 2009-02-04  Jerome Guitton  <guitton@adacore.com>
10559
10560         * value.c (value_from_contents_and_address): Always return
10561         a lval_memory value, even if address is null.
10562
10563 2009-02-04  Tristan Gingold  <gingold@adacore.com>
10564
10565         * i386-darwin-tdep.c (i386_darwin_sigcontext_addr): New function.
10566         (amd64_darwin_sigcontext_addr): Ditto.
10567         (darwin_dwarf_signal_frame_p): Ditto.
10568         (i386_darwin_init_abi): Handle signal frames, use the const for
10569         sc_num_regs.
10570         (x86_darwin_init_abi_64): Ditto.
10571
10572 2009-02-04  Tristan Gingold  <gingold@adacore.com>
10573
10574         * i386-tdep.c (i386_sigtramp_p): Make it public.
10575         * i386-tdep.h (i386_sigtramp_p): Declare.
10576
10577 2009-02-04  Tristan Gingold  <gingold@adacore.com>
10578
10579         * machoread.c (macho_symfile_read): Read minsymtab also from
10580         shared libraries.
10581         (macho_symfile_read): Try to read dwarf2 frame info from main
10582         object file, but not from OSO files.
10583         (macho_symfile_offsets): Update section names for latest BFD
10584         changes.
10585         * i386-darwin-tdep.c (i386_darwin_init_abi): Call set_solib_ops.
10586         (x86_darwin_init_abi_64): Ditto.
10587         * solib-darwin.c: New file.
10588         * solib-darwin.h: New file.
10589         * configure.tgt: Add solib.o solib-darwin.o for Darwin.
10590
10591 2009-02-04  Tristan Gingold  <gingold@adacore.com>
10592
10593         * solist.h (struct target_so_ops): Comment fallback behavior for
10594         operation same.
10595
10596 2009-02-03  Tom Tromey  <tromey@redhat.com>
10597
10598         * completer.c (add_struct_fields): Check type_name against NULL
10599         before use.
10600
10601 2009-02-03  Joel Brobecker  <brobecker@adacore.com>
10602
10603         * MAINTAINERS: Update Elena's email address.
10604
10605 2009-02-02  Joel Brobecker  <brobecker@adacore.com>
10606
10607         * breakpoint (update_watchpoint): Minor comment adjustment.
10608
10609 2009-02-02  Tom Tromey  <tromey@redhat.com>
10610
10611         PR gdb/9594:
10612         * completer.c (count_struct_fields): Count method names.
10613         (add_struct_fields): Add matching method names.
10614
10615 2009-02-02  Doug Evans  <dje@google.com>
10616
10617         * configure.ac (gdbkt): Check both no_tcl/no_tk first, before
10618         doing any further tcl/tk configury.  Don't configure gdbtk if
10619         tcl or tk check fails.
10620         * aclocal.m4: Regenerate.
10621         * configure: Regenerate.
10622
10623 2009-02-02  Tom Tromey  <tromey@redhat.com>
10624
10625         PR exp/9059:
10626         * valops.c (find_overload_match): Follow typedefs before taking
10627         address of object argument.
10628
10629 2009-02-01  Doug Evans  <dje@google.com>
10630
10631         * target.h (target_waitstatus_to_string): Declare.
10632         * target.c (target_waitstatus_to_string): New function.  Copied from
10633         debug_to_wait.  Add missing entries for TARGET_WAITKIND_SYSCALL_ENTRY,
10634         TARGET_WAITKIND_SYSCALL_RETURN, TARGET_WAITKIND_IGNORE,
10635         TARGET_WAITKIND_NO_HISTORY.
10636         (debug_to_wait): Call it.
10637         * infrun.c (wait_for_inferior): If debug_infrun, print result of
10638         target_wait.
10639         (fetch_inferior_event): Ditto.
10640
10641 2009-01-30  Tom Tromey  <tromey@redhat.com>
10642
10643         * Makefile.in (HFILES_NO_SRCDIR): Remove i386-cygwin-tdep.h.
10644
10645 2009-01-30  Vladimir Prus  <vladimir@codesourcery.com>
10646
10647         PR 8145.
10648         * thread.c (do_captured_list_thread_ids): Report the current
10649         thread id.
10650
10651 2009-01-30  Vladimir Prus  <vladimir@codesourcery.com>
10652
10653         * breakpoint.c (create_breakpoint, create_breakpoints)
10654         (break_command_really, set_breakpoint): New parameter enabled.
10655         (create_breakpoint, break_command_really): Make breakpoint
10656         disabled if so requested.
10657         * breakpoint.h (set_breakpoint): New parameter enabled.
10658         * mi/mi-cmd-break.c (mi_cmd_break_insert): Handle the -d option.
10659
10660 2009-01-28  Doug Evans  <dje@google.com>
10661
10662         * amd64-tdep.h (amd64_displaced_step_copy_insn): Declare.
10663         (amd64_displaced_step_fixup): Declare.
10664         * amd64-tdep.c: #include opcode/i386.h, dis-asm.h.
10665         (amd64_arch_regmap): Move out of amd64_analyze_stack_align
10666         and make static global.
10667         (amd64_arch_regmap_len): New static global.
10668         (amd64_arch_reg_to_regnum): New function.
10669         (struct amd64_insn): New struct.
10670         (struct displaced_step_closure): New struct.
10671         (onebyte_has_modrm,twobyte_has_modrm): New static globals.
10672         (rex_prefix_p,skip_prefixes)
10673         (amd64_insn_length_fprintf,amd64_insn_length_init_dis)
10674         (amd64_insn_length,amd64_get_unused_input_int_reg)
10675         (amd64_get_insn_details,fixup_riprel,fixup_displaced_copy)
10676         (amd64_displaced_step_copy_insn)
10677         (amd64_absolute_jmp_p,amd64_absolute_call_p,amd64_ret_p)
10678         (amd64_call_p,amd64_breakpoint_p,amd64_syscall_p)
10679         (amd64_displaced_step_fixup): New functions.
10680         * amd64-linux-tdep.c: #include arch-utils.h.
10681         (amd64_linux_init_abi): Install displaced stepping support.
10682
10683 2009-01-28  Daniel Jacobowitz  <dan@codesourcery.com>
10684             Jerome Guitton  <guitton@adacore.com>
10685
10686         * configure, config.in: Regenerated.
10687         * configure.ac: Add --with-system-gdbinit.
10688         * main.c (get_init_files): New.
10689         (captured_main): Use get_init_files.  Load system gdbinit before
10690         $HOME/.gdbinit.
10691         (print_gdb_help): Print location of init files.
10692
10693 2009-01-28  Pedro Alves  <pedro@codesourcery.com>
10694
10695         * corefile.c (generic_search): Delete disabled code.
10696         * gdbcore.h (generic_search): Delete declaration.
10697
10698 2009-01-26  Pedro Alves  <pedro@codesourcery.com>
10699
10700         * linux-nat.c (linux_child_follow_fork): Copy attach_flag from the
10701         parent to the child.
10702         * inf-ttrace.c (inf_ttrace_follow_fork): Likewise.
10703         * inf-ptrace.c (inf_ptrace_follow_fork): Likewise.  Use
10704         remove_breakpoints to remove breakpoints from the parent.
10705
10706 2009-01-26  Pedro Alves  <pedro@codesourcery.com>
10707
10708         PR backtrace/9458, PR backtrace/8864:
10709         * frame.c (create_new_frame): Update the frame's cached PC before
10710         finding its unwinder.  Use frame_id_build to build the new frame's
10711         id.
10712         * stack.c (parse_frame_specification_1): Correct setting ``addrs''
10713         array values from the ``args'' array values.
10714
10715 2009-01-26  Pedro Alves  <pedro@codesourcery.com>
10716
10717         * gdbtypes.c (alloc_type, alloc_type_instance, create_range_type)
10718         (create_array_type, create_set_type, init_flags_type)
10719         (copy_type_recursive): Replace pairs of calls to XALLOC and memset
10720         with a call to XZALLOC or XCALLOC, and pairs of calls to
10721         obstack_alloc and memset with a call to OBSTACK_ZALLOC.
10722
10723 2009-01-26  Pedro Alves  <pedro@codesourcery.com>
10724
10725         Add "maint set|show internal-error|internal-warning quit|corefile
10726         ask|yes|no" commands.
10727
10728         PR gdb/7580:
10729         * utils.c (internal_problem_ask, internal_problem_yes)
10730         (internal_problem_no, internal_problem_modes): New.
10731         (struct internal_problem): Remove FIXME.  Make should_quit and
10732         should_dump_core types to char *.
10733         (internal_vproblem, internal_error_problem)
10734         (internal_warning_problem): Adjust.
10735         (set_internal_problem_cmd, show_internal_problem_cmd): New dummy
10736         functions.
10737         (add_internal_problem_command): New.
10738         (_initialize_utils): New.
10739
10740 2009-01-25  Pedro Alves  <pedro@codesourcery.com>
10741
10742         * infcmd.c (program_info): Use paddress instead of casting stop_pc
10743         to unsigned long.
10744
10745 2009-01-24  Pedro Alves  <pedro@codesourcery.com>
10746
10747         * infrun.c (normal_stop): Don't call
10748         deprecated_update_frame_pc_hack.
10749         * frame.c (deprecated_update_frame_pc_hack)
10750         (deprecated_update_frame_base_hack): Delete, and ...
10751         (create_new_frame): ... inline here.
10752         * frame.h (deprecated_update_frame_pc_hack)
10753         (deprecated_update_frame_base_hack): Delete declarations.
10754
10755 2009-01-23  Pedro Alves  <pedro@codesourcery.com>
10756
10757         * cli/cli-decode.c (add_setshow_zuinteger_cmd): New.
10758         * cli/cli-setshow.c (do_setshow_command): Handle it.
10759         * command.h (enum var_types): Add var_zuinteger.
10760         (add_setshow_zuinteger_cmd): Declare.
10761
10762         * valprint.c (_initialize_valprint): Change the set input-radix
10763         and set output-radix commands to zuinteger type.
10764
10765 2009-01-23  Pedro Alves  <pedro@codesourcery.com>
10766
10767         PR gdb/9664:
10768         * infrun.c (normal_stop): Tag threads as stopped, and run the
10769         hook-stop before printing the stack frame.
10770
10771 2009-01-22  Pedro Alves  <pedro@codesourcery.com>
10772
10773         PR c++/9631:
10774         * gnu-v3-abi.c (gnuv3_baseclass_offset): Call check_typedef on
10775         vbasetype.
10776
10777 2009-01-20  Kazu Hirata  <kazu@codesourcery.com>
10778
10779         * gdb/procfs.c (info_mappings_callback): Cast map->pr_size to
10780         unsigned long.
10781
10782 2009-01-20  Daniel Jacobowitz  <dan@codesourcery.com>
10783
10784         PR gdb/9346
10785         * infcmd.c (signal_command): Do not specify a resume PC.
10786
10787 2009-01-19  Doug Evans  <dje@google.com>
10788
10789         * dummy-frame.c (dummy_frame): Replace regcache member with
10790         caller_state.
10791         (dummy_frame_push): Replace caller_regcache arg with caller_state.
10792         All callers updated.
10793         (remove_dummy_frame,pop_dummy_frame,lookup_dummy_frame): New fns.
10794         (dummy_frame_pop): Rewrite.  Verify requested frame is in the
10795         dummy frame stack.  Restore program state.
10796         (cleanup_dummy_frames): Rewrite.
10797         (dummy_frame_sniffer): Update.  Make static.
10798         * dummy-frame.h (regcache,frame_info): Delete forward decls.
10799         (inferior_thread_state): New forward decl.
10800         (dummy_frame_push): Update prototype.
10801         * frame.c (frame_pop): dummy_frame_pop now does all the work for
10802         DUMMY_FRAMEs.
10803         * infcall.c (breakpoint_auto_delete_contents): Delete.
10804         (get_function_name,run_inferior_call): New fns.
10805         (call_function_by_hand): Simplify by moving some code to
10806         get_function_name, run_inferior_call.  Inferior function call wrapped
10807         in TRY_CATCH so there's less need for cleanups and all exits from
10808         proceed are handled similarily.  Detect program exit.
10809         Detect program stopping in a different thread.
10810         Make error messages more consistent.
10811         * inferior.h (inferior_thread_state): Declare (opaque type).
10812         (save_inferior_thread_state,restore_inferior_thread_state,
10813         make_cleanup_restore_inferior_thread_state,
10814         discard_inferior_thread_state, get_inferior_thread_state_regcache):
10815         Declare.
10816         (save_inferior_status): Update prototype.
10817         * infrun.c: (normal_stop): When stopped for the completion of an
10818         inferior function call, verify the expected stack frame kind.
10819         (inferior_thread_state): New struct.
10820         (save_inferior_thread_state,restore_inferior_thread_state,
10821         do_restore_inferior_thread_state_cleanup,
10822         make_cleanup_restore_inferior_thread_state,
10823         discard_inferior_thread_state,
10824         get_inferior_thread_state_regcache): New functions.
10825         (inferior_status): Move stop_signal, stop_pc, registers to
10826         inferior_thread_state.  Remove restore_stack_info.
10827         (save_inferior_status): Remove arg restore_stack_info.
10828         All callers updated.  Remove saving of state now saved by
10829         save_inferior_thread_state.
10830         (restore_inferior_status): Remove restoration of state now done by
10831         restore_inferior_thread_state.
10832         (discard_inferior_status): Remove freeing of registers, now done by
10833         discard_inferior_thread_state.
10834
10835 2009-01-18  Pedro Alves  <pedro@codesourcery.com>
10836
10837         * tui/tui-disasm.c (tui_vertical_disassem_scroll): Scroll one line
10838         at a time, times NUM_TO_SCROLL.
10839         * tui/tui-winsource.c (tui_horizontal_source_scroll): Don't try to
10840         fetch the selected frame if there is no stack.
10841
10842 2009-01-18  Pedro Alves  <pedro@codesourcery.com>
10843
10844         PR gdb/9747:
10845         * gdbthread.h (finish_thread_state, finish_thread_state_cleanup):
10846         Declare.
10847         * thread.c (finish_thread_state, finish_thread_state_cleanup): New.
10848         * infrun.c (wait_for_inferior, fetch_inferior_event): If an error
10849         is thrown while handling an event, finish the thread state.
10850         (normal_stop): Use finish_thread_state cleanup.
10851         * infcmd.c (run_command_1): If an error is thrown while starting
10852         the inferior, finish the thread state.
10853
10854 2009-01-18  Pedro Alves  <pedro@codesourcery.com>
10855
10856         * tui/tui-winsource.c (tui_update_breakpoint_info): In asm layout,
10857         skip breakpoints without a location (pending breakpoints).
10858
10859 2009-01-18  Pedro Alves  <pedro@codesourcery.com>
10860
10861         PR build/9186:
10862         * hppa-hpux-tdep.c (hppa_hpux_write_pc): Remove 'return'.
10863
10864 2009-01-18  Nick Roberts  <nickrob@snap.net.nz>
10865
10866         * thread.c (thread_command): Move call to annotate_thread_changed
10867         to...
10868         (do_captured_thread_select): ... here, to avoid printing an
10869         annotation if the thread change generates an exception.
10870
10871 2009-01-16  Joel Brobecker  <brobecker@adacore.com>
10872
10873         * NEWS: Document x86_64/MinGW as a new native configuration.
10874
10875 2009-01-16  Joel Brobecker  <brobecker@adacore.com>
10876
10877         * NEWS: Move the documentation of "info os processes" to
10878         the appropriate section (documenting the new commands).
10879
10880 2009-01-15  Doug Evans  <dje@google.com>
10881
10882         * target.h (target_signal_to_string): Make return type const char *.
10883         (target_signal_to_name): Ditto.
10884         (target_signal_from_name): Make arg const char *.
10885         * infrun.c (sig_print_info): Update.
10886         * signals/signals.c (signals): Make array and struct members const.
10887         (target_signal_to_string): Make return type const char *.
10888         (target_signal_to_name): Ditto.
10889         (target_signal_from_name): Make arg const char *.
10890
10891 2009-01-15  Ulrich Weigand  <uweigand@de.ibm.com>
10892             Tristan Gingold  <gingold@adacore.com>
10893
10894         * solist.h (struct target_so_ops): New member bfd_open.
10895         (solib_find): Add prototype.
10896         (solib_bfd_fopen): Add prototype.
10897         * solib.c (solib_find, solib_bfd_fopen): New functions, extracted
10898         from solib_bfd_open.
10899         (solib_bfd_open): Use ops->bfd_open override if present.  Call
10900         solib_find and solib_bfd_open otherwise.
10901
10902         * objfiles.h (OBJF_KEEPBFD): New define.
10903         * objfiles.c (free_objfile): Do not close BFD if OBJF_KEEPBFD
10904         objfile flag is set.
10905         * solib.c (symbol_add_stub): Do not allocate second BFD for
10906         shared library; use OBJF_KEEPBFD flag on solib objfile.
10907
10908 2009-01-15  Ulrich Weigand  <uweigand@de.ibm.com>
10909
10910         * frame.c (get_frame_arch): Abort if called with NULL this_frame.
10911
10912 2009-01-15  Ulrich Weigand  <uweigand@de.ibm.com>
10913
10914         * value.h (address_of_variable): Add prototype.
10915         (locate_var_value): Remove prototype.
10916
10917         * findvar.c (read_var_value): Do not attempt to default frame
10918         to selected frame.
10919         (locate_var_value): Remove function.
10920         * valops.c (value_of_variable): Retrieve selected frame for
10921         symbols that require a frame when called with NULL block.
10922         * valops.c (address_of_variable): New function.
10923
10924         * eval.c (evaluate_subexp_for_address): Call address_of_variable
10925         instead of calling locate_var_value.
10926         (evaluate_subexp_with_coercion): Likewise.
10927
10928 2009-01-14  Daniel Jacobowitz  <dan@codesourcery.com>
10929
10930         * NEWS: Document "define" for prefixed commands.
10931         * cli/cli-cmds.c (show_user): Update calls to show_user_1.  Call
10932         show_user_1 for prefix commands.
10933         * cli/cli-decode.c (help_cmd_list): Recurse for "help user-defined".
10934         * cli/cli-script.c (validate_comname): Rewrite to handle prefix
10935         commands.  Return the containing command list.
10936         (define_command, document_command): Update to handle prefix commands.
10937         (show_user_1): Add prefix and name arguments.  Handle prefix
10938         commands.
10939         * cli/cli-script.h (show_user_1): Update prototype.
10940
10941 2009-01-14  Kai Tietz  <kai.tietz@onevision.com>
10942
10943         * ser-mingw.c (console_select_thread): Add return to make
10944         compiler happy.
10945         (pipe_select_thread): Likewise.
10946         (file_select_thread): Likewise.
10947
10948 2009-01-14  Pedro Alves  <pedro@codesourcery.com>
10949
10950         * mi/mi-main.c (mi_cmd_execute): Clean up parenthesis mess from
10951         previous change.
10952
10953 2009-01-14  Pedro Alves  <pedro@codesourcery.com>
10954
10955         * remote.c (extended_remote_mourn_1): Invalidate our notion of
10956         current general thread.
10957
10958 2009-01-14  Pedro Alves  <pedro@codesourcery.com>
10959
10960         * mi/mi-main.c (mi_cmd_execute): Also allow -list-thread-groups
10961         without a live selected thread.
10962
10963 2009-01-14  Joel Brobecker  <brobecker@adacore.com>
10964
10965         Update the copyright notice of some of the files I missed
10966         in the previous copyright update.
10967
10968 2009-01-14  Joel Brobecker  <brobecker@adacore.com>
10969
10970         * windows-nat.c (handle_unload_dll): Use %p to print the DLL
10971         base address instead of casting it to DWORD.
10972
10973 2009-01-13  Ulrich Weigand  <uweigand@de.ibm.com>
10974
10975         * dwarf2loc.c (dwarf2_evaluate_loc_desc): Do not call get_frame_arch
10976         for NULL frame pointers.
10977
10978 2009-01-13  Mark Kettenis  <kettenis@gnu.org>
10979
10980         * utils.c (host_address_to_string): Reimplement in a way that
10981         avoids the cast of the address to long.
10982
10983 2009-01-13  Joel Brobecker  <brobecker@adacore.com>
10984
10985         * mdebugread.c (parse_symbol): Save the symbol private data
10986         using SYMBOL_VALUE_BYTES instead of SYMBOL_VALUE.
10987         (psymtab_to_symtab_1): Likewise.
10988         (parse_procedure): Declare variable "e" only in the scope
10989         where it is used. Extract the symbol private data using
10990         SYMBOL_VALUE_BYTES.
10991
10992 2009-01-13  Jim Blandy  <jimb@codesourcery.com>
10993
10994         Abstract out common code for copying value locations.
10995
10996         * value.h (set_value_component_location): New declaration.
10997         * value.c (set_value_component_location): New function.
10998         (value_primitive_field): Use it.
10999         * valarith.c (value_subscript, value_subscripted_rvalue): Same.
11000         * valops.c (search_struct_field, value_slice): Same.
11001         * ada-lang.c (coerce_unspec_val_to_type)
11002         (ada_value_primitive_packed_val): Same.
11003
11004 2009-01-13  Joel Brobecker  <brobecker@adacore.com>
11005
11006         * MAINTAINERS (GLOBAL MAINTAINERS): Add Tom Tromey.
11007
11008 2009-01-12  Christopher Faylor  <me+cygwin@cgf.cx>
11009
11010         * amd64-windows-nat.c Rename gdb-specific win32_* to windows_*
11011         throughout.
11012         * i386-cygwin-tdep.c: Ditto.
11013         * i386-windows-nat.c: Ditto.
11014         * windows-nat.h: Ditto.
11015         * windows-tdep.c: Ditto.
11016         * windows-tdep.h: Ditto.
11017         * windows-nat.c: Ditto.
11018         (cygwin_load_start): Redefine as CORE_ADDR.
11019         (cygwin_load_end): Ditto.
11020         (windows_make_so): Coerce result of address arithmetic to uintptr_t
11021         before coercing to CORE_ADDR to avoid a compiler warning.
11022         (handle_exception): Define addr as CORE_ADDR and coerce
11023         ExceptionAddress to uintptr_t before assigining to avoid a compiler
11024         warning.
11025         * config/djgpp/fnchange.lst: Add mappings for recently renamed windows
11026         files.
11027
11028 2009-01-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
11029
11030         Fix linking with --enable-targets=all:
11031         * Makefile.in (ALL_TARGET_OBS): Add windows-tdep.o.
11032         (HFILES_NO_SRCDIR): Add windows-tdep.h.
11033         (ALLDEPFILES): Add windows-tdep.c.
11034
11035 2009-01-11  Chris Faylor  <me.gdb@cgf.cx>
11036
11037         * win32-nat.h: Delete.
11038         * windows-nat.h: Rename from win32-nat.h.
11039         * win32-nat.c: Delete.
11040         * windows-nat.c: Rename from win32-nat.c.
11041         * win32-termcap.c: Delete.
11042         * windows-termcap.c: Rename from win32-termcap.c.
11043         * amd64-windows-nat.c: Handle rename from win32-nat.h -> windows-nat.h.
11044         * configure.ac: Handle rename from win32-termcap.c ->
11045         windows-termcap.c.
11046         * configure: Regenerate.
11047         * gdb_curses.h: Change comment to reflect rename from win32-termcap.c
11048         -> windows-termcap.c.
11049         * i386-cygwin-tdep.c: Handle rename from win32-tdep.h ->
11050         windows-tdep.h.
11051         * i386-windows-nat.c: Refect rename from win32-nat.h -> windows-nat.h.
11052         * windows-nat.c: Ditto.  Also reflect rename from from win32-tdep.h ->
11053         windows-tdep.h.
11054         (win32_make_so): Handle cygwin compiler warning due to change of
11055         load_addr from DWORD to LPVOID.
11056         (handle_load_dll): Use %p in format string to properly print address
11057         and avoid a compiler warning.
11058         (DEBUG_EXCEPTION_SIMPLE): Ditto.
11059         (handle_exception): Ditto.
11060         * windows-tdep.c: Handle rename from win32-tdep.h -> windows-tdep.h.
11061         * config/i386/cygwin.mh: Handle rename from win32-nat.o ->
11062         windows-nat.o.
11063         * config/i386/mingw.mh: Ditto.
11064         * config/i386/mingw64.mh: Ditto.
11065
11066 2009-01-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
11067
11068         * f-typeprint.c (f_type_print_varspec_suffix): Convert the autovariable
11069         arrayprint_recurse_level to a parameter.  Update all the callers.  New
11070         comment at autovariables.
11071
11072 2009-01-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
11073
11074         * gdbtypes.c (make_qualified_type, replace_type): Reformat to the GNU
11075         coding style.
11076
11077 2009-01-11  Joel Brobecker  <brobecker@adacore.com>
11078
11079         * target.c (target_xfer_partial): Use host_address_to_string to
11080         print the address of readbuf and writebuf. Cast the address of
11081         elements inside the myaddr buffer into intptr_t.
11082         (deprecated_debug_xfer_memory): Use paddress to print memaddr.
11083         Cast the address of elements inside the myaddr buffer into
11084         intptr_t.
11085
11086 2009-01-11  Joel Brobecker  <brobecker@adacore.com>
11087
11088         * amd64-windows-nat.c, amd64-windows-tdep.c: New files.
11089         * config/i386/mingw64.mh, config/i386/nm-cygwin64.h: New files.
11090         * configure.host, configure.tgt: Add handling for x86_64/windows.
11091         * config/djgpp/fnchange.lst: Add entries for amd64-windows-nat.c
11092         and amd64-windows-tdep.c.
11093
11094 2009-01-11  Joel Brobecker  <brobecker@adacore.com>
11095
11096         * win32-tdep.h, win32-tdep.c: New files.
11097         * i386-cygwin-tdep.h: Delete.
11098         * i386-cygwin-tdep.c: Include win32-tdep.h instead of
11099         i386-cygwin-tdep.h.
11100         (win32_xfer_shared_library): Delete.  Moved to win32-tdep.c.
11101         * win32-nat.c: Likewise.
11102         * configure.tgt: Add win32-tdep.o to the list of target object
11103         files for i386-cygwin and i386-mingw targets.
11104
11105 2009-01-11  Joel Brobecker  <brobecker@adacore.com>
11106
11107         * win32-nat.h: New file.
11108         * win32-nat.c (mappings): Initialize to NULL.
11109         (win32_set_context_register_offsets): New function.
11110         * i386-windows-nat.c: New file.
11111         (mappings): Moved here from win32-nat.c.
11112         (_initialize_i386_windows_nat): New function.
11113         * config/i386/mingw.mh (NATDEPFILES): Add i386-windows-nat.o.
11114         * config/i386/cygwin.mh (NATDEPFILES): Likewise.
11115
11116 2009-01-09  Andreas Schwab  <schwab@suse.de>
11117
11118         * Makefile.in (init.c): Set LANG/LC_ALL to C, not c.
11119
11120 2009-01-09  Daniel Jacobowitz  <dan@codesourcery.com>
11121
11122         * gdbtypes.c (append_composite_type_field): Correct the location of
11123         appended fields.
11124
11125 2009-01-09  Pedro Alves  <pedro@codesourcery.com>
11126
11127         * defs.h (deprecated_error_hook): Delete declaration.
11128         * interps.c (clear_interpreter_hooks): Adjust.
11129         * remote-sim.c (gdb_os_error): Don't try to call
11130         deprecated_error_hook.  No need to call exit anymore.
11131         * top.c (deprecated_error_hook): Delete.
11132
11133 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
11134
11135         * arch-utils.c (gdbarch_update_p): Use host_address_to_string
11136         to print the address of the gdbarch pointer.
11137
11138 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
11139
11140         * gdbarch.sh: Fix all the compilation errors on amd64-windows
11141         due to casting a pointer to a long when printing a function
11142         address. Instead, use host_address_to_string to convert our
11143         address to a string.
11144         * gdbarch.c: Regenerate.
11145
11146 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
11147
11148         * event-top.c (async_disconnect, async_stop_sig): use "raise"
11149         instead of "kill" to raise a signal.
11150
11151 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
11152
11153         * win32-nat.c (get_module_name): Change the type of parameter
11154         "base_address" to LPVOID.  Remove unnecessary cast.
11155         (struct lm_info): Change type of load_addr to LPVOID.
11156         (win32_make_so): Change the type of parameter "load_addr"
11157         to LPVOID.  Remove some unnecessary casts.
11158         (handle_unload_dll): Change the type of "lpBaseOfDll" to LPVOID.
11159         (win32_xfer_shared_libraries): Add missing cast.
11160
11161 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
11162
11163         * win32-nat.c (has_detach_ability, set_process_privilege):
11164         Cast the result of GetProcAddress to (void *) to avoid
11165         a compilation warning.
11166
11167 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
11168
11169         * win32-nat.c (CONTEXT_EXTENDED_REGISTERS): Define to 0 if not
11170         already defined.
11171
11172 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
11173
11174         * win32-nat.c (get_image_name, win32_xfer_memory): Fix type
11175         definition of local variable "done".
11176         (info_w32_command, handle_exception): Remove unnecessary cast.
11177
11178 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
11179
11180         * win32-nat.c (kernel32_DebugSetProcessKillOnExit): Renames
11181         DebugSetProcessKillOnExit.  Update all uses in this file.
11182         (kernel32_DebugActiveProcessStop): Renames DebugActiveProcessStop.
11183         Update all uses in this file.
11184
11185 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
11186
11187         * win32-nat.c (do_initial_win32_stuff): Add new ops parameter,
11188         and use it when pushing the target.
11189         (win32_attach, win32_create_inferior): Update call to
11190         do_initial_win32_stuff.
11191         (win32_detach, win32_mourn_inferior): Use our ops parameter
11192         instead of the global win32_ops to unpush the target.
11193
11194 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
11195
11196         * ser-mingw.c (ser_windows_open): Use proper type when casting
11197         in call to _open_osfhandle.
11198
11199 2009-01-09  Kai Tietz  <kai.tietz@onevision.com>
11200
11201         * coff-pe-read.c (read_pe_exported_syms): Fix typo.
11202
11203 2009-01-09  Joel Brobecker  <brobecker@adacore.com>
11204
11205         * CONTRIBUTE: Minor reformatting.
11206
11207 2009-01-08  Kai Tietz  <kai.tietz@onevision.com>
11208
11209         * MAINTAINERS: Add myself to Write After Approval.
11210         * coff-pe-read.c (read_pe_exported_syms): Enable read of PE+
11211         export directory.
11212
11213 2009-01-08  Nathan Froyd  <froydnj@codesourcery.com>
11214
11215         * remote-sim.c (gdb_os_error): Mark as a noreturn function.
11216         Call exit to make it obvious to GCC.
11217
11218 2009-01-08  Tom Tromey  <tromey@redhat.com>
11219
11220         PR breakpoints/9350:
11221         * varobj.c (varobj_invalidate): Unconditionally free
11222         all_rootvarobj.
11223         * symfile.c (syms_from_objfile): Free local_addr when returning
11224         normally.
11225         * exec.c (exec_file_attach): Do cleanups before returning.
11226         (exec_file_command): Likewise.
11227         * corefile.c (reopen_exec_file): Do cleanups before returning.
11228         * breakpoint.c (insert_breakpoint_locations): Do cleanups before
11229         returning.
11230         (do_vec_free): New function.
11231         (update_global_location_list): Make a cleanup for old_locations.
11232         Do cleanups before returning.  Remove unused variable 'e'.
11233         (find_condition_and_thread): Free result of parsing the
11234         expression.
11235         (print_it_typical): Do cleanups before returning.
11236         (breakpoint_re_set_one): Always free sals.sals.
11237
11238 2009-01-08  Joel Brobecker  <brobecker@adacore.com>
11239             Emi Suzuki  <emi-suzuki@tjsys.co.jp>
11240
11241         * breakpoint.c (do_enable_breakpoint): Use update_watchpoint for
11242         watchpoints.
11243
11244 2009-01-07  Doug Evans  <dje@google.com>
11245
11246         * top.c (gdb_prompt_string): Delete, unused.
11247
11248 2009-01-07  Pedro Alves  <pedro@codesourcery.com>
11249
11250         Delete ONE_PROCESS_WRITETEXT leftovers.
11251
11252         * breakpoint.c (insert_bp_location): Delete process_warning
11253         argument.  Adjust.
11254         (insert_breakpoint_locations): Adjust.
11255         (reattach_breakpoints): Adjust.
11256         * infrun.c (normal_stop): Drop "It might be running in another
11257         process" notice.
11258
11259 2009-01-07  Stan Shebs  <stan@codesourcery.com>
11260
11261         * config/pa/linux.mh (XDEPFILES): Remove.
11262
11263 2009-01-07  Doug Evans  <dje@google.com>
11264
11265         * cli/cli-cmds.c (set_debug): Fix cut-n-paste error.
11266
11267 2009-01-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
11268
11269         * f-typeprint.c (f_type_print_base <TYPE_CODE_STRUCT>): Fix output
11270         spacing, a regression from 2008-04-22.
11271
11272 2009-01-07  Joel Brobecker  <brobecker@adacore.com>
11273
11274         * utils.c (gdb_print_host_address): Adjust implementation to
11275         reuse host_address_to_string. Move comment explaining the conversion
11276         from host address to string from here...
11277         (host_address_to_string): ... to there.
11278
11279 2009-01-07  Emi Suzuki  <emi-suzuki@tjsys.co.jp>
11280
11281         * MAINTAINERS: Add myself for write after approval privileges.
11282
11283 2009-01-06  Tom Tromey  <tromey@redhat.com>
11284
11285         * value.c (set_internalvar): Use value_free, not xfree.
11286
11287 2009-01-06  Jim Blandy  <jimb@red-bean.com>
11288
11289         Check return values of functions declared with warn_unused_result
11290         attribute in GLIBC 2.8.
11291         * cli/cli-cmds.c (pwd_command): Check return value from getcwd.
11292         * inflow.c (check_syscall): New function.
11293         (new_tty): Use check_syscall to check return values from open and dup.
11294         * linux-nat.c (linux_nat_info_proc_cmd): Check return value from fgets.
11295         * main.c (captured_main): Call cwd after setting up gdb_stderr;
11296         check for errors from getcwd.
11297         * mi/mi-cmd-env.c (mi_cmd_env_pwd): Check return value from getcwd.
11298         * ui-file.c (stdio_file_write): Ignore return value from fwrite.
11299         (stdio_file_fputs): Same.
11300         * utils.c (internal_vproblem): abort if last-ditch error message
11301         write fails.
11302
11303         * top.c (gdb_init): Don't set the current directory here; that's
11304         already been done in captured_main.
11305
11306 2009-01-06  Sandra Loosemore  <sandra@codesourcery.com>
11307
11308         * ser-tcp.c: Adjust includes.
11309         (tcp_set_cmdlist, tcp_show_cmdlist): Declare.
11310         (tcp_auto_retry, tcp_retry_limit): Declare.
11311         (TIMEOUT): Remove, in favor of tcp_retry_limit.
11312         (POLL_INTERVAL): Increase to 5, in favor of backoff logic.
11313         (wait_for_connect): New function.
11314         (net_open): Use it.  Add auto-retry logic.
11315         (set_tcp_cmd, show_tcp_cmd): New functions.
11316         (_initialize_ser_tcp): Initialize new "set/show tcp auto-retry"
11317         and "set/show tcp connect-timeout" commands.
11318         * NEWS: Document new commands.
11319
11320 2009-01-05  Tom Tromey  <tromey@redhat.com>
11321
11322         * python/python-internal.h (Py_ssize_t): Define as int.
11323
11324 2009-01-05  Jim Blandy  <jimb@red-bean.com>
11325
11326         * MAINTAINERS: Fix my e-mail address as steering committee member.
11327
11328 2009-01-03  Joel Brobecker  <brobecker@adacore.com>
11329
11330         Updated copyright notices for most files.
11331
11332 2009-01-03  Joel Brobecker  <brobecker@adacore.com>
11333
11334         * top.c (print_gdb_version): Update copyright year.
11335
11336 2009-01-03  Joel Brobecker  <brobecker@adacore.com>
11337
11338         * config/djgpp/fnchange.lst: Add entry for ChangeLog-2008.
11339
11340 2009-01-01  Pedro Alves  <pedro@codesourcery.com>
11341
11342         PR breakpoints/9681:
11343         * exceptions.h (enum errors): New error type, MEMORY_ERROR.
11344         * corefile.c (memory_error): Rewrite to throw a MEMORY_ERROR.
11345         * breakpoint.c (fetch_watchpoint_value): Ignore MEMORY_ERRORs, but
11346         retrow all other exceptions.
11347
11348 For older changes see ChangeLog-2008.
11349 \f
11350 Local Variables:
11351 mode: change-log
11352 left-margin: 8
11353 fill-column: 74
11354 version-control: never
11355 coding: utf-8
11356 End: