Commit graph

66147 commits

Author SHA1 Message Date
Jan Kratochvil
98751a4113 gdb/
* c-typeprint.c (c_type_print_base): For no fields check include also
	TYPE_TYPEDEF_FIELD_COUNT.  Print new typedefs section.
	* dwarf2read.c (struct typedef_field_list)
	(struct field_info) <typedef_field_list, typedef_field_list_count>: New.
	(dwarf2_add_typedef): New.
	(read_structure_type): Call dwarf2_add_typedef for DW_TAG_typedef.
	Copy also FI.TYPEDEF_FIELD_LIST.
	* gdbtypes.h (struct typedef_field)
	(struct cplus_struct_type) <typedef_field, typedef_field_count>
	(TYPE_TYPEDEF_FIELD_ARRAY, TYPE_TYPEDEF_FIELD, TYPE_TYPEDEF_FIELD_NAME)
	(TYPE_TYPEDEF_FIELD_TYPE, TYPE_TYPEDEF_FIELD_COUNT): New.

gdb/testsuite/
	* gdb.cp/namespace.exp (ptype OtherFileClass typedefs)
	(ptype ::C::OtherFileClass typedefs): New.
	* gdb.cp/namespace1.cc (C::OtherFileClass::cOtherFileClassType2)
	(C::OtherFileClass::cOtherFileClassVar2): New.
	(C::OtherFileClass::cOtherFileClassVar_use): Use also
	cOtherFileClassVar2.
	(C::cOtherFileType2, C::cOtherFileVar2): New.
	(C::cOtherFileVar_use): use also cOtherFileVar2.
	* gdb.cp/userdef.exp (ptype &*c): Permit arbitrary trailing text.
2010-06-28 20:39:30 +00:00
Jan Kratochvil
41f62f3939 gdb/
* cp-namespace.c (cp_lookup_nested_type): New variable
	concatenated_name.  Turn the current return condition into a reverse
	one.  Call also lookup_static_symbol_aux on the constructed qualified
	name.
	* symtab.c (lookup_symbol_aux): Move variable objfile and searching in
	other files into a called ...
	(lookup_static_symbol_aux): ... new function here.
	* symtab.h (lookup_static_symbol_aux): New prototype.
	* valops.c (value_maybe_namespace_elt): Call also
	lookup_static_symbol_aux if we failed otherwise.

gdb/testsuite/
	* gdb.cp/namespace.exp (whatis C::cOtherFileType)
	(whatis ::C::cOtherFileType, whatis C::cOtherFileVar)
	(whatis ::C::cOtherFileVar, print C::cOtherFileVar)
	(print ::C::cOtherFileVar)
	(whatis C::OtherFileClass::cOtherFileClassType)
	(whatis ::C::OtherFileClass::cOtherFileClassType)
	(print C::OtherFileClass::cOtherFileClassVar)
	(print ::cOtherFileClassVar)
	(print ::C::OtherFileClass::cOtherFileClassVar): New tests.
	(ptype OtherFileClass, ptype ::C::OtherFileClass): Permit arbitrary
	trailing content.
	* gdb.cp/namespace1.cc (C::OtherFileClass::cOtherFileClassType)
	(C::OtherFileClass::cOtherFileClassVar)
	(C::OtherFileClass::cOtherFileClassVar_use, C::cOtherFileType)
	(C::cOtherFileVar, C::cOtherFileVar_use): New.
2010-06-28 20:35:52 +00:00
Jan Kratochvil
af53d23161 gdb/
Fix PR c++/11703 and PR gdb/1448.
	* c-exp.y (yylex) <last_was_coloncolon && first_was_coloncolon>: Add
	FIRST_ITER check.

gdb/testsuite/
	Test PR c++/11703 and PR gdb/1448.
	* gdb.cp/namespace.exp (ptype ::C::NestedClass): Remove KFAIL for
	gdb/1448.
2010-06-28 20:18:27 +00:00
Jan Kratochvil
9655fd1aec gdb/
Fix modification of cplus_struct_default.
	* dwarf2read.c (dwarf2_add_member_fn) <no DW_AT_vtable_elem_location>:
	Call ALLOCATE_CPLUS_STRUCT_TYPE.
	* gdbtypes.c (cplus_struct_default): New empty initializer, comment it.

