Commit graph

2537 commits

Author SHA1 Message Date
Mark Kettenis
2429decf93 From Marcus Deuling <deuling@de.ibm.com>:
* gdb.arch/altivec-regs.exp: Initialise variable endianness in
        every case.
2007-01-19 11:14:52 +00:00
Nick Roberts
18ef391a79 * gdb.mi/mi-basics.exp, gdb.mi/mi2-basics.exp (test_dir_specification)
(test_path_specification): Use objdir instead of srcdir to always
get an absolute filename.
2007-01-12 21:31:35 +00:00
Nick Roberts
6c3c41f329 *** empty log message *** 2007-01-12 21:30:07 +00:00
Daniel Jacobowitz
2f12c31222 * gdb.cp/member-ptr.cc (class Padding): Make contents public. 2007-01-12 20:15:47 +00:00
Nathan Sidwell
81d2cbae45 revert 2007-01-11 Nathan Sidwell <nathan@codesourcery.com>
* lib/gdb.exp (gdb_compile_test): New.
	(skip_ada_tests, skip_java_tests): New.
	(gdb_compile): Use gdb_compile_test for f77.
	* lib/ada.exp (gdb_compile_ada): Use gdb_compile_test to record result.
	* lib/java.exp (compile_java_from_source): Remove runtests check,
	use gdb_compile_test to record result.
	* gdb.ada/packed_array.exp, gdb.ada/fixed_points.exp,
	gdb.ada/exec_changed.exp, gdb.ada/start.exp,
	gdb.ada/watch_arg.exp, gdb.ada/null_record.exp,
	gdb.ada/array_return.exp, gdb.ada/arrayidx.exp,
	gdb.mi/mi-var-child-f.exp, gdb.fortran/types.exp,
	gdb.fortran/array-element.exp, gdb.fortran/subarray.exp,
	gdb.fortran/derived-type.exp, gdb.fortran/exprs.exp,
	gdb.java/jmisc.exp, gdb.java/jprint.exp,
	gdb.java/jv-print.exp, gdb.java/jmain.exp: Add language skip,
	adjust gdb_compile invocations.
2007-01-12 11:36:21 +00:00
Vladimir Prus
23da0d9454 Move ChangeLog entry to the right place 2007-01-11 20:57:10 +00:00
Vladimir Prus
81121995ba * gdb.mi/mi-var-cp.cc (reference_update_tests):
Make sure the variable we're using is in scope.
        (reference_to_pointer): Likewise.
2007-01-11 20:48:49 +00:00
Nathan Sidwell
147d6f8fa0 * lib/gdb.exp (gdb_compile_test): New.
(skip_ada_tests, skip_java_tests): New.
	(gdb_compile): Use gdb_compile_test for f77.
	* lib/ada.exp (gdb_compile_ada): Use gdb_compile_test to record result.
	* lib/java.exp (compile_java_from_source): Remove runtests check,
	use gdb_compile_test to record result.
	* gdb.ada/packed_array.exp, gdb.ada/fixed_points.exp,
	gdb.ada/exec_changed.exp, gdb.ada/start.exp,
	gdb.ada/watch_arg.exp, gdb.ada/null_record.exp,
	gdb.ada/array_return.exp, gdb.ada/arrayidx.exp,
	gdb.mi/mi-var-child-f.exp, gdb.fortran/types.exp,
	gdb.fortran/array-element.exp, gdb.fortran/subarray.exp,
	gdb.fortran/derived-type.exp, gdb.fortran/exprs.exp,
	gdb.java/jmisc.exp, gdb.java/jprint.exp,
	gdb.java/jv-print.exp, gdb.java/jmain.exp: Add language skip,
	adjust gdb_compile invocations.
2007-01-11 11:42:45 +00:00
Daniel Jacobowitz
4741b7375e * gdb.ada/catch_ex.exp: Call unsupported and stop if the runtime
has no debug information.
2007-01-10 03:46:03 +00:00
Daniel Jacobowitz
054410c315 * gdb.base/annota1.exp: Remove extra send_gdb. 2007-01-10 03:23:04 +00:00
Daniel Jacobowitz
818f79f66b 2007-01-09 Jan Kratochvil <jan.kratochvil@redhat.com>
* symtab.c (matching_bfd_sections): Fix VMA matching for
	prelinked objects.

	* gdb.base/relativedebug.c, gdb.base/relativedebug.exp: New files.
