Commit graph

65405 commits

Author SHA1 Message Date
Doug Evans
efbae210a7 * gdb.base/source-test.gdb: New file.
Remove duplicate entry.
2010-04-21 03:27:35 +00:00
gdbadmin
a906e07362 *** empty log message *** 2010-04-21 00:00:34 +00:00
Alan Modra
417bffda6c daily update 2010-04-21 00:00:04 +00:00
Joel Brobecker
6fbc7cd8d3 Implement thread support with core files on alpha-tru64
Thread support currently does not work with core files.  Note that,
in order to thread support to work on tru64, one need to allow GDB
to write in the core file (this is because the thread debug library
needs to write).

An obvious visible symptom of the problem is that "info threads" does
not list the various threads:

    (gdb) info threads
    * 1 <main task>  0x000003ff805c0918 in __nxm_thread_kill ()
       from /usr/shlib/libpthread.so

One other noticeable consequence is that GDB generates some warnings
when using "info tasks":

    (gdb) info tasks
    warning: Could not find thread id from THREAD = 0x3ffc01b6000

    warning: Could not find thread id from THREAD = 0x20000e2b4c0

      ID       TID P-ID Pri State                  Name
    *  1 140051000    0  30 Runnable               main_task
    *  2 14005c000    1  30 Accept or Select Term  my_t

(notice also how both tasks are marked as being the active task,
which cannot be true).

The problem is that the dec-thread module has not updated its thread list
after the core file got loaded.  In fact, the list only gets resync'ed
at the end of each target-wait.  The solution was to implement the
find_new_threads target_ops method.

gdb/ChangeLog:

        Implement thread support with core files on alpha-tru64.
        * dec-thread.c (dec_thread_find_new_threads): New function,
        extracted from resync_thread_list.
        (resync_thread_list): Add OPS parameter.  Replace extracted-out
        code by call to dec_thread_find_new_threads.
        (dec_thread_wait): Update call to resync_thread_list.
        (init_dec_thread_ops): Set dec_thread_ops.to_find_new_threads.
2010-04-20 23:14:12 +00:00
Joel Brobecker
1667e6e349 Add missing directory name in last ChangeLog entry. 2010-04-20 22:51:24 +00:00
Joel Brobecker
438c98a1ed [AVR] inferior call of subprogram with pointer as argument
On AVR, the gdb view of an address is different from the machine view of the
same address.  We need to use special machinery implemented by value_pointer
to take the pointer of a value.

For instance, considering the following function...

  procedure Trace (Unit    : T; Message : String);

... where T is an access Integer (a pointer to an integer), call to this
function currently triggers the following warnings:

    (gdb) call debug.trace (me, "You")
    warning: Value does not fit in 16 bits.
    warning: Value does not fit in 16 bits.
    Tracing message: You

It could have been worse if Trace actually tried to dereference the Unit
argument...

gdb/ChangeLog (from Tristan Gingold):

	* ada-lang.c (value_pointer): New function.
	(make_array_descriptor): Call value_pointer to convert addresses to
	pointers.

Tested on avr and x86_64-linux.
2010-04-20 22:40:36 +00:00
Joel Brobecker
2971b56ba6 [AIX] Memory error while checking if pointer is descriptor.
A long time ago (Oct 2009), I noticed a problem on AIX, where something
failed with an error while the debugger was checking whether an address
was a descriptor or not.  Unfortunately, like an idiot, I forgot to write
notes about the scenario where the problem occured - I am usually pretty
meticulous about that because my memory of these things is really bad.
I hope you'll forgive me for not providing a solid testcase - if it's
any consolation, I've searched for a long time before giving up :-(.

Based on the testsuite reports that I have, I think that this happened
while inserting a breakpoint, as follow:

    (gdb) break x
    Cannot access memory at address 0x200093b4

What happened is that rs6000_convert_from_func_ptr_addr tried to read
the memory at the given address, and fail because of an exception.
It seems pretty clear that, if the address was in fact a descriptor,
GDB would have been able to read the target memory region.

So this patch protects the memory-read against exceptions, and treats
such exceptions as an indication that our address is not a descriptor.

gdb/ChangeLog:

        * rs6000-aix-tdep.c: #include exceptions.h.
        (rs6000_convert_from_func_ptr_addr): If an exception is thrown
        while reading the memory at ADDR, then ADDR cannot be a function
        descriptor.
