Commit graph

16786 commits

Author SHA1 Message Date
Michael Snyder
55e3947383 2010-09-30 Ali Lakhia <lakhia@alumni.utexas.net>
* fork-child.c (breakup_args): Fix crash if shell forking is
	disabled at compile time.
2010-10-01 17:35:30 +00:00
Joel Brobecker
05e522ef51 [Ada] array and bounds in fat pointer can be a stub
This patch adds handling of the case when a fat pointer has the
P_ARRAY and/or P_BOUNDS fields defined as a stub.  In that case,
this stub needs to be resolved.

There are two issues:

  . First, making sure that the resolution takes place itself.
    That's the change to ada_check_typedef.

  . Make sure that the type returned after resolution is not itself
    a typedef.  This is the change to ada_check_typedef.

gdb/ChangeLog (Jerome Guitton, Joel Brobecker):

        * ada-lang.c (desc_bounds): Add handling of the case where
        the P_BOUNDS field is a pointer to a stub.
        (desc_data_target_type): Same for P_ARRAY field.
        (ada_check_typedef): Strip the typedef layers from the type
        found by ada_find_any_type.
2010-10-01 16:25:00 +00:00
Joel Brobecker
49a45ecfd2 [sparc] inferior SEGV while calling Ada subprogram
gdb/ChangeLog:

        * sparc-tdep.c (sparc32_frame_align): New function.
        (sparc32_gdbarch_init): Set the frame_align gdbarch method.
        * sparc64-tdep.c (sparc64_frame_align): New function.
        (sparc64_gdbarch_init): Set the frame_align gdbarch method.
2010-10-01 15:55:14 +00:00
H.J. Lu
a5916a62fd Set MAX_REGISTER_SIZE to 64.
2010-09-30  H.J. Lu  <hongjiu.lu@intel.com>

	* defs.h (MAX_REGISTER_SIZE): Set to 64.
2010-10-01 00:43:40 +00:00
Tom Tromey
00b5771c2a * symfile.h (struct sym_fns) <next>: Remove.
(add_symtab_fns): Update.
	* symfile.c (sym_fns_ptr): New typedef.
	(symtab_fns): Now a VEC.
	(add_symtab_fns): Update.  Change argument type.
	(find_sym_fns): Update.  Change return type.
	(get_symfile_segment_data): Update.
	* objfiles.h (struct objfile) <sf>: Now const.
	* somread.c (som_sym_fns): Now const.  Update.
	* xcoffread.c (xcoff_sym_fns): Now const.  Update.
	* mipsread.c (ecoff_sym_fns): Now const.  Update.
	* machoread.c (macho_sym_fns): Now const.  Update.
	* elfread.c (elf_sym_fns): Now const.  Update.
	(elf_sym_fns_gdb_index): Likewise.
	* dbxread.c (aout_sym_fns): Now const.  Update.
	* coffread.c (coff_sym_fns): Now const.  Update.
2010-09-30 19:14:30 +00:00
Tom Tromey
38f12cfce2 gdb
* value.c (value_primitive_field): Take 'offset' into account for
	packed field.
gdb/testsuite
	* gdb.base/anon.exp: New file.
	* gdb.base/anon.c: New file.
2010-09-30 18:58:08 +00:00
Tom Tromey
9ae8282da7 gdb
* completer.c (count_struct_fields): Handle anonymous structs and
	unions.
	(add_struct_fields): Likewise.
gdb/testsuite
	* gdb.base/completion.exp: Test completion through anonymous
	union.
	* gdb.base/break1.c (struct some_struct): Add anonymous union.
2010-09-30 17:51:39 +00:00
Jan Kratochvil
e9e07ba6db gdb/
Fix printing parameters of inlined functions.
	* ada-lang.c (is_known_support_routine)
	(ada_unhandled_exception_name_addr_from_raise): Provide NULL parameter
	for find_frame_funname.
	* python/py-frame.c (frapy_name): Likewise.
	* stack.c (find_frame_funname): New parameter funcp.  Update the
	function comment.  Fill it in.
	(print_frame): New variable func.  Initialize it by
	find_frame_funname.  Print arguments only if FUNC is not NULL.  Use
	FUNC as the parameter of print_args_stub.
	* stack.h (find_frame_funname): New parameter funcp.  Remove the
	function declaration comment.

gdb/testsuite/
	Fix printing parameters of inlined functions.
	* gdb.dwarf2/dw2-inline-param.exp: New file.
	* gdb.dwarf2/dw2-inline-param-main.c: New file.
	* gdb.dwarf2/dw2-inline-param.S: New file.