2007-01-09 22:43:09 +00:00
Daniel Jacobowitz
f7a6bb7039 2007-01-09 Jan Kratochvil <jan.kratochvil@redhat.com>
* minsyms.c (lookup_minimal_symbol_by_pc_section): Handle
	nested symbols.

	* gdb.arch/i386-size-overlap.c, gdb.arch/i386-size-overlap.exp: New.
2007-01-09 22:14:35 +00:00
Daniel Jacobowitz
85bb071872 * copyright.sh (prunes): Add step-line.inp and step-line.c. 2007-01-09 21:37:30 +00:00
Daniel Jacobowitz
6aba47ca06 Copyright updates for 2007. 2007-01-09 17:59:20 +00:00
Daniel Jacobowitz
57e6678071 * varobj.c (install_new_value): Always update print_value.
(value_get_print_value): Immediately return NULL for missing
	values.

	* gdb.mi/mi-var-cmd.exp: Expect lpcharacter to update when
	lcharacter or linteger change.  Correct duplicated test name.
	* gdb.mi/mi2-var-cmd.exp: Likewise.
2007-01-08 23:11:47 +00:00
Daniel Jacobowitz
3d799a9542 * linux-nat.c (struct simple_pid_list): Add status.
(add_to_pid_list): Record the PID's status.
	(linux_record_stopped_pid): Likewise.  Make static.
	(pull_pid_from_list): Return the saved status.
	(linux_nat_handle_extended): Deleted.
	(linux_handle_extended_wait): Combine with linux_nat_handle_extended.
	Make static.  Handle non-SIGSTOP for a new thread's first signal.
	(flush_callback): Handle unexpected pending signals.
	(linux_nat_wait): Update calls to changed functions.
	* linux-nat.h (linux_record_stopped_pid, linux_handle_extended_wait):
	Remove prototypes for newly static functions.

	* gdb.threads/sigthread.c, gdb.threads/sigthread.exp: New.
2007-01-08 21:09:47 +00:00
Joel Brobecker
51679ba976 * gdb.base/nofield.c: New file.
* gdb.base/nofield.exp: New testcase.
2007-01-05 05:56:37 +00:00
Nick Roberts
986d03be0f mi-var-cp.exp: New test for references to pointers.
mi-var-cp.cc: (reference_to_pointer): New procedure for above test.
2007-01-04 23:08:56 +00:00
Nick Roberts
eafb94e886 *** empty log message *** 2007-01-04 23:06:55 +00:00
Daniel Jacobowitz
5e572bb44a * Makefile.in (eval.o): Update dependencies.
* eval.c: Include "ui-out.h" and "exceptions.h".
	(evaluate_subexp_standard): Use TRY_CATCH around value_of_variable.
	Use value_zero if an error occurs when avoiding side effects.
	* varobj.c (c_value_of_root): Initialize new_val.

	* gdb.mi/mi-var-cmd.exp: Add tests for unreadable varobjs.
2007-01-04 21:59:10 +00:00
Daniel Jacobowitz
74a44383f0 * varobj.c (varobj_list_children): Stop if the number of children is
unknown.
	(c_number_of_children): Report no children for zero sized arrays.

	* lib/mi-support.exp (mi_runto_helper): Expect two prompts
	when continuing.