2010-04-20 22:38:54 +00:00
Joel Brobecker
be9425454f "unsupported language" error in info types when using Ada.
This implements a rudimentary version of the la_print_typedef method
for Ada.  Ada usually does not use typedefs, but there is one exception:
pointers to unconstrained arrays.  Without this patch, we sometimes
get an error in the "info types" output:

    (gdb) info types new_integer_type
    All types matching regular expression "new_integer_type":

    File foo.adb:
    Language not supported.

For now, we treat the typedef as if it did not exist - using the
underlying type instead.  This is the right thing to do for most cases,
the only exception being access to array types.  Since we already have
a general issue in handling these pointers (we confuse them with fat
pointers), we will enhance ada_print_typedef to handle these pointers
at the same time we address the general issue.

gdb/ChangeLog:

        * ada-typeprint.c (ada_print_typedef): New function.
        * ada-lang.h (ada_print_typedef): Add declaration.
        * ada-lang.c (ada_language_defn): set la_print_typdef field
        to ada_print_typedef.

gdb/testsuite/ChangeLog:

        * info_types.c, info_types.exp: New files.

Tested on x86_64-linux.
2010-04-20 22:38:02 +00:00
Joel Brobecker
1ca8fce046 Unused function in procfs.c on alpha-tru64.
The procfs_address_to_host_pointer function was not used outside of
alpha-tru64, and thus was triggering a compiler warning.  Adjusted
accordingly.

gdb/ChangeLog:

        * procfs.c (procfs_address_to_host_pointer): Only define when used.
2010-04-20 22:36:35 +00:00
Joel Brobecker
e9ef4f394d procfs.c: iterate_over_mappings callback has wrong profile.
The function proc_find_memory_regions calls iterate_over_mappings as
follow:

> return iterate_over_mappings (pi, func, data,
>                               find_memory_regions_callback);

The problem is that both func and find_memory_regions_callback
do not match the profile expected by iterate_over_mappings:

> iterate_over_mappings (procinfo *pi, int (*child_func) (), void *data,
>                        int (*func) (struct prmap *map,
>                                     int (*child_func) (),
>                                     void *data))

We cannot change proc_find_memory_regions such that FUNC is a pointer
to a function that takes no argument (in place of the 6 that it has).
This is because proc_find_memory_regions is used as a target_ops method.
However, it turns out that changing iterate_over_mappings to conform
to the profile imposed by the target_ops vector is possible without
much effort.

gdb/ChangeLog:

        * procfs.c (iterate_over_mappings_cb_ftype): New typedef.
        (iterate_over_mappings): Adjust function profile. Add declaration.
        (insert_dbx_link_bpt_in_region, info_mappings_callback):
        Adjust accordingly.
2010-04-20 22:35:58 +00:00
Joel Brobecker
e294797a88 procfs.c: Move solib_mappings_callback up to avoid compiler warning.
There are currently 2 issues with the placement of this routine:
  - It's defined after it is being used (causing an implicit declaration);
  - It looks like it's being defined all the time, whereas it is used
    only on mips-irix (AFAICT) - shouldn't have this triggered a warning
    on sparc-solaris, for instance???

In any case, this patch moves this function up, inside the right region,
just before the function where it is actually used.

gdb/ChangeLog:

        * procfs.c (solib_mappings_callback): Move function up to avoid
        a compiler warning.
2010-04-20 22:35:03 +00:00
Joel Brobecker
a223f1e7a0 procfs.c: Move find_signalled_thread and find_stop_signal.
These two functions are only used from procfs_make_note_section, which
itself is only defined if:

    #if defined (UNIXWARE) || defined (PIOCOPENLWP) || defined (PCAGENT)

So these two functions are unused on mips-irix, and they get flagged
by -Wunused-function. This patch simply moves these functions closer
to the function that uses them, which also has the effect of putting
them inside the same #if block as procfs_make_note_section.  Thus
they are defined only when used.

gdb/ChangeLog:

        * procfs.c (find_signalled_thread, find_stop_signal): Move
        these functions down to define them only when used.