gdb/testsuite/
	* gdb.cp/virtbase.cc (class RTTI_base, class RTTI_data)
	(main) <rtti_data>: New.
	* gdb.cp/virtbase.exp (print rtti_data): New.
2010-06-28 20:12:53 +00:00
Jan Kratochvil
824cc8dd7c gdb/testsuite/
* lib/gdb.exp (gdb_test_multiple): Error on trailing newlines.
2010-06-28 20:09:59 +00:00
Joel Brobecker
9279c692c1 Document the GDB python directory.
2010-06-27  Joel Brobecker  <brobecker@adacore.com>

        * NEWS: Add entry announcing the python directory.

2010-06-27  Joel Brobecker  <brobecker@adacore.com>

        * gdb.texinfo (Python): Document what the python directory is
        and what its location is.
        (Basic Python): Document the gdb.PYTHONDIR constant.
2010-06-28 19:54:04 +00:00
Tom Tromey
d3f41bb170 * dwarf2read.c (read_structure_type): Allocate null cleanup later. 2010-06-28 19:05:42 +00:00
Doug Evans
23e7acfb8e * breakpoint.c (breakpoint_sals_to_pc): Delete arg address, unused.
All callers updated.
2010-06-28 18:56:38 +00:00
Jan Kratochvil
6036c74221 gdb/
* cp-valprint.c (cp_print_value_fields) <recurse == 0>: Call
	obstack_begin after each obstack_free.

gdb/testsuite/
	* gdb.cp/static-print-quit.exp, gdb.cp/static-print-quit.cc: New.
2010-06-28 16:59:47 +00:00
Doug Evans
de6a04210c * gdb.base/break-interp.exp (reach): Relax expected output a bit. 2010-06-28 16:54:11 +00:00
Alan Modra
dc898d5e26 cgen/
* cpu/mep.opc (mep_examine_ivc2_insns): Delete set but unused var.
opcodes/
	* mep-dis.c: Regenerate.
