Commit Graph

23136 Commits

Author SHA1 Message Date
Mark Kettenis d9c78d7d2c * gdb.arch/powerpc-prologue.exp: Code doesn't save %r31 so don't
expect to find it in the "info frame" output.
2008-08-21 11:36:38 +00:00
Paul N. Hilfinger 158c766541 Amplify last NEWS entry about boolean types in Ada, and add
corresponding description of treatment of True and false to gdb.texinfo.
2008-08-21 09:05:32 +00:00
gdbadmin b6eed229c6 *** empty log message *** 2008-08-21 00:00:03 +00:00
Daniel Jacobowitz f2f0e013fc * dwarf2read.c (die_specification, dwarf2_extension, follow_die_ref):
Make the dwarf2_cu * parameter output as well as input.  Update it if
	we follow a reference to another CU.
	(read_func_scope, determine_class_name, namespace_name, dwarf2_attr)
	(die_type, die_containing_type): Update calls to changed functions.
	Use the returned CU along with the returned DIE.
	(read_namespace): Use dwarf2_attr instead of dwarf2_extension.
2008-08-20 20:37:57 +00:00
Daniel Jacobowitz 03dd20cc6c * dwarf2read.c (queue_comp_unit): Take an objfile argument. Read
in the DIEs here.
	(process_queue): Do not read in the DIEs here.
	(psymtab_to_symtab_1): Update call to queue_comp_unit.
	(read_full_die): Do not call queue_comp_unit from here.
	(maybe_queue_comp_unit): New function.
	(follow_die_ref): Use it.
2008-08-20 20:31:49 +00:00
Daniel Jacobowitz b60c80d639 * dwarf2read.c (struct attribute): Move earlier.
(struct die_info): Change attrs to a trailing array.
	(dwarf_alloc_die): Take the number of attributes.  Allocate space
	for them.
	(read_full_die): Update call to dwarf_alloc_die.  Do not manually
	allocate attributes.
2008-08-20 20:12:24 +00:00
Daniel Jacobowitz 51545339ac * dwarf2read.c (REF_HASH_SIZE): Delete.
(struct dwarf2_cu): Replace die_ref_table with die_hash.
	(struct die_info): Remove next_ref.
	(store_in_ref_table): Remove offset argument.  Rewrite to use
	htab_find_slot_with_hash.
	(die_hash, die_eq): New.
	(read_comp_unit): Allocate the die_hash.
	(read_die_and_children): Update call to store_die_ref.
	(follow_die_ref): Rewrite to use htab_find_with_hash.
2008-08-20 19:50:54 +00:00
Daniel Jacobowitz 7475d07224 * dwarf2read.c (free_die_list, copy_die): Delete.
(dwarf_alloc_die): Take a CU argument.  Allocate the new DIE
	on the obstack.
	(read_full_die): Update call to dwarf_alloc_die.  Allocate
	attributes on the CU obstack.
	(free_one_comp_unit): Do not call free_die_list.
2008-08-20 19:39:11 +00:00
Daniel Jacobowitz 1d325ec1dc * dwarf2read.c (read_die_and_children): Ignore NULL DIEs.
(read_die_and_siblings): Likewise.  Do not add padding DIEs to the
	sibling list.
	(read_full_die): Do not allocate DIEs for abbrev 0.
	(follow_die_ref): Correct error message.
2008-08-20 19:27:58 +00:00
Daniel Jacobowitz 97a2d1d342 * gdb.base/interp.exp: Always consume both prompts. 2008-08-20 18:55:57 +00:00
Pedro Alves b96e292732 gdb/
* linespec.c (symtab_from_filename): Also throw NOT_FOUND_ERROR if
	there are no symbols loaded, instead of throwing a generic error.
	(decode_variable): Likewise.

	gdb/testsuite/
	* gdb.base/pending.exp: Test pending breakpoints without symbols
	loaded.