2010-04-20 22:34:09 +00:00
Joel Brobecker
0c3acc0923 Wrong value printed by info locals for dynamic object.
The problem is printing the wrong value for dynamic local variables
when using the "info locals" command. Consider the following code:

   procedure Print (I1 : Positive; I2 : Positive) is
      type My_String is array (I1 .. I2) of Character;
      I : My_String := (others => 'A');
      S : String (1 .. I2 + 3) := (others => ' ');
   begin
      S (I1 .. I2) := String (I); --  BREAK
      Put_Line (S);
   end Print;

After the debugger stopped at BREAK, we try printing all local variables.
Here is what we get:

        (gdb) info locals
        i = "["00"]["00"]"
        s = "["00"]["00"]["00"]["00"]["00"]["00"]["00"]["00"]"

Curiously, printing their value using the "print" command works:

        (gdb) print i
        $1 = "AA"
        (gdb) print s
        $2 = "        "

We traced the problem to trying to get the contents of a variable
(call to value_contents) before "fix'ing" it.  For those not familiar
with the Ada language support, "fixing" a value consists of swapping
the value's dynamic type with a static version that is appropriate
for our actual value.  As a result, the dynamic type was used to
determine the value size, which is zero, and thus the value contents
was empty.

gdb/ChangeLog:

        * valprint.c (common_val_print): Fix the value before extracting
        its contents.
        * ada-lang.c (ada_to_fixed_value): Make this function extern.
        * ada-lang.h (ada_to_fixed_value): New function declaration.
        * ada-valprint.c (ada_value_print): Use ada_to_fixed_value
        to avoid code duplication and fix a bug in the handling of
        fixed types contents.

gdb/testsuite/ChangeLog:

        * gdb.ada/dyn_loc: New testcase.
2010-04-20 22:26:57 +00:00
Joseph Myers
418205099b bfd:
* elf32-tic6x.h: New.
	* elf-bfd.h (enum elf_target_id): Define TIC6X_ELF_DATA.
	* elf32-tic6x.c (struct elf32_tic6x_obj_tdata, elf32_tic6x_tdata,
	elf32_tic6x_howto_table_rel, elf32_tic6x_info_to_howto_rel,
	elf32_tic6x_set_use_rela_p, elf32_tic6x_mkobject,
	elf32_tic6x_new_section_hook, elf32_tic6x_rel_relocation_p,
	bfd_elf32_mkobject, bfd_elf32_new_section_hook): New.
	(elf32_tic6x_reloc_type_lookup, elf32_tic6x_reloc_name_lookup,
	elf32_tic6x_relocate_section): Handle REL relocations.
	(elf_info_to_howto_rel): Define to elf32_tic6x_info_to_howto_rel.

gas:
	* config/tc-tic6x.c (OPTION_MGENERATE_REL): New.
	(md_longopts): Add -mgenerate-rel.
	(tic6x_generate_rela): New.
	(md_parse_option): Handle -mgenerate-rel.
	(md_show_usage): Add comment that -mgenerate-rel is undocumented.
	(tic6x_init_after_args): New.
	(md_apply_fix): Correct shift calculations for SB-relative
	relocations.
	(md_pcrel_from): Change to tic6x_pcrel_from_section.  Do not
	adjust addresses for relocations referencing symbols in other
	sections.
	(tc_gen_reloc): Adjust addend calculations for REL relocations.
	* config/tc-tic6x.h (MD_PCREL_FROM_SECTION,
	tic6x_pcrel_from_section, tc_init_after_args,
	tic6x_init_after_args): New.

ld/testsuite:
	* ld-tic6x/data-reloc-global-rel.d,
	ld-tic6x/data-reloc-global-rel.s,
	ld-tic6x/data-reloc-local-r-rel.d,
	ld-tic6x/data-reloc-local-rel.d, ld-tic6x/mvk-reloc-global-rel.d,
	ld-tic6x/mvk-reloc-global-rel.s, ld-tic6x/mvk-reloc-local-1-rel.s,
	ld-tic6x/mvk-reloc-local-2-rel.s,
	ld-tic6x/mvk-reloc-local-r-rel.d, ld-tic6x/mvk-reloc-local-rel.d,
	ld-tic6x/pcrel-reloc-global-rel.d,
	ld-tic6x/pcrel-reloc-local-r-rel.d,
	ld-tic6x/pcrel-reloc-local-rel.d, ld-tic6x/sbr-reloc-global-rel.d,
	ld-tic6x/sbr-reloc-global-rel.s, ld-tic6x/sbr-reloc-local-1-rel.s,
	ld-tic6x/sbr-reloc-local-2-rel.s,
	ld-tic6x/sbr-reloc-local-r-rel.d, ld-tic6x/sbr-reloc-local-rel.d:
	New.