2010-09-30 10:29:00 +00:00
Jan Kratochvil
cd2effb255 gdb/
PR corefiles/12071.
	* inferior.c (have_live_inferiors): New variables old_chain, inf and
	tp.  Iterate INFERIOR_LIST and call target_has_execution.

gdb/testsuite/
	PR corefiles/12071.
	* gdb.base/corefile.exp (quit with a process, no question: load core)
	(quit with a core file): New tests.
2010-09-30 10:24:40 +00:00
Jan Kratochvil
bceffbf360 gdb/
Fix GDB crash on inferior calls with self-referencing classes.
	* gnu-v3-abi.c (gnuv3_pass_by_reference): Do not call itself on static
	member fields.

gdb/testsuite/
	Fix GDB crash on inferior calls with self-referencing classes.
	* gdb.dwarf2/dw2-cp-infcall-ref-static.exp: New file.
	* gdb.dwarf2/dw2-cp-infcall-ref-static-main.c: New file.
	* gdb.dwarf2/dw2-cp-infcall-ref-static.S: New file.
2010-09-29 22:32:52 +00:00
Doug Evans
abc72ce4c6 Workaround for gcc/45682.
* dwarf2read.c (partial_die_info): New fields fixup_called,
	linkage_name.
	(guess_partial_die_structure_name): Renamed from guess_structure_name.
	Move definition next to use.  Use linkage_name to determine if class
	is in a namespace.  All callers updated.
	(fixup_partial_die): Return early if already called.
	Set fixup_called when done.
	(guess_full_die_structure_name): New function.
	(determine_prefix): Call it for class/struct/union dies if c++ and
	.debug_types section is present and parent is DW_TAG_compile_unit.
2010-09-29 16:41:24 +00:00
Joel Brobecker
0ac7be2557 Add a sparc simulator with the sparc bareboard target.
gdb/ChangeLog:

        * configure.tgt (sparc-*-*): Set gdb_sim to ../sim/erc32/libsim.a.
        (sparc-*-rtems*): Delete, now redundant with the sparc-*-* case.
2010-09-28 21:46:09 +00:00
Joel Brobecker
6e1bb179c2 [doco] document support for Ravenscar profile
This announces the support for debugging Ada programs using
the Ravenscar Profile, as well as documents the new commands
introduced as part of this effort.

gdb/ChangeLog:

        * NEWS: Announce Ravenscar Profile support.

gdb/doc/ChangeLog:

        * gdb.texinfo (Ravenscar Profile): New node.
2010-09-28 21:40:23 +00:00
Joel Brobecker
036b1ba8ec Add support for GNAT Ravenscar run-time library.
gdb/ChangeLog (Jerome Guitton, Joel Brobecker):

	* ravenscar-thread.c, ravenscar-thread.h, ravenscar-sparc-thread.c:
	New files.
	* configure.tgt (sparc-*-*): Add ravenscar-thread.o and
	ravenscar-sparc-thread.o to gdb_target_obs.
2010-09-28 21:39:31 +00:00
Joel Brobecker
474011fbad [Ada] Add ada-tasks.c:iterate_over_live_ada_tasks
This new function is needed by the ravenscar-thread layer.

gdb/ChangeLog:

        * ada-tasks.c (iterate_over_live_ada_tasks): New function.
        * ada-lang.h (iterate_over_live_ada_tasks): Declare.
2010-09-28 21:39:03 +00:00
Pierre Muller
99e24b9065 * amd64-windows-tdep.c (amd64_skip_main_prologue): New function.
(amd64_windows_init_abi): Register amd64_skip_main_prologue as gdbarch
	skip_main_prologue method.
2010-09-27 22:05:40 +00:00
Tom Tromey
987d643c0f * dwarf2read.c (dwarf2_read_index): Only allow version 3.
(write_psymbols): Add 'psyms_seen' and 'is_static' arguments.
	Only emit a given psymbol once.
	(struct signatured_type_index_data) <psyms_seen>: New field.
	(write_one_signatured_type): Update.
	(cleanup_htab): New function.
	(write_psymtabs_to_index): Update.  Create psyms_seen hash.  Bump
	version to 3.
	(save_gdb_index_command): Update index documentation.