2008-08-20 11:47:57 +00:00
Pedro Alves f1f6aadf8c * objfiles.h (struct obj_section): Remove addr and endaddr fields.
(obj_section_offset, obj_section_addr, obj_section_endaddr): New
	macros.
	* objfiles.c (add_to_objfile_sections): Don't set addr, endaddr
	and offset.  Use size_t instead of unsigned long.
	(build_objfile_section_table): Use size_t instead of unsigned
	long.
	(objfile_relocate): Don't relocate s->addr and s->endaddr, they're
	gone.
	(find_pc_sect_section): Use obj_section_addr and
	obj_section_endaddr.
	* symfile.c (symfile.c): Remove code that maps sections
	offsets in "addr" to the object's sections.
	* blockframe.c (find_pc_partial_function): Use obj_section_endaddr.
	* gcore.c (gcore_create_callback): Use obj_section_addr and
	obj_section_endaddr.
	* maint.c (print_objfile_section_info): Likewise.
	* printcmd.c (sym_info): Use obj_section_addr and
	obj_section_endaddr.
	* symtab.c (fixup_section): Likewise.
2008-08-20 11:21:44 +00:00
Mark Kettenis b365f67721 * Makefile.in: Remove page break; OpenBSD make chokes on them. 2008-08-20 10:18:23 +00:00
Mark Kettenis 3923a2b2ac * sparc-tdep.c: Make some comments catch up with reality. 2008-08-20 09:43:16 +00:00
Vladimir Prus b3eb342c7c * NEWS: Mention 'set target-async' 2008-08-20 04:58:34 +00:00
Vladimir Prus 30e026bbf0 * gdb.textinfo (GDB/MI Miscellaneous Commands): Use @table
for possible features of -list-features.
2008-08-20 04:57:32 +00:00
gdbadmin 3458c49707 *** empty log message *** 2008-08-20 00:00:33 +00:00
Vladimir Prus 8cf6e61a08 * lib/mi-support.exp (mi_expect_stop): Produce
more details on failures.
	* gdb.mi/mi-nonstop.exp: New.
	* gdb.mi/non-stop.c: New.
2008-08-19 14:13:29 +00:00
Vladimir Prus 7f7efbd95f * infrun.c (resume): If the thread is placed to the deferred step
queue, mark it as running.
2008-08-19 13:57:28 +00:00
Vladimir Prus 9908b56683 Make sure target supports non-stop.
* infcmd.c (run_command_1, attach_command): If non-stop mode
        is requested, verify the target supports it.
        * linux-nat.c (linux_nat_supports_non_stop): New.
        (linux_nat_add_target): Register the above.
        * target.c (find_default_supports_non_stop)
        (target_supports_non_stop): New.
        (init_dummy_target): Register find_default_supports_non_stop.
        * target.h (struct target_ops): New field to_supports_non_stop.
        (target_supports_non_stop): New.
2008-08-19 13:22:14 +00:00
Vladimir Prus c6ebd6cf99 * target.c (target_async_permitted, target_async_permitted_1)
(set_maintenance_target_async_permitted)
        (show_maintenance_target_async_permitted): New.
        (initialize_targets): Register 'set target-async'.
        * target.h (target_async_permitted): Declare.
        * linux-nat.c (linux_nat_async_enabled)
        (linux_nat_async_permitted, set_maintenance_linux_async_permitted)
        (show_maintenance_linux_async_permitted): Remove.
        (sigchld_handler, linux_nat_is_async_p, linux_nat_can_async_p)
        (get_pending_events, linux_nat_async): Use target_async_permitted.
        (linux_nat_set_async_mode): Remove, moving the only used bits
        into...
        (linux_nat_setup_async): This.
        (_initialize_linux_nat): Do not register 'maint set linux-async'.
        Use linux_nat_setup_async.
        * remote.c (remote_async_permitted, remote_async_permitted_set)
        (set_maintenance_remote_async_permitted)
        (show_maintenance_remote_async_permitted): Remove.
        (remote_open_1, remote_terminal_inferior, remote_can_async_p)
        (remote_is_async_p): Use target_async_permitted.
        (_initialize_remote): Don't register 'main set remote-async'.
        * mi/mi-cmds.c (mi_cmds): Register -list-target-features.
        * mi/mi-cmds.h (mi_cmd_list_target_features): New.
        * mi/mi-main.c (mi_cmd_list_target_features): New.
