Commit Graph

64429 Commits

Author SHA1 Message Date
Tom Tromey 9c3c02fd15 gdb
* valops.c (value_cast_structs): Try downcasting using the RTTI
	type.
gdb/testsuite
	* gdb.cp/virtbase.exp: Add regression tests.
	* gdb.cp/virtbase.cc (RHA, RHB, RHC): New classes.
	(main): Instantiate RHC.
2010-02-02 23:40:28 +00:00
Tom Tromey f23f4c5973 * gnu-v2-abi.c: Don't include gnu-v2-abi.h.
(gnuv2_baseclass_offset): Now static.
	* Makefile.in (HFILES_NO_SRCDIR): Remove gnu-v2-abi.h.
	* gnu-v2-abi.h: Remove.
2010-02-02 23:16:53 +00:00
Alan Modra f0d707f506 daily update 2010-02-02 23:00:04 +00:00
Tom Tromey 0cc2414c91 gdb
* m2-typeprint.c (m2_record_fields): Don't use
	TYPE_DECLARED_TYPE.
	* gdbtypes.h (TYPE_DECLARED_CLASS): New macro.
	(struct main_type) <flag_declared_class>: New field.
	(struct cplus_struct_type) <declared_type>: Remove.
	<ntemplate_args>: Move earlier.
	(DECLARED_TYPE_CLASS, DECLARED_TYPE_UNION, DECLARED_TYPE_STRUCT)
	(DECLARED_TYPE_TEMPLATE): Remove.
	(TYPE_DECLARED_TYPE): Remove.
	* gdbtypes.c (lookup_union): Don't use TYPE_DECLARED_TYPE.
	* dwarf2read.c (read_structure_type): Set TYPE_DECLARED_CLASS.
	* c-typeprint.c (c_type_print_base): Use TYPE_DECLARED_CLASS, not
	TYPE_DECLARED_TYPE.
gdb/testsuite
	* gdb.dwarf2/member-ptr-forwardref.exp: Update expected result for
	type-printing change.
2010-02-02 16:47:14 +00:00
Tom Tromey edf3d5f3f8 gdb
PR c++/11226, PR c++/9629, PR c++/9688, PR c++/8890:
	* valops.c (search_struct_field): Compute nbases after calling
	CHECK_TYPEDEF.
	(check_field): Call CHECK_TYPEDEF.
	* cp-valprint.c (cp_print_value): Pass correct address to
	baseclass_offset.  Fix check for virtual base past the end of the
	object.  Don't offset address passed to cp_print_value_fields or
	apply_val_pretty_printer.
	(cp_print_value_fields): Fix call to val_print.
	(cp_print_value_fields_rtti): New function.
	* c-valprint.c (c_val_print): Use cp_print_value_fields_rtti.
	* p-valprint.c (pascal_object_print_value_fields): Fix call to
	val_print.
	* python/py-prettyprint.c (apply_val_pretty_printer): Add embedded
	offset to address.
	* language.h (struct language_defn) <la_val_print>: Document.
	* c-lang.h (cp_print_value_fields_rtti): Declare.
gdb/testsuite
	PR c++/11226, PR c++/9629, PR c++/9688, PR c++/8890:
	* gdb.cp/virtbase.cc: New file.
	* gdb.cp/virtbase.exp: New file.
	* gdb.cp/userdef.exp: Allow 'struct' or 'class'.
2010-02-02 16:45:17 +00:00
H.J. Lu 4339cae0bb Add NT_386_XSTATE.
bfd/

2010-02-02  H.J. Lu  <hongjiu.lu@intel.com>

	* elf-bfd.h (elfcore_write_xstatereg): New.

	* elf.c (elfcore_grok_xstatereg): New.
	(elfcore_write_xstatereg): Likewise.
	(elfcore_grok_note): Handle NT_X86_XSTATE.
	(elfcore_write_register_note): Handle .reg-xstate section.

binutils/

