Maciej W. Rozycki [Wed, 3 Aug 2011 21:09:46 +0000 (21:09 +0000)]
* mips.h: Document the use of FP_D in MIPS16 mode. Adjust the
order of flags documented.
Jan Kratochvil [Wed, 3 Aug 2011 15:17:10 +0000 (15:17 +0000)]
gdb/
* stack.c (print_frame_arguments_choices): Comment typo fix.
Nick Clifton [Wed, 3 Aug 2011 11:35:56 +0000 (11:35 +0000)]
* config/tc-arm.c (do_t_strexbh): New.
(insns): Update accordingly.
* gas/arm/strex-bad-t.d: New testcase.
* gas/arm/strex-bad-t.s: Likewise.
* gas/arm/strex-bad-t.l: Likewise.
* gas/arm/strex-t.s: Likewise.
* gas/arm/strex-t.d: Likewise.
Tristan Gingold [Wed, 3 Aug 2011 08:12:07 +0000 (08:12 +0000)]
2011-08-03 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_canonicalize_symtab): Handle no symbols case.
(bfd_mach_o_read_symtab_symbols): Return if no symbols.
Alan Modra [Wed, 3 Aug 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Wed, 3 Aug 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Tom Tromey [Tue, 2 Aug 2011 20:59:44 +0000 (20:59 +0000)]
PR gdb/11289:
* gdb.cp/overload.exp: Fix regexps. Remove kfails.
Quentin Neill [Tue, 2 Aug 2011 19:58:06 +0000 (19:58 +0000)]
opcodes/
2011-08-02 Quentin Neill <quentin.neill@amd.com>
* i386-dis.c (xop_table): Remove spurious bextr insn.
Cary Coutant [Tue, 2 Aug 2011 18:47:07 +0000 (18:47 +0000)]
Fix timestamps in three ChangeLog entries with wrong year.
Maciej W. Rozycki [Tue, 2 Aug 2011 14:28:26 +0000 (14:28 +0000)]
* elfxx-mips.c (check_4byte_branch): Remove function.
(check_relocated_bzc): New function.
(_bfd_mips_elf_relax_section): Permit the relaxation of LUI
instructions that immediately follow a compact branch
instruction.
Alan Modra [Tue, 2 Aug 2011 04:44:45 +0000 (04:44 +0000)]
* elf64-ppc.c (build_plt_stub): Correct emitted relocs when no
plt_static_chain.
(ppc_build_one_stub): Adjust get_relocs call to suit..
(ppc_size_one_stub): ..and reloc sizing. Correct plt size corner case.
H.J. Lu [Tue, 2 Aug 2011 00:37:41 +0000 (00:37 +0000)]
Add missing files.
Alan Modra [Tue, 2 Aug 2011 00:00:07 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 2 Aug 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
H.J. Lu [Mon, 1 Aug 2011 23:04:23 +0000 (23:04 +0000)]
Check R_X86_64_32 overflow and allow R_X86_64_64 for x32.
bfd/
2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13048
* archures.c (bfd_mach_i386_intel_syntax): New.
(bfd_mach_i386_i8086): Updated.
(bfd_mach_i386_i386): Likewise.
(bfd_mach_x86_64): Likewise.
(bfd_mach_x64_32): Likewise.
(bfd_mach_i386_i386_intel_syntax): Likewise.
(bfd_mach_x86_64_intel_syntax): Likewise.
(bfd_mach_x64_32_intel_syntax): Likewise.
(bfd_mach_l1om): Likewise.
(bfd_mach_l1om_intel_syntax): Likewise.
(bfd_mach_k1om): Likewise.
(bfd_mach_k1om_intel_syntax): Likewise.
* bfd-in2.h: Regenerated.
* cpu-i386.c (bfd_i386_compatible): Check mach instead of
bits_per_address.
(bfd_x64_32_arch_intel_syntax): Set bits_per_address to 64.
(bfd_x64_32_arch): Likewise.
* elf64-x86-64.c: Include "libiberty.h".
(x86_64_elf_howto_table): Append x32 R_X86_64_32.
(elf_x86_64_rtype_to_howto): Support x32 R_X86_64_32.
(elf_x86_64_reloc_type_lookup): Likewise.
(elf_x86_64_reloc_name_lookup): Likewise.
(elf_x86_64_relocate_section): Likewise.
(elf_x86_64_check_relocs): Allow R_X86_64_64 relocations for x32.
gas/
2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13048
* config/tc-i386.c (handle_quad): Removed.
(md_pseudo_table): Remove "quad".
(tc_gen_reloc): Don't check BFD_RELOC_64 for disallow_64bit_reloc.
(x86_dwarf2_addr_size): New.
* config/tc-i386.h (x86_dwarf2_addr_size): New.
(DWARF2_ADDR_SIZE): Likewise.
gas/testsuite/
2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13048
* gas/i386/ilp32/ilp32.exp: Don't run inval.
* gas/i386/ilp32/inval.l: Removed.
* gas/i386/ilp32/inval.s: Likewise.
* gas/i386/ilp32/quad.d: Expect R_X86_64_64 instead of
R_X86_64_32.
* gas/i386/ilp32/x86-64-pcrel.s: Add tests for movabs.
* gas/i386/ilp32/x86-64-pcrel.d: Updated.
ld/testsuite/
2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13048
* ld-x86-64/ilp32-6.d: New.
* ld-x86-64/ilp32-6.s: Likewise.
* ld-x86-64/ilp32-7.d: Likewise.
* ld-x86-64/ilp32-7.s: Likewise.
* ld-x86-64/ilp32-8.d: Likewise.
* ld-x86-64/ilp32-8.s: Likewise.
* ld-x86-64/ilp32-9.d: Likewise.
* ld-x86-64/ilp32-9.s: Likewise.
* ld-x86-64/x86-64.exp: Run ilp32-6, ilp32-7, ilp32-8 and ilp32-9.
opcodes/
2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13048
* i386-dis.c (print_insn): Optimize info->mach check.
Cary Coutant [Mon, 1 Aug 2011 20:09:25 +0000 (20:09 +0000)]
* gold/testsuite/Makefile.am (justsyms_exec): New testcase.
* gold/testsuite/Makefile.in: Regenerate.
* gold/testsuite/justsyms_exec.c: New source file.
* gold/testsuite/justsyms_lib.c: New source file.
H.J. Lu [Mon, 1 Aug 2011 19:25:48 +0000 (19:25 +0000)]
Add Disp32S to 64bit call.
gas/testsuite/
2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
PR gas/13046
* gas/i386/x86-64-branch.s: Add tests for direct branch.
* gas/i386/x86-64-branch.d: Updated.
* gas/i386/ilp32/x86-64-branch.d: Likewise.
opcodes/
2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
PR gas/13046
* i386-opc.tbl: Add Disp32S to 64bit call.
* i386-tbl.h: Regenerated.
Thiago Jung Bauermann [Mon, 1 Aug 2011 18:45:49 +0000 (18:45 +0000)]
Revert:
2011-07-31 Thiago Jung Bauermann <bauerman@br.ibm.com>
* breakpoint.c (insert_bp_location): Remove disabled_breaks
argument. Update callers.
Cary Coutant [Mon, 1 Aug 2011 18:25:22 +0000 (18:25 +0000)]
* layout.cc (Layout::set_segment_offsets): Don't realign text
segment if -Ttext was specified.
* object.cc (Sized_relobj_file::Sized_relobj_file): Store the ELF
file type.
* object.h (Sized_relobj_file::e_type): New function.
(Sized_relobj_file::e_type_): New data member.
* symtab.cc (Symbol_table::add_from_relobj): Don't add section
base address for ET_EXEC files.
* target.cc (Target::do_make_elf_object_implementation): Allow
ET_EXEC files with --just-symbols option.
Paul Pluzhnikov [Mon, 1 Aug 2011 16:03:06 +0000 (16:03 +0000)]
fix date of last checkin
Paul Pluzhnikov [Mon, 1 Aug 2011 16:02:03 +0000 (16:02 +0000)]
2011-08-01 Paul Pluzhnikov <ppluzhnikov@google.com>
PR gdb/13045
* doublest.c (convert_doublest_to_floatformat): Pass correct
mantissa length to put_field.
testsuite/ChangeLog:
2011-07-30 Paul Pluzhnikov <ppluzhnikov@google.com>
PR gdb/13045
* gdb.base/float.exp: Add new test case for PR gdb/13045
* gdb.base/float.c: New file.
Jan Kratochvil [Mon, 1 Aug 2011 14:57:48 +0000 (14:57 +0000)]
gdb/
* stack.c (do_gdb_disassembly): Use RETURN_MASK_ERROR, simplify the
exception_print code path.
(backtrace_command): Remove variable e. Protect arg by make_cleanup in
advance. Simplify memset. Remove TRY_CATCH. Remove explicit xfree.
(backtrace_full_command): Remove variable e. Remove TRY_CATCH.
Jan Kratochvil [Mon, 1 Aug 2011 14:56:57 +0000 (14:56 +0000)]
gdb/
Code cleanup.
* stack.c (struct print_stack_frame_args, print_stack_frame_stub):
Remove, merge them into ...
(print_stack_frame): ... here with a TRY_CATCH. New variable e, remove
variable args and its initialization.
(struct print_args_args, print_args_stub): Remove, merge them into
print_frame.
(struct gdb_disassembly_stub_args, gdb_disassembly_stub): Remove, merge
them into ...
(do_gdb_disassembly): ... here. Remove variable args and its
initialization.
(print_frame): Remove variable args and its initialization, new
variable gdbarch and numargs (from print_args_stub), inline here
print_args_stub with a TRY_CATCH.
(struct backtrace_command_args, backtrace_command_stub): Remove, merge
them into ...
(backtrace_command, backtrace_full_command): ... here with a TRY_CATCH.
New variable e, remove variable btargs and its initialization.
Tristan Gingold [Mon, 1 Aug 2011 14:07:09 +0000 (14:07 +0000)]
2011-08-01 Tristan Gingold <gingold@adacore.com>
* darwin-nat.c (darwin_decode_exception_message): Adjust assertion.
Nick Clifton [Mon, 1 Aug 2011 11:27:14 +0000 (11:27 +0000)]
PR ld/12974
* config/tc-arm.c (literal_pool): Add locs field.
(add_to_lit_pool): Initialise the locs entry for the new literal.
(s_ltorg): Generate a DWARF2 line number entry for each emitted
literal pool entry.
Tristan Gingold [Mon, 1 Aug 2011 09:05:40 +0000 (09:05 +0000)]
2011-08-01 Tristan Gingold <gingold@adacore.com>
* write.c (write_relocs): Fix -Wshadow in DEBUG3 and DEBUG4.
Tristan Gingold [Mon, 1 Aug 2011 08:05:49 +0000 (08:05 +0000)]
2011-08-01 Tristan Gingold <gingold@adacore.com>
* frags.c (frag_grow): Simplify the code.
Alan Modra [Mon, 1 Aug 2011 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Mon, 1 Aug 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Thiago Jung Bauermann [Sun, 31 Jul 2011 20:31:16 +0000 (20:31 +0000)]
* breakpoint.c (insert_bp_location): Document return value.
(insert_breakpoint_locations): Fix documentation.
(remove_breakpoints): Add documentation.
Thiago Jung Bauermann [Sun, 31 Jul 2011 20:29:33 +0000 (20:29 +0000)]
* breakpoint.c (insert_bp_location): Remove disabled_breaks
argument. Update callers.
H.J. Lu [Sun, 31 Jul 2011 19:57:23 +0000 (19:57 +0000)]
Sync with gcc.
2011-07-26 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/demangle-expected: Remove an extra line.
gdbadmin [Sun, 31 Jul 2011 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 31 Jul 2011 00:00:06 +0000 (00:00 +0000)]
daily update
Jan Kratochvil [Sat, 30 Jul 2011 22:31:19 +0000 (22:31 +0000)]
gdb/
* stack.c (print_frame_info): Comment typo fix.
Richard Sandiford [Sat, 30 Jul 2011 06:28:22 +0000 (06:28 +0000)]
gas/
* config/tc-mips.c (nops_for_vr4130): Revert previous commit.
Alan Modra [Sat, 30 Jul 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 30 Jul 2011 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Maciej W. Rozycki [Fri, 29 Jul 2011 22:56:57 +0000 (22:56 +0000)]
* elfxx-mips.c (check_br32): Fix return type.
Maciej W. Rozycki [Fri, 29 Jul 2011 22:52:21 +0000 (22:52 +0000)]
* elfxx-mips.c (bz_insn_16): Correct opcode mask.
Maciej W. Rozycki [Fri, 29 Jul 2011 22:46:29 +0000 (22:46 +0000)]
bfd/
* elfxx-mips.c: Adjust comments throughout.
(mips_elf_relax_delete_bytes): Reshape code.
(_bfd_mips_elf_relax_section): Remove check for
R_MICROMIPS_GPREL16 relocations. Reshape code.
gas/
* config/tc-mips.c: Adjust comments throughout.
(reglist_lookup): Reshape code.
(jmp_reloc_p, jalr_reloc_p): Reformat.
(got16_reloc_p, hi16_reloc_p, lo16_reloc_p): Handle microMIPS
relocations.
(gpr_mod_mask): Remove unused variable.
(gpr_read_mask, gpr_write_mask): Reshape code.
(fpr_read_mask, fpr_write_mask): Likewise.
(nops_for_vr4130): Ensure non-microMIPS mode.
(can_swap_branch_p): Correct pinfo2 reference. Reshape code.
(append_insn): Skip Loongson 2F workaround in MIPS16 mode. Use
the outermost operator of a compound relocation to determines
the relocated field. Fix formatting.
(md_convert_frag): Reshape code.
include/opcode/
* mips.h: Clarify the description of microMIPS instruction
manipulation macros.
(MICROMIPSOP_MASK_MAJOR, MICROMIPSOP_SH_MAJOR): Remove macros.
Sterling Augustine [Fri, 29 Jul 2011 18:37:44 +0000 (18:37 +0000)]
2011-07-29 Sterling Augustine <saugustine@google.com>
* MAINTAINERS (Write After Approval): Add myself to the list.
Tom Tromey [Fri, 29 Jul 2011 17:38:47 +0000 (17:38 +0000)]
* solib-target.c: Use DEF_VEC_I, not DEF_VEC_O.
(library_list_start_segment): Update.
(library_list_start_section): Update.
Nick Clifton [Fri, 29 Jul 2011 11:02:40 +0000 (11:02 +0000)]
* gas/elf/warn-2.s: Add other types of NOP insn.
Tristan Gingold [Fri, 29 Jul 2011 07:34:14 +0000 (07:34 +0000)]
2011-07-29 Tristan Gingold <gingold@adacore.com>
* frags.c (frag_var_init): New function.
(frag_var): Call frag_var_init to initialize.
(frag_variant): Ditto.
gdbadmin [Fri, 29 Jul 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 29 Jul 2011 00:00:06 +0000 (00:00 +0000)]
daily update
Cary Coutant [Thu, 28 Jul 2011 23:25:06 +0000 (23:25 +0000)]
* workqueue-internal.h (Workqueue_threader::should_cancel_thread):
Add thread_number parameter.
(Workqueue_threader_threadpool::should_cancel_thread): Likewise.
* workqueue-threads.cc
(Workqueue_threader_threadpool::should_cancel_thread): Cancel
current thread if its thread number is greater than desired thread
count.
* workqueue.cc (Workqueue_threader_single::should_cancel_thread):
Add thread_number parameter.
(Workqueue::should_cancel_thread): Likewise.
(Workqueue::find_runnable_or_wait): Pass thread_number to
should_cancel_thread.
* workqueue.h (Workqueue::should_cancel_thread): Add thread_number
parameter.
Roland McGrath [Thu, 28 Jul 2011 22:35:15 +0000 (22:35 +0000)]
BFD vector for elf32-i386-nacl:
bfd/
* elf32-i386.c (NACL_PLT_ENTRY_SIZE, NACLMASK): New macros.
(elf_i386_nacl_plt0_entry): New variable.
(elf_i386_plt_entry): New variable.
(elf_i386_nacl_pic_plt0_entry): New variable.
(elf_i386_nacl_pic_plt_entry): New variable.
(elf_i386_nacl_plt, elf_i386_nacl_arch_bed): New variables.
(elf_backend_arch_data): New macro setting for elf_i386_nacl_vec stanza.
(elf_backend_plt_alignment): Likewise.
* config.bfd: Handle i[3-7]86-*-nacl*.
* elf32-i386.c (bfd_elf32_i386_nacl_vec): New backend vector stanza.
* targets.c: Support bfd_elf32_i386_nacl_vec.
* configure.in: Likewise.
* configure: Regenerated.
Roland McGrath [Thu, 28 Jul 2011 18:47:56 +0000 (18:47 +0000)]
Parameterize elf32-i386 PLT generation:
* elf32-i386.c (struct elf_i386_plt_layout): New type.
(GET_PLT_ENTRY_SIZE): New macro.
(elf_i386_plt): New variable.
(struct elf_i386_backend_data): New member `plt'.
(elf_i386_arch_bed): Add initializer for it.
(elf_i386_vxworks_arch_bed): Likewise.
(elf_i386_allocate_dynrelocs): Use GET_PLT_ENTRY_SIZE.
(elf_i386_plt_sym_val): Likewise.
(elf_i386_relocate_section): Likewise.
(elf_i386_finish_dynamic_symbol): Likewise.
Also use other elf_i386_plt_layout members for PLT details.
(elf_i386_finish_dynamic_sections): Likewise.
Roland McGrath [Thu, 28 Jul 2011 17:39:20 +0000 (17:39 +0000)]
Clean up elf32-i386-vxworks:
* elf32-i386.c (struct elf_i386_backend_data): New type.
(get_elf_i386_backend_data): New macro.
(elf_i386_arch_bed): New variable.
(elf_backend_arch_data): New macro.
(struct elf_i386_link_hash_table): Remove plt0_pad_byte and is_vxworks.
(elf_i386_link_hash_table_create): Don't initialize them.
(elf_i386_create_dynamic_sections): Find is_vxworks flags in
elf_i386_backend_data, not elf_i386_link_hash_table.
(elf_i386_adjust_dynamic_symbol): Likewise.
(elf_i386_allocate_dynrelocs): Likewise.
(elf_i386_readonly_dynrelocs): Likewise.
(elf_i386_size_dynamic_sections): Likewise.
(elf_i386_relocate_section): Likewise.
(elf_i386_finish_dynamic_symbol): Likewise.
(elf_i386_finish_dynamic_sections): Likewise. Same for plt0_pad_byte.
(elf_i386_vxworks_link_hash_table_create): Function removed.
(elf_i386_vxworks_arch_bed): New variable.
(elf_backend_arch_data): New macro in elf32-i386-vxworks stanza.
* elf-bfd.h (elf_backend_data): New member arch_backend_data.
* elfxx-target.h (elf_backend_arch_data): New macro.
(elfNN_bed): Use it as initializer for the new member.
Nick Clifton [Thu, 28 Jul 2011 16:35:48 +0000 (16:35 +0000)]
* dwarf2dbg.c (out_debug_line): Ignore non-normal segments, with a
warning.
* doc/as.texinfo (Offset): Document .offset directive.
testsuite/
* gas/elf/warn-2.s: New.
Nick Clifton [Thu, 28 Jul 2011 13:22:26 +0000 (13:22 +0000)]
* elf64-hppa.c (elf_hppa_final_link_relocate): Fix handling of out
of range branches.
Phil Muldoon [Thu, 28 Jul 2011 10:36:40 +0000 (10:36 +0000)]
2011-07-28 Phil Muldoon <pmuldoon@redhat.com>
* varobj.c (value_get_print_value): Move hint check later into the
function. Comment function. Free thevalue before reusing it.
2011-07-28 Phil Muldoon <pmuldoon@redhat.com>
* gdb.python/py-mi.exp: Test printers returning string hint, and
also not returning a value.
* gdb.python/py-prettyprint.c: Add testcase for above.
* gdb.python/py-prettyprint.py: Add test printer for above.
Alan Modra [Thu, 28 Jul 2011 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Thu, 28 Jul 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Jan Kratochvil [Wed, 27 Jul 2011 21:18:40 +0000 (21:18 +0000)]
gdb/testsuite/
* gdb.dwarf2/dw2-simple-locdesc.S: Change DWARF version to 3.
(.Ldie26, .Ldie41, .Ldie4a, .Ldie54, .Ldie5b): Remove.
(.Ldie30) Add as field "data4".
(.Ldie32) Rename field "b" to "shl".
(abbrev4) Change for the "data4" field.
(abbrev5, abbrev6) Remove.
* gdb.dwarf2/dw2-simple-locdesc.exp (p &s.b): Rename to ...
(p &s.shl): ... here. Add comment.
(p &s.data4): New.
Roland McGrath [Wed, 27 Jul 2011 20:58:14 +0000 (20:58 +0000)]
ld/testsuite/
2011-07-27 Roland McGrath <mcgrathr@google.com>
* ld-i386/vxworks1-lib.rd: Swap order of sections expected in output.
Jan Kratochvil [Wed, 27 Jul 2011 19:31:30 +0000 (19:31 +0000)]
gdb/
2011-07-27 Jan Kratochvil <jan.kratochvil@redhat.com>
Pedro Alves <pedro@codesourcery.com>
* eval.c (evaluate_subexp_standard): Remove not_lval from all calls of
value_one.
* valops.c (value_one): Remove parameter lv. Do not pass it to itself.
Assert the result kind.
* value.h (value_one): Remove parameter lv.
Jan Kratochvil [Wed, 27 Jul 2011 19:25:56 +0000 (19:25 +0000)]
gdb/
Fix crash on lval_computed values.
* valops.c (value_zero): Use not_lval for lval_computed.
gdb/testsuite/
Fix crash on lval_computed values.
* gdb.dwarf2/implptr.exp (print sizeof (j[0])): New test.
Tom Tromey [Wed, 27 Jul 2011 18:25:26 +0000 (18:25 +0000)]
* Makefile.in (HFILES_NO_SRCDIR): Add 'common' prefix for
gdb_assert.h, gdb_locale.h, gdb_dirent.h.
Jan Kratochvil [Wed, 27 Jul 2011 17:41:21 +0000 (17:41 +0000)]
gdb/
* typeprint.c (_initialize_typeprint): Extend the help of "whatis" and
"ptype" by their typedefs difference.
gdb/testsuite/
* gdb.base/help.exp (help whatis): Update the expected string.
Jan Kratochvil [Wed, 27 Jul 2011 17:08:06 +0000 (17:08 +0000)]
gdb/
* dwarf2expr.c (ctx_no_read_reg): New function.
* dwarf2expr.h (ctx_no_read_reg): New declaration.
* dwarf2read.c (read_2_signed_bytes, read_4_signed_bytes): Remove.
(decode_locdesc_read_mem, decode_locdesc_ctx_funcs): New.
(decode_locdesc): Replace by a caller of dwarf_expr_eval.
gdb/testsuite/
* gdb.dwarf2/dw2-simple-locdesc.S: New file.
* gdb.dwarf2/dw2-simple-locdesc.exp: New file.
* gdb.dwarf2/dw2-stack-boundary.exp (check partial symtab errors):
Change the expected string.
Jan Kratochvil [Wed, 27 Jul 2011 17:06:13 +0000 (17:06 +0000)]
gdb/
* dwarf2-frame.c (no_get_frame_base, no_get_frame_cfa, no_get_frame_pc)
(no_get_tls_address, no_dwarf_call, no_base_type): Move to the other
file.
(dwarf2_frame_ctx_funcs): Reference the renamed functions.
* dwarf2expr.c (ctx_no_get_frame_base, ctx_no_get_frame_cfa)
(ctx_no_get_frame_pc, ctx_no_get_tls_address, ctx_no_dwarf_call)
(ctx_no_get_base_type): Move the functions here.
* dwarf2expr.h (ctx_no_get_frame_base, ctx_no_get_frame_cfa)
(ctx_no_get_frame_pc, ctx_no_get_tls_address, ctx_no_dwarf_call)
(ctx_no_get_base_type): New declarations.
Jan Kratochvil [Wed, 27 Jul 2011 16:40:59 +0000 (16:40 +0000)]
binutils/
* dwarf.c (read_and_display_attr_value): Recognize DW_FORM_data4 and
DW_FORM_data8 as location list pointers only for DWARF < 4.
Tom Tromey [Wed, 27 Jul 2011 14:45:37 +0000 (14:45 +0000)]
* xcoffread.c (dwarf2_xcoff_names): Add 'macro' and 'sentinel'
entries.
* symfile.h (struct dwarf2_debug_sections) <sentinel>: New field.
* dwarf2read.c (dwarf2_elf_names): Add sentinel entry.
Tristan Gingold [Wed, 27 Jul 2011 06:54:12 +0000 (06:54 +0000)]
2011-07-27 Tristan Gingold <gingold@adacore.com>
* frags.c (frag_grow): Revert previous patch.
gdbadmin [Wed, 27 Jul 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 27 Jul 2011 00:00:06 +0000 (00:00 +0000)]
daily update
Jakub Jelinek [Tue, 26 Jul 2011 21:31:37 +0000 (21:31 +0000)]
* dwarf2.c (dwarf_debug_sections): Add .debug_macro
and .zdebug_macro entry.
(dwarf_debug_section_enum): Add debug_macro.
* NEWS: Mention .debug_macro support.
* dwarf.c (read_and_display_attr_value): Don't print a tab
if attribute is 0.
(get_AT_name): Handle DW_AT_GNU_macros.
(get_line_filename_and_dirname, display_debug_macro): New
functions.
(debug_displays): Add an entry for .debug_macro and .zdebug_macro.
* readelf.c (process_section_headers): With do_debug_macinfo
handle also .debug_macro sections.
* dwarf.h (dwarf_section_display_enum): Add macro.
Paul Pluzhnikov [Tue, 26 Jul 2011 21:09:06 +0000 (21:09 +0000)]
2011-07-26 Sterling Augustine <saugustine@google.com>
* cli/cli-dump.c (dump_binary_file): Change parameter type to
ULONGEST.
(dump_bfd_file): Likewise.
Philippe Waroquiers [Tue, 26 Jul 2011 20:57:54 +0000 (20:57 +0000)]
2011-07-26 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* remote.c (remote_region_ok_for_hw_watchpoint): New function.
(remote_hw_watchpoint_length_limit): New variable.
(_initialize_remote) add set,show cmds for this new variable.
* gdb.texinfo: document these new commands.
* NEWS: Mention these new commands.
Pedro Alves [Tue, 26 Jul 2011 19:39:59 +0000 (19:39 +0000)]
2011-07-26 Pedro Alves <pedro@codesourcery.com>
gdb/
* breakpoint.c (works_in_software_mode_watchpoint): Also return
true for software watchpoints.
gdb/testsuite/
* gdb.base/watchpoint.exp
(test_disable_enable_software_watchpoint): New procedure.
(top level): Run it.
Ian Lance Taylor [Tue, 26 Jul 2011 18:48:08 +0000 (18:48 +0000)]
Merge from gcc:
2011-07-26 Ian Lance Taylor <iant@google.com>
* configure.ac: Set have_compiler based on whether gcc directory
exists, rather than on whether gcc is in configdirs.
* configure: Rebuild.
2011-07-20 David Edelsohn <dje.gcc@gmail.com>
* Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): Add libsupc++ to
link directories.
* Makefile.in: Rebuild.
2011-07-20 Ian Lance Taylor <iant@google.com>
PR bootstrap/49787
* configure.ac: Move --enable-bootstrap handling earlier in file.
If --enable-bootstrap and either --enable-build-with-cxx or
--enable-build-poststage1-with-cxx, enable C++ automatically.
* configure: Rebuild.
2011-07-19 Ian Lance Taylor <iant@google.com>
* configure.ac: Add --enable-build-poststage1-with-cxx. If set,
make C++ a boot_language. Set and substitute
POSTSTAGE1_CONFIGURE_FLAGS.
* Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): New variable.
(STAGE[+id+]_CONFIGURE_FLAGS): Add $(POSTSTAGE1_CONFIGURE_FLAGS).
* configure, Makefile.in: Rebuild.
2011-07-16 Jason Merrill <jason@redhat.com>
* Makefile.def (language=c++): Add check-c++0x and
check-target-libmudflap-c++.
* Makefile.tpl (check-target-libmudflap-c++): New.
* Makefile.in: Regenerate.
2011-07-16 Matthias Klose <doko@ubuntu.com>
* Makefile.tpl (EXTRA_CONFIGARGS_LIBJAVA): Define.
* Makefile.def (target_modules/libjava): Pass
$(EXTRA_CONFIGARGS_LIBJAVA).
* configure.ac: Pass --disable-static in EXTRA_CONFIGARGS_LIBJAVA,
if not configured with --enable-static-libjava.
* Makefile.in: Regenerate.
* configure: Likewise.
2011-06-22 Hans-Peter Nilsson <hp@axis.com>
PR regression/47836
PR bootstrap/23656
PR other/47733
PR bootstrap/49247
PR c/48825
* configure.ac (target_libraries): Remove target-libiberty.
Remove case-statement setting skipdirs=target-libiberty for
multiple targets. Remove checking target_configdirs and
removing target-libiberty but keeping target-libgcc if
otherwise empty.
* Makefile.def (target_modules): Don't add libiberty.
(dependencies): Remove all traces of target-libiberty.
* configure, Makefile.in: Regenerate.
Ulrich Weigand [Tue, 26 Jul 2011 18:38:55 +0000 (18:38 +0000)]
* gdb.python/py-mi.exp: Avoid '+' in filenames. Call C version of
executable file "${binfile}", C++ version "${binfile}-cxx".
* gdb.python/py-prettyprint.exp: Likewise.
* gdb.python/py-symbol.exp: Likewise.
* gdb.python/py-type.exp: Likewise.
* gdb.python/py-value.exp: Likewise.
* gdb.python/py-template.exp (test_template_arg): Pass full executable
file name instead of just suffix.
gdbadmin [Tue, 26 Jul 2011 18:29:30 +0000 (18:29 +0000)]
GDB 7.3 released.
Tom Tromey [Tue, 26 Jul 2011 17:04:23 +0000 (17:04 +0000)]
* symfile.h (struct dwarf2_debug_sections) <macro>: New field.
* dwarf2read.c (read_indirect_string_at_offset): New function.
(read_indirect_string): Use it.
(dwarf_decode_macro_bytes): New function, taken from
dwarf_decode_macros. Handle DW_MACRO_GNU_*.
(dwarf_decode_macros): Use it. handle DW_MACRO_GNU_*.
(dwarf_parse_macro_header, skip_form_bytes, skip_unknown_opcode):
New functions.
(struct dwarf2_per_objfile) <macro>: New field.
(dwarf2_elf_names): Add .debug_macro.
(dwarf2_macros_too_long_complaint): Add 'section' argument.
(dwarf2_locate_sections): Handle new section.
(read_file_scope): Handle DW_AT_GNU_macros.
(dwarf2_per_objfile_free): Unmap the .debug_macro section.
Jan Kratochvil [Tue, 26 Jul 2011 16:59:23 +0000 (16:59 +0000)]
gdb/doc/
* gdb.texinfo (whatis, ptype): Highlight their differences. Describe
typedefs unrolling. Extend the sample code by an inner typedef and
outer typedefs unrolling.
DJ Delorie [Tue, 26 Jul 2011 16:04:38 +0000 (16:04 +0000)]
merge from gcc
Paul Pluzhnikov [Tue, 26 Jul 2011 15:24:02 +0000 (15:24 +0000)]
2011-07-26 Paul Pluzhnikov <ppluzhnikov@google.com>
* NEWS: Mention dcache configuration.
* dcache.c (dcache_set_list, dcache_show_list): New variables.
(dcache_size, dcache_line_size): New variables.
(LINE_SIZE_MASK, XFORM, MASK): Adjust.
(struct dcache_block): Make it expandable.
(struct dcache_struct): New field.
(dcache_invalidate): Discard freelist upon dcache_line_size changes.
(dcache_hit, dcache_alloc, dcache_peek_byte): Adjust.
(dcache_poke_byte, dcache_print_line): Adjust.
(set_dcache_size, set_dcache_line_size): New functions.
(set_dcache_command, show_dcache_command): New functions.
(_initialize_dcache): Add new commands.
doc/ChangeLog:
2011-07-26 Paul Pluzhnikov <ppluzhnikov@google.com>
* gdb.texinfo (Caching Remote Data): Document {set,show} dcache
size and line-size.
Paul Pluzhnikov [Tue, 26 Jul 2011 15:17:47 +0000 (15:17 +0000)]
2011-07-26 Paul Pluzhnikov <ppluzhnikov@google.com>
* progspace.h (struct program_space): Add solib_add_generation.
* infcmd.c (post_create_inferior): Only call solib_add if not
already done.
* solib.c (solib_add): Increment solib_add_generation.
Nick Clifton [Tue, 26 Jul 2011 14:09:36 +0000 (14:09 +0000)]
* config/tc-rx.c (md_convert_frag): Fix encoding of beq.a
synthetic instruction.
* gas/rx/r-bcc.d: Update expected disassembly of synthetic beq.a
instruction.
Alan Modra [Tue, 26 Jul 2011 01:57:18 +0000 (01:57 +0000)]
bfd/
* elf32-ppc.c: Include dwarf2.h.
(struct ppc_elf_link_hash_table): Add glink_eh_frame.
(ppc_elf_create_glink): Create .eh_frame section.
(glink_eh_frame_cie): New array.
(ppc_elf_size_dynamic_sections): Size glink_eh_frame.
(ppc_elf_finish_dynamic_sections): Write glink_eh_frame.
* elf64-ppc.c: Include dwarg2.h.
(struct ppc_link_hash_table): Add glink_eh_frame.
(create_linkage_sections): Create .eh_frame section.
(ppc64_elf_size_dynamic_sections): Arrange to drop unneeded
glink_eh_frame.
(glink_eh_frame_cie): New array.
(ppc64_elf_size_stubs): Size glink_eh_frame.
(ppc64_elf_build_stubs): Init glink_eh_frame contents.
(ppc64_elf_finish_dynamic_sections): Write glink_eh_frame.
ld/
* emulparams/elf32ppc.sh: Source plt_unwind.sh.
* emulparams/elf64ppc.sh: Likewise.
* emultempl/ppc32elf.em (OPTION_NO_TLS_OPT): Adjust.
(PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to
existing values.
* emultempl/ppc64elf.em (OPTION_STUBGROUP_SIZE): Adjust.
(PARSE_AND_LIST_PROLOGUE, PARSE_AND_LIST_LONGOPTS,
PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Append to
existing values.
ld/testsuite/
* ld-powerpc/powerpc.exp: Use --no-ld-generated-unwind-info
with some tests.
* ld-powerpc/relbrlt.d: Likewise.
gdbadmin [Tue, 26 Jul 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 26 Jul 2011 00:00:06 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Mon, 25 Jul 2011 22:48:42 +0000 (22:48 +0000)]
* layout.cc (Layout::relaxation_loop_body): Only clear load_seg if
the -Ttext option is not 0 modulo the page size. If we clear
load_seg, clear phdr_seg too.
* testsuite/Makefile.am (check_PROGRAMS): Add flagstest_o_ttext_1.
(flagstest_o_ttext_1): New target.
(check_DATA): Add flagstest_o_ttext_2.
(flagstest_o_ttext_2): New target.
* testsuite/Makefile.in: Rebuild.
Paul Pluzhnikov [Mon, 25 Jul 2011 22:23:38 +0000 (22:23 +0000)]
Cleanup: kill trailing whitespace
DJ Delorie [Mon, 25 Jul 2011 17:11:48 +0000 (17:11 +0000)]
merge from gcc
Jan Kratochvil [Mon, 25 Jul 2011 16:04:53 +0000 (16:04 +0000)]
gdb/
Fix implicit pointer offsets.
* dwarf2loc.c (indirect_pieced_value): Comment byte_offset. Use also
ptr.OFFSET.
gdb/testsuite/
Fix implicit pointer offsets.
* gdb.dwarf2/implptr.c (add): New marker baz breakpoint.
* gdb.dwarf2/implptr.exp (set baz breakpoint for implptr)
(continue to breakpoint: continue to baz breakpoint for implptr)
(sanity check element 0, sanity check element 1)
(enter the inlined function, check element 0 for the offset)
(check element 1 for the offset)
(continue to breakpoint: ignore the second baz breakpoint): New tests.
(set foo breakpoint for implptr): Update the breakpoint number.
Tom Tromey [Mon, 25 Jul 2011 15:51:20 +0000 (15:51 +0000)]
* ada-lang.c (ada_exception_breakpoint_ops): Make return type
const.
(ada_exception_sal): Make 'ops' const.
(ada_decode_exception_location): Likewise.
(ada_decode_assert_location): Likewise.
(catch_assert_command): Update.
(catch_ada_exception_command): Update.
(create_ada_exception_catchpoint): Make 'ops' const.
* breakpoint.c (set_raw_breakpoint_without_location)
(set_raw_breakpoint, momentary_breakpoint_from_master): Make 'ops'
const.
(create_internal_breakpoint): Update.
(init_raw_breakpoint_without_location): Make 'ops' const.
(init_raw_breakpoint, init_catchpoint)
(create_fork_vfork_event_catchpoint)
(create_syscall_event_catchpoint, init_breakpoint_sal)
(create_breakpoint_sal, create_breakpoints_sal)
(create_breakpoint, init_ada_exception_breakpoint): Likewise.
* breakpoint.h (struct breakpoint) <ops>: Now const.
(init_ada_exception_breakpoint, create_breakpoint): Make 'ops'
const.
Paul Pluzhnikov [Mon, 25 Jul 2011 15:22:07 +0000 (15:22 +0000)]
2011-07-25 Paul Pluzhnikov <ppluzhnikov@google.com>
* linux-thread-db.c (thread_from_lwp): Initialize th.th_unique.
Tristan Gingold [Mon, 25 Jul 2011 13:34:40 +0000 (13:34 +0000)]
2011-07-25 Tristan Gingold <gingold@adacore.com>
* frags.c (frag_grow): Simplify the code.
Pedro Alves [Mon, 25 Jul 2011 11:24:44 +0000 (11:24 +0000)]
2011-07-25 Pedro Alves <pedro@codesourcery.com>
gdb/
* breakpoint.h (print_recreate_thread): Declare.
(struct breakpoint): Move step_count, pass_count,
number_on_target, static_trace_marker_id,
static_trace_marker_id_idx ...
(struct tracepoint): ... to this new struct.
(get_tracepoint, get_tracepoint_by_number_on_target)
(get_tracepoint_by_number): Change return type to struct
tracepoint pointer.
* breakpoint.c (is_tracepoint_type): New, factored out from
is_tracepoint.
(is_tracepoint): Adjust.
(print_one_breakpoint_location): Cast to struct tracepoint as
necessary, and adjust.
(print_recreate_catch_fork, print_recreate_catch_vfork)
(print_recreate_catch_syscall, print_recreate_catch_exec): Call
print_recreate_thread.
(init_breakpoint_sal): New, factored out from
create_breakpoint_sal.
(create_breakpoint_sal): Reimplement.
(create_breakpoint): Allocate a struct tracecepoint if the caller
wanted a tracepoint. Use init_breakpoint_sal and
install_breakpoint.
(print_recreate_ranged_breakpoint, print_recreate_watchpoint)
(print_recreate_masked_watchpoint)
(print_recreate_exception_catchpoint): Call print_recreate_thread.
(tracepoint_print_one_detail): Adjust.
(tracepoint_print_recreate): Adjust. Call print_recreate_thread.
Dump the pass count here.
(update_static_tracepoint): Adjust.
(addr_string_to_sals): Adjust.
(create_tracepoint_from_upload): Adjust. Change return type to
struct tracepoint pointer.
(trace_pass_set_count): Change parameter type to struct tracepoint
pointer, and adjust.
(trace_pass_command): Adjust.
(get_tracepoint, get_tracepoint_by_number_on_target)
(get_tracepoint_by_number): Change return type to struct
tracepoint pointer, and adjust.
(print_recreate_thread): New, factored out from save_breakpoints.
(save_breakpoints): Don't print thread and task and passcount
recreation here.
* remote.c (remote_download_tracepoint): Adjust.
* tracepoint.c (trace_actions_command, validate_actionline)
(start_tracing, tfind_1, trace_find_tracepoint_command)
(trace_dump_command): Adjust.
(find_matching_tracepoint): Change return type to struct
tracepoint pointer, and adjust.
(merge_uploaded_tracepoints, tfile_get_traceframe_address)
(tfile_trace_find, tfile_fetch_registers): Adjust.
* tracepoint.h (create_tracepoint_from_upload): Change return type
to struct tracepoint pointer.
* ada-lang.c (print_recreate_exception): Call
print_recreate_thread.
* mi/mi-cmd-break.c (mi_cmd_break_passcount): Adjust.
Pedro Alves [Mon, 25 Jul 2011 11:23:03 +0000 (11:23 +0000)]
2011-07-25 Pedro Alves <pedro@codesourcery.com>
gdb/
* breakpoint.h (struct breakpoint): Move ops as first field. Move
exp_string, exp_string_reparse, exp, exp_valid_block, cond_exp,
cond_exp_valid_block, val, val_valid, watchpoint_frame,
watchpoint_thread, watchpoint_triggered ...
(struct watchpoint): ... to this new struct.
(is_watchpoint): Declare.
(install_breakpoint): Add new `internal' parameter.
* breakpoint.c (is_watchpoint): Delete declaration.
(set_breakpoint_condition): Handle watchpoints.
(is_watchpoint): Make public.
(watchpoint_in_thread_scope): Change parameter type to struct
watchpoint.
(watchpoint_del_at_next_stop): Change parameter type to struct
watchpoint. Remove assertion. Adjust.
(update_watchpoint): Ditto.
(insert_breakpoints, breakpoint_init_inferior)
(watchpoints_triggered, watchpoint_check)
(bpstat_check_watchpoint, bpstat_check_breakpoint_conditions)
(bpstat_stop_status, print_one_breakpoint_location)
(print_one_breakpoint_location, watchpoint_locations_match): Cast
to struct watchpoint as necessary, and adjust.
(install_breakpoint): Add `internal' argument. If true, don't
mention the new breakpoint. Use set_breakpoint_number.
(create_fork_vfork_event_catchpoint)
(create_syscall_event_catchpoint): Adjust.
(dtor_watchpoint): New.
(re_set_watchpoint, insert_watchpoint, remove_watchpoint)
(breakpoint_hit_watchpoint, resources_needed_watchpoint)
(print_it_watchpoint, print_mention_watchpoint)
(print_recreate_watchpoint, insert_masked_watchpoint)
(remove_masked_watchpoint, resources_needed_masked_watchpoint)
(print_one_detail_masked_watchpoint)
(print_mention_masked_watchpoint)
(print_recreate_masked_watchpoint): Cast to struct watchpoint as
necessary, and adjust.
(watch_command_1): Allocate and initialize a struct watchpoint
instead of a struct breakpoint. Use install_breakpoint.
(catch_exec_command_1): Adjust.
(base_breakpoint_dtor): Delete accesses to watchpoint specific
fields.
(delete_breakpoint, enable_breakpoint_disp)
(invalidate_bp_value_on_memory_change): Cast to struct watchpoint
as necessary, and adjust.
(initialize_breakpoint_ops): Install dtor_watchpoint as
watchpoints' dtor method.
* ada-lang.c (create_ada_exception_catchpoint): Adjust.
* python/py-breakpoint.c (bppy_get_expression): Use is_watchpoint.
to struct watchpoint as necessary, and adjust.
Pedro Alves [Mon, 25 Jul 2011 11:21:08 +0000 (11:21 +0000)]
2011-07-25 Pedro Alves <pedro@codesourcery.com>
* ada-lang.c (dtor_exception, re_set_exception): Indirect through
the the base class ops table.
(catch_exception_breakpoint_ops)
(catch_exception_unhandled_breakpoint_ops)
(catch_assert_breakpoint_ops): Don't statically initialize.
(initialize_ada_catchpoint_ops): New.
(_initialize_ada_language): Call it.
* breakpoint.c (base_breakpoint_ops, bkpt_base_breakpoint_ops)
(bkpt_breakpoint_ops): Forward declare.
(catch_fork_breakpoint_ops, catch_vfork_breakpoint_ops)
(catch_syscall_breakpoint_ops, catch_exec_breakpoint_ops)
(ranged_breakpoint_ops, watchpoint_breakpoint_ops)
(masked_watchpoint_breakpoint_ops)
(gnu_v3_exception_catchpoint_ops): Don't statically initialize.
(dtor_catch_syscall, dtor_catch_exec): Indirect through the the
base class ops table.
(null_re_set, null_check_status, null_works_in_software_mode)
(null_resources_needed, null_print_one_detail): Delete.
(bkpt_dtor): Rename to ...
(base_breakpoint_dtor): ... this. Make static.
(bkpt_allocate_location): Rename to ...
(base_breakpoint_allocate_location): ... this. Make static.
(base_breakpoint_re_set): New.
(internal_error_pure_virtual_called): New.
(base_breakpoint_insert_location, base_breakpoint_remove_location)
(base_breakpoint_breakpoint_hit, base_breakpoint_check_status)
(base_breakpoint_works_in_software_mode)
(base_breakpoint_resources_needed, base_breakpoint_print_it)
(base_breakpoint_print_one_detail, base_breakpoint_print_mention)
(base_breakpoint_print_recreate): New functions.
(base_breakpoint_ops): New global.
(bkpt_re_set, bkpt_insert_location, bkpt_remove_location)
(bkpt_breakpoint_hit): Make static.
(bkpt_check_status): Delete.
(bkpt_resources_needed): Make static.
(bkpt_works_in_software_mode): Delete.
(bkpt_print_it, bkpt_print_mention, bkpt_print_recreate): Make
static.
(bkpt_breakpoint_ops, internal_breakpoint_ops)
(momentary_breakpoint_ops): Don't statically initialize.
(internal_bkpt_print_recreate, momentary_bkpt_print_recreate):
Delete.
(tracepoint_insert_location, tracepoint_remove_location)
(tracepoint_check_status, tracepoint_works_in_software_mode)
(tracepoint_print_it): Delete.
(tracepoint_breakpoint_ops): Don't statically initialize.
(initialize_breakpoint_ops): New.
(_initialize_breakpoint): Call it.
* breakpoint.h (null_re_set, null_works_in_software_mode)
(null_resources_needed, null_check_status, null_print_one_detail):
(bkpt_dtor, bkpt_allocate_location, bkpt_re_set)
(bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit)
(bkpt_check_status, bkpt_resources_needed)
(bkpt_works_in_software_mode, bkpt_print_it)
(null_print_one_detail, bkpt_print_mention, bkpt_print_recreate):
Delete declarations.
(initialize_breakpoint_ops): Declare.
Pedro Alves [Mon, 25 Jul 2011 11:20:08 +0000 (11:20 +0000)]
2011-07-25 Pedro Alves <pedro@codesourcery.com>
* breakpoint.c (bkpt_print_it, internal_bkpt_print_it)
(momentary_bkpt_print_it): Simplify.
Pedro Alves [Mon, 25 Jul 2011 11:19:26 +0000 (11:19 +0000)]
2011-07-25 Pedro Alves <pedro@codesourcery.com>
Split internal, momentary and user breakpoints breakpoint_ops
tables.
gdb/
* breakpoint.c (internal_breakpoint_ops)
(momentary_breakpoint_ops): Forward declare.
(create_internal_breakpoint): Add new breakpoint_ops parameter.
Pass it down, rather than hardcoding bkpt_breakpoint_ops.
(create_overlay_event_breakpoint)
(create_std_terminate_master_breakpoint)
(create_exception_master_breakpoint): Create breakpoints with
internal_breakpoint_ops vtable.
(set_longjmp_breakpoint): Create momentary breakpoints with
momentary_breakpoint_ops vtable, using
momentary_breakpoint_from_master.
(create_thread_event_breakpoint, create_jit_event_breakpoint)
(create_solib_event_breakpoint): Create breakpoints with
internal_breakpoint_ops vtable.
(set_momentary_breakpoint): Create breakpoints with
momentary_breakpoint_ops vtable.
(momentary_breakpoint_from_master): New, factored out from
clone_momentary_breakpoint.
(clone_momentary_breakpoint): Adjust.
(watch_command_1): Create scope breakpoints with
momentary_breakpoint_ops vtable.
(bkpt_re_set): Remove handling of internal and momentary
breakpoints.
(bkpt_print_mention, bkpt_print_recreate): New.
(bkpt_breakpoint_ops): Adjust.
(internal_bkpt_re_set, internal_bkpt_check_status)
(internal_bkpt_print_it, internal_bkpt_print_mention)
(internal_bkpt_print_recreate, internal_breakpoint_ops): New.
(momentary_bkpt_re_set, momentary_bkpt_check_status)
(momentary_bkpt_print_it, momentary_bkpt_print_mention)
(momentary_bkpt_print_recreate): New.
(momentary_breakpoint_ops): New.
Pedro Alves [Mon, 25 Jul 2011 11:16:49 +0000 (11:16 +0000)]
2011-07-25 Pedro Alves <pedro@codesourcery.com>
Implement most breakpoint_ops methods for all breakpoint types,
and move the default handlings to the proper callbacks.
gdb/
* breakpoint.c (update_watchpoint): Always call the breakpoint's
works_in_software_mode method.
(insert_bp_location): Go through breakpoint_ops->insert_location
for software and hardware watchpoints.
(create_internal_breakpoint): Pass bkpt_breakpoint_ops as
breakpoint_ops.
(remove_breakpoint_1): Go through breakpoint_ops->remove_location
for software and hardware watchpoints.
(print_it_typical): Delete.
(print_bp_stop_message): Always call the breakpoint_ops->print_it
method.
(watchpoint_check): Adjust comment.
(bpstat_check_location): Simply always call the breakpoint's
breakpoint_hit method.
(bpstat_stop_status): Always call the breakpoint's check_status
method. Remove special cases for watchpoints and internal event
breakpoints from here (moved to the check_status implementations).
(print_one_breakpoint_location): Assume b->ops is never NULL.
Remove static tracepoint marker id printing from here (moved to
the print_one_detail callback implementation of tracepoints).
(init_bp_location): Assert OPS is never NULL.
(allocate_bp_location): Always call the breakpoint's
allocate_location method, and remove the default code from here.
(free_bp_location): Always call the location's dtor method, and
remove the default code from here.
(init_raw_breakpoint_without_location): Assert OPS is never NULL.
(set_raw_breakpoint_without_location): Add new breakpoint_ops
parameter. Pass it down.
(set_raw_breakpoint): Ditto.
(print_it_catch_fork): Adjust to take a bpstat as argument.
(catch_fork_breakpoint_ops): Install methods.
(print_it_catch_vfork): Adjust to take a bpstat as argument.
(catch_vfork_breakpoint_ops): Install methods.
(dtor_catch_syscall): Call the base dtor.
(print_it_catch_syscall): Adjust to take a bpstat as argument.
(catch_syscall_breakpoint_ops): Install methods.
(dtor_catch_exec): Call the base dtor.
(print_it_catch_exec): Adjust to take a bpstat as argument.
(catch_exec_breakpoint_ops): Install methods.
(hw_breakpoint_used_count, hw_watchpoint_used_count): Always call
the breakpoint's resources_needed method, and remove the default
code from here.
(set_momentary_breakpoint): Pass bkpt_breakpoint_ops as
breakpoint_ops.
(clone_momentary_breakpoint): Clone the original's ops.
(mention): Always call the breakpoint's print_mention method, and
remove the default code from here.
(create_breakpoint_sal): Adjust to pass the ops to
set_raw_breakpoint rather than setting it manually.
(create_breakpoint): Assert ops is never NULL. Adjust to pass the
ops to set_raw_breakpoint_without_location rather than setting it
manually.
(break_command_1): Pass bkpt_breakpoint_ops as breakpoint_ops.
(print_it_ranged_breakpoint): Adjust to take a bpstat as argument.
(ranged_breakpoint_ops): Install methods.
(break_range_command): Adjust to pass the ops to
set_raw_breakpoint rather than setting it manually.
(re_set_watchpoint, breakpoint_hit_watchpoint)
(check_status_watchpoint, resources_needed_watchpoint)
(works_in_software_mode_watchpoint, print_it_watchpoint)
(print_mention_watchpoint, print_recreate_watchpoint): New
functions.
(watchpoint_breakpoint_ops): Install new methods.
(print_it_masked_watchpoint): New function.
(masked_watchpoint_breakpoint_ops): Install new methods.
(watch_command_1): Adjust to pass the right breakpoint_ops to
set_raw_breakpoint_without_location rather than setting it
manually later. Record the current pspace.
(print_it_exception_catchpoint): Adjust to take a bpstat as
argument.
(gnu_v3_exception_catchpoint_ops): Install new methods.
(say_where): New function.
(null_re_set, null_check_status, null_works_in_software_mode)
(null_resources_needed, null_print_one_detail, bp_location_dtor):
New functions.
(bp_location_ops): New global.
(bkpt_dtor, bkpt_allocate_location, bkpt_re_set)
(bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit)
(bkpt_check_status, bkpt_resources_needed)
(bkpt_works_in_software_mode, bkpt_print_it, bkpt_print_mention)
(bkpt_print_recreate): New functions.
(bkpt_breakpoint_ops): New global.
(tracepoint_re_set, tracepoint_insert_location)
(tracepoint_remove_location, tracepoint_breakpoint_hit)
(tracepoint_check_status, tracepoint_works_in_software_mode)
(tracepoint_print_it, tracepoint_print_one_detail)
(tracepoint_print_mention, tracepoint_print_recreate): New
functions.
(tracepoint_breakpoint_ops): New global.
(delete_breakpoint): Always call the breakpoint's dtor method, and
remove the default handling from here.
(breakpoint_re_set_default): Make static.
(breakpoint_re_set_one): Always call the breakpoints re_set
method, and remove the default handling from here.
(trace_command, ftrace_command, strace_command)
(create_tracepoint_from_upload): Pass appropriate breakpoints_ops
to create_breakpoint.
(save_breakpoints): Always call the breakpoint's print_recreate
method, and remove the default handling from here.
* ada-lang.c (dtor_exception): Call the base dtor.
(re_set_exception): Call the base method.
(print_it_exception, print_it_catch_exception): Adjust to take a
bpstat as argument.
(catch_exception_breakpoint_ops): Install methods.
(print_it_catch_exception_unhandled): Adjust to take a bpstat as
argument.
(catch_exception_unhandled_breakpoint_ops): Install methods.
(print_it_catch_assert): Adjust to take a bpstat as argument.
(catch_assert_breakpoint_ops): Install methods.
* breakpoint.h (struct breakpoint_ops): Adjust the print_it method
to take a bpstat as argument.
(enum print_stop_action): Add describing comments to each enum
value.
(breakpoint_re_set_default): Delete declaration.
(null_re_set, null_works_in_software_mode, null_resources_needed)
(null_check_status, null_print_one_detail): Declare.
(bkpt_breakpoint_ops): Declare.
(bkpt_dtor, bkpt_allocate_location, bkpt_re_set)
(bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit)
(bkpt_check_status, bkpt_resources_needed)
(bkpt_works_in_software_mode, bkpt_print_it)
(null_print_one_detail, bkpt_print_mention, bkpt_print_recreate):
Declare.
* mi/mi-cmd-break.c (mi_cmd_break_insert): Adjust to pass
bkpt_breakpoint_ops.
* python/py-breakpoint.c (bppy_init): Ditto.
Hans-Peter Nilsson [Mon, 25 Jul 2011 01:16:05 +0000 (01:16 +0000)]
PR ld/12815
* ld-mmix/pr12815-1.d, ld-mmix/pr12815-1.s, ld-mmix/pr12815-1.ld,
ld-mmix/pr12815-2.d, ld-mmix/pr12815-2.s: New tests.
Hans-Peter Nilsson [Mon, 25 Jul 2011 01:14:20 +0000 (01:14 +0000)]
PR ld/12815
* elf64-mmix.c (struct _mmix_elf_section_data): New members
has_warned_bpo and has_warned_pushj.
(mmix_final_link_relocate): Remove PARAMS and PTR macros,
converting to ISO C. Add new parameter error_message. All
callers changed.
(mmix_elf_perform_relocation): Ditto.
<case R_MMIX_PUSHJ_STUBBABLE, case R_MMIX_BASE_PLUS_OFFSET>:
Handle the case where mmix_elf_check_common_relocs has not been
called, missing preparations for relocs of the respective type.