2008-08-19 13:05:02 +00:00
Vladimir Prus 073120b913 * target.c (maybe_kill_then_attach)
(maybe_kill_then_create_inferior): Remove.
        (update_current_target): Do not default to_attach,
        to_create_inferiour, to_is_async_p.
2008-08-19 12:49:19 +00:00
Vladimir Prus aeac0ff9c2 * doc/gdb.texinfo (PowerPC): Fix typo.
(PowerPC features): Fix typo.
2008-08-19 12:31:35 +00:00
Paul N. Hilfinger bfb8797a01 Add NEWS entry for last Ada changes, and adjust typos in last ChangeLog
entry.
2008-08-19 10:36:43 +00:00
Paul N. Hilfinger 690cc4ebad * ada-lang.c (discrete_type_high_bound,discrete_type_low_bound): Change
API to return LONGEST values rather than struct values.
(ada_evaluate_subexp): Change to use new API of discrete_type_low_bound
and discrete_type_high_bound.
(to_fixed_range_type): Create a range type in cases where
argument is base type and its limits are representable as ints.
(ada_is_modular_type): Correct so that base type must be integral.
* ada-lex.l (TRUEKEYWORD,FALSEKEYWORD): Make 'true' and 'false'
keywords when they appear alone, since we are phasing out
direct representation of these identifiers in ebugging data.
* ada-exp.y: Define 'true' and 'false' as primaries.
(type_boolean): New function.
(type_int,type_long,type_long_long,type_floattype_double)
(type_long_double): Remove uses of current_gdbarch for consistency
with type_boolean.
(write_int): Change comment to indicate that it might write boolean
constant as well.
* ada-typeprint.c (ada_print_type): Print '(false, true)' for boolean
type, since will no longer be represented as enumerated type in
debugging data.
* ada-valprint.c (print_optional_low_bound): Handle boolean case
as well.
2008-08-19 10:10:39 +00:00
gdbadmin f4282c6634 *** empty log message *** 2008-08-19 00:00:03 +00:00
Pedro Alves 3954008141 * bsd-uthread.c (bsd_uthread_close): New.
(bsd_uthread_deactivate): Don't cleanup here, just unpush the
	target.
	(bsd_uthread_solib_loaded): Fix typo.
	(bsd_uthread_target): Register bsd_uthread_close.
2008-08-18 23:24:57 +00:00
Pedro Alves 87ab71f0a0 * corelow.c (core_open): Assume there was no upper layer left
behind from a previous inferior.
	* target.c (pop_all_targets): Rename to ...
	(pop_all_targets_above): ... this.  Add a target stratum
	parameter.  Use it instead of hardcoding the dummy_stratum.
	(pop_all_targets): New, defer to pop_all_targets_above.
	(target_preopen): Use pop_all_targets_above.
	* target.h (pop_all_targets_above): Declare.
2008-08-18 23:12:40 +00:00
Pedro Alves 5231c1fd73 2008-08-18 Pedro Alves <pedro@codesourcery.com>
gdb/doc/
	* observer.texi (thread_ptid_changed): New.

	gdb/
	* gdbthread.h (thread_change_ptid): Declare.
	* infrun.c (infrun_thread_ptid_changed): New.
	(_initialize_infrun): Attach infrun_thread_ptid_changed to the
	thread_ptid_changed observer.
	* regcache.c (regcache_thread_ptid_changed): New.
	(_initialize_regcache): Attach regcache_thread_ptid_changed to the
	thread_ptid_changed observer.
	* thread.c (thread_change_ptid): New.
2008-08-18 22:35:17 +00:00
Tom Tromey f98dfd4b46 * symfile.c (reread_symbols): Update.
* solib-sunos.c (allocate_rt_common_objfile): Update.
	* objfiles.c (allocate_objfile): Update.
	* objfiles.h (struct objfile) <md, mmfd, deprecated_obj_private>:
	Remove.