2007-01-04 21:55:04 +00:00
Daniel Jacobowitz
1b572db9ac * gdb.base/annota3.exp ($binfile): Append $EXEEXT.
Expect ".exe" extension.
2007-01-04 20:53:50 +00:00
Daniel Jacobowitz
381bc39bef * gdb.base/charset.exp: Add explicit filename to break.
* gdb.base/dbx.exp: Add explicit filename to breaks.
2007-01-04 20:42:24 +00:00
Daniel Jacobowitz
2b70e4c68a * gdb.mi/mi-file.exp: Use mi_gdb_file_cmd instead of mi_gdb_load.
* gdb.mi/mi2-file.exp: Likewise.
2007-01-04 20:37:26 +00:00
Daniel Jacobowitz
303b6f5dea * buildsym.c (start_subfile): Handle producer.
(record_producer): New function.
	* buildsym.h (struct subfile): Include producer.
	(record_producer): New prototype.
	* dwarf2-frame.c (struct dwarf2_cie): Add version and augmentation.
	(struct dwarf2_frame_state): Add armcc_cfa_offsets_sf and
	armcc_cfa_offsets_reversed.
	(execute_cfa_program): Handle armcc_cfa_offsets_sf.
	(dwarf2_frame_find_quirks): New function.
	(dwarf2_frame_cache): Call it.  Handle armcc_cfa_offsets_reversed.
	(decode_frame_entry_1): Record the CIE version.  Record the
	augmentation.  Skip armcc augmentations.
	* dwarf2read.c (read_file_scope): Save the producer.
	* symtab.h (struct symtab): Rename unused version member to
	producer.
2007-01-04 20:26:42 +00:00
Vladimir Prus
2d0720d988 Implement specification of MI tests as comments
in C and C++ sources.
	* lib/mi-support.exp (mi_autotest_data): New variable.
	(mi_autotest_source): New variable.
	(count_newlines, mi_prepare_inline_tests)
	(mi_get_inline_test, mi_continue_to_line)
	(mi_run_inline_test, mi_tbreak)
	(mi_send_resuming_command, mi_wait_for_stop): New functions.
	* gdb.mi/mi-var-cp.exp: Move most content to the C file.
	Run inline tests.
	* gdb.mi/mi-var-cp.cc: Define tests here.
2007-01-04 20:12:15 +00:00
Vladimir Prus
f7e97bb3d8 Simplify usage of mi_continue_to.
* lib/mi-support.exp (mi_runto_helper): Renamed
        from mi_runto, added new parameter 'run_or_continue'.
        (mi_runto): Use mi_runto_helper.
        (mi_continue_to): Accept just function name as parameter.
        Use mi_runto_helper.
        * gdb.mi/mi-var-cmd.exp: Adjust to changes.
        * gdb.mi/mi2-var-cmd.exp: Likewise.
2007-01-04 18:58:03 +00:00
Joel Brobecker
f9e182823d Make this testcase a bit more realistic. The current code
is too simplistic, and allows the compiler to optimize out
        some of the entities we need for this testcase.
        * gdb.ada/null_record/bar.ads (Void_Star): New type.
        (Do_Nothing): Add extra parameter.
        * gdb.ada/null_record/bar.adb (Do_Nothing): Likewise.
        * gdb.ada/null_record/null_record.adb: Fake use of type Empty
        by using a variable of type Void_Star.
2007-01-04 10:59:03 +00:00
Joel Brobecker
fd678c6573 * gdb.ada/catch_ex/foo.adb: New file.
* gdb.ada/catch_ex.exp: New testcase.
2007-01-04 05:39:01 +00:00
Daniel Jacobowitz
05cfdb42f8 2007-01-03 Pedro Alves <pedro_alves@portugalmail.pt>
* coffread.c (cs_to_section): If bfd_section is found, always
	return its section index.
	(coff_symtab_read): Determine the minimal_symbol_type using the
	bfd_section flags.

	* gdb.base/shreloc.exp: Use ldflags instead of additional_flags to
	pass --image-base to linker.
2007-01-03 23:06:29 +00:00
Daniel Jacobowitz
2e03ee74df 2007-01-03 Jan Kratochvil <jan.kratochvil@redhat.com>
Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.in (top.o): Update.
	* top.c (gdb_readline_wrapper_done, gdb_readline_wrapper_result)
	(saved_after_char_processing_hook, gdb_readline_wrapper_line)
	(struct gdb_readline_wrapper_cleanup, gdb_readline_wrapper_cleanup):
	New.
	(gdb_readline_wrapper): Rewrite to use asynchronous readline.

2007-01-03  Jan Kratochvil  <jan.kratochvil@redhat.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* gdb.base/readline.exp: Set $TERM.  Test arrow keys in
	secondary prompts.