2010-09-27 18:42:36 +00:00
Tom Tromey
d3aff95935 * bcache.c (expand_hash_table): Use hash_function, not hash. 2010-09-27 17:41:36 +00:00
Tom Tromey
716b65bf40 * gdb_wchar.h: Change minimum libiconv to 0x108. 2010-09-27 17:28:50 +00:00
Jan Kratochvil
1736ad1102 gdb/
Fix lost siginfo_t for inferior calls.
	* infrun.c
	(struct inferior_thread_state) <siginfo_gdbarch, siginfo_data>: New.
	(save_inferior_thread_state): New variables regcache, gdbarch and
	siginfo_data.  Initialize SIGINFO_DATA if gdbarch_get_siginfo_type_p.
	Move INF_STATE allocation later, pre-clear it.  Initialize REGISTERS
	using REGCACHE.
	(restore_inferior_thread_state): New variables regcache and gdbarch.
	Restore SIGINFO_DATA for matching GDBARCH.  Restore REGISTERS using
	REGCACHE.  Free also SIGINFO_DATA.

gdb/testsuite/
	Fix lost siginfo_t for inferior calls.
	* gdb.base/siginfo-infcall.exp: New file.
	* gdb.base/siginfo-infcall.c: New file.
2010-09-24 18:35:28 +00:00
Tom Tromey
4b5246aacb * dwarf2read.c (dw2_expand_symtabs_matching): Add missing
MAYBE_SWAPs.
	(dw2_map_symbol_names): Likewise.
2010-09-24 16:11:46 +00:00
Sami Wagiaalla
2a7d6a257f Fix find_oload_champ_namespace_loop memory leak.
2010-09-24  Sami Wagiaalla  <swagiaal@redhat.com>

	* valops.c (find_oload_champ_namespace_loop): replace incorrect
	discard_cleanups do_cleanups.
2010-09-24 14:47:53 +00:00
Pedro Alves
e6ee044df3 PR gdb/11842
gdb/
	* amd64-linux-nat.c (compat_siginfo_from_siginfo)
	(siginfo_from_compat_siginfo): Also copy si_pid and si_uid when
	si_code is < 0.  Check for si_code == SI_TIMER before checking for
	si_code < 0.

	gdb/gdbserver/
	* linux-x86-low.c (compat_siginfo_from_siginfo)
	(siginfo_from_compat_siginfo): Also copy si_pid and si_uid when
	si_code is < 0.  Check for si_code == SI_TIMER before checking for
	si_code < 0.
2010-09-24 13:44:01 +00:00
Pedro Alves
b53a162374 gdb/
* amd64-linux-nat.c (compat_siginfo_from_siginfo)
	(siginfo_from_compat_siginfo): Also copy si_pid and si_uid when
	si_code is < 0.  Check for si_code == SI_TIMER before checking for
	si_code < 0.

	gdb/gdbserver/
	* linux-x86-low.c (compat_siginfo_from_siginfo)
	(siginfo_from_compat_siginfo): Also copy si_pid and si_uid when
	si_code is < 0.  Check for si_code == SI_TIMER before checking for
	si_code < 0.
2010-09-24 13:41:43 +00:00
Pedro Alves
96a8853a47 * objfiles.h (ALL_OBJSECTIONS): Handle breaks in the inner loop. 2010-09-24 11:15:55 +00:00
Joel Brobecker
39383a48f7 [Ada] Do not compute task ptid when debugging core file
After thread support over core files was added for GNU/Linux was added,
we started noticing the following type of crash when trying to perform
task switches (this is a bit accademic, since task switching is not
supported when debugging core files - this is what our testcase was
verifying).

(please check out the comment inside ada-tasks.c:task_command for
more details on this topic)

The reason for the crash comes from the fact that the GNU/Linux thread
layer now gets pushed on the target stack, causing the associated
to_get_ada_task_ptid target method to be activated.  This routine
makes the assumption that, for all threads, the private area is not
NULL.  This is incorrect in the case of core files, as the core layer
creates some threads with no private data.

But, taking a step back, we don't need to try to compute the task ptid,
as we'll never be using it anyways (we only use it for task switching).
So the fix is to avoid the ptid computation altogether when debugging
a core file.

gdb/ChangeLog:

        * ada-tasks.c (read_atcb): Do not compute the task ptid when
        debugging a core file.
2010-09-22 22:50:54 +00:00
Jan Kratochvil
d31d2fc374 gdb/
Code cleanup.
	* objfiles.c (allocate_objfile) <objfile->name != NULL>: Remove.
	(free_objfile) <objfile->name != NULL>: Remove the conditional around
	xfree.
	* objfiles.h (struct objfile) <name>: New comment it is never NULL.
	* python/py-auto-load.c (auto_load_new_objfile) <!objfile->name>:
	Remove.
	* python/py-objfile.c (objfpy_get_filename) <obj->objfile->name>
	Remove the conditional.
	* python/py-progspace.c (pspy_get_filename) <objfile->name>: Likewise.