2010-04-20 22:03:00 +00:00
Tom Tromey
31ef98ae61 * dwarf2read.c (dwarf2_compute_name): Handle DW_AT_linkage_name.
(read_partial_die): Likewise.
	(dwarf_attr_name): Likewise.
2010-04-20 21:19:07 +00:00
Sriraman Tallam
ce97fa81e0 2010-04-18 Sriraman Tallam <tmsriram@google.com>
* icf.cc (get_section_contents): Check for preemptible functions.
	Ignore addend when appropriate.
	* symtab.cc (should_add_dynsym_entry): Add new parameter.  Check for
	section folded.
	(add_from_relobj): Check for section folded.
	(set_dynsym_indexes): Fix call to should_add_dynsym_entry.
	* symtab.h (should_add_dynsym_entry): Add new parameter.
	* target-reloc.h (scan_relocs): Check for section folded.
	* x86_64.cc (Target_x86_64::Scan::possible_function_pointer_reloc):
	Check reloc types for function pointers in shared objects.
	* testsuite/Makefile.am (icf_virtual_function_folding_test): New test
	case.
	(icf_preemptible_functions_test): New test case.
	(icf_string_merge_test): New test case.
	* testsuite.Makefile.in: Regenerate.
	* testsuite/icf_safe_so_test.sh: Change to not fold foo_glob and
	bar_glob.  Refactor code.
	* testsuite/icf_preemptible_functions_test.cc: New file.
	* testsuite/icf_preemptible_functions_test.sh: New file.
	* testsuite/icf_string_merge_test.cc: New file.
	* testsuite/icf_string_merge_test.sh: New file.
	* testsuite/icf_virtual_function_folding_test.cc: New file.
	* testsuite/icf_virtual_function_folding_test.sh: New file.
2010-04-20 21:13:30 +00:00
Chris Moller
ec31cde594 PR 10867
* cp-valprint.c (global): Adding new static array recursion
detection obstack.
(cp_print_value_fields, cp_print_static_field): Added new static
array recursion detection code.
* gdb.cp/Makefile.in  (EXECUTABLES): Added pr10687
* gdb.cp/pr10687.cc: New file.
* gdb.cp/pr10687.exp: New file
2010-04-20 20:22:12 +00:00
Mark Kettenis
e0e0e543d5 * i386-linux-tdep.c (i386_linux_regset_sections): Size of the
general-purpose register set should be 68 instead of 144.
(i386_linux_sse_regset_sections): Likewise.
(i386_linux_avx_regset_sections): Likewise.
2010-04-20 19:39:50 +00:00
Stan Shebs
08922a1050 2010-04-20 Stan Shebs <stan@codesourcery.com>
Nathan Sidwell  <nathan@codesourcery.com>

	* dwarf2loc.c (struct axs_var_loc): New struct.
	(dwarf2_tracepoint_var_loc): New function.
	(dwarf2_tracepoint_var_access): New function.
	(dwarf2_tracepoint_var_ref): Use dwarf2_tracepoint_var_loc, deal
	with DW_OP_piece.
	(locexpr_describe_location_piece): New function.
	(locexpr_describe_location_1): New function.
	(locexpr_describe_location): Call it, update signature.
	(loclist_describe_location): Rewrite to loop over locations,
	update signature.
	* symtab.h (struct symbol_computed_ops): Add address to
	describe_location arguments, return void.
	* printcmd.c (address_info): Get context PC, pass to computed
	location description.
	* tracepoint.c (scope_info): Ditto.
	* ax-gdb.c (trace_kludge): Export.
2010-04-20 18:52:59 +00:00
Tom Tromey
2dc7f7b33b * dwarf2-frame.c (decode_frame_entry_1): Handle CIE version 4.
(struct dwarf2_cie) <segment_size>: New field.
	* dwarf2read.c (partial_read_comp_unit_head): Accept DWARF 4.
	(skip_one_die): Handle DW_FORM_flag_present, DW_FORM_sec_offset,
	DW_FORM_exprloc.
	(read_attribute_value): Handle DW_FORM_flag_present,
	DW_FORM_sec_offset, DW_FORM_exprloc.
	(dump_die_shallow): Likewise.
	(attr_form_is_section_offset): Handle DW_FORM_sec_offset.
	(dwarf2_const_value): Handle DW_FORM_exprloc.
	(attr_form_is_block): Likewise.
	(struct line_header) <maximum_ops_per_instruction>: New field.
	(dwarf_decode_line_header): Set new field.
	(dwarf_decode_lines): Handle new field.