2010-06-28 14:41:59 +00:00
Alan Modra
3f062f4418 * compress.c (bfd_uncompress_section_contents): Use ATTRIBUTE_UNUSED
to silence gcc warning.
2010-06-28 14:41:11 +00:00
Alan Modra
87975d2a60 * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define.
* config/tc-crx.c (gettrap): Constify arg.
	(handle_LoadStor, get_cinv_parameters): Likewise.
	(getreg_image): Fix enum warning
	(md_assemble): Restore input line char.
	* config/tc-hppa.c (tc_gen_reloc): Fix enum warning.
	* config/tc-i960.c (mem_fmt): Rename var to fix shadow warning.
	* config/tc-sh.c (sh_fdpic): Only define when OBJ_ELF.
	(build_Mytes): Fix build failure for non-elf targets.
	* config/tc-tic4x.c (tic4x_eval): Restore terminator char.
	* config/tc-xtensa.c (xtensa_end_directive): Fix switch enum warning.

	* cgen.c (gas_cgen_md_apply_fix): Avoid set but unused warning.
	* ecoff.c (add_ecoff_symbol): Likewise.
	* itbl-ops.c (append_insns_as_macros): Likewise.
	* listing.c (debugging_pseudo): Likewise.
	* read.c (s_mri_common, stringer): Likewise.
	* config/obj-coff.c (coff_frob_section): Likewise.
	* config/tc-alpha.c (emit_ldgp, s_alpha_proc): Likewise.
	* config/tc-arm.c (my_get_expression): Likewise.
	* config/tc-hppa.c (process_exit, pa_type_args): Likewise.
	* config/tc-m32c.c (md_assemble): Likewise.
	* config/tc-microblaze.c (md_convert_frag): Likewise.
	* config/tc-mips.c (s_change_section): Likewise.
	* config/tc-mt.c (mt_fix_adjustable): Likewise.
	* config/tc-xtensa.c (xtensa_literal_pseudo): Likewise.

	* config/obj-aout.c (obj_aout_frob_symbol): Delete set but otherwise
	unused vars.
	* config/tc-alpha.c (load_expression): Likewise.
	(s_alpha_rdata, s_alpha_section, s_alpha_prologue): Likewise.
	* config/tc-arm.c (parse_neon_el_struct_list): Likewise.
	* config/tc-avr.c (extract_word): Likewise.
	* config/tc-cris.c (cris_get_expression): Likewise.
	* config/tc-d30v.c (build_insn, find_format): Likewise.
	* config/tc-dlx.c (machine_ip): Likewise.
	* config/tc-hppa.c (pa_get_absolute_expression): Likewise.
	* config/tc-i370.c (md_assemble): Likewise.
	* config/tc-i960.c (brtab_emit): Likewise.
	* config/tc-iq2000.c (s_iq2000_ent): Likewise.
	* config/tc-m32c.c (md_convert_frag): Likewise.
	* config/tc-m68hc11.c (fixup24, build_jump_insn): Likewise.
	(md_estimate_size_before_relax, md_apply_fix): Likewise.
	* config/tc-m68k.c (md_show_usage): Likewise.
	* config/tc-microblaze.c (microblaze_s_lcomm): Likewise.
	* config/tc-mips.c (s_mips_end): Likewise.
	* config/tc-mmix.c (mmix_byte, mmix_cons): Likewise.
	* config/tc-mn10300.c (md_assemble): Likewise.
	* config/tc-msp430.c (extract_word): Likewise.
	* config/tc-mt.c (md_assemble): Likewise.
	* config/tc-or32.c (machine_ip): Likewise.
	* config/tc-pj.c (md_apply_fix): Likewise.
	* config/tc-s390.c (md_gather_operands): Likewise.
	* config/tc-sh.c (sh_cons_align): Likewise.
	* config/tc-sparc.c (sparc_cons_align): Likewise.
	* config/tc-tic4x.c (tic4x_sect): Likewise.
	* config/tc-tic54x.c (tic54x_stringer): Likewise.
	* config/tc-vax.c (vip_op): Likewise.
	* config/tc-xstormy16.c (xstormy16_cons_fix_new): Likewise.
	* config/tc-xtensa.c (md_assemble): Likewise.
	(xtensa_fix_short_loop_frags, convert_frag_immed): Likewise.
	(xtensa_move_literals): Likewise.
2010-06-28 14:06:57 +00:00
Matthew Gretton-Dann
8e56076649 * gas/config/tc-arm.c (parse_neon_alignment): New function.
(parse_address_main): Fix Neon load/store alignment parsing.
	* gas/testsuite/gas/arm/neon-ldst-align-bad.l: Update for Neon alignment syntax fix.
	* gas/testsuite/gas/arm/neon-ldst-align-bad.s: Likewise.
	* gas/testsuite/gas/arm/neon-ldst-es.d: Likewise.
	* gas/testsuite/gas/arm/neon-ldst-es.s: Likewise.
	* opcodes/arm-disc.c (parse_insn_neon):  Fix Neon alignment syntax.
2010-06-28 09:10:25 +00:00
Alan Modra
fc63f3ec4e daily update 2010-06-28 00:00:06 +00:00
gdbadmin
3aa005fffe *** empty log message *** 2010-06-28 00:00:03 +00:00
Doug Evans
b2dae948d7 * gdb.cp/m-static.exp: Update expected test output. 2010-06-27 17:19:54 +00:00
Doug Evans
1596cb5d60 * value.c (value_static_field): Use switch' instead of if'.
Assert-fail if passed invalid TYPE_FIELD_LOC_KIND.
2010-06-27 16:40:14 +00:00
Doug Evans
9f18a3b398 * valops.c (search_struct_field): Fix typo in error message. 2010-06-27 16:26:41 +00:00
Alan Modra
6bee8834bf * elf64-ppc.c (get_tls_mask): Don't segfault on NULL elf_section_data.
(group_sections): Likewise.
2010-06-27 08:37:22 +00:00
Ian Lance Taylor
e5ca47baff * symtab.cc (detect_odr_violations): When reporting an ODR
violation, report an object where the symbol is defined.
2010-06-27 06:17:36 +00:00
Alan Modra
c7e2358a88 fix set but unused variable warnings 2010-06-27 04:07:55 +00:00
Alan Modra
1addfd92eb daily update 2010-06-27 00:00:05 +00:00
gdbadmin
86a0355979 *** empty log message *** 2010-06-27 00:00:03 +00:00
Ulrich Weigand
43dabe425d * dwarf2expr.c (execute_stack_op): Place preprocessor
directives at the start of the source line.
2010-06-26 14:05:29 +00:00
Paul N. Hilfinger
0f3bb72eb7 Refactor 'maint time' command statistics.
Consolidate code for displaying per-command time and space statistics to avoid
duplication.  Piggyback on cleanups so that statistics get printed even when
commands terminate as a result of an error.