2007-01-03 21:46:12 +00:00
Daniel Jacobowitz
0d5de0100f * NEWS: Mention pointer to member improvements.
* Makefile.in (gnu-v3-abi.o): Delete special rule.
	(eval.o, gnu-v3-abi.o, ia64-tdep.o): Update.
	* ada-valprint.c (ada_print_scalar): Update for new type codes.
	* c-typeprint.c (c_print_type): Update for new type codes.
	(c_type_print_varspec_prefix, c_type_print_varspec_suffix)
	(c_type_print_base): Likewise.
	(c_type_print_args): Rewrite.
	* c-valprint.c (c_val_print): Update for new type codes.  Remove
	support for references to members.  Treat methods like functions.
	* cp-abi.c (cplus_print_method_ptr, cplus_method_ptr_size)
	(cplus_make_method_ptr, cplus_method_ptr_to_value): New.
	* cp-abi.h (cplus_print_method_ptr, cplus_method_ptr_size)
	(cplus_make_method_ptr, cplus_method_ptr_to_value): New prototypes.
	(struct cp_abi_ops): Add corresponding members.
	* cp-valprint.c (cp_print_class_method): Delete.
	(cp_find_class_member): New function.
	(cp_print_class_member): Use it.  Simplify support for bogus
	member pointers.
	* dwarf2read.c (quirk_gcc_member_function_pointer): Use
	lookup_methodptr_type.
	(read_tag_ptr_to_member_type): Likewise, and lookup_memberptr_type.
	* eval.c (evaluate_subexp_standard): Implement EVAL_SKIP for
	OP_SCOPE.  Update call to value_aggregate_elt.  Rewrite member
	pointer support.
	(evaluate_subexp_for_address): Handle OP_SCOPE explicitly.  Handle
	references returned by user defined operators.
	* f-typeprint.c (f_print_type, f_type_print_varspec_prefix)
	(f_type_print_varspec_suffix): Remove support for member pointers.
	* gdbtypes.c (lookup_memberptr_type): Renamed from lookup_member_type
	and adjusted.
	(smash_to_memberptr_type): Likewise, from smash_to_member_type.
	(lookup_methodptr_type): New.
	(rank_one_type): Adjust for TYPE_CODE_MEMBERPTR.
	(recursive_dump_type): Update for new types.
	* gdbtypes.h (enum type_code): Replace TYPE_CODE_MEMBER with
	TYPE_CODE_MEMBERPTR and TYPE_CODE_METHODPTR.
	(lookup_memberptr_type, lookup_methodptr_type)
	(smash_to_memberptr_type): New prototypes.
	(smash_to_method_type): Formatting fix.
	(lookup_member_type, smash_to_member_type): Delete prototypes.
	* gnu-v3-abi.c (gnuv3_get_vtable, gnuv3_get_virtual_fn): New.
	Do not rely on debug information for the vptr or the method's
	enclosing type.  Handle function descriptors for IA64.
	(gnuv3_virtual_fn_field): Rewrite using the new functions.
	(gnuv3_find_method_in, gnuv3_print_method_ptr)
	(gnuv3_method_ptr_size, gnuv3_make_method_ptr)
	(gnuv3_method_ptr_to_value): New.
	(init_gnuv3_ops): Set new members of gnu_v3_abi_ops.
	* hpread.c (hpread_type_lookup): Update for new types.
	* infcall.c (value_arg_coerce): Likewise.
	* m2-typeprint.c (m2_print_type): Remove explicit support
	for member pointers.
	* m2-valprint.c (m2_val_print): Likewise.
	* p-typeprint.c (pascal_type_print_varspec_prefix)
	(pascal_type_print_varspec_suffix, pascal_type_print_base): Likewise.
	* p-valprint.c (pascal_val_print): Likewise.
	(pascal_object_print_class_method, pascal_object_print_class_member):
	Delete.
	* p-lang.h (pascal_object_print_class_method)
	(pascal_object_print_class_member): Delete prototypes.
	* stabsread.c (read_type): Update for new types.
	* typeprint.c (print_type_scalar): Likewise.
	* valops.c (value_struct_elt_for_reference, value_namespace_elt)
	(value_maybe_namespace_elt, value_aggregate_elt): Add want_address
	argument.  Construct a pointer to member if the address of a
	function or data member is requested.
	(value_cast_pointers): Don't modify the input value.
	(value_cast): Adjust pointer to member handling for new types.
	Allow null pointer to member constants.  Don't modify the input
	value.
	(value_ind): Remove pointer to member check.  Handle function
	descriptors for function pointers.
	(value_struct_elt, value_find_oload_method_list, check_field):
	Remove pointer to member checks.
	* value.c (unpack_long): Allow pointers to data members.
	(value_from_longest): Allow member pointers.
	* value.h (value_aggregate_elt): Add want_address.
	* varobj.c (c_variable_editable): Remove check for members.
	* gdbarch.sh: Add vtable_function_descriptors and vbit_in_delta.
	* ia64-tdep.c (ia64_convert_from_func_ptr_addr): Handle descriptors
	in virtual tables.
	(ia64_gdbarch_init): Call set_gdbarch_vtable_function_descriptors.
	* c-lang.h (cp_print_class_method): Delete prototype.
	* arm-tdep.c (arm_gdbarch_init): Call set_gdbarch_vbit_in_delta.
	* mips-tdep.c (mips_gdbarch_init): Likewise.
	* gdbarch.c, gdbarch.h: Regenerated.

	* gdb.cp/classes.exp (test_pointers_to_class_members): Update expected
	output.  Test the types of members and member pointers.
	* gdb.cp/inherit.exp (test_print_mi_member_types): Remove KFAILs for
	gdb/2092.
	* gdb.cp/member-ptr.exp: Search for a comment instead of a
	statement.  Enable for GCC.  Update expected output for some tests
	and add new tests.  Remove obsolete GCC KFAILs.  Allow GCC's class
	layout.
	* gdb.cp/member-ptr.cc (Padding, Padding::vspacer, Base, Base::get_x)
	(Base::vget_base, Left, Left::vget, Right, Right::vget, Diamond)
	(Diamond::vget_base): New.
	(main): Add new tests.
	* gdb.cp/printmethod.exp: Update expected output for member functions.
	* gdb.cp/virtfunc.exp (test_virtual_calls): Add a KFAIL for
	print pEe->D::vg().