2010-04-20 17:33:14 +00:00
Sergio Durigan Junior
ce4b068214 gdb/ChangeLog:
2010-04-20  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* f-exp.y: Add new production to recognize the `logical*8' type.
	(LOGICAL_S8_KEYWORD): New token.
	* f-lang.c (enum f_primitive_types)
	<f_primitive_type_logical_s8>: New field.
	(f_language_arch_info): Handling `logical*8' type.
	(build_fortran_types): Building `logical*8' type.
	* f-lang.h (struct builtin_f_type) <builtin_logical_s8>: New field.

gdb/testsuite/ChangeLog:

2010-04-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
	    Sergio Durigan Junior  <sergiodj@redhat.com>

	* gdb.fortran/logical.exp: New testcase.
	* gdb.fortran/logical.f90: New file.
2010-04-20 17:22:19 +00:00
Nick Clifton
aa27de9549 PR gas/11507
* macro.c (macro_expand_body): Do not treat LOCAL as a keyword in
        altmacro mode if found inside a quoted string.

        * gas/macros/altmacro.s: New test.
        * gas/macros/altmacro.d: Expected output.
2010-04-20 15:54:48 +00:00
Pierre Muller
1c07cc1903 * win32-i386-low.c: Use __x86_64__ macro instead of __x86_64 to
be consistent with other sources of this directory.
	(init_registers_amd64): Correct name of source file of this function
	in the comment.
2010-04-20 09:58:42 +00:00
Jakub Jelinek
643be349a9 * dwarf2.c (find_abstract_instance_name, scan_unit_for_symbols): Treat
DW_AT_linkage_name the same as DW_AT_MIPS_linkage_name.
2010-04-20 09:53:05 +00:00
Nick Clifton
21b13a5473 Updated French translation. 2010-04-20 09:28:15 +00:00
Nick Clifton
2b6929648c * readelf.c: Add _() macros to constant strings that are
translatable.
2010-04-20 08:21:54 +00:00
Mike Frysinger
048e5b805b gas: bfin: replace index() with strchr() 2010-04-20 07:10:31 +00:00
Doug Evans
9f117f4723 (generic_readchar): Tweak previous checkin, close error_fd if EOF. 2010-04-20 06:06:38 +00:00
Doug Evans
ff9f22f1a7 * ser-base.c (generic_readchar): Watch for EOF in read of error_fd.
* ser-pipe.c (pipe_open): Fix file descriptor leaks.
	(pipe_close): Ditto.
2010-04-20 05:52:07 +00:00
Doug Evans
3436961f29 * gdb.base/help.exp (help source): Update expected output. 2010-04-20 05:36:02 +00:00
Pierre Muller
437125bd80 * configure.tgt (x86_64-*-mingw*): Set BUILD_GDBSERVER to yes. 2010-04-20 00:21:33 +00:00
Pierre Muller
e0a61e099d * configure.srv (x86_64-*-mingw*): New configuration for Windows
64-bit executables.
2010-04-20 00:19:35 +00:00
Pierre Muller
54709339f5 * win32-i386-low.c: Add 64-bit support.
(CONTEXT_EXTENDED_REGISTERS): Set macro to zero if not exisiting.
	(init_registers_amd64): Declare.
	(mappings): Add 64-bit version of array.
	(init_windows_x86): New function.
	(the_low_target): Change init_arch field to init_windows_x86.
2010-04-20 00:17:05 +00:00
Pierre Muller
e8f0053d6e * win32-low.c: Adapt to support also 64-bit architecture.
(child_xfer_memory): Use uintptr_t type for local variable `addr'.
	(get_image_name): Use SIZE_T type for local variable `done'.
	(psapi_get_dll_name): Use LPVOID type for parameter `BaseAddress'.
	(toolhelp_get_dll_name): Idem.
	(handle_load_dll): Use CORE_ADDR type for local variable `load_addr'.
	Use uintptr_t typecast to avoid warning.
	(handle_unload_dll): Use uintptr_t typecast to avoid warning.
	(handle_exception): Use phex_nz to avoid warning.
	(win32_wait): Remove unused local variable `process'.
