Commit Graph

62149 Commits

Author SHA1 Message Date
gdbadmin 4afcbd1072 *** empty log message *** 2009-07-21 00:00:03 +00:00
Doug Evans 348e048f0c Add support for "comdat types" from DWARF4.
* dwarf2read.c (dwarf2_per_objfile): New member types,
	signatured_types.
	(TYPES_SECTION): New macro.
	(dwarf2_per_cu_data): Change size of length field from 30 bits
	to 29 bits.  New member from_debug_types.
	(signatured_type): New struct.
	(struct attribute): New union member signatured_type.
	(DW_SIGNATURED_TYPE): New macro.
	(dwarf2_attr_no_follow): New function.
	(read_type_unit_scope): New function.
	(follow_die_ref_or_sig, follow_die_sig): New functions.
	(dwarf2_locate_sectoins): Handle .debug_types.
	(dwarf2_build_psymtabs): Read .debug_types.
	(read_type_comp_unit_head): New function.
	(hash_type_signature, eq_type_signature): New functions.
	(create_debug_types_hash_table): New function.
	(lookup_signatured_type): New function.
	(process_psymtab_comp_unit): Handle type units too.
	(process_type_comp_unit, build_type_psymtabs): New functions.
	(dwarf2_build_psymtabs_hard): Call build_type_psymtabs.
	(load_partial_comp_unit): Assert not called for a type unit.
	(skip_one_die): Handle DW_FORM_sig8.
	(queue_comp_unit): Don't call load_full_comp_unit here, or
	update read_in_chain.
	(psymtab_to_symtab_1): Call read_signatured_type_at_offset for
	type units, or load_full_comp_unit for comp units after
	queue_comp_unit returns.
	(load_full_comp_unit): Assert not called for type units.
	(load_full_comp_unit): Update read_in_chain here.
	(process_die): Handle DW_TAG_type_unit.
	(read_structure_type): Look for signatured types.
	(read_enumeration_type): Ditto.
	(init_cu_die_reader): Handle .debug_types.
	(read_comp_unit): Assert hash not computed yet.
	(read_die_and_children): Expand debugging printf to handle .debug_types.
	(read_partial_die): Handle DW_TAG_type_unit:
	(find_patial_die): Handle .debug_types.
	(read_attribute_value): Handle DW_FORM_sig8.
	(die_type): Call follow_die_ref_or_sig instead of follow_die_ref.
	(die_containing_type): Ditto.
	(dwarf_tag_name): Handle DW_TAG_type_unit.
	(dwarf_attr_name): Handle DW_AT_signature.
	(dwarf_form_name): Handle DW_FORM_sec_offset, DW_FORM_exprloc,
	DW_FORM_flag_present, DW_FORM_sig8.
	(dump_die_shallow): Handlel DW_FORM_sig8.
	(maybe_queue_comp_unit): Change return type to int from void.
	All callers updated.
	(follow_die_ref): Handle .debug_types.
	(lookup_signatured_type_at_offset): New function.
	(read_signatured_type_at_offset): New function.
	(read_signatured_type): New function.
2009-07-20 21:21:17 +00:00
Doug Evans 7717029689 Add some dwarf4 values.
* dwarf2.h (enum dwarf_tag): Add DW_TAG_type_unit.
	(enum dwarf_form): Add DW_FORM_sec_offset, DW_FORM_exprloc,
	DW_FORM_flag_present, DW_FORM_sig8.
	(enum dwarf_attribute): Add DW_AT_signature.