2007-01-03 18:05:45 +00:00
Daniel Jacobowitz
61a771aa2e * gdb.threads/tls.exp: Allow stops in sem_post. 2007-01-03 17:30:18 +00:00
Daniel Jacobowitz
2fa63963cd * gdb.base/annota1.exp: Allow .*printf in backtraces.
* gdb.base/annota3.exp: Likewise.
	* gdb.base/sigstep.exp (advancei): Fail if we hit the breakpoint
	again (instead of timing out).
	* gdb.gdb/selftest.exp (do_steps_and_nexts): Add an XFAIL for
	GCC bug 26475.
	* gdb.java/jmisc.exp: Adjust to work with method signatures including
	return types.  Add kfails for GDB bugs 2214 and 2215.  Move exit
	test from jmisc1.exp.
	* gdb.java/jmisc1.exp: Delete.
	* gdb.java/jprint.exp: Adjust to work with method signatures including
	return types.
	* gdb.objc/basicclass.exp: Update for gobjc 4.1 debug info.
	* gdb.threads/linux-dp.exp: Don't be confused by program output.
	* lib/java.exp (compile_java_from_source): Pass the correct type
	to target_compile.
2006-12-31 20:01:25 +00:00
Joel Brobecker
5eefc2b7e0 * gdb.arch/i386-prologue.c (stack_align_ecx): Renamed from stack_align.
(stack_align_edx): New function.
        (stack_align_eax): New function.
        (main): Add calls to stack_align_edx and stack_align_eax.
        * gdb.arch/i386-prologue.exp: Replace stack_align with stack_align_ecx.
        Add testing for the cases where the register used during a stack
        realignment is edx. Same for eax.
2006-12-31 14:51:57 +00:00
Daniel Jacobowitz
227c54da38 * lib/gdb.exp: Don't pass -fpic to gcc on Cygwin, MinGW
and generic PE targets.
2006-12-30 20:32:47 +00:00
Joel Brobecker
cab8ac940a * gdb.ada/array_return.exp: Update copyright date list. 2006-12-29 11:49:44 +00:00
Joel Brobecker
ba54f3188b * gdb.ada/array_return/pck.ads (Small_Float_Vector): New type.
(Create_Small_Float_Vector): New function.
        * gdb.ada/array_return/pck.adb (Create_Small_Float_Vector): Add
        function body.
        * gdb.ada/array_return/p.adb: Use new type and function from
        package Pck.
        * gdb.ada/array_return.exp: Add a test verifying that GDB is
        able to print the value returned by a function returning an
        array of float.