2010-09-22 20:00:53 +00:00
Jan Kratochvil
7f6130ff85 gdb/
* main.c: Include objfiles.h.
	(captured_main): New variable objfile.  Call
	load_auto_scripts_for_objfile for ALL_OBJFILES.
2010-09-22 19:59:15 +00:00
Jan Kratochvil
c2b0a2291a gdb/
* dwarf2read.c (die_needs_namespace) <DW_TAG_variable>: Add also
	DW_TAG_constant.

gdb/testsuite/
	* gdb.fortran/module.exp (fully qualified name of DW_TAG_constant):
	New test.
	* gdb.fortran/module.f90 (mod1) <var_const>: New constant.
2010-09-22 19:22:44 +00:00
Joel Brobecker
72929c628e DWARF: Add support for DW_TAG_constant DIEs
gdb/ChangeLog:

        * dwarf2read.c (scan_partial_symbols): Add handling of
        DW_TAG_constant DIEs.
        (add_partial_symbol, load_partial_dies, new_symbol): Likewise.

gdb/testsuite/ChangeLog:

        * gdb.dwarf2/dw2-const.S, gdb.dwarf2/dw2-const.exp: New files.
2010-09-22 16:15:34 +00:00
Joel Brobecker
496c0e1ba7 Allow disabling of gdbserver build (--enable-gdbserver=yes/no/auto).
This patch adds a new --enable-gdbserver=yes/no/auto command-line switch
in gdb/configure.  The primary purpose is to allow a user to disable the
build & install of gdbserver when not desired.  It also allows the user
to request gdbserver in which case the configure script will abort if
automatic building of gdbserver is not supported for that configuration.

The default keeps things as is: We automatically build gdbserver if
building for a native configuration and if gdbserver is supported for
that configuration.

gdb/ChangeLog:

        * configure.ac: Add support for --enable-gdbserver.
        * configure: Regenerate.

At AdaCore, this is mostly intended for ia64-linux, where we currently
do not want to distribute gdbserver.  This will be useful in the context
of I417-033, where we are now using "make install" to determine what
needs to be packaged inside the GNAT Pro package.
2010-09-22 16:15:01 +00:00
Sami Wagiaalla
ec32282347 Fix PR 12028: "GDB crashes on a double free during overload resolution "
2010-09-22  Sami Wagiaalla  <swagiaal@redhat.com>

	PR C++/12028
	* valops.c (find_oload_champ_namespace_loop): removed incorrect
	'old_cleanups' reassignment.

2010-09-22  Sami Wagiaalla  <swagiaal@redhat.com>

	* gdb.cp/pr12028.cc: New.
	* gdb.cp/pr12028.exp: New.
2010-09-22 15:48:59 +00:00
Jan Kratochvil
1558ab4ce7 gdb/
* charset.c (wchar_iterate) <EILSEQ>: Return any possibly converted
	characters.
2010-09-16 19:20:51 +00:00
Phil Muldoon
875b4ff565 2010-09-16 Phil Muldoon <pmuldoon@redhat.com>
PR mi/11407
	* mi/mi-cmd-stack.c (list_args_or_locals): Catch exceptions from
	read_var_value and common_val_print and print a warning.

2010-09-16  Phil Muldoon  <pmuldoon@redhat.com>
            Jan Kratochvil  <jan.kratochvil@redhat.com>

	PR mi/11407
	* gdb.mi/dw2-ref-missing-frame-func.c: New File.
	* gdb.mi/dw2-ref-missing-frame-main.c New File.
	* gdb.mi/dw2-ref-missing-frame.S New File.
	* gdb.mi/dw2-ref-missing-frame.exp New File.
2010-09-16 13:47:55 +00:00
Jan Kratochvil
65dedcb26b gdb/
* MAINTAINERS (GLOBAL MAINTAINERS) <Jan Kratochvil>: Move the entry to
	keep the list in alphabetical order.  Use longer e-mail address.
2010-09-15 22:53:53 +00:00
Tom Tromey
0e780a22f0 * MAINTAINERS (GLOBAL MAINTAINERS): Add Jan Kratochvil. 2010-09-15 22:26:25 +00:00
Tom Tromey
62234ccc1e * charset.c (iconv_open): New define.
(iconv): Likewise.
	(iconv_close): Likewise.
	(phony_iconv_open): Add "phony_" prefix.
	(phony_iconv_close): Likewise.
	(phony_iconv): Likewise.
	* gdb_wchar.h: Check _LIBICONV_VERSION, __STDC_ISO_10646__.
	Change how INTERMEDIATE_ENCODING is defined.