2009-07-20 20:57:39 +00:00
Ulrich Weigand f4290e2a0c * arch-utils.c (gdbarch_info_fill): Only reference GDB_OSABI_DEFAULT
if the macro is defined.
2009-07-20 19:41:34 +00:00
Pedro Alves 08d1664121 2009-07-20 Pedro Alves <pedro@codesourcery.com>
* features/gdb-target.dtd (target): Accept an optional 'osabi'
	element.
	(osabi): Define element.
	* features/mips-linux.xml (target): Add an osabi subelement set to
	GNU/Linux.
	* regformats/regdat.sh (xmlarch, xmlosabi): New variables.  Don't
	write the architecture into $xmltarget.  Store it in $xmlarch.
	Handle the 'osabi' type.  Handle outputting the osabi element of
	the target description.
	* regformats/reg-x86-64-linux.dat (osabi): Set to GNU/Linux.
	* regformats/reg-i386-linux.dat (osabi): Set to GNU/Linux.

	* target-descriptions.h (tdesc_osabi, set_tdesc_osabi): Declare.
	* target-descriptions.c (struct target_desc) <osabi>: New field.
	(tdesc_osabi): New function.
	(set_tdesc_osabi): New function.
	* xml-tdesc.c: Include osabi.h.
	(tdesc_end_osabi): New.
	(target_children): Parse "osabi" elements.
	* arch-utils.c (gdbarch_info_fill): Try to get the osabi from the
	target description if the user didn't override it or it is not
	extractable from the bfd.  If that still fails, fallback to the
	configured in default.
	* osabi.h (osabi_from_tdesc_string): Declare.
	* osabi.c (osabi_from_tdesc_string): New.
	(gdbarch_lookup_osabi): Return GDB_OSABI_UNKNOWN instead of
	GDB_OSABI_DEFAULT.

	* NEWS: Mention that target descriptions can now describe the
	target OS ABI.

2009-07-20  Pedro Alves  <pedro@codesourcery.com>

	* gdb.texinfo (Target Description Format): Mention the new <osabi>
	optional element.
	(subsection OS ABI): New subsection.
2009-07-20 18:51:42 +00:00
Mike Frysinger a156a29064 fix gdbtui build errors when pipe() is not available (e.g. mingw targets)
* configure.ac (AC_CHECK_FUNCS): Check for pipe.
	* config.in, configure: Regenerate.
	* tui/tui-io.c (TUI_USE_PIPE_FOR_READLINE): Define if HAVE_PIPE.