2010-02-02  H.J. Lu  <hongjiu.lu@intel.com>

	* readelf.c (get_note_type): Handle NT_X86_XSTATE.

include/elf/

2010-02-02  H.J. Lu  <hongjiu.lu@intel.com>

	* common.h (NT_386_XSTATE): New.
2010-02-02 12:37:40 +00:00
Joel Brobecker 0718675c76 gdbserver crash when running 32bits exes on x64 Windows.
* inferiors.c (find_inferior): Add function documentation.
        (unloaded_dll): Handle the case where the unloaded dll has not
        been previously registered in the dll list.
2010-02-02 04:24:26 +00:00
Doug Kwan 546c74577f 2010-02-01 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_exidx_fixup::Arm_exidx_fixup): Initialize
	first_output_text_section_.
	(Arm_exidx_fixup::first_output_text_section): New method definition.
	(Arm_exidx_fixup::first_output_text_section_): New data member.
	(Arm_exidx_fixup::process_exidx_section): Record the first text
	output section seen.
	(Arm_output_section::fix_exidx_coverage): Set correct linked section
	and entsize in output section header.
2010-02-02 00:25:57 +00:00
gdbadmin 54c4e2c2dc *** empty log message *** 2010-02-02 00:00:33 +00:00
Alan Modra 8647208c8e daily update 2010-02-01 23:00:04 +00:00
Jan Kratochvil e4b7f41c57 gdb/
PR libc/11214:
	* linux-low.c (linux_tracefork_child) [!(__UCLIBC__ && HAS_NOMMU)]: New.
	(linux_test_for_tracefork): Move `stack' into [__UCLIBC__ && HAS_NOMMU].
	(linux_test_for_tracefork) [!(__UCLIBC__ && HAS_NOMMU)]: New.

gdb/testsuite/
	PR libc/11214:
	* gdb.threads/current-lwp-dead.c: Include features.h.
	(HAS_NOMMU): New.
	(fn, main): Move CLONE_VM into [__UCLIBC__ && HAS_NOMMU].
2010-02-01 20:19:06 +00:00
Daniel Jacobowitz 7618e12bcb * i386-tdep.c (i386_frame_cache): Assume valid anonymous
functions use a frame pointer.
2010-02-01 19:46:46 +00:00
Jan Kratochvil b381ea14bd gdb/
* solib-svr4.c (scan_dyntag): New variable dyn_addr.  Replace gdb_assert
	by a conditional setting DYN_ADDR.  Use DYN_ADDR.
	* config/djgpp/fnchange.lst: Add translations for
	symbol-without-target_section.exp and symbol-without-target_section.c.

gdb/testsuite/
	* gdb.base/symbol-without-target_section.exp,
	gdb.base/symbol-without-target_section.c: New.
2010-02-01 19:27:55 +00:00
Daniel Jacobowitz c593ac0e23 * gdb.base/bigcore.exp: Reset increased timeout.
* gdb.base/interrupt.exp: Match unexpected gdb prompt.
2010-02-01 17:51:18 +00:00
Daniel Jacobowitz db25f29d62 * gdb.base/gcore.exp (capture_command_output): Use
gdb_test_multiple.
2010-02-01 17:15:36 +00:00
Daniel Jacobowitz 0e05dfcb73 * gdbarch.sh: Set LANG and LC_ALL to C, not c.
(remote_breakpoint_for_pc): Correct invalid_p check.
	* gdbarch.c: Regenerated.
2010-02-01 16:57:01 +00:00
Daniel Jacobowitz f9d67f435f * arm-tdep.c (arm_find_mapping_symbol): New function, from
arm_pc_is_thumb.
	(arm_pc_is_thumb): Use arm_find_mapping_symbol.
	(extend_buffer_earlier): New function.
	(MAX_IT_BLOCK_PREFIX, IT_SCAN_THRESHOLD): New constants.
	(arm_adjust_breakpoint_address): New function.
	(arm_gdbarch_init): Register arm_adjust_breakpoint_address.

	testsuite/
	* gdb.arch/thumb2-it.S (it_breakpoints): New function.
	* gdb.arch/thumb2-it.exp (test_it_break): New function.
	(Top level): Call it.
2010-02-01 16:16:30 +00:00
Daniel Jacobowitz 177321bd85 * arm-linux-tdep.c (arm_linux_thumb2_be_breakpoint)
(arm_linux_thumb2_le_breakpoint): New constants.
	(arm_linux_init_abi): Set thumb2_breakpoint and
	thumb2_breakpoint_size.
	* arm-tdep.c (thumb_insn_size, thumb_advance_itstate): New functions.
	(thumb_get_next_pc): Add a comment.  Rename IT to ITSTATE.
	Implement support for single stepping through IT blocks if
	a 32-bit Thumb breakpoint instruction is available.
	(arm_breakpoint_from_pc): If a 32-bit Thumb breakpoint instruction
	is available, use it when needed.
	(arm_remote_breakpoint_from_pc): New function.
	(arm_gdbarch_init): Register arm_remote_breakpoint_from_pc.
	* arm-tdep.h (struct gdbarch_tdep): Correct thumb_breakpoint
	comment.  Add thumb2_breakpoint and thumb2_breakpoint_size.

	gdbserver/
	* linux-arm-low.c (thumb_breakpoint_len): Delete.
	(thumb2_breakpoint): New.
	(arm_breakpoint_at): Check for Thumb-2 breakpoints.

	testsuite/
	* gdb.arch/thumb2-it.S, gdb.arch/thumb2-it.exp: New files.
2010-02-01 16:13:17 +00:00
Daniel Jacobowitz a1dcb23a28 * arch-utils.c (default_remote_breakpoint_from_pc): New function.
* arch-utils.h (default_remote_breakpoint_from_pc): Declare.
	* gdbarch.c, gdbarch.h: Regenerated.
	* gdbarch.sh (remote_breakpoint_from_pc): New architecture method.
	* remote.c (remote_insert_breakpoint, remote_insert_hw_breakpoint): Use
	gdbarch_remote_breakpoint_from_pc.

	doc/
	* gdb.texinfo (Architecture-Specific Protocol Details): New section.
	Document ARM breakpoint types.
	(Register Packet Format): Move into the new section.
	(Packets): Describe the KIND argument for Z0, z0, Z1, and z1 packets.
2010-02-01 16:09:22 +00:00
Tristan Gingold 9848eadf58 2010-02-01 Tristan Gingold <gingold@adacore.com>
* som.c (som_write_ar_hdr): Define this macro.
2010-02-01 13:10:38 +00:00
Ramana Radhakrishnan 8fac317985 Fix testsuite for Thumb2 jump reloc veneers.
2010-02-01  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

        * ld-arm/jump-reloc-veneers-long.d: New test.
        * ld-arm/jump-reloc-veneers-short1.d: Likewise.
        * ld-arm/jump-reloc-veneers-short2.d: Likewise.
        * ld-arm/jump-reloc-veneers.s: Likewise.
        * ld-arm/arm-elf.exp (armelftests): Run them.
2010-02-01 10:33:16 +00:00
Nathan Sidwell 0930eddd65 * objcopy.c (copy_object): Set SEC_LINKER_CREATED when adding
sections.

	testsuite/
	* binutils-all/note-1.d: New.
	* binutils-all/objcopy.exp: Add it.
2010-02-01 09:59:46 +00:00
gdbadmin 89b402421c *** empty log message *** 2010-02-01 00:00:33 +00:00
Alan Modra 5713e87e2d daily update 2010-01-31 23:00:06 +00:00
Kaveh Ghazi a6b5846e34 * configure.ac: Add "recommended" version checks for GMP/MPC.
Update recommended GMP/MPFR/MPC versions.
	* configure: Regenerate.
2010-01-31 18:40:33 +00:00
gdbadmin 20336e48a0 *** empty log message *** 2010-01-31 00:00:02 +00:00
Alan Modra e57ca9da89 daily update 2010-01-30 23:00:05 +00:00
Dave Korn d7e5ec692f binutils/testsuite/ChangeLog:
* binutils-all/windres/html.rc: Don't xfail x86_64-*-mingw*.
	* binutils-all/windres/lang.rc: Likewise.
	* binutils-all/windres/messagetable.rc: Likewise.
	* binutils-all/windres/strtab1.rc: Likewise.
	* binutils-all/windres/strtab2.rc: Likewise.
	* binutils-all/windres/version.rc: Likewise.
	* binutils-all/windres/version_cat.rc: Likewise.
2010-01-30 16:13:34 +00:00
Dave Anglin f6fd0237f5 * elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L,
R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations that use the
	linkage table pointer to use the global table pointer if not doing
	a shared link.
2010-01-30 16:09:43 +00:00
Doug Kwan 11b861d510 2010-01-29 Viktor Kutuzov <vkutuzov@accesssoftek.com>
* gold/arm.cc: Added support for the ARM relocations: R_ARM_THM_PC8,
	R_ARM_THM_PC12, R_ARM_THM_ALU_PREL_11_0.
	(Arm_relocate_functions::thm_alu11): New Method.
	(Arm_relocate_functions::thm_pc8): New Method.
	(Arm_relocate_functions::thm_pc12): New Method.
	(Target_arm::Scan::local): Handle the relocations.
	(Target_arm::Scan::global): Likewise.
	(Target_arm::Relocate::relocate): Likewise.
	(Target_arm:Relocatable_size_for_reloc::get_size_for_reloc): Likewise.
2010-01-30 00:11:00 +00:00
Doug Kwan c9a2c12554 2010-01-29 Doug Kwan <dougkwan@google.com>
* arm.cc (Target_arm::Scan::global): General PLTs for the same set
	of relocation types as ld.
2010-01-30 00:01:12 +00:00
gdbadmin 04258814fc *** empty log message *** 2010-01-30 00:00:03 +00:00
Alan Modra 01226412b1 daily update 2010-01-29 23:00:05 +00:00
Doug Kwan 1521477a53 2010-01-29 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_relocate_functions::arm_branch_common) Change visibility
	to public.
	(Arm_relocate_functions::thumb_branch_common): Ditto.
	(Arm_relocate_functions::thm_call, Arm_relocate_functions::thm_jump24,
	Arm_relocate_functions::thm_xpc22, Arm_relocate_functions::plt32,
	Arm_relocate_functions::xpc25, Arm_relocate_functions::call,
	Arm_relocate_functions::jump24): Remove.
	(Target_arm::Relocate::relocate): Adjust code to call
	Arm_relocation_functions::arm_branch_common and
	Arm_relocation_functions::thumb_branch_common instead of their removed
	wrappers.  Merge switch-cases together to reduce source code size.
2010-01-29 22:16:17 +00:00
Doug Kwan e7eca48cb2 2010-01-29 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_relobj::Arm_relobj): Initialize new data member
	output_local_symbol_count_needs_update_.
	(Arm_relobj::output_local_symbol_count_needs_update,
	 Arm_relobj::set_output_local_symbol_count_needs_update,
	 Arm_relobj::update_output_local_symbol_count): New methods.
	(Arm_relobj::output_local_symbol_count_needs_update_): New data
	member.
	(Arm_exidx_cantunwind::do_fixed_endian_write): Write address
	of pointed function as in a R_ARM_PREL31 relocation.
	(Arm_output_section<big_endian>::fix_exidx_coverage): Mark objects
	for output local symbol count updating.
	(Target_arm::do_relax): Update output local symbol counts in objects
	if necessary.
	* object.h (Sized_relobj::set_output_local_symbol_count): New method.
2010-01-29 18:23:18 +00:00
Daniel Jacobowitz b0e28b39b7 gas/testsuite/
* gas/arm/dis-data.d: Update test name.  Do not expect
	.word output.
	* gas/arm/dis-data2.d, gas/arm/dis-data2.s,
	gas/arm/dis-data3.d, gas/arm/dis-data3.s: New tests.

	opcodes/
	* opcodes/arm-dis.c (struct arm_private_data): New.
	(print_insn_coprocessor, print_insn_arm): Update to use struct
	arm_private_data.
	(is_mapping_symbol, get_map_sym_type): New functions.
	(get_sym_code_type): Check the symbol's section.  Do not check
	mapping symbols.
	(print_insn): Default to disassembling ARM mode code.  Check
	for mapping symbols separately from other symbols.  Use
	struct arm_private_data.
2010-01-29 16:47:55 +00:00
Nick Clifton 99b253c514 PR 11136
* config/tc-arm.c (neon_check_type): Handle a neon_shape value of
        NS_NULL.
        * gas/arm/neon-omit.s: Add instruction that causes crash.
        * gas/arm/neon-omit.d: Add expected disassembly.
2010-01-29 16:02:41 +00:00
Ian Lance Taylor 02961d7edf * arm.cc: Added support for the ARM relocations:
R_ARM_MOVW_BREL_NC, R_ARM_MOVT_BREL, R_ARM_MOVW_BREL,
	R_ARM_THM_MOVW_BREL_NC, R_ARM_THM_MOVT_BREL, R_ARM_THM_MOVW_BREL.
	(Arm_relocate_functions::movw_rel_nc): Renamed (was
	movw_prel_nc).
	(Arm_relocate_functions::movw_rel): New method.
	(Arm_relocate_functions::movt_rel): Renamed (was movt_prel).
	(Arm_relocate_functions::thm_movw_rel_nc): Renamed (was
	thm_movw_prel_nc).
	(Arm_relocate_functions::thm_movw_rel): New method.
	(Arm_relocate_functions::thm_movt_rel): Renamed (was
	thm_movt_prel).
	(Target_arm::Scan::local): Handle MOVW_BREL/MOVT_BREL
	relocations.
	(Target_arm::Scan::global): Likewise.
	(Target_arm::Relocate::relocate): Likewise.
	(Target_arm::Relocatable_size_for_reloc::get_size_for_reloc):
	Likewise.
2010-01-29 15:46:43 +00:00
Daniel Jacobowitz 2b00904856 * infrun.c (prepare_to_proceed): Handle other signals which might
match a breakpoint.
	(handle_inferior_event): Move the check for unusual breakpoint
	signals earlier.

	gdbserver/
	* linux-low.c (get_stop_pc): Check for SIGTRAP.
	(linux_wait_for_event_1): Handle SIGILL and SIGSEGV as possible
	breakpoints.
2010-01-29 15:40:22 +00:00
Daniel Jacobowitz 97f2ed50d0 * gdb.base/call-strs.exp, gdb.base/default.exp,
gdb.base/ending-run.exp, gdb.base/finish.exp, gdb.base/funcargs.exp,
	gdb.base/huge.exp, gdb.base/nodebug.exp, gdb.base/ptype.exp,
	gdb.base/restore.exp, gdb.base/return.exp, gdb.base/setvar.exp,
	gdb.base/watchpoints.exp, gdb.threads/gcore-thread.exp,
	gdb.base/watchpoint-solib.exp: Save and restore timeout.
	* gdb.base/ending-run.exp: Correct restore of timeout.
	* gdb.base/page.exp: Remove unnecessary timeout setting.
2010-01-29 15:38:38 +00:00
Joel Brobecker e4e2711a4a amd64 - function returning record with field straddling 2 registers
gdb/ChangeLog:

        From Paul Hilfinger  <hilfinger@adacore.com>
        * amd64-tdep.c (amd_classify_aggregate): Handle the case of
        a record of length <= 16 in which a field straddles the two
        eightbytes.

gdb/testsuite/ChangeLog:

        * gdb.ada/rec_return: New testcase.
2010-01-29 14:39:04 +00:00
Joel Brobecker cba6fab54a Implement return values on amd64-windows.
* amd64-windows-tdep.c: #include gdbcore.h and regcache.h.
        (amd64_windows_return_value): New function.
        (amd64_windows_init_abi): Call set_gdbarch_return_value with
        amd64_windows_return_value.
2010-01-29 05:29:21 +00:00
Joel Brobecker 3af6ddfec6 amd64-windows: 32 bytes allocated on stack by caller for integer parameter registers
* i386-tdep.h (struct gdbarch_tdep): Add new field
        integer_param_regs_saved_in_caller_frame.
        * amd64-windows-tdep.c (amd64_windows_init_abi): Set
        tdep->integer_param_regs_saved_in_caller_frame to 1.
        * amd64-tdep.c (amd64_push_dummy_call): Allocate some memory on
        stack if tdep->integer_param_regs_saved_in_caller_frame is set.
2010-01-29 05:27:36 +00:00
Joel Brobecker 4966b6c228 Add summary line to the second to last entry. 2010-01-29 05:23:37 +00:00
Joel Brobecker 80d19a0621 amd64-windows: memory args passed by pointer during function calls.
* i386-tdep.h (gdbarch_tdep): Add field memory_args_by_pointer.
        * amd64-tdep.c (amd64_push_arguments): Add handling of architectures
        where tdep->memory_args_by_pointer is non-zero.
        * amd64-windows-tdep.c (amd64_windows_init_abi): Set
        tdep->memory_args_by_pointer to 1.
2010-01-29 05:21:55 +00:00
Joel Brobecker ba581dc13b amd64: Integer parameters in function calls on Windows.
gdb/ChangeLog:

        * i386-tdep.h (enum amd64_reg_class): New, moved here from
        amd64-tdep.c.
        (struct gdbarch_tdep): Add fields call_dummy_num_integer_regs,
        call_dummy_integer_regs, and classify.
        * amd64-tdep.h (amd64_classify): Add declaration.
        * amd64-tdep.c (amd64_dummy_call_integer_regs): New static constant.
        (amd64_reg_class): Delete, moved to i386-tdep.h.
        (amd64_classify): Make non-static.  Move declaration to amd64-tdep.h.
        Replace call to amd64_classify by call to tdep->classify.
        (amd64_push_arguments): Get the list of registers to use for
        passing integer parameters from the gdbarch tdep structure,
        rather than using a hardcoded one.  Replace calls to amd64_classify
        by calls to tdep->classify.
        (amd64_push_dummy_call): Get the register number used for
        the "hidden" argument from tdep->call_dummy_integer_regs.
        (amd64_init_abi): Initialize tdep->call_dummy_num_integer_regs
        and tdep->call_dummy_integer_regs.  Set tdep->classify.
        * amd64-windows-tdep.c: Add include of gdbtypes.h.
        (amd64_windows_dummy_call_integer_regs): New static global.
        (amd64_windows_classify): New function.
        (amd64_windows_init_abi): Initialize tdep->call_dummy_num_integer_regs
        tdep->call_dummy_integer_regs and tdep->classify.

gdb/testsuite/ChangeLog:

        * gdb.ada/call_pn: New testcase.
2010-01-29 05:19:23 +00:00
Joel Brobecker a1504221ad core files: wrong signal number with threaded program on sparc-solaris.
* elf.c (elfcore_grok_lwpstatus): Do not overwrite the core signal
        if it has already been set.
2010-01-29 04:33:00 +00:00
gdbadmin 18c2a94fb0 *** empty log message *** 2010-01-29 00:00:33 +00:00
Alan Modra c7243c60bd daily update 2010-01-28 23:00:04 +00:00
Daniel Jacobowitz 4ea95be9cd * gdb.mi/mi-nonstop.exp (mi_nonstop_resume): New function.
(Top level): Use it to resume.
	* lib/mi-support.exp (mi_send_resuming_command_raw): Recognize
	the Thumb mode displaced stepping error as unsupported.
2010-01-28 22:14:12 +00:00