2010-09-15 20:18:47 +00:00
Doug Evans
4950bc1c0c * dwarf2read.c (struct die_info): Fix comment. 2010-09-15 18:14:47 +00:00
Alan Modra
349126ea35 PR 4606
* gcore.c (gcore_create_callback): Clear SEC_HAS_CONTENTS rather
	than setting SEC_NEVER_LOAD on sections that need not be copied.
2010-09-15 03:30:30 +00:00
Tom Tromey
923c6a3dd1 * psympriv.h (add_psymbol_to_list, init_psymbol_list)
(start_psymtab_common, allocate_psymtab, discard_psymtab):
	Declare.
	* symfile.h (extend_psymbol_list): Remove.
	(add_psymbol_to_list, init_psymbol_list, start_psymtab_common)
	(allocate_psymtab, discard_psymtab): Move to psympriv.h.
	* psymtab.c (extend_psymbol_list): Move earlier.  Now static.
2010-09-14 22:50:30 +00:00
Jan Kratochvil
a9e6a4bb4e gdb/
* dwarf2read.c (dw2_map_ada_symtabs): Remove the internal_error.
	Update the comment.
2010-09-14 21:28:53 +00:00
Tom Tromey
7155d5780a gdb
PR symtab/8399:
	* dwarf2loc.c (locexpr_describe_location_piece): Don't call error
	for unrecognized frame base expression.
gdb/testsuite
	PR symtab/8399:
	* gdb.threads/tls.exp: Remove kfail.  Update expected output.
2010-09-14 19:39:59 +00:00
Tom Tromey
515ed53230 gdb
PR exp/11803:
	* value.c (value_static_field): Use value_of_variable.
gdb/testsuite
	PR exp/11803:
	* gdb.threads/tls.exp: Use C++.
	(check_thread_local): Use K::another_thread_local.
	* gdb.threads/tls.c (class K): New.
	(another_thread_local): Now a member of K.
	(spin): Update.  No longer K&R C.
2010-09-14 19:08:30 +00:00
Pierre Muller
b467f5808f * m32r-rom.c: Replace winsock.h with winsock2.h header.
* remote-m32r-sdi.c: Replace winsock.h by winsock2.h.
2010-09-14 08:01:12 +00:00
Sami Wagiaalla
450ca57cac Fix PR 11992: C++ 'this' scope sometimes does not work
2010-09-13  Sami Wagiaalla  <swagiaal@redhat.com>

	PR symtab/11992:
	* c-exp.y (classify_name): Check is_a_member_of_this before returning
	UNKNOWN_CPP_NAME.

2010-09-13  Sami Wagiaalla  <swagiaal@redhat.com>

	* gdb.cp/koenig.cc: created class for testing member lookup.
	* gdb.cp/koenig.exp: Added test for member lookup.
2010-09-13 20:41:05 +00:00
Joel Brobecker
1aee700988 [NEWS] Announce gdbserver support for x86-lynxos
This patch adjusts the NEWS entry for the LynxOS gdbserver to include
x86-lynxos to the list of supported platforms.

gdb/ChangeLog:

        * NEWS: Add x86-lynxos to the list of platforms supported by
        gdbserver.
2010-09-13 20:37:34 +00:00
Joel Brobecker
5ec6ebf9c9 [NEWS] Announce support for PowerPC LynxOS 5.x.
This adjusts the news entry about ppc-lynxos to add version 5.x
of the OS to the list of supported versions...

gdb/ChangeLog:

        * NEWS: Announce GDBserver support for version 5.x of ppc-lynxos.
2010-09-13 19:10:51 +00:00
Tom Tromey
1863c96c05 * Makefile.in (HFILES_NO_SRCDIR): Add progspace.h. 2010-09-13 17:59:59 +00:00
H.J. Lu
0c5acf93f1 Set 256bit vector type name to builtin_type_vec256i.
2010-09-13  H.J. Lu  <hongjiu.lu@intel.com>

	* i386-tdep.c (i386_ymm_type): Set type name to
	builtin_type_vec256i.
2010-09-13 17:39:48 +00:00
Michael Snyder
1c6272a6b3 2010-09-12 Michael Snyder <msnyder@vmware.com>
* i386-tdep.c (i386_gdbarch_init): Fix typo in comments.
2010-09-12 21:49:40 +00:00