Changelog

    * gdb/defs.h (make_command_stats_cleanup): Declare.
    (set_display_time): Declare.
    (set_display_space): Declare.
    * gdb/event-top.c (command_handler): Use make_command_stats_cleanup.
    * gdb/main.c (display_time, display_space): Move definitions to utils.c.
    (captured_main): Use make_command_stats_cleanup to get start-up
    statistics.
    Use set_display_time and set_display_space for processing OPT_STATISTICS
    case.
    * gdb/maint.c (maintenance_time_display): Use set_display_time.
    (maintenance_space_display): Use set_display_space.
    * gdb/top.c (execute_command): Remove obsolete 'maint time' code.
    (command_loop): Use make_command_stats_cleanup.
    * gdb/utils.c (struct cmd_stats): Structure for storing initial time
    and space usage.
    (display_time, display_space): Move definitions here from utils.c.
    (set_display_time): New function.
    (set_display_space): New function.
    (make_command_stats_cleanup): New function.
    (report_command_stats): New auxiliary function for
    make_command_stats_cleanup.
    * gdb/testsuite/gdb.gdb/selftest.exp: Adjust expected message for
    capturing start-up runtime.
2010-06-26 06:44:47 +00:00
Alan Modra
3c1b3731d3 daily update 2010-06-26 00:00:05 +00:00
gdbadmin
cb97a5c52e *** empty log message *** 2010-06-26 00:00:04 +00:00
Ulrich Weigand
070c802839 * solib-spu.c (append_ocl_sos): Fix xsnprintf statement for
hosts where CORE_ADDR is long long.
2010-06-25 22:00:59 +00:00
Sami Wagiaalla
4656f5c643 Added NEWS entry about C++ improvements. 2010-06-25 18:19:31 +00:00
Tom Tromey
bc9f0842f1 gdb
PR python/10808:
	* python/python.c (execute_gdb_command): Add keywords.  Accept
	"to_string" argument.
	(struct restore_ui_file_closure): New.
	(restore_ui_file): New function.
	(make_cleanup_restore_ui_file): Likewise.
	(GdbMethods) <execute>: Update.
gdb/doc
	PR python/10808:
	* gdb.texinfo (Basic Python): Document new gdb.execute argument.
gdb/testsuite
	PR python/10808:
	* gdb.python/python.exp: Add new tests.
2010-06-25 18:15:18 +00:00
Sami Wagiaalla
099ef718e3 Added import loop test.
2010-06-25  Sami Wagiaalla  <swagiaal@redhat.com>

	* gdb.cp/operator.cc: Created an import loop.
	* gdb.cp/operator.exp: Added testcase for import loop.
2010-06-25 18:05:30 +00:00
Ulrich Weigand
c0cc4c83bd * s390-tdep.c (s390_push_dummy_call): Error on stack overflow
during inferior call stack frame setup.
2010-06-25 17:47:29 +00:00
Ulrich Weigand
f1d8ee6626 2010-06-25 Ken Werner <ken.werner@de.ibm.com>
* solib-spu.c: Include "exception.h".
	(ocl_program_data_key): New variable.
        (append_ocl_sos): New function.
        (ocl_enable_break): Likewise.
	(spu_current_sos): Call append_ocl_sos.
	(spu_solib_loaded): Call ocl_enable_break.
	(_initialize_spu_solib): Register ocl_program_data_key.