2008-08-18 19:44:49 +00:00
Tom Tromey d87ecdfba2 * gdbtypes.c (copy_type_recursive): Allocate 'stored' on objfile's
obstack.
2008-08-18 19:41:28 +00:00
Luis Machado 677c5bb1ab * doc/gdb.texinfo (PowerPC): Mention Extended FPR's for POWER7.
(PowerPC features): Mention feature set for VSX registers.

	* gdbserver/Makefile.in: Add required vsx dependencies.

	* gdbserver/linux-ppc-low: Define PPC_FEATURE_HAS_VSX.
	Declare init_registers_powerpc_vsx32l.
	Declare init_registers_powerpc_vsx64l.
	Define PTRACE_GETVSXREGS and PTRACE_SETVSXREGS.
	(ppc_arch_setup): Check for VSX in hwcap.
	(ppc_fill_vsxregset): New function.
	(ppc_store_vsxregset): New function.
	Add new VSX entry in regset_info target_regsets.

	* gdbserver/configure.srv: Add new VSX dependencies.
2008-08-18 15:46:08 +00:00
Daniel Jacobowitz 46a9b8ed1b * rs6000-tdep.c (struct rs6000_framedata): Add gpr_mask, used_bl,
lr_register.
	(rs6000_in_function_epilogue_p): Check for bctr.
	(skip_prologue): Initialize lr_register.  Set lr_reg to a register
	number.  Set gpr_mask and used_bl.  Continue scanning while some
	expected registers are not saved.  Set lr_register if LR is not
	stored.
	(rs6000_frame_cache): Handle gpr_mask and lr_register.

	* gdb.arch/powerpc-prologue.exp: Correct saved registers.
2008-08-18 12:32:47 +00:00
gdbadmin c2d805c8d5 *** empty log message *** 2008-08-18 00:00:33 +00:00
Tom Tromey 44feb3ce38 gdb:
PR gdb/1535:
	* breakpoint.c (CATCH_PERMANENT, CATCH_TEMPORARY): New macros.
	(ep_find_event_name_end): Remove.
	(catch_fork_temporary, catch_vfork_temporary,
	catch_fork_permanent, catch_vfork_permanent): New constants.
	(catch_vfork, catch_fork): Remove.
	(catch_fork_command_1): Add 'command' argument.  Remove
	'fork_kind' and 'tempflag'.  Handle NULL 'arg'.  Update switch for
	all cases.
	(catch_exec_command_1): Add 'command' argument; remove
	'tempflag'.  Handle NULL 'arg'.
	(catch_load_command_1): Likewise.
	(catch_unload_command_1): Likewise.
	(catch_ada_exception_command): Likewise.
	(catch_assert_command): Likewise.
	(catch_catch_command): New function.
	(catch_throw_command): Likewise.
	(catch_command_1): Remove.
	(catch_command): Just call error.
	(tcatch_command): Likewise.
	(catch_cmdlist): New global.
	(tcatch_cmdlist): Likewise.
	(add_catch_command): New function.
	(_initialize_breakpoint): Create "catch" and "tcatch" as prefix
	commands.  Create all catch sub-commands.
gdb/testsuite:
	* gdb.base/help.exp (help catch): Rewrite.
2008-08-17 16:58:17 +00:00
gdbadmin 9a83010b27 *** empty log message *** 2008-08-17 00:00:03 +00:00
Pedro Alves 0d6431e255 * gdbthread.h: Add comments.
* stack.c (get_selected_block): Return 0 on an exited thread.
	* top.c (execute_command): Check for is_stopped, not !is_running.
	* event-top.c (command_handler): Likewise.
2008-08-16 23:51:14 +00:00
Pedro Alves 8931f5261f * mi/mi-main.c (mi_cmd_exec_next, mi_cmd_exec_next_instruction)
(mi_cmd_exec_step, mi_cmd_exec_step_instruction)
	(mi_cmd_exec_finish): Remove "return".