2006-12-27 06:12:36 +00:00
Joel Brobecker
6b7a35ddbf * gdb.arch/i386-prologue.exp: Remove calls to setup_kfail.
The associated tests should be PASSing.
2006-12-20 09:51:52 +00:00
Vladimir Prus
038224f618 2006-12-08 Vladimir Prus <vladimir@codesourcery.com>
Test for base in references.
        * gdb.mi/mi-var-cp.cc: Add test code.
        * gdb.mi/mi-var-cp.exp: Test for bases in references.
        * gdb.mi/mi-watch.exp: Adjust to mi_runto changes.
        * gdb.mi/mi2-watch.exp: Likewise.
        * lib/mi-support.exp (mi_runto): Use temporary breakpoint.
        (mi_list_varobj_children): New function.
2006-12-08 14:29:02 +00:00
Vladimir Prus
b26ed50ddf 2006-12-08 Vladimir Prus <vladimir@codesourcery.com>
* varobj.c (varobj_create): Don't call release_value.
        (varobj_set_value): Likewise.
        (install_new_value): Call coerce_ref and release_value
        on the value. Add asserts.
2006-12-08 12:44:11 +00:00
Daniel Jacobowitz
0823249716 gdb/
* elfread.c (elf_symtab_read): Treat weak functions as global.
gdb/testsuite/
	* gdb.base/solib-weak.c, gdb.base/solib-weak.exp, gdb.base/weaklib1.c,
	gdb.base/weaklib2.c: New files.
2006-12-01 18:14:30 +00:00
Nathan Sidwell
ac6c2fba05 * gdb.threads/linux-dp.exp: Adjust regexps used to scan thread
info.  Adjust test names.
2006-11-29 16:16:46 +00:00
Nathan Sidwell
d394c9935d * gdb.base/break.c (main): Move position of malloc.
* gdb.base/break.exp: Revert mistaken checkin.
2006-11-29 08:02:07 +00:00
Nathan Sidwell
8ec659a07e * gdb.base/break.c (main): Move position of malloc. 2006-11-28 17:52:06 +00:00
Vladimir Prus
acd65feb7e 2006-11-28 Vladimir Prus <vladimir@codesourcery.com>
Fetch varobj values from memory in a single place,
        and only fetch the values that are really needed.
        * varobj.c (struct varobj): Clarify comment.
        (my_value_equal): Remove.
        (install_new_value): New function.
        (type_of_child): Remove.
        (varobj_create): Use install_new_value.
        (varobj_set_value): Use value_contents_equal, not
        my_value_equal.
        (varobj_update): Use install_new_value.
        (create_child): Likewise. Inline type_of_child here.
        (value_of_child): Don't fetch the value.
        (c_value_of_root): Likewise.
        (c_value_of_variable): Likewise.
        (type_changeable): Improve comments.
2006-11-28 17:23:10 +00:00
Nathan Sidwell
f556d5e59d * gdb.base/break.c (main): Call malloc. 2006-11-28 16:04:00 +00:00
Nathan Sidwell
fcfcc2b53d * gdb.threads/linux-dp.exp: Read thread table before and after
creating each philosopher and verify it.
2006-11-28 15:16:48 +00:00
Nathan Sidwell
697bc68de8 * gdb.base/ending-run.exp: Flatten expect script stepping out of
main to remove duplication.  Add start function of the form
	'_*start[1-9]*'. Add RVDS start function.
2006-11-27 15:09:54 +00:00
Daniel Jacobowitz
29d73ae48c gdb/
* Makefile.in (arm-tdep.o): Update dependencies.
	* arm-tdep.c (thumb_skip_prologue): Remove.
	(thumb_analyze_prologue): New function.
	(arm_skip_prologue): Use thumb_analyze_prologue.
	(thumb_scan_prologue): Ditto.
gdb/testsuite/
	* gdb.arch/thumb-prologue.c, gdb.arch/thumb-prologue.exp: New files.
2006-11-22 18:51:58 +00:00