2009-07-20 15:24:55 +00:00
Pedro Alves b4d1e8c700 * gnu-nat.c: Include "inf-child.h".
(gnu_mourn_inferior): Use the passed in target_ops
	instead of the gnu_ops global.
	(gnu_create_inferior): Inline `attach_to_child', use the passed in
	target_ops instead of the gnu_ops global.
	(gnu_can_run): Delete.
	(gnu_attach): Use the passed in target_ops instead of the gnu_ops
	global.
	(gnu_detach): Ditto.
	(gnu_prepare_to_store, gnu_open): Delete.
	(gnu_store_registers, gnu_fetch_registers): Delete declarations.
	(gnu_ops): Delete.
	(init_gnu_ops): Delete.
	(gnu_target): New.
	(_initialize_gnu_nat): Don't call init_gnu_ops or add_target here.
	* gnu-nat.h (gnu_target): Declare.
	* i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Make
	static.
	(_initialize_i386gnu_nat): New.
2009-07-20 15:18:24 +00:00
Ulrich Weigand b5758fe446 * dwarf2loc.c (find_location_expression): Retrieve beginning and
ending address offsets in location list entries as integers,
	not as addresses.
2009-07-20 15:06:13 +00:00
Ulrich Weigand ec9499be38 * infrun.c (wait_for_inferior): Invalidate registers and overlay
cache every time before calling target_wait.
	(handle_inferior_event): Make static. Always reset waiton_ptid.
	Never call registers_changed.
	(prepare_to_wait): Do not invaliate registers or overlay cache
	(moved to wait_for_inferior).  Do not reset waiton_ptid (moved
	to handle_inferior_event).
	(fetch_inferior_event): Remove check for always-true condition.
2009-07-20 15:05:12 +00:00
H.J. Lu 3dcb3fcb14 2009-07-20 H.J. Lu <hongjiu.lu@intel.com>
* NEWS: Mention --insn-width.

	* objdump.c (insn_width): New.
	(usage): Display --insn-width.
	(option_values): Add OPTION_INSN_WIDTH.
	(long_options): Add --insn-width.
	(disassemble_bytes): Handle insn_width.
	(main): Handle OPTION_INSN_WIDTH.

	* doc/binutils.texi: Document --insn-width.
2009-07-20 13:40:48 +00:00
Nick Clifton 7769efb28e PR 10288
* arm-dis.c (arm_opcodes): Catch non-zero bits 8-11 in register
        offset or indexed based addressing mode 3.
2009-07-20 12:11:18 +00:00
Thomas Schwinge 85a772a574 2009-07-20 Thomas Schwinge <tschwinge@gnu.org>
* i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Adjust to
	2009-02-23 target_ops changes.
2009-07-20 09:51:01 +00:00
gdbadmin c2fd7da247 *** empty log message *** 2009-07-20 00:00:33 +00:00
Alan Modra 0f25197a35 daily update 2009-07-20 00:00:07 +00:00
Alan Modra 651f5b5ba3 daily update 2009-07-19 00:00:04 +00:00
gdbadmin 6e0db5a268 *** empty log message *** 2009-07-19 00:00:03 +00:00
Michael Snyder fdd654f3cc 2009-07-18 Michael Snyder <msnyder@vmware.com>
* infrun.c (handle_inferior_event): Remove an execution_direction
	check in the "check for subroutine calls" test, and add some
	additional handling for reverse-stepping through shared libraries.
2009-07-18 23:35:31 +00:00
Anthony Green 99f752754d Fix prologue analysis for moxie. 2009-07-18 13:52:02 +00:00
gdbadmin f22fded053 *** empty log message *** 2009-07-18 00:00:33 +00:00
Alan Modra b7a8a98932 daily update 2009-07-18 00:00:05 +00:00
DJ Delorie d503175434 merge from gcc 2009-07-17 20:20:45 +00:00
H.J. Lu bc0844aee7 2009-07-17 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (md_assemble): Update operand types.
	(update_imm): Updated.
	(finalize_imm): Update the first 2 immediate operands only
	for instructions with 2 operands or more.
2009-07-17 17:54:51 +00:00
H.J. Lu 9afe6eb82f 2009-07-17 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (md_assemble): Check implicit registers
	only for instructions with 3 operands or less.
2009-07-17 17:08:34 +00:00
Ulrich Weigand 831a0c4447 * solib.c (solib_bfd_open): Do not call ops->bfd_open.
(solib_map_sections): Call ops->bfd_open instead of solib_bfd_open.
	* solib-frv.c (_initialize_frv_solib): Initialize bfd_open member.
	* solib-irix.c (_initialize_irix_solib): Likewise.
	* solib-null.c (_initialize_null_solib): Likewise.
	* solib-osf.c (_initialize_osf_solib): Likewise.
	* solib-pa64.c (_initialize_pa64_solib): Likewise.
	* solib-som.c (_initialize_som_solib): Likewise.
	* solib-sunos.c (_initialize_sunos_solib): Likewise.
	* solib-svr4.c (_initialize_svr4_solib): Likewise.
	* solib-target.c (_initialize_solib_target): Likewise.
2009-07-17 17:08:23 +00:00
Ulrich Weigand 328d0145af * mi/mi-cmd-disas.c (mi_cmd_disassemble): Respect mixed_mode flag. 2009-07-17 15:55:54 +00:00
Nick Clifton a61a9fbcb3 * config/tc-avr.c (md_apply_fix): Cast fixup reloc type to avoid
compile time warning.
2009-07-17 15:22:11 +00:00
Nick Clifton 008f4c7834 * dwarf.c (display_debug_lines): If do_debug_lines has not been
set then default to displaying raw .debug_line section contents.
2009-07-17 15:19:21 +00:00
Joseph Myers a6072eabf9 PR other/40784
* tls.m4 (GCC_CHECK_TLS): Add extra quoting around argument to
	AC_LINK_IFELSE.
2009-07-17 15:11:33 +00:00
Nick Clifton 1c4c13cd94 * ld-mips-elf/pic-and-nonpic-3b.dd: Updated to use new PLT
entries.
        * ld-mips-elf/pic-and-nonpic-5b.dd: Likewise.
        * ld-mips-elf/pic-and-nonpic-6-o32.dd: Likewise.
        * ld-mips-elf/pic-and-nonpic-6-n32.dd: Likewise.
        * ld-mips-elf/pic-and-nonpic-6-n64.dd: Likewise.
2009-07-17 13:36:16 +00:00
Nick Clifton 6d30f5b2dc * elfxx-mips.c (LOAD_INTERLOCKS_P): New define.
(_bfd_mips_elf_size_dynamic_sections): For CPUs without load
        interlocking, the last PLT entry needs a nop in the branch delay slot.
        (_bfd_mips_elf_finish_dynamic_symbol): For CPUs with load itnerlocking,
        output the last two PLT entries in reverse order.

        * ld-mips-elf/pic-and-nonpic-3b.dd,
        ld-mips-elf/pic-and-nonpic-5b.dd,
        ld-mips-elf/pic-and-nonpic-6-o32.dd: Updated to use new PLT entries.
2009-07-17 09:46:00 +00:00
Ian Lance Taylor 1ef4d87fe8 PR 10400
* layout.h: #include <map>.
	(class Kept_section): Change from struct to class.  Add accessors
	and setters.  Add section size to Comdat_group mapping.  Change
	Comdat_group to std::map.  Add is_comdat_ field.  Add
	linkonce_size field in union.
	(class Layout): Update declaration of find_or_add_kept_section.
	Don't declare find_kept_object.
	* layout.cc (Layout::find_or_add_kept_section): Remove candidate
	parameter.  Add object, shndx, is_comdat, and is_group_name
	parameters.  Change all callers.  Adjust for new Kept_section.
	(Layout::find_kept_object): Remove.
	* object.cc (Sized_relobj::include_section_group): Update use of
	Kept_section.  Rename secnum to shndx.  Only record
	Kept_comdat_section if sections are the same size.
	(Sized_relobj::include_linkonce_section): Update use of
	Kept_section.  Only record Kept_comdat_section if sections are the
	same size.  Set size of linkonce section.
	(Sized_relobj::map_to_kept_section): Update call to
	get_kept_comdat_section.
	* object.h (class Sized_relobj): Rename fields in
	Kept_comdat_section to drop trailing underscores; change object
	field to Relobj*.  Change Kept_comdat_section_table to store
	struct rather than pointer.
	(Sized_relobj::set_kept_comdat_section): Remove kept parameter.
	Add kept_object and kept_shndx parameters.  Change all callers.
	(Sized_relobj::get_kept_comdat_section): Change return type to
	bool.  Add kept_object and kept_shndx parameters.  Change all
	callers.
	* plugin.cc (Pluginobj::include_comdat_group): Update call to
	Layout::find_or_add_kept_section.
2009-07-17 01:07:33 +00:00
Alan Modra 98472ae205 daily update 2009-07-17 00:00:05 +00:00
gdbadmin 967d9d9538 *** empty log message *** 2009-07-17 00:00:03 +00:00
Joseph Myers a0b0f93b04 * tls.m4 (GCC_CHECK_TLS): Also test TLS in a shared library when
cross-compiling.
2009-07-16 23:21:15 +00:00
H.J. Lu afeb3d7fac 2009-07-16 Dave Korn <dave.korn.cygwin@gmail.com>
H.J. Lu  <hongjiu.lu@intel.com>

	* binutils-all/objcopy.exp: Run testranges and testranges-ia64
	for ELF targets only.
2009-07-16 21:10:49 +00:00
H.J. Lu 36f8f14aad 2009-07-16 H.J. Lu <hongjiu.lu@intel.com>
* binutils-all/objcopy.exp; Run testranges-ia64.

	* binutils-all/testranges.d: Don't run for ia64.

	* binutils-all/testranges-ia64.d: New.
	* binutils-all/testranges-ia64.s: Likewise.
2009-07-16 21:00:09 +00:00
Doug Evans 099cb4fb6e * linux-thread.db.c (try_thread_db_load_1): Tweak comment. 2009-07-16 20:45:17 +00:00
Paul Pluzhnikov 456b0e2407 2007-07-16 Paul Pluzhnikov <ppluzhnikov@google.com>
* linux-thread-db.c (thread_db_find_new_threads_silently):
	New function.
	(try_thread_db_load_1): Call it.
2009-07-16 19:47:43 +00:00
Doug Evans 0aaaf7c3ef * cpu/simplify.inc (*): One line doc strings don't need \n.
(df): Invoke define-full-ifield instead of claiming it's an alias.
	(dno): Define.
	(dnop): Mark as deprecated.
2009-07-16 17:53:25 +00:00
H.J. Lu 915bcca52e gas/
2009-07-16  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (md_assemble): Only check i.operands for AX.
	(md_estimate_size_before_relax): Don't relax IFUNC symbols.

gas/testsuite/

2009-07-16  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/i386.exp: Run ifunc and x86-64-ifunc.

	* gas/i386/ifunc.d: New,
	* gas/i386/ifunc.s: Likewise.
	* gas/i386/x86-64-ifunc.d: Likewise.
2009-07-16 17:37:26 +00:00
H.J. Lu 1f85278f17 bfd/
2009-07-16  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_i386_relocate_section): Don't get local
	STT_GNU_IFUNC symbol for relocatable link.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.

ld/testsuite/

2009-07-16  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-ifunc/ifunc-5r-local-i386.d: New.
	* ld-ifunc/ifunc-5r-local-x86-64.d: Likewise.
2009-07-16 14:23:12 +00:00
Nathan Sidwell 9a6f4e976d gas/
* config/tc-arm.c (md_apply_fix <BFD_RELOC_ARM_TARGET2>): Write
	the offset for REL targets here.

	gas/testsuite/
	* gas/arm/target-reloc-1.s: New.
	* gas/arm/target-reloc-1.d: New.

	ld/testsuite/
	* ld-arm/arm-target2.s: Add addend cases.
	* ld-arm/arm-target2-rel.d: Adjust.
	* ld-arm/arm-target2-abs.d: Adjust.
	* ld-arm/arm-target2-got-rel.d: Adjust.
2009-07-16 13:18:52 +00:00
H.J. Lu 3726e6c57f 2009-07-15 Kai Tietz <kai.tietz@onevision.com>
* listing.c (print_source): Initialize cache by NULL.
2009-07-16 00:37:28 +00:00
gdbadmin 74a4e4306a *** empty log message *** 2009-07-16 00:00:33 +00:00
Alan Modra 9fd2ab21d7 daily update 2009-07-16 00:00:05 +00:00
Doug Evans 933113889e Code reorg in preparation for adding comdat types support.
* dwarf2read.c (struct die_reader_specs): New struct.
	(locate_pdi_sibling): New arg buffer.  All callers updated.
	(load_partial_dies, read_partial_die): Ditto.
	(read_8_bytes): Change return type to ULONGEST.
	(read_comp_unit): Delete arg abfd.  All callers updated.
	(read_die_and_children_1): Delete args abfd, cu.  New arg reader.
	All callers updated.
	(read_die_and_children, read_die_and_siblings): Ditto.
	(read_full_die): Ditto.  Move closer to callers.
	(skip_one_die): New arg buffer.  All callers updated.
	(load_full_comp_unit): Change return type to void.  All callers
	updated.
	(partial_read_comp_unit_head): New args buffer, buffer_size.
	All callers updated.
	(process_psymtab_comp_unit): New function, split out from
	dwarf2_build_psymtabs_hard.
	(dwarf2_build_psymtabs_hard): Call it.
	(load_partial_comp_unit): Renamed from load_comp_unit.
	All callers updated.
	(skip_children): New arg buffer.  All callers updated.
	(init_cu_die_reader): New function.
	(is_ref_attr): New function.
	(dwarf2_get_ref_die_offset): Call it.
	(alloc_one_comp_unit): New function.
2009-07-15 22:17:10 +00:00
Nick Clifton 5297075306 * doc/c-arm.texi (mauto-it): Removed old option.
(mimplicit-it): Added right option.
2009-07-15 15:08:55 +00:00
Michael Snyder dcd5da8777 2009-07-14 Michael Snyder <msnyder@vmware.com>
* gdb.reverse/finish-reverse.exp: Do not expect reverse-finish
	to bring gdb to the beginning of the calling line.
2009-07-15 01:18:58 +00:00
Michael Snyder 6e0a4f1593 2009-07-14 Michael Snyder <msnyder@vmware.com>
* gdb.arch/i386-signal.c (sigframe): Add a nop to avoid
	confusing the i386 epilogue unwinder.
2009-07-15 01:12:16 +00:00
gdbadmin 5c0b619860 *** empty log message *** 2009-07-15 00:00:33 +00:00