2008-08-16 22:26:19 +00:00
Pedro Alves aa76d38d1d * target.h (pop_all_targets): Declare.
* target.c (pop_all_targets): New.
	* top.c (quit_target): Pop all targets instead of just closing the
	current.
2008-08-16 22:12:18 +00:00
Thiago Jung Bauermann 311a4e6b7b gdb/
2008-08-16  Vladimir Prus  <vladimir@codesourcery.com>
	    Thiago Jung Bauermann  <bauerman@br.ibm.com>

	* cli-script.c (read_next_line): Add parse_commands argument.
	(recurse_read_control_structure): Adapt to new read_next_line
	signature.
	(read_command_lines): Add parse_commands argument.
	(define_command): Adapt to new read_command_lines signature.
	(document_command): Likewise.
	* breakpoint.c (commands_command): Likewise.
	* defs.h (read_command_lines): Adjust function prototype.

testsuite/
2008-08-16  Thiago Jung Bauermann  <bauerman@br.ibm.com>

	* gdb.base/define.exp: Test indented command documentation.
	* gdb.python/python.exp: Test indented multi-line command.
2008-08-16 20:36:30 +00:00
Paul N. Hilfinger 24209737f0 (pos_atr): Account for the possibility that the argument may be a reference. 2008-08-16 09:26:25 +00:00
Paul N. Hilfinger 9f1d543278 (scan_xcoff_symtab): Do not include global symbols
('F' format) for @FIX names generated by the loader, retaining only
 the minimal symbols (and no partial symbol tables) for these names.
 Fixes warning messages about symbols that are found in partial
 symbol tables, but not full symbol tables.
