Tom Tromey [Wed, 22 Aug 2012 17:31:45 +0000 (17:31 +0000)]
* event-top.c (sigwinch_token, handle_sigwinch): Remove.
(async_init_signals): Update.
* utils.c (init_page_info): Don't use SIGWINCH_HANDLER.
(SIGWINCH_HANDLER_BODY): Remove.
gdb/doc
* gdbint.texinfo (Host Definition): Remove documentation for
SIGWINCH_HANDLER and SIGWINCH_HANDLER_BODY.
Tom Tromey [Wed, 22 Aug 2012 16:44:45 +0000 (16:44 +0000)]
* jit.c (jit_object_close_impl): Don't malloc the objfile
name.
* objfiles.c (allocate_objfile): Don't malloc the objfile
name.
(free_objfile): Don't free the objfile name.
* objfiles.h (struct objfile) <name>: Update comment.
* symfile.c (reread_symbols): Fix reference counting. Don't
malloc objfile name.
Tom Tromey [Wed, 22 Aug 2012 16:24:39 +0000 (16:24 +0000)]
* windows-nat.c (windows_make_so): Use gdb_bfd_open.
* symfile.c (bfd_open_maybe_remote): Use gdb_bfd_open.
(symfile_bfd_open): Likewise.
(generic_load): Likewise.
* solib.c (solib_bfd_fopen): Use gdb_bfd_open.
* solib-pa64.c (pa64_solib_create_inferior_hook): Use
gdb_bfd_open.
* solib-darwin.c (darwin_solib_get_all_image_info_addr_at_init):
Use gdb_bfd_open.
* rs6000-nat.c (add_vmap): Use gdb_bfd_open.
* remote-mips.c (mips_load_srec): Use gdb_bfd_open.
(pmon_load_fast): Likewise.
* remote-m32r-sdi.c (m32r_load): Use gdb_bfd_open.
* procfs.c (insert_dbx_link_bpt_in_file): Use gdb_bfd_open.
* machoread.c (macho_symfile_read_all_oso): Use gdb_bfd_open.
(macho_check_dsym): Likewise.
* m32r-rom.c (m32r_load): Use gdb_bfd_open.
(m32r_upload_command): Likewise.
* gdb_bfd.h (gdb_bfd_cache): Declare.
* gdb_bfd.c (struct gdb_bfd_data): New.
(gdb_bfd_cache): New global.
(struct gdb_bfd_cache_search): New.
(hash_bfd): New function.
(eq_bfd): Likewise.
(gdb_bfd_open): Likewise.
(gdb_bfd_ref): Allocate a gdb_bfd_data and attach to the BFD.
(gdb_bfd_unref): Remove closed BFD from cache. Update for
gdb_bfd_data.
* exec.c (exec_file_attach): Use gdb_bfd_open.
* dsrec.c (load_srec): Use gdb_bfd_open.
Tom Tromey [Wed, 22 Aug 2012 16:12:50 +0000 (16:12 +0000)]
* dwarf2read.c (macro_start_file): Update.
* objfiles.c (get_objfile_bfd_data): Initialize macro_cache.
(free_objfile_per_bfd_storage): Destroy macro_cache.
(allocate_objfile, free_objfile): Update.
* objfiles.h (struct objfile_per_bfd_storage) <macro_cache>:
New field.
(struct objfile) <macro_cache>: Remove.
* symfile.c (reread_symbols): Update.
* symmisc.c (print_symbol_bcache_statistics): Update.
(print_objfile_statistics): Update.
Tom Tromey [Wed, 22 Aug 2012 16:01:09 +0000 (16:01 +0000)]
* elfread.c (elf_symtab_read): Update.
* objfiles.c (objfiles_bfd_data): New global.
(get_objfile_bfd_data, free_objfile_per_bfd_storage)
(objfile_bfd_data_free, set_objfile_per_bfd): New functions.
(allocate_objfile, free_objfile): Update.
(_initialize_objfiles): Initialize objfiles_bfd_data.
* objfiles.h (struct objfile_per_bfd_storage): New.
(struct objfile) <per_bfd>: New field.
<filename_cache>: Remove.
(set_objfile_per_bfd): Declare.
* symfile.c (reread_symbols): Update. Call
set_objfile_per_bfd.
(allocate_symtab): Update.
* symmisc.c (print_symbol_bcache_statistics): Update.
(print_objfile_statistics): Print the size of the BFD obstack.
gdb/testsuite
* gdb.base/maint.exp: Update.
Tom Tromey [Wed, 22 Aug 2012 15:50:38 +0000 (15:50 +0000)]
* gdb_bfd.h: Include registry.h. Use DECLARE_REGISTRY.
* gdb_bfd.c: Use DEFINE_REGISTRY.
(struct gdb_bfd_data): Add REGISTRY_FIELDS.
(gdb_bfd_ref): Call bfd_alloc_data.
(gdb_bfd_unref): Call bfd_free_data.
Tom Tromey [Wed, 22 Aug 2012 15:31:12 +0000 (15:31 +0000)]
* registry.h (struct registry_fields): New.
(REGISTRY_FIELDS): Redefine.
(REGISTRY_ACCESS_FIELD): New macro.
(DEFINE_REGISTRY): Add ACCESS argument. Update defined
functions.
Tom Tromey [Wed, 22 Aug 2012 15:17:21 +0000 (15:17 +0000)]
* auto-load.c (_initialize_auto_load): Update.
* solib-svr4.c (_initialize_svr4_solib): Update
* solib-dsbt.c (_initialize_dsbt_solib): Update.
* solib-darwin.c (_initialize_darwin_solib): Update.
* registry.h: New file.
* python/py-progspace.c (gdbpy_initialize_pspace): Update.
* python/py-inferior.c (gdbpy_initialize_inferior): Update.
* progspace.h: Include registry.h. Use DECLARE_REGISTRY.
(register_program_space_data_with_cleanup)
(register_program_space_data, program_space_alloc_data)
(clear_program_space_data, set_program_space_data)
(program_space_data): Don't declare.
* progspace.c: Use DEFINE_REGISTRY.
(struct program_space_data, struct
program_space_data_registration, struct
program_space_data_registry, program_space_data_registry)
(register_program_space_data_with_cleanup)
(register_program_space_data, program_space_alloc_data)
(program_space_free_data, clear_program_space_data)
(set_program_space_data, program_space_data): Remove.
* objfiles.h: Include registry.h. Use DECLARE_REGISTRY.
(struct objfile) <data, num_data>: Replace with REGISTRY_FIELDS.
(register_objfile_data_with_cleanup, register_objfile_data)
(clear_objfile_data, set_objfile_data, objfile_data): Don't
declare.
* objfiles.c: Use DEFINE_REGISTRY.
(struct objfile_data, struct objfile_data_registration, struct
objfile_data_registry, objfile_data_registry)
(register_objfile_data_with_cleanup, register_objfile_data)
(objfile_alloc_data, objfile_free_data, clear_objfile_data)
(set_objfile_data, objfile_data): Remove.
(_initialize_objfiles): Update.
* jit.c (_initialize_jit): Update.
* inflow.c (_initialize_inflow): Update.
* inferior.h: Include registry.h. Use DECLARE_REGISTRY.
(struct inferior) <data, num_data>: Replace with REGISTRY_FIELDS.
(register_inferior_data_with_cleanup, register_inferior_data)
(clear_inferior_data, set_inferior_data, inferior_data): Don't
declare.
* inferior.c: Use DEFINE_REGISTRY.
(struct inferior_data, struct inferior_data_registration, struct
inferior_data_registry, inferior_data_registry)
(register_inferior_data_with_cleanup, register_inferior_data)
(inferior_alloc_data, inferior_free_data clear_inferior_data)
(set_inferior_data, inferior_data): Remove.
* auxv.c (_initialize_auxv): Update.
* ada-lang.c (_initialize_ada_language): Update.
* breakpoint.c (_initialize_breakpoint): Update.
* i386-nat.c (i386_use_watchpoints): Update.
Tom Tromey [Wed, 22 Aug 2012 15:01:50 +0000 (15:01 +0000)]
* exec.c (exec_close, exec_file_attach): Update.
(add_to_section_table): Initialize 'key' field.
(add_target_sections, remove_target_sections): Add 'key' argument.
* exec.h (add_target_sections, remove_target_sections): Add
'key' argument.
* solib.c (solib_map_sections, update_solib_list, clear_solib)
(reload_shared_libraries_1): Update.
* target.h (struct target_section) <key>: New field.
Tom Tromey [Wed, 22 Aug 2012 14:27:49 +0000 (14:27 +0000)]
* lib/gdb.exp (skip_unwinder_tests): New proc.
* gdb.cp/nextoverthrow.exp: Use skip_unwinder_tests.
* gdb.java/jnpe.exp: Use skip_unwinder_tests.
Tom Tromey [Wed, 22 Aug 2012 14:24:05 +0000 (14:24 +0000)]
* cli/cli-cmds.c (filter_sals): Handle nelts == 0 case.
Nick Clifton [Wed, 22 Aug 2012 07:35:36 +0000 (07:35 +0000)]
Move aarch64 announcement into 2.23 section.
gdbadmin [Wed, 22 Aug 2012 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 22 Aug 2012 00:00:04 +0000 (00:00 +0000)]
daily update
David S. Miller [Tue, 21 Aug 2012 23:00:36 +0000 (23:00 +0000)]
Fix sparc opcode encoding for 4-arg crypto instructions.
include/opcode
* sparc.h (F3F4): New macro.
opcodes
* sparc-opc.c (4-argument crypto instructions): Fix encoding using
F3F4 macro.
gas/testsuite
* gas/sparc/crypto.d: Fix opcodes for 4-arg crypto instructions.
Cary Coutant [Tue, 21 Aug 2012 21:41:04 +0000 (21:41 +0000)]
2012-08-21 Cary Coutant <ccoutant@google.com>
gold/
* symtab.cc (Symbol_table::gc_mark_undef_symbols): Don't assert
if --export-dynamic-symbol names an undef symbol.
Tom Tromey [Tue, 21 Aug 2012 19:36:47 +0000 (19:36 +0000)]
* gdb.hp/gdb.aCC/exception.exp: Remove.
Pierre Muller [Tue, 21 Aug 2012 15:43:46 +0000 (15:43 +0000)]
* symfile.c (allocate_symtab): Use host_address_to_string
function instead of cast of pointer to long which is not
compatible with x86_64-w64-mingw32 build.
gdbadmin [Tue, 21 Aug 2012 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 21 Aug 2012 00:00:05 +0000 (00:00 +0000)]
daily update
Tom Tromey [Mon, 20 Aug 2012 14:32:31 +0000 (14:32 +0000)]
* vms-lib.c (_bfd_vms_lib_get_module): Use bfd_zmalloc for
areltdata.
* opncls.c (_bfd_delete_bfd): Free arelt_data.
* mach-o.c (bfd_mach_o_fat_member_init): Use bfd_zmalloc for
areltdata.
* ecoff.c (_bfd_ecoff_slurp_armap): Use free for mapdata.
* coff-rs6000.c (_bfd_xcoff_read_ar_hdr): Use bfd_zmalloc for
areltdata.
(xcoff_write_archive_contents_old): Likewise.
(xcoff_write_archive_contents_big): Likewise.
* archive64.c (bfd_elf64_archive_slurp_armap): Use free for
areltdata.
* archive.c (_bfd_generic_read_ar_hdr_mag): Use bfd_zmalloc and
free for areltdata.
(_bfd_get_elt_at_filepos): Likewise. Clear n_nfd->arelt_data on
failure.
(do_slurp_bsd_armap): Use bfd_zmalloc and free for areltdata.
(do_slurp_coff_armap): Likewise.
(_bfd_slurp_extended_name_table): Likewise.
(bfd_slurp_bsd_armap_f2): Likewise. Don't leak 'mapdata'.
H.J. Lu [Mon, 20 Aug 2012 13:57:05 +0000 (13:57 +0000)]
Replace --n32 with --x32
* doc/as.texinfo: Replace --n32 with --x32.
Alan Modra [Mon, 20 Aug 2012 03:20:24 +0000 (03:20 +0000)]
opcodes/ChangeLog
* ppc-opc.c (powerpc_opcodes): Changed opcode for vabsdub,
vabsduh, vabsduw, mviwsplt.
gas/testsuite/ChangeLog
* gas/ppc/e6500.d: Changed opcode for vabsdub, vabsduh, vabsduw,
mviwsplt.
Alan Modra [Mon, 20 Aug 2012 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Mon, 20 Aug 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Andrew Pinski [Sun, 19 Aug 2012 22:22:49 +0000 (22:22 +0000)]
2012-08-19 Andrew Pinski <apinski@cavium.com>
* mips-tdep.c (is_octeon): New function.
(is_octeon_bbit_op): New function.
(mips32_next_pc): Handle Octeon's bbit instructions.
(mips32_instruction_has_delay_slot): Likewise.
012-08-19 Andrew Pinski <apinski@cavium.com>
* gdb.arch/mips-octeon-bbit.c: New file.
* gdb.arch/mips-octeon-bbit.exp: New Test.
Andrew Pinski [Sun, 19 Aug 2012 22:21:21 +0000 (22:21 +0000)]
2012-08-19 Andrew Pinski <apinski@cavium.com>
* mips-tdep.c (mips32_next_pc): Fix line spacing of the comment
before the function.
Andrew Pinski [Sun, 19 Aug 2012 22:20:29 +0000 (22:20 +0000)]
2012-08-19 Andrew Pinski <apinski@cavium.com>
* mips-tdep.c (mips32_next_pc): Consolidate calls to itype_op.
Keith Seitz [Sun, 19 Aug 2012 19:37:51 +0000 (19:37 +0000)]
PR c++/14365
* c-typeprint.c (c_type_print_varspec_prefix): Pass
-1 for SHOW to c_type_print_base for METHODPTR and MEMBERPTR.
* gdb.dwarf2/dw2-anon-mptr.exp: New file.
* gdb.dwarf2/dw2-anon-mptr.S: New file.
Alan Modra [Sun, 19 Aug 2012 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Sun, 19 Aug 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 18 Aug 2012 11:12:50 +0000 (11:12 +0000)]
* powerpc.cc: Formatting and white space.
(Powerpc_relobj): Rename got2_section_ to special_.
Add opd_ent_shndx_ and opd_ent_off_ vectors.
(Powerpc_relobj::opd_shndx, init_opd, get_opd_ent, set_opd_ent,
scan_opd_relocs, do_read_relocs, opd_ent_ndx): New functions.
(Target_powerpc): Add Address typedef and invalid_address. Use
throughout.
(Target_powerpc::is_branch_reloc): New function.
(Powerpc_relocate_functions): Add Address typedef, use throughout.
(Powerpc_relocate_functions:rela, rela_ua): Correct type used
for dst_mask, value and addend.
(Powerpc_relobj::do_find_special_sections): Find .opd for 64-bit.
(ld_2_1, cror_15_15_15, cror_31_31_31): New insn constants.
(Output_data_glink::do_write): Correct toc base. Don't try to use
uint16_t for 24-bit offset. Use get_output_section_offset and
check return.
(Target_powerpc::Scan::local): Handle more relocs.
(Target_powerpc::do_finalize_sections): Set up DT_PPC64_GLINK.
(Target_powerpc::Relocate::relocate): Correct toc base calculation.
Plug in toc restoring insn after plt calls. Translate branches
to function descriptor symbols to corresponding entry point.
(Target_powerpc::relocate_for_relocatable): Check return from
get_output_section_offset.
* symtab.h: Comment typo.
Eli Zaretskii [Sat, 18 Aug 2012 11:00:37 +0000 (11:00 +0000)]
Fix a typo that prevented "make TAGS" from working.
gdb/Makefile.in (HFILES_NO_SRCDIR): Fix a typo: golang.h -> go-lang.h.
The typo broke "make TAGS".
Jan Kratochvil [Sat, 18 Aug 2012 07:02:09 +0000 (07:02 +0000)]
gdb/testsuite/
* gdb.base/solib-corrupted.exp (make solibs looping): Replace
verbose -log by more specific untested call.
Yao Qi [Sat, 18 Aug 2012 01:00:19 +0000 (01:00 +0000)]
gdb/testsuite/
* gdb.trace/tfind.exp: Move tests on various command help before
checking target supports trace.
Fix the expected output of 'help tfind end'.
H.J. Lu [Sat, 18 Aug 2012 00:18:31 +0000 (00:18 +0000)]
Remove extra verbose before binutils_run
* binutils-all/ar.exp (long_filenames): Remove extra verbose
before binutils_run.
(thin_archive): Likewise.
(thin_archive_with_nested): Likewise. Also run bfdtest1 on
$archive2.
Alan Modra [Sat, 18 Aug 2012 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 18 Aug 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Andreas Schwab [Fri, 17 Aug 2012 21:59:31 +0000 (21:59 +0000)]
* floatformat.c (floatformat_to_double): Correctly handle numbers
between 1 and 2. Simplify handling of denormal number.
(main): Test with 1.1.
gdbadmin [Fri, 17 Aug 2012 18:41:46 +0000 (18:41 +0000)]
GDB 7.5 released.
Keith Seitz [Fri, 17 Aug 2012 17:37:03 +0000 (17:37 +0000)]
PR c++/13356
* gdbtypes.c (strict_type_checking): New variable.
(show_strict_type_checking): New function.
(rank_one_type): Return NS_POINTER_INTEGER_CONVERSION_BADNESS
if strict type checking is disabled.
(_initialize_gdbtypes): Add "check type" subcommand.
* gdbtypes.h (NS_INTEGER_POINTER_CONVERSION_BADNESS): New struct.
PR c++/13356
* gdb.base/default.exp: Update all "check type" tests.
* gdb.base/help.exp: Likewise.
* gdb.base/setshow.exp: Likewise.
* gdb.cp/converts.cc (foo1_type_check): New function.
(foo2_type_check): New function.
(foo3_type_check): New function.
(main): Call new functions.
* converts.exp: Add tests for integer-to-pointer conversions
with/without strict type-checking.
PR c++/13356
* gdb.texinfo (Type and Range Checking): Remove warning.
Remove spurious commas.
Update text and examples for re-implementation of set/show
check type.
(C and C++ Type and Range Checks): Likewise.
* language.h (type_mode): Remove.
(type_check): Remove.
(struct language_defn): Remove la_type_check.
(STRICT_TYPE): Remove unused macro.
(type_error): Remove.
* language.c (set_type_range_case): Renamed to ...
(set_range_case): ... this. Update all callers.
Remove type_mode/type_check.
(type_mode): Remove.
(type_check): Remove.
(show_type_command): Remove.
(set_type_command): Remove.
(language_info): Remove type checking output.
(type_error): Remove unused function.
(range_error): Update comment.
(unknown_language_defn): Remove la_type_check.
(auto_language_defn): Likewise.
(local_language_defn): Likewise.
(_initialize_language): Remove "check type" subcommand.
* ada-lang.c (ada_language_defn): Remove la_type_check.
* c-lang.c (c_language_defn): Likewise.
(cplus_language_defn): Likewise.
(asm_language_defn): Likewise.
(minimal_language_defn): Likewise.
* d-lang.c (d_language_defn): Likewise.
* f-lang.c (f_language_defn): Likewise.
* go-lang.c (go_language_defn): Likewise.
* jv-lang.c (java_language_defn): Likewise.
* m2-lang.c (m2_language_defn): Likewise.
* objc-lang.c (objc_language_defn): Likewise.
* opencl-lang.c (opencl_language_defn): Likewise.
* p-lang.c (pascal_language_defn): Likewise.
H.J. Lu [Fri, 17 Aug 2012 17:12:36 +0000 (17:12 +0000)]
Add AMD btver1 and btver2 support
gas/
2012-08-17 Nagajyothi Eggone <nagajyothi.eggone@amd.com>
* config/tc-i386.c (cpu_arch): Add CPU_BTVER1_FLAGS and
CPU_BTVER2_FLAGS.
(i386_align_code): Add case for PROCESSOR_BT.
* config/tc-i386.h (enum processor_type): Add PROCESSOR_BT.
* doc/c-i386.texi: Add -march={btver1, btver2} options.
gas/testsuite/
2012-08-17 Nagajyothi Eggone <nagajyothi.eggone@amd.com>
* gas/i386/i386.exp: Run btver1 and btver2 test cases.
* gas/i386/nops-1-btver1.d: New.
* gas/i386/nops-1-btver2.d: New.
* gas/i386/arch-10-btver1.d: New.
* gas/i386/arch-10-btver2.d: New.
* gas/i386/x86-64-nops-1-btver1.d: New.
* gas/i386/x86-64-nops-1-btver2.d: New.
* gas/i386/x86-64-arch-2-btver1.d: New.
* gas/i386/x86-64-arch-2-btver2.d: New.
opcodes/
2012-08-17 Nagajyothi Eggone <nagajyothi.eggone@amd.com>
* i386-gen.c (cpu_flag_init): Add CPU_BTVER1_FLAGS and
CPU_BTVER2_FLAGS.
* i386-opc.h: Update CpuPRFCHW comment.
* i386-opc.tbl: Enable prefetch instruction for CpuPRFCHW.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
Kai Tietz [Fri, 17 Aug 2012 16:33:03 +0000 (16:33 +0000)]
PR ld/14326
* scripttempl/pe.sc: Add _etext symbol.
Nick Clifton [Fri, 17 Aug 2012 14:33:27 +0000 (14:33 +0000)]
* po/vi.po: Updated Vietnamese translation.
* po/uk.po: New Ukranian translation.
* configure.in (ALL_LINGUAS): Add uk.
* configure: Regenerate.
Mike Frysinger [Fri, 17 Aug 2012 03:06:11 +0000 (03:06 +0000)]
gdb: fix test failures after updating usage strings
Alan Modra [Fri, 17 Aug 2012 02:43:21 +0000 (02:43 +0000)]
typo fixes
Alan Modra [Fri, 17 Aug 2012 01:06:27 +0000 (01:06 +0000)]
PR binutils/14475:
* archive.c (bfd_ar_hdr_from_filesystem): Revert last change.
Instead malloc areltdata.
gdbadmin [Fri, 17 Aug 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 17 Aug 2012 00:00:04 +0000 (00:00 +0000)]
daily update
Joel Brobecker [Thu, 16 Aug 2012 23:55:02 +0000 (23:55 +0000)]
fix internal_error during fork event handling.
When running on ia64-hpux a program that calls fork, GDB currently
reports the following internal error:
internal-error: Can't determine the current address space of thread process 1882
Here is what happens:
1. GDB receives a "fork" event;
2. handle_inferior_event calls detach_breakpoints for the child process;
3. detach_breakpoints calls ia64's gdbarch remove_breakpoint hook,
which needs to read an entire instruction slot in order to remove
a breakpoint instruction from memory;
4. To read inferior memory, the ia64-hpux code needs to know where
that memory is located relative to the bsp..bspstore area,
and thus needs to read the value of those registers;
5. To get the value of those registers, ia64_hpux_xfer_memory current
uses the current regcache.
The problem is that at the time we are trying to remove the breakpoints
from the child, the child process is not part of the list of inferiors
really known to GDB (it has not been added to inferior_list), so trying
to create a regcache for it triggers an internal error when creating
address space for the regcache (as the address space is ultimately
fetched from the inferior).
To work around this limitation, ia64_hpux_xfer_memory has been modified
to detect the fact the current inferior is not in our inferior list,
and to go, in that case, straight to the source to fetch the registers
it needs.
gdb/ChangeLog:
* ia64-hpux-nat.c (ia64_hpux_get_register_from_save_state_t):
New function.
(ia64_hpux_xfer_memory): Check if inferior_ptid is known before
using the regache. Use ia64_hpux_get_register_from_save_state_t
to access the bsp and bspstore registers if not.
Joel Brobecker [Thu, 16 Aug 2012 23:54:50 +0000 (23:54 +0000)]
Change detach_breakpoints to take a ptid instead of a pid
Before this change, detach_breakpoints would take a pid, and then
set inferior_ptid to a ptid that it constructs using pid_to_ptid (pid).
Unfortunately, this ptid is not necessarily valid. Consider for
instance the case of ia64-hpux, where ttrace refuses a register-read
operation if the LWP is not provided.
This problems shows up when GDB is trying to handle fork events.
Assuming GDB is configured to follow the parent, GDB will try to
detach from the child. But before doing so, it needs to remove
all breakpoints inside that child. On ia64, this involves reading
inferior (the child's) memory. And on ia64-hpux, reading memory
requires us to read the bsp and bspstore registers, in order to
determine where that memory is relative to the value of those
registers, and thus to determine which ttrace operation to use in
order to fetch that memory (see ia64_hpux_xfer_memory).
This patch therefore changes detach_breakpoints to take a ptid instead
of a pid, and then updates all callers.
One of the consequences of this patch is that it trips an assert
on GNU/Linux targets. But this assert appears to have not actual
purpose, and is thus removed.
gdb/ChangeLog:
* breakpoint.h (detach_breakpoints): pid parameter is now a ptid.
* breakpoint.c (detach_breakpoints): Change pid parameter into
a ptid. Adjust code accordingly.
* infrun.c (handle_inferior_event): Delete variable child_pid.
Update call to detach_breakpoints to pass the child ptid for
fork events.
* linux-nat.c (linux_nat_iterate_watchpoint_lwps): Remove
assert that inferior_ptid's lwp is zero.
(linux_handle_extended_wait): Update call to detach_breakpoints.
* inf-ttrace.c (inf_ttrace_follow_fork): Update call to
detach_breakpoints.
Joel Brobecker [Thu, 16 Aug 2012 23:54:37 +0000 (23:54 +0000)]
inf_ttrace_follow_fork: detach_breakpoints called twice for child.
When debugging a program that forks with follow-fork set to follow
the parent, we end up calling detach_breakpoints for the child twice.
On ia64-hpux, this leads to a warning when trying to remove the
breakpoints the second time around, because the ia64 code detects
that the address does not point to a breakpoint instruction.
gdb/ChangeLog:
* inf-ttrace.c (inf_ttrace_follow_fork): When following the
parent, only call detach_breakpoints if tts.tts_event ==
TTEVT_VFORK.
H.J. Lu [Thu, 16 Aug 2012 20:31:34 +0000 (20:31 +0000)]
Add a testcase for PR binutils/14481
binutils/
PR binutils/14481
* Makefile.am (BFDTEST1_PROG): New.
(TEST_PROGS): Likewise.
(bfdtest1_DEPENDENCIES): Likewise.
(noinst_PROGRAMS): Add $(TEST_PROGS).
* Makefile.in: Regenerated.
* bfdtest1.c: New file.
binutils/testsuite/
PR binutils/14481
* ar.exp (bfdtest1): New.
(long_filenames): Run bfdtest1.
(thin_archive): Likewise.
(thin_archive_with_nested): Likewise.
Peter Bergner [Thu, 16 Aug 2012 18:12:38 +0000 (18:12 +0000)]
* ppc-opc.c (powerpc_opcodes) <"lswx">: Use RAX for the second and
RBX for the third operand.
<"lswi">: Use RAX for second and NBI for the third operand.
Joel Brobecker [Thu, 16 Aug 2012 15:45:46 +0000 (15:45 +0000)]
DWARF frame unwinder executes one too many rows
The problem is trying to unwind from a function where %ebp is NOT
used as the frame pointer, and the size of the frame changes over
the lifetime of that function.
For instance, trying to unwind past the GNAT runtime function
called system.tasking.rendezvous.timed_selective_wait on x86-linux,
one can get:
(gdb) bt
[...]
#3 0x0805364b in system.tasking.rendezvous.timed_selective_wait ()
#4 0xb7fe5068 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Looking at the CFI, we find the following initial instructions...
> DW_CFA_def_cfa: %esp+4 (r4 ofs 4)
> DW_CFA_offset: %eip at cfa-4 (r8 = %eip)
... and the associated FDE:
>
00001be4 00000054 00001be8 FDE cie=
00000000 pc=
08053310..
08053951
[...]
> DW_CFA_advance_loc: 8 to
080534ad
> DW_CFA_def_cfa_offset: 112
> DW_CFA_advance_loc2: 414 to
0805364b
> DW_CFA_def_cfa_offset: 108
[...]
The problem is that the DWARF frame unwinder executed the FDE until
the row for PC == 0x0805364b. But in reality, our program hasn't
executed the instruction at that address yet (it is the return address).
So GDB executed a little too much of the FDE, giving us the wrong
offset for the frame base, and thus the wrong address where %eip
got saved.
This patch fixes the problem by using a more correct PC as the bound
for executing the FDE.
gdb/ChangeLog:
* dwarf2-frame.c (dwarf2_frame_cache): Use
get_frame_address_in_block instead of get_frame_pc as
the bound for executing the frame's FDE.
gdb/testsuite/ChangeLog:
* gdb.ada/rdv_wait: New testcase.
Tom Tromey [Thu, 16 Aug 2012 14:24:44 +0000 (14:24 +0000)]
PR binutils/14475:
* archive.c (bfd_ar_hdr_from_filesystem): Allocate areltdata on
'member' BFD. Don't try to free 'ared'.
Nick Clifton [Thu, 16 Aug 2012 08:38:45 +0000 (08:38 +0000)]
oops - acxidentally omitted from previous delta.
Nick Clifton [Thu, 16 Aug 2012 07:56:19 +0000 (07:56 +0000)]
* end.c: Include config.h before system header files.
* erc32.c: Likewise.
* exec.c: Likewise.
* float.c: Likewise.
* func.c: Likewise.
* help.c: Likewise.
* interf.c: Likewise.
Yao Qi [Thu, 16 Aug 2012 07:36:28 +0000 (07:36 +0000)]
gdb/
* gdbtypes.h (enum type_code): Define TYPE_CODE_BITSTRING -1.
* arm-tdep.c (arm_type_align): Remove code handling TYPE_CODE_BITSTRING.
* c-typeprint.c (c_type_print_varspec_prefix): Likewise.
(c_type_print_varspec_suffix): Likewise.
* eval.c (evaluate_subexp_standard): Likewise.
* f-typeprint.c (f_type_print_varspec_prefix): Likewise.
(f_type_print_varspec_suffix): Likewise.
* gdbtypes.c (is_scalar_type): Likewise.
(recursive_dump_type): Likewise.
* infcall.c (value_arg_coerce): Likewise.
* m2-valprint.c (m2_val_print): Likewise.
* p-typeprint.c (pascal_type_print_varspec_prefix): Likewise.
(pascal_type_print_varspec_suffix): Likewise.
(pascal_type_print_base): Likewise.
* p-valprint.c (pascal_val_print): Likewise.
(pascal_val_print): Likewise.
* valops.c (value_slice): Likewise.
* valprint.c (scalar_type_p): Likewise.
* valarith.c (value_bitstring_subscript): Remove.
(value_concat): Remove code handling TYPE_CODE_BITSTRING.
Remove comment on TYPE_CODE_BITSTRING.
* stabsread.c (read_type): Don't set TYPE_CODE (type) to
TYPE_CODE_BITSTRING.
* python/py-type.c (pyty_codes): Move ENTRY (TYPE_CODE_BITSTRING) to
slot 0.
gdb/doc:
* gdb.texinfo (Types In Python): Mention gdb.TYPE_CODE_BITSTRING
is deprecated.
Yao Qi [Thu, 16 Aug 2012 07:26:16 +0000 (07:26 +0000)]
gdb/
* tracepoint.c (trace_find_none_command): Remove.
(_initialize_tracepoint): Call add_alias_cmd for "tfind none".
Yao Qi [Thu, 16 Aug 2012 07:21:59 +0000 (07:21 +0000)]
gdb/
* remote.c (handle_notification): Remove parameter 'length'.
(putpkt_binary, getpkt_or_notif_sane_1): Caller update.
gdbadmin [Thu, 16 Aug 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 16 Aug 2012 00:00:04 +0000 (00:00 +0000)]
daily update
Keith Seitz [Wed, 15 Aug 2012 23:43:14 +0000 (23:43 +0000)]
* gdbtypes.c (opaque_type_resolution): Make static.
Add missing comment.
(overload_debug): Add missing comment.
(show_opaque_type_resolution): Likewise.
(show_overload_debug): Likewise.
(print_bit_vector): Remove unnecessary forward declaration.
(print_arg_types): Likewise.
(dump_fn_fieldlists): Likewise.
(print_cplus_stuff): Likewise.
Keith Seitz [Wed, 15 Aug 2012 23:25:08 +0000 (23:25 +0000)]
Forgotten commit from 2012-07-30.
DJ Delorie [Wed, 15 Aug 2012 22:37:56 +0000 (22:37 +0000)]
* rl78-decode.opc (rl78_decode_opcode): Merge %e and %[01]
operands, so that data addresses can be corrected when not
ES-overridden.
* rl78-decode.c: Regenerate.
* rl78-dis.c (print_insn_rl78): Make order of modifiers
irrelevent. When the 'e' specifier is used on an operand and no
ES prefix is provided, adjust address to make it absolute.
Peter Bergner [Wed, 15 Aug 2012 21:25:21 +0000 (21:25 +0000)]
opcodes/
* ppc-opc.c <RSQ, RTQ>: Use PPC_OPERAND_GPR.
gas/testsuite/
* gas/ppc/power4.s <lq, stq>: Add more tests.
* gas/ppc/power4.d: Likewise.
Peter Bergner [Wed, 15 Aug 2012 15:33:25 +0000 (15:33 +0000)]
opcodes/
* ppc-opc.c <xnop, yield, mdoio, mdoom>: New extended mnemonics.
gas/testsuite/
* gas/ppc/common.d ("nop", "xnop"): Add tests.
* gas/ppc/common.s: Likewise.
* gas/ppc/power7.d ("yield", "mdoio", "mdoom"): Add tests.
* gas/ppc/power7.s: Likewise.
Tom Tromey [Wed, 15 Aug 2012 14:33:40 +0000 (14:33 +0000)]
* gdb_bfd.c (struct gdb_bfd_data) <archive_bfd>: New field.
(gdb_bfd_ref): Initialize new field.
(gdb_bfd_unref): Unref the archive BFD.
(gdb_bfd_openr_next_archived_file): Acquire a reference to the
parent archive.
Tom Tromey [Wed, 15 Aug 2012 14:22:02 +0000 (14:22 +0000)]
PR python/14387:
* python/py-bpevent.c (create_breakpoint_event_object): Update
comment.
* python/py-event.c (evpy_add_attribute): Update comment.
* python/py-exitedevent.c (create_exited_event_object): Fix
reference counting and error handling.
* python/py-newobjfileevent.c (create_new_objfile_event_object):
Fix reference counting.
* python/py-signalevent.c (create_signal_event_object): Fix
reference counting and error handling.
* python/py-stopevent.c (emit_stop_event): Fix reference
counting.
* python/py-threadevent.c (get_event_thread): Return a
borrowed reference.
* python/py-type.c (convert_field): Fix reference counting.
Tom Tromey [Wed, 15 Aug 2012 14:18:18 +0000 (14:18 +0000)]
* dwarf2read.c (dwarf_decode_macro_bytes)
<DW_MACRO_GNU_transparent_include>: Use pointer to included data
as hash key.
Ian Lance Taylor [Wed, 15 Aug 2012 04:03:54 +0000 (04:03 +0000)]
* x86_64.cc (Target_x86_64::Scan::global): Fix erroneous call to
unsupported_relocal_local to call unsupported_reloc_global.
Mike Frysinger [Wed, 15 Aug 2012 01:59:42 +0000 (01:59 +0000)]
gdb: improve usage strings
This adds Usage strings to a bunch of commands, tweaks the grammar in a
few, and improves the help text for the handle command.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
gdbadmin [Wed, 15 Aug 2012 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 15 Aug 2012 00:00:03 +0000 (00:00 +0000)]
daily update
Maciej W. Rozycki [Tue, 14 Aug 2012 22:00:05 +0000 (22:00 +0000)]
* mips-dis.c (print_insn_args): Add GET_OP and GET_OP_S local
macros, use local variables for info struct member accesses,
update the type of the variable used to hold the instruction
word.
(print_insn_mips, print_mips16_insn_arg): Likewise.
(print_insn_mips16): Add GET_OP and GET_OP_S local macros, use
local variables for info struct member accesses.
(print_insn_micromips): Add GET_OP_S local macro.
(_print_insn_mips): Update the type of the variable used to hold
the instruction word.
Doug Evans [Tue, 14 Aug 2012 19:35:47 +0000 (19:35 +0000)]
* gdbtypes.c (struct extra): Delete, unused.
Doug Evans [Tue, 14 Aug 2012 19:28:16 +0000 (19:28 +0000)]
* gdbtypes.c: Whitespace cleanup.
(address_space_name_to_int): Remove "extern" from definition.
(_initialize_gdbtypes): Declare with initialize_file_ftype.
Doug Evans [Tue, 14 Aug 2012 19:03:47 +0000 (19:03 +0000)]
* gdbtypes.c (make_pointer_type): Remove redundant setting of
TYPE_POINTER_TYPE (type).
Jan Kratochvil [Tue, 14 Aug 2012 18:47:37 +0000 (18:47 +0000)]
gdb/testsuite/
* gdb.base/attach-twice.exp: Remove excessive ps exec.
H.J. Lu [Tue, 14 Aug 2012 17:01:46 +0000 (17:01 +0000)]
Terminate register name when reporting bad register
gas/
PR gas/14457
* config/tc-i386.c (i386_att_operand): Terminate register name
when reporting bad register.
gas/testsuite/
PR gas/14457
* gas/i386/i386.exp: Run reg-bad.
* gas/i386/reg-bad.l: New.
* gas/i386/reg-bad.s: Likewise.
Gary Benson [Tue, 14 Aug 2012 16:16:04 +0000 (16:16 +0000)]
2012-08-14 Gary Benson <gbenson@redhat.com>
* solib-svr4.c (svr4_free_library_list): Use free_so.
Nick Clifton [Tue, 14 Aug 2012 12:10:12 +0000 (12:10 +0000)]
oops - accidentally omitted from previous delta
Nick Clifton [Tue, 14 Aug 2012 11:59:05 +0000 (11:59 +0000)]
Updated Ukranian translations.
Nick Clifton [Tue, 14 Aug 2012 08:31:57 +0000 (08:31 +0000)]
PR ld/14265
* script-sections.cc (Sections_element::output_section_name): Add
keep return parameter.
(Output_section_element::match_name): Add keep return parameter.
Return the value of the keep_ member.
* script-sections.h (class Output_section): Update
output_section_name prototype.
* layout.cc (Layout::keep_input_section): New public member
function.
(Layout::choose_output_section): Pass keep parameter to
output_section_name.
* layout.h (class Layout): Add keep_input_section.
* object.cc (Sized_relobj_file::do_layout): Check for kept input
sections.
* testsuite/Makefile.am: Add a test.
* testsuite/Makefile.in: Regenerate.
* testsuite/pr14265.c: Source file for the test.
* testsuite/pr14265.t: Linker script for the test.
* testsuite/pr14265.sh: Shell script for the test.
* ld-gc/gc.exp: Add a new test.
* ld-gc/pr14265.c: Source file for the new test.
* ld-gc/pr14265.t: Linker script for the new test.
* ld-gc/pr14265.d: Expected symbol dump.
Alan Modra [Tue, 14 Aug 2012 03:39:03 +0000 (03:39 +0000)]
* target.h (Target::output_section_name): New function.
(Target::do_output_section_name): New function.
* layout.cc (Layout::choose_output_section): Call the above.
* powerpc.cc (Target_powerpc::do_output_section_name): New function.
Hans-Peter Nilsson [Tue, 14 Aug 2012 02:29:30 +0000 (02:29 +0000)]
* gas/mmix/err-fb-2.s: New test.
Hans-Peter Nilsson [Tue, 14 Aug 2012 02:29:01 +0000 (02:29 +0000)]
* config/tc-mmix.c (loc_asserts): New variable.
(mmix_greg_internal): Handle expressions not determinable at first
pass.
(s_loc): Ditto. Record expressions where the section isn't
determinable at the first pass, and assume they don't refer to
other sections.
(mmix_md_end): Verify that recorded LOC expressions weren't
to other sections, else emit error messages.
Alan Modra [Tue, 14 Aug 2012 02:22:32 +0000 (02:22 +0000)]
elfcpp/
* powerpc.h: Add more relocs.
(R_PPC_REL16*): Rename to R_POWERPC_REL16*.
gold/
* powerpc.cc: Update for renamed R_PPC_REL16 relocs.
(Output_data_got_powerpc::do_write): Don't rely on base class lookup
for replace_constant call.
(Output_data_plt_powerpc::do_print_to_mapfile): New function.
(Output_data_glink::do_print_to_mapfile): New function.
(Target_powerpc::Scan::local): Ignore R_PPC64_TOCSAVE.
(Target_powerpc::Relocate::relocate): Likewise.
Alan Modra [Tue, 14 Aug 2012 01:07:01 +0000 (01:07 +0000)]
* powerpc.cc (Powerpc_relobj::set_got2_shndx): Delete.
(Powerpc_relobj::do_find_special_sections): Don't use set_got2_shndx.
(Output_data_glink::add_entry,find_entry): Remove shndx param.
(class Glink_sym_ent): Rename from struct Glink_sym_ent. Remove
all references to shndx_. Handle special case for R_PPC_PLTREL24
here.
(class Glink_sym_ent_hash): Rename from struct Glink_sym_ent_hash.
(Output_data_glink::do_write): Retrieve got2_shdnx from object.
(Target_powerpc::make_plt_entry): Don't special case R_PPC_PLTREL24
here.
(Target_powerpc::Scan::global): Nor on make_plt_entry call.
(Target_powerpc::Relocate::relocate): Nor on glink->find_entry call.
gdbadmin [Tue, 14 Aug 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 14 Aug 2012 00:00:05 +0000 (00:00 +0000)]
daily update
Doug Evans [Mon, 13 Aug 2012 21:14:48 +0000 (21:14 +0000)]
* gdb.base/help.exp: Update expected output.
Maciej W. Rozycki [Mon, 13 Aug 2012 19:52:59 +0000 (19:52 +0000)]
* ld-mips-elf/export-class-call16-o32.dd: New test.
* ld-mips-elf/export-class-call16-o32-irix.dd: New test.
* ld-mips-elf/export-class-call16-o32.gd: New test.
* ld-mips-elf/export-class-call16-n32.dd: New test.
* ld-mips-elf/export-class-call16-n32.gd: New test.
* ld-mips-elf/export-class-call16-n64.dd: New test.
* ld-mips-elf/export-class-call16-n64.gd: New test.
* ld-mips-elf/export-class-call16-def.s: New test source.
* ld-mips-elf/export-class-call16-o32.s: New test source.
* ld-mips-elf/export-class-call16-n32.s: New test source.
* ld-mips-elf/export-class-call16-n64.s: New test source.
* ld-mips-elf/export-class-call16.ld: New test linker script.
* ld-mips-elf/mips-elf.exp: Run the new tests.
Maciej W. Rozycki [Mon, 13 Aug 2012 19:43:38 +0000 (19:43 +0000)]
* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Look up
the options section in the output rather than input BFD to
decide if to add a DT_MIPS_OPTIONS tag.
Mike Frysinger [Mon, 13 Aug 2012 15:44:00 +0000 (15:44 +0000)]
gdb: ignore generated go-exp.c
Maciej W. Rozycki [Mon, 13 Aug 2012 15:01:13 +0000 (15:01 +0000)]
* config.bfd: Wrap mips*el-*-linux* and mips*-*-linux* into
#ifdef BFD64.
Nick Clifton [Mon, 13 Aug 2012 14:54:15 +0000 (14:54 +0000)]
oops, aciidental commit
Nick Clifton [Mon, 13 Aug 2012 14:52:54 +0000 (14:52 +0000)]
Add support for 64-bit ARM architecture: AArch64
Doug Evans [Mon, 13 Aug 2012 14:31:00 +0000 (14:31 +0000)]
* value.c (show_convenience): Tweak comment.
(_initialize_values): Mention convenience functions in the help text
for "show convenience".
doc/
* gdb.texinfo (Convenience Vars): Update text for "show convenience"
to include functions.
testsuite/
* gdb.base/default.exp: Update expected output of "show convenience".