2010-04-20 00:07:44 +00:00
Alan Modra
d1b7138c17 daily update 2010-04-20 00:00:06 +00:00
gdbadmin
2dd893b03e *** empty log message *** 2010-04-20 00:00:03 +00:00
Pierre Muller
e8e6c82edd * windows-tdep.c (windows_get_tlb_type): Change current_seh.handle
type to void function.
2010-04-19 23:52:11 +00:00
Stan Shebs
4136fdd244 2010-04-19 Stan Shebs <stan@codesourcery.com>
Vladimir Prus  <vladimir@codesourcery.com>

	* tracepoint.c (tfind_1): Add missing newline, report exit from
	tfind mode as such.
	* target.c (update_current_target): Make default
	to_trace_find return -1.
2010-04-19 22:06:17 +00:00
Mike Frysinger
0c4b2e6393 gdb: objc-lang: check symbol name before accessing memory
The current ObjC logic will check both the symbol name and the target
address space when trying to locate an appropriate selector.  The problem
is that first the target address space is checked before the symbol name.
This may lead to a lot of unnecessary host<->target transactions when
dealing with a non-OjbC target that does use function descriptors to
describe functions as every symbol will have its FD read just to have the
result thrown away with non-matching symbol names.

It also may lead to problems when a non-FD symbol is found that points near
the end of the address space as the target will throw up a memory_error().
One such example are symbols that are not functions, smaller than a FD,
and are the last valid location.  Obviously treating it as a larger data
struct can cause memory overflows.

So to speed things up and not screw over such targets, check the symbol
name (which we already have locally) first before attempting to read the
function's descriptor.  This fixes breakpoints with Blackfin Linux FDPIC
ELFs, and seems to cause no native regressions on my x86_64/Linux system.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-19 19:51:39 +00:00
Mike Frysinger
952ad68fec sim: mn10300: convert to new sockser status code
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-19 19:03:28 +00:00
Mike Frysinger
bd0bd5081f sim: add --model-info helper option
There is an architecture-info flag for listing possible arch values, but
there is on equivalent for listing possible model values.  So add the
equivalent for models.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-19 18:42:00 +00:00
Pedro Alves
78076abca5 * ada-lang.c (print_recreate_exception)
<ex_catch_exception_unhandled>: It's "catch exception unhandled",
	not "catch unhandled".
2010-04-19 17:06:11 +00:00
Pierre Muller
c481e77ec5 * configure.srv (srv_amd64_regobj): Replace `x86-64-avx.o' by
`amd64-avx.o'.
2010-04-19 14:08:05 +00:00
Nick Clifton
c9736ba0ee * archive64.c (bfd_elf64_archive_slurp_armap): Remove unused
arhdrpos variable.
        * elf64-x86-64.c (elf64_x86_64_relocate_section): Add unused
        attribute to warned variable.  Remove unused val, type and type2
        variables.
2010-04-19 08:46:48 +00:00
Jan Kratochvil
4d836c0979 gdb/testsuite/
* gdb.base/solib-display.exp: Replace gdb_exit, gdb_start,
	gdb_reinitialize_dir and gdb_load by clean_restart.  Remove trailing
	gdb_exit and return.
	(executable): New variable.
	(binfile): Use it.
2010-04-19 03:13:07 +00:00
Pedro Alves
645797a830 Fix format of previous-previous entry. 2010-04-19 01:08:25 +00:00
Pedro Alves
6149aea959 PR breakpoints/8554.
Implement `save-breakpoints'.

	gdb/
	* breakpoint.c (save_cmdlist): New.
	(breakpoint_set_cmdlist, breakpoint_show_cmdlist): Moved up close
	to save_cmdlist.
	(print_recreate_catch_fork): New.
	(catch_fork_breakpoint_ops): Install it.
	(print_recreate_catch_vfork): New.
	(catch_vfork_breakpoint_ops): Install it.
	(print_recreate_catch_syscall): New.
	(catch_syscall_breakpoint_ops): Install it.
	(print_recreate_catch_exec): New.
	(catch_exec_breakpoint_ops): Install it.
	(print_recreate_exception_catchpoint): New.
	(gnu_v3_exception_catchpoint_ops): Install it.
	(save_breakpoints): New, based on tracepoint_save_command, but
	handle all breakpoint types.
	(save_breakpoints_command): New.
	(tracepoint_save_command): Rename to...
	(save_tracepoints_command): ... this, and reimplement using
	save_breakpoints.
	(save_command): New.
	(_initialize_breakpoints): Install the "save" command prefix.
	Install the "save breakpoints" command.  Make "save-tracepoints" a
	deprecated alias for "save tracepoints".
	* breakpoint.h (struct breakpoint_ops): New field `print_recreate'.
	* ada-lang.c (print_recreate_exception): New.
	(print_recreate_catch_exception): New.
	(catch_exception_breakpoint_ops): Install it.
	(print_recreate_catch_exception_unhandled): New.
	(catch_exception_unhandled_breakpoint_ops): Install it.
	(print_recreate_catch_assert): New.
	(catch_assert_breakpoint_ops): Install it.

	* NEWS: Mention the new `save breakpoints' command.  Mention the
	new `save tracepoints' alias and that `save-tracepoints' is now
	deprecated.

	gdb/doc/
	* gdb.texinfo (Save Breakpoints): New node.
	(save-tracepoints): Rename to ...
	(save tracepoints): ... this.  Mention that `save-tracepoints' is
	a deprecated alias to `save tracepoints'.

	gdb/testsuite/
	* gdb.trace/save-trace.exp: Adjust.
2010-04-19 00:48:44 +00:00
gdbadmin
8b47812243 *** empty log message *** 2010-04-19 00:00:34 +00:00
Alan Modra
fee6d4388a daily update 2010-04-19 00:00:05 +00:00
Pedro Alves
0a8fce9a70 PR tui/9217
* tui/tui-out.c: Include cli-out.h.
	(tui_table_begin, tui_table_body, tui_table_end, tui_table_header)
	(tui_begin, tui_end, tui_field_int, tui_field_skip)
	(tui_field_string, tui_field_fmt, tui_spaces, tui_text)
	(tui_message, tui_wrap_hint, tui_flush): Delete forward
	declarations.
	(struct ui_out_data): Rename to...
	(struct tui_ui_out_data): ... this.  Remove `stream' and
	`suppress_output' fields, and inherit cli_ui_out_data.
	(tui_out_data): New typedef.
	(tui_ui_out_impl): Don't initialize fields staticaly.
	(tui_table_begin, tui_table_body, tui_table_end, tui_table_header)
	(tui_begin, tui_end): Delete.
	(tui_field_int): Adjust to delegate most work to the base type.
	(tui_field_skip): Delete.
	(tui_field_string, tui_field_fmt): Adjust comment.  Adjust to
	delegate most work to the base type.
	(tui_spaces): Delete.
	(tui_text): Adjust to delegate most work to the base type.
	(tui_message): Delete.
	(tui_wrap_hint): Delete.
	(tui_flush): Delete.
	(out_field_fmt): Delete.
	(field_separator): Delete.
	(tui_out_new): Adjust to initialize the base type.
	(_initialize_tui_out): Initialize tui_ui_out_impl.
	* cli-out.c (struct ui_out_data): Moved out to cli-out.h, renamed
	cli_ui_out_data.
	(cli_out_data): Adjust.
	(cli_ui_out_impl): Make extern.
	(cli_table_header, cli_field_int, cli_field_skip): Use
	uo_field_string instead of cli_field_string.
	(cli_redirect): Adjust to use cli_out_data.
	(cli_out_data_ctor): New.
	(cli_out_new): Use it.
	* cli-out.h (struct ui_file): Remove forward declaration.
	(struct cli_ui_out_data): New, moved from cli-out.c, and renamed.
	(cli_ui_out_impl): Declare.
	(cli_out_data_ctor): Declare.
	* ui-out.c (struct ui_out) <data>: Change type to void pointer.
	(uo_field_string): No longer static.
	(ui_out_data): Change return type to void pointer.
	(ui_out_new): Change `data' parameter type to void pointer.
	* ui-out.h (struct ui_out_data): Don't forward declare.
	(ui_out_data): Change return type to void pointer.
	(ui_out_new): Change `data' parameter type to void pointer.
	(uo_field_string): Declare.
2010-04-18 00:11:55 +00:00