2008-08-16 08:49:23 +00:00
Pedro Alves 83c265ab84 * infrun.c (fetch_inferior_event): Only call normal_stop if not
stopping quietly.
2008-08-16 01:04:16 +00:00
gdbadmin 80be390dfc *** empty log message *** 2008-08-16 00:00:34 +00:00
Luis Machado 604c2f837c * rs6000-tdep: Include "features/rs6000/powerpc-vsx32.c".
Include "features/rs6000/powerpc-vsx64.c".
	(ppc_supply_vsxregset): New function.
	(ppc_collect_vsxregset): New function.
	(IS_VSX_PSEUDOREG): New macro.
	(IS_EFP_PSEUDOREG): New macro.
	(vsx_register_p): New function.
	(ppc_vsx_support_p): New function.
	(rs6000_builtin_type_vec128): New function.
	(rs6000_register_name): Hide upper halves of vs0~vs31.  Return
	correct names for VSX registers and EFPR registers.
	(rs6000_pseudo_register_type): Return correct types for VSX
	and EFPR registers.
	(rs6000_pseudo_register_reggroup_p): Return correct group for
	VSX and EFPR registers.
	(ppc_pseudo_register_read): Rename to dfp_pseudo_register_read.
	(ppc_pseudo_register_write): Rename to dfp_pseudo_register_write.
	(vsx_pseudo_register_read): New function.
	(vsx_pseudo_register_write): New function.
	(efpr_pseudo_register_read): New function.
	(efpr_pseudo_register_write): New function.
	(rs6000_pseudo_register_read): Call new VSX and EFPR read functions.
	(rs6000_pseudo_register_write): Call new VSX and EFPR write functions.
	(rs6000_gdbarch_init): Declare have_vsx.
	Initialize new upper half VSX registers.
	Initialize VSX-related and EFPR-related pseudo-registers variables.
	Adjust the number of pseudo registers accordingly.

	* ppc-linux-nat.c: Define PTRACE_GETVSXREGS, PTRACE_SETVSXREGS
	and SIZEOF_VSRREGS.
	(gdb_vsxregset_t): New type.
	(have_ptrace_getsetvsxregs): New variable.
	(fetch_vsx_register): New function.
	(fetch_register): Handle VSX registers.
	(fetch_vsx_registers): New function.
	(fetch_ppc_registers): Handle VSX registers.
	(store_ppc_registers): Handle VSX registers.
	(store_vsx_register): New function.
	(store_register): Handle VSX registers.
	(store_vsx_registers): New function.
	(ppc_linux_read_description): Handle VSX-enabled inferiors.
	(gdb_vsxregset_t): New type.
	(supply_vsxregset): New function.
	(fill_vsxregset): New function.

	* ppc-tdep.h (vsx_register_p): New prototype.
	(vsx_support_p): New prototype.
	(ppc_vsr0_regnum): New variable.
	(ppc_vsr0_upper_regnum): Likewise.
	(ppc_efpr0_regnum): Likewise.
	(ppc_builtin_type_vec128): New type.
	(ppc_num_vsrs): New constant.
	(ppc_num_vshrs): New constant.
	(ppc_num_efprs): Likewise.
	Define POWERPC_VEC_VSX PPC_VSR0_UPPER_REGNUM and PPC_VSR31_UPPER_REGNUM.
	(ppc_supply_vsxregset): New prototype.
	(ppc_collect_vsxregset): New prototype.

	* ppc-linux-tdep.c: Include "features/rs6000/powerpc-vsx32l.c"
	Include "features/rs6000/powerpc-vsx64l.c".
	(_initialize_ppc_linux_tdep): Initialize VSX-enabled targets.
	(ppc_linux_regset_sections): Add new ".reg-ppc-vsx" field.
	(ppc32_linux_vsxregset): New 32-bit VSX-enabled regset.
	(ppc_linux_regset_from_core_section): Handle VSX core section.
	(ppc_linux_core_read_description): Support VSX-enabled core files.

	* ppc-linux-tdep.h: Declare *tdesc_powerpc_vsx32l
	Declare tdesc_powerpc_vsx64l

	* corelow.c (get_core_register_section): Support VSX-enabled
	core files.

	* features/rs6000/power-vsx.xml: New VSX descriptions.
	* features/rs6000/powerpc-vsx32.xml: New file.
	* features/rs6000/powerpc-vsx32l.xml: New file.
	* features/rs6000/powerpc-vsx64.xml: New file.
	* features/rs6000/powerpc-vsx64l.xml: New file.
	* features/rs6000/powerpc-vsx32.c: New file (generated).
	* features/rs6000/powerpc-vsx32l.c: New file (generated).
	* features/rs6000/powerpc-vsx64.c: New file (generated).
	* features/rs6000/powerpc-vsx64l.c: New file (generated).
	* features/Makefile: Updated with new descriptions.
	* regformats/rs6000/powerpc-vsx32l.dat: New file (generated).
	* regformats/rs6000/powerpc-vsx64l.dat: New file (generated).

	* testsuite/gdb.arch/vsx-regs.c: New source file.
	* testsuite/gdb.arch/vsx-regs.exp: New testcase.
	* testsuite/lib/gdb.exp (skip_vsx_tests): New function.
2008-08-15 15:18:34 +00:00
Vladimir Prus dde7c0a962 * ia64-linux.nat (_initialize_ia64_linux_nat): Don't
call linux_target twice.
2008-08-15 08:08:27 +00:00
gdbadmin 56c2003cde *** empty log message *** 2008-08-15 00:00:33 +00:00
Aleksandar Ristovski ebd67d8768 * nto-tdep.c (lm_info): Updated struct lm_info definition from
solib-svr4.c
	(LM_ADDR): Use l_addr if available; if not, use link map and set l_addr.
2008-08-14 20:55:21 +00:00
Tom Tromey 886a217cf4 gdb:
* macrocmd.c (macro_define_command): Check for NULL argument.
	(macro_undef_command): Likewise.
gdb/testsuite:
	* gdb.base/macscp.exp: Add regression test for "macro define" or
	"macro undef" with no arguments.
2008-08-14 18:03:22 +00:00
Joel Brobecker f3a2dd1a1d * gdb.texinfo (Ada Mode Intro): Improve the documentation regarding
the direct visibility of all names in user-written packages.
2008-08-14 02:34:08 +00:00