2010-06-25 17:39:56 +00:00
Ulrich Weigand
19c0c0f822 * cp-support.c (reset_directive_searched): New function.
(make_symbol_overload_list_using): Prevent recursive calls.
2010-06-25 16:16:44 +00:00
Tristan Gingold
4ba2ab9fc3 2010-06-25 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_write_egsd): Check absolute section with
	its flags.  Create an absolute section if needed.
2010-06-25 15:37:43 +00:00
Jan Kratochvil
5868a63287 gdb/testsuite/
Test PR python/11407.
	* gdb.dwarf2/dw2-ref-missing-frame-func.c: New file.
	* gdb.dwarf2/dw2-ref-missing-frame.S: Use cu_text_start and cu_text_end.
	Split main into func_nofb and func_loopfb dropping NO_FRAME_BASE.
	* gdb.dwarf2/dw2-ref-missing-frame.exp: Remove variables sources,
	executable_nofb and executable_fb.  New variables srcsfile, objsfile,
	srcfuncfile, objfuncfile, srcmainfile, objmainfile, executable and
	binfile.  Call gdb_compile with clean_restart twice.
	(func_nofb print, func_nofb backtrace, func_loopfb print)
	(func_loopfb backtrace): New.
2010-06-25 15:34:46 +00:00
Jan Kratochvil
af76db58d7 gdb/testsuite/
* gdb.dwarf2/dw2-ref-missing-frame-main.c: New.
	* gdb.dwarf2/dw2-ref-missing-frame.S: Replace compiler generated output
	by a hand made one.
	* gdb.dwarf2/dw2-ref-missing-frame.exp: Remove invalid comment.  Remove
	i?86 requirement.  Remove variables srcfile and binfile.  New variable
	sources, executable_nofb and executable_fb.  Call prepare_for_testing.
2010-06-25 15:32:49 +00:00
Tristan Gingold
1b3d1dbfad 2010-06-25 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_write_egsd): Set target_index field of
	sections.  Mark .vmsdebug section as SEC_DEBUGGING.  Do not create
	dummy psect anymore.  Adjust.
	(_bfd_vms_write_eeom): Adjust (use target_index instead of index)
	(_bfd_vms_write_etir): Ditto.
	(start_etir_or_etbt_record): Test for SEC_DEBUGGING instead of
	section name.  Adjust.
2010-06-25 15:21:48 +00:00
Phil Muldoon
0f6a939d86 2010-06-24 Phil Muldoon <pmuldoon@redhat.com>
* printcmd.c (print_variable_and_value): Print error message on
	caught exception.
2010-06-25 15:13:52 +00:00
Tristan Gingold
9714ee4866 2010-06-25 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (alpha_vms_write_exec): Set linktime field.
2010-06-25 14:54:19 +00:00
Ulrich Weigand
f2c7657e9a ChangeLog:
* dwarf2expr.h (struct dwarf_value_location): Use ULONGEST as type
	of stack values.
	(struct dwarf_expr_piece): Rename "expr" member to "mem".  Add new
	"value" member.
	(dwarf_expr_push): Change input type to ULONGEST.
	(dwarf_expr_fetch): Change return type to ULONGEST.
	(dwarf_expr_fetch_address): Add prototype.
	(dwarf2_read_address): Remove prototype.
	* dwarf2expr.c (dwarf_expr_push): Use ULONGEST as type of stack values.
	Truncate stack values to ctx->addr_size bytes.
	(dwarf_expr_fetch): Change return value to ULONGEST.
	(dwarf_expr_fetch_address): New function.
	(add_piece): Use dwarf_expr_fetch_address instead of dwarf_expr_fetch
	when appropriate.  Update for struct dwarf_expr_piece changes.
	(dwarf2_read_address): Remove.
	(unsigned_address_type): Remove.
	(signed_address_type): Remove.
	(execute_stack_op): Use dwarf_expr_fetch_address instead of
	dwarf_expr_fetch when appropriate.  Use ULONGEST as type of stack
	values.  Perform operations on ULONGEST instead of on GDB values,
	sign-extending from ctx->addr_size bytes as needed.  Read DW_OP_addr
	values and DW_OP_deref results as unsigned integers.
	* dwarf2loc.c (read_pieced_value): Update for struct dwarf_expr_piece
	changes.
	(write_pieced_value): Likewise.
	(dwarf2_evaluate_loc_desc): Use dwarf_expr_fetch_address instead of
	dwarf_expr_fetch when appropriate.
	(compile_dwarf_to_ax): Read DW_OP_addr values as unsigned integers.
	* dwarf2-frame.c (execute_stack_op): Use dwarf_expr_fetch_address
	instead of dwarf_expr_fetch when appropriate.

testsuite/ChangeLog:

	* gdb.cell/dwarfaddr.exp: New file.
	* gdb.cell/dwarfaddr.S: New file.
2010-06-25 13:00:33 +00:00
Pierre Muller
b1d61bc9d1 * c-typeprint.c (c_print_typedef): Append new type name for typedefs. 2010-06-25 07:32:25 +00:00
Alan Modra
ba761f19f5 include/elf/
* ppc64.h (R_PPC64_LO_DS_OPT): Define.
bfd/
	* elf64-ppc.c (toc_skip_enum): Define.
	(ppc64_elf_edit_toc): Use two low bits of skip array as markers.
	Optimize largetoc sequences.
	(adjust_toc_syms): Update for skip array change.
	(ppc64_elf_relocate_section): Handle R_PPC64_LO_DS_OPT.
ld/
	* emultempl/ppc64elf.em (prelim_size_sections): New function.
	(ppc_before_allocation): Use it.  Size sections before toc edit too.
2010-06-25 05:20:57 +00:00
Alan Modra
bded3693ae * emultempl/elf32.em (find_exp_assignment): Handle etree_provided. 2010-06-25 04:46:05 +00:00
Alan Modra
854b41e7c1 * elf64-ppc.c (is_static_defined): New function.
(get_tls_mask, ppc_type_of_stub): Use it here.
	(ppc64_elf_edit_opd): Ensure we only attempt to edit ppc64 input.
	(ppc64_elf_tls_setup): Typo fix.
	(adjust_toc_syms): Correctly handle symbols defined past the end
	of the toc.  Move syms on removed entries to next entry rather
	than to start of toc.
	(ppc64_elf_edit_toc): Likewise.  Ensure we only attempt to
	edit ppc64 input.  Allocate one extra word in skip array.
	Honour info->keep_memory when reading relocs if we can.
	Adjust toc relocs after adjusting symbols.
2010-06-25 03:46:04 +00:00
Doug Kwan
8a75a161b2 2010-06-25 Doug Kwan <dougkwan@google.com>
* arm.cc (Target_arm::can_check_for_functions_pointers): Return true.
	(Target_arm::section_may_have_icf_unsafe_pointers): New method
	definition.
	(Target_arm::Scan::local_reloc_may_be_function_pointer,
	Target_arm::Scan::global_reloc_may_be_function_pointer): Implement
	target hook to detect function points.
	(Target_arm::Scan::possible_function_pointer_reloc): New method.
	* icf.h (Icf::check_section_for_function_pointers): Change type of
	parameter SECTION_NAME to const reference to std::string.  Use
	target hook to determine if section may have unsafe pointers.
	* target.h (Target::section_may_have_icf_unsafe_pointers): New
	method definition.
2010-06-25 00:37:40 +00:00
gdbadmin
4f2a93bda2 *** empty log message *** 2010-06-25 00:00:33 +00:00
Alan Modra
591094244f daily update 2010-06-25 00:00:04 +00:00
Joel Brobecker
b14285f60e Add support for gdb.PYTHONDIR as $gdb_datadir/python.
Python scripts to be used by GDB can be stored in that directory,
and will be automatically found by the interpreter when importing them.
This patch also sets up <gdb_pythondir>/gdb as the directory where gdb
submodules can be stored.  For now, there is nothing there, but it can
now be added easily without further code changes.

gdb/ChangeLog:
2010-06-24  Joel Brobecker  <brobecker@adacore.com>

        * python/python.c (_initialize_python): Add new "constant"
        PYTHONDIR in gdb module.  Insert this path at the head of
        sys.path. Set gdb.__path__ to gdb.PYTHONDIR + '/gdb' and
        exec its __init__.py script if it exists in that directory.
2010-06-24 22:52:04 +00:00