Commit graph

56425 commits

Author SHA1 Message Date
Richard Sandiford
53ccb77250 ld/
* scripttempl/armbpabi.sc (.text): Don't KEEP (*(.text.*personality*)).
	(.data): Don't KEEP (*(.gnu.linkonce.d.*personality*)).
	* scripttempl/elf.sc: As for armbpabi.sc.
	* scripttempl/elfxtensa.sc: Likewise.
	* scripttempl/mep.sc: Likewise.
2007-12-15 09:43:40 +00:00
Richard Sandiford
fc802241f3 bfd/
* elf-bfd.h (eh_cie_fde): Replace u.cie.merged with a union of
	a merged field and a sec field.
	(eh_frame_hdr_info): Remove offsets_adjusted.
	* elf-eh-frame.c (_bfd_elf_parse_eh_frame): Update accesses to
	the CIE merged field.
	(_bfd_elf_gc_mark_fdes): Likewise.
	(_bfd_elf_discard_section_eh_frame): Likewise.  Set u.cie.u.sec
	when clearing the removed flag.
	(_bfd_elf_eh_frame_section_offset): Remove offsets_adjusted handling.
	(_bfd_elf_write_section_eh_frame): Likewise.  Apply output_offsets
	where appropriate.
2007-12-15 09:42:02 +00:00
Richard Sandiford
6b2cc1401c bfd/
* elf-bfd.h (eh_cie_fde): Move add_fde_encoding and
	per_encoding_relative to u.cie.  Add commentary.
	* elf-eh-frame.c (cie): Remove make_relative.
	(extra_augmentation_string_bytes): Update use of add_fde_encoding.
	(extra_augmentation_data_bytes): Likewise.  Use an FDE's own
	add_augmentation_size field, rather than referring to the CIE.
	(_bfd_elf_parse_eh_frame): Don't set the struct cie
	make_relative field; set the eh_cie_fde field directly.
	Update setting of add_fde_encoding and per_encoding_relative.
	Copy make_relative and add_augmentation_size from the CIE
	to the FDE.
	(_bfd_elf_discard_section_eh_frame): Use the FDE's own
	make_relative field.
	(_bfd_elf_eh_frame_section_offset): Likewise.
	(_bfd_elf_write_section_eh_frame): Update accesses to
	add_fde_encoding and per_encoding_relative.  Use the FDE's
	own make_relative and add_augmentation_size fields.
2007-12-15 09:41:15 +00:00
Richard Sandiford
9f4b847e23 bfd/
* elf-bfd.h (eh_cie_fde): Remove need_lsda_relative.
	Move make_lsda_relative to u.cie.
	* elf-eh-frame.c (cie): Rename make_lsda_relative to
	can_make_lsda_relative.
	(_bfd_elf_parse_eh_frame): Don't set the old eh_cie_fde
	make_lsda_relative field.  Update after cie renaming.
	Set u.cie.make_lsda_relative if can_make_lsda_relative
	and if we find a relocation against the LSDA.
	(_bfd_elf_discard_section_eh_frame): Copy make_lsda_relative when
	changing a CIE's group representative.
	(_bfd_elf_eh_frame_section_offset): Don't set need_ldsa_relative here.
	(_bfd_elf_write_section_eh_frame): Check u.cie.make_lsda_relative
	rather than need_lsda_relative.
2007-12-15 09:35:58 +00:00
Richard Sandiford
9d0a14d3f3 bfd/
* elf-bfd.h (eh_cie_fde): Add u.fde.next_for_section and
	u.cie.gc_mark.
	(bfd_elf_section_data): Add fde_list.
	(elf_fde_list): New macro.
	(elf_obj_tdata): Add eh_frame_section.
	(elf_eh_frame_section): New macro.
	(_bfd_elf_gc_mark_reloc): Remove last parameter.
	(_bfd_elf_gc_mark_fdes): Declare.
	* elf-eh-frame.c (_bfd_elf_get_eh_frame_sec_info): Chain the FDEs
	for each input section.
	(mark_entry, _bfd_elf_gc_mark_fdes): New functions.
	* elflink.c (_bfd_elf_gc_mark_reloc): Remove is_eh parameter.
	(_bfd_elf_gc_mark): Update call accordingly.  Mark the relocations
	againts the section's FDEs.  Don't mark the bfd's elf_eh_frame_section.
	(bfd_elf_gc_sections): Parse each input bfd's .eh_frame before
	marking any input sections.  Remove the current EH handling.
	* section.c (bfd_section): Remove gc_mark_from_eh.
	* ecoff.c (bfd_debug_section): Update initializer accordingly.
2007-12-15 09:34:48 +00:00
Richard Sandiford
ca92cecbbe bfd/
* elf-bfd.h (eh_cie_fde): Add u.cie.  Document how u.fde.cie_inf
	changes when removed == 0.
	(eh_frame_hdr_info): Add parsed_eh_frames.
	(_bfd_elf_begin_eh_frame_parsing): Declare.
	(_bfd_elf_parse_eh_frame): Declare.
	(_bfd_elf_end_eh_frame_parsing): Declare.
	* elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): New function.
	(_bfd_elf_parse_eh_frame): New function, split out from
	_bfd_elf_discard_section_eh_frame.  Make a first pass through the
	buffer to calculate the number of entries and CIEs.  Allocate memory
	for them before the main loop.  Replace current extended cie
	representation with a pair of pointers, one to the local eh_cie_fde
	and one to the full struct cie.  Allocate a separate array of struct
	cies if not merging.  Merge CIEs during the main loop and set up each
	u.cie.merged field.  Point an FDE's cie_inf field directly at the
	local CIE.  Initially assume that all entries should be removed.
	(_bfd_elf_end_eh_frame_parsing): New function.
	(_bfd_elf_discard_section_eh_frame): Assume that the section has
	already been parsed.  Use a separate pass to mark entries that
	need to be kept.  Use the u.cie.merged field to track a CIE's
	group representative.
	* elflink.c (bfd_elf_discard_info): Call _bfd_elf_parse_eh_frame
	before _bfd_elf_discard_section_eh_frame.  Wrap loop with calls to
	_bfd_elf_begin_eh_frame_parsing and _bfd_elf_end_eh_frame_parsing.
2007-12-15 09:33:51 +00:00
Richard Sandiford
155eaaa031 bfd/
* elf-bfd.h (eh_cie_fde): Put cie_inf in a union.  Add a reloc_index
	field.  Use bitfields for fde_encoding, lsda_encoding and lsda_offset.
	* elf-eh-frame.c (extra_augmentation_data_bytes): Adjust cie_inf
	accesses after the above change.
	(_bfd_elf_eh_frame_section_offset): Likewise.
	(_bfd_elf_write_section_eh_frame): Likewise.
	(_bfd_elf_discard_section_eh_frame): Likewise.  Set up reloc_index.
2007-12-15 09:32:38 +00:00
Richard Sandiford
5241d85325 bfd/
* elf-bfd.h (_bfd_elf_gc_mark_rsec, _bfd_elf_gc_mark_reloc): Declare.
	(_bfd_elf_gc_mark): Use elf_gc_mark_hook_fn.
	* elflink.c (init_reloc_cookie, fini_reloc_cookie)
	(init_reloc_cookie_rels, fini_reloc_cookie_rels): New functions,
	split out from...
	(bfd_elf_discard_info): ...here.
	(init_reloc_cookie_for_section): New function.
	(fini_reloc_cookie_for_section): Likewise.
	(_bfd_elf_gc_mark_rsec, _bfd_elf_gc_mark_reloc): New functions,
	split out from...
	(_bfd_elf_gc_mark): ...here.  Use init_reloc_cookie_for_section
	and fini_reloc_cookie_for_section.
2007-12-15 09:31:41 +00:00
Ian Lance Taylor
281b8327ae Minor speedup to Output_merge_string::do_add_input_section. 2007-12-15 01:01:48 +00:00
gdbadmin
46da5588d0 *** empty log message *** 2007-12-15 00:00:02 +00:00
Alan Modra
8e1638a887 daily update 2007-12-14 23:00:05 +00:00
Alan Modra
58b9344cf3 * ld-scripts/rgn-over.exp: Add --no-overlays for spu. 2007-12-14 21:54:50 +00:00
Ian Lance Taylor
17a1d0a9b2 Rewrite workqueue. This version eliminates the master thread, and
reduces the amount of locking required to find a new thread to run.
2007-12-14 19:00:21 +00:00
Ian Lance Taylor
7004837e8d Add const to Object::read and Object::sized_target. 2007-12-14 18:50:01 +00:00
Ian Lance Taylor
c71c6f566c Make some File_read methods const. 2007-12-14 18:22:06 +00:00
Vladimir Prus
afe8ab2206 Add support for pending breakpoints in MI.
* gdb.h (gdb_breakpoint): Add parameter pending.
	* breakpoint.c (gdb_breakpoint): Add parameter pending.
	* mi/mi-cmd-break.c (mi_break_insert): Change
	comment to refer to manual.  Add support for
	the -f flag, for pending breakpoint.
2007-12-14 18:15:47 +00:00
Vladimir Prus
72b2ff0e02 * breakpoint.c (break_command_really): New, copied
from break_command_1. New parameters COND_STRING, THREAD
	PARSE_CONDITITION_AND_THREAD and PENDING_BREAK_SUPPORT.
	The previous FLAG parameter split into TEMPFLAG and
	HARDWAREFLAG.
	When PARSE_CONDITION_AND_THREAD is not set, duplicate
	the passed condition string.
	(struct captured_breakpoint_args): Remove
	(do_captured_breakpoint): Remove.
	(break_command_1): Relay to break_command_really.
	(gdb_breakpoint): Relay to break_command_really.
2007-12-14 17:54:48 +00:00
Ian Lance Taylor
0e470e5c90 Add some missing dependencies for the new linker. 2007-12-14 05:27:45 +00:00
Ian Lance Taylor
6d01333390 From Craig Silverstein: size hash tables to avoid resizing. 2007-12-14 05:24:17 +00:00
Ian Lance Taylor
460c00b558 Fix --thread-count-middle and --thread-count-final. 2007-12-14 04:53:22 +00:00
DJ Delorie
c9b68031aa Merge from gcc:
2007-12-10  Andreas Tobler  <a.tobler@schweiz.org>

	* configure.ac: Enable libjava for x86_64-*-darwin9.
	* configure: Regenerate.
2007-12-14 01:28:55 +00:00
gdbadmin
1ba2ab661d *** empty log message *** 2007-12-14 00:00:33 +00:00
Alan Modra
d5cbb2b614 daily update 2007-12-13 23:00:06 +00:00
Michael Snyder
2ba9393420 2007-12-13 Michael Snyder <msnyder@specifix.com>
* mips-linux-tdep.c (mips64_fill_gregset): Remove unused variable.
2007-12-13 19:28:26 +00:00
Bob Wilson
38f9cb7fe1 gas/
* config/tc-xtensa.c (xg_symbolic_immeds_fit): Relax for weak
	references but not weak definitions.
gas/testsuite/
	* gas/xtensa/all.exp: Run new weak-call test.
	* gas/xtensa/weak-call.d: New.
	* gas/xtensa/weak-call.s: New.
2007-12-13 19:03:45 +00:00
Jim Blandy
3690dd376b * dwarf2read.c (attr_form_is_constant): New function.
(dwarf2_add_field): Use it and attr_form_is_section_offset to
recognize DW_AT_data_member_location attributes.  Use
dwarf2_get_attr_constant_value when the attribute is a constant.

* dwarf2read.c (attr_form_is_section_offset): New function.
(dwarf_add_member_fn, read_common_block, read_partial_die)
(dwarf2_symbol_mark_computed): Use it, instead of writing it out.
2007-12-13 19:02:51 +00:00
Jim Blandy
dfdfb3ca98 Remove unused support for target-based exception catching.
* target.h (struct target_ops): Delete
to_enable_exception_callback and to_get_current_exception_event
members.
(target_enable_exception_callback)
(target_get_current_exception_event): Delete macros.
* target.c (update_current_target): Remove code to inherit and
default those members.
(debug_to_enable_exception_callback)
(debug_to_get_current_exception_event): Delete functions.
(setup_target_debug): Don't install those methods.
* inf-child.c (inf_child_enable_exception_callback)
(inf_child_get_current_exception_event): Delete dummy functions.
(inf_child_target): Don't install them in the target vector.
* breakpoint.h (enum bptype): Delete bp_catch_catch,
bp_catch_throw.
* breakpoint.c (cover_target_enable_exception_callback)
(ep_is_exception_catchpoint, create_exception_catchpoint): Delete
functions.
(insert_bp_location, update_breakpoints_after_exec)
(remove_breakpoint, ep_is_catchpoint, print_it_typical)
(bpstat_stop_status, bpstat_what)
(bpstat_get_triggered_catchpoints, print_one_breakpoint_location)
(user_settable_breakpoint, allocate_bp_location)
(disable_watchpoints_before_interactive_call_start)
(enable_watchpoints_after_interactive_call_stop, mention)
(delete_breakpoint, breakpoint_re_set_one, disable_command)
(enable_command): Remove exception catchpoint cases.
(catch_exception_command_1): Don't try target-based exception
handling.
* stack.c (catch_info): Call print_frame_label_vars
unconditionally.
2007-12-13 02:00:09 +00:00
gdbadmin
ee951a0b34 *** empty log message *** 2007-12-13 00:00:33 +00:00
Alan Modra
de4298c61c daily update 2007-12-12 23:00:05 +00:00
Bob Wilson
fd453c640f Wrap long line in previous entry. 2007-12-12 21:18:46 +00:00
Bob Wilson
8e6bc631a9 * config/tc-xtensa.c (xg_symbolic_immeds_fit): Do not relax calls to weak symbols if longcalls are disabled. 2007-12-12 21:16:47 +00:00
Bob Wilson
c46082c8d5 * elf32-xtensa.c (elf_xtensa_do_reloc): Update self_address along with
address.
        (print_action_list): Fix name for ta_convert_longcall.
2007-12-12 21:11:10 +00:00
Maciej W. Rozycki
b71c0d47ee * remote-mips.c (mips_load): Use regcache_set_valid_p() instead
of setting deprecated_register_valid array directly.
2007-12-12 17:14:52 +00:00
gdbadmin
48ffab1c27 *** empty log message *** 2007-12-12 00:00:33 +00:00
Ian Lance Taylor
c03c769248 From Cary Coutant: Test TLS initial-exec model. 2007-12-11 23:33:11 +00:00
Ian Lance Taylor
535890bb64 From Cary Coutant: Set DF_STATIC_TLS as appropriate. 2007-12-11 23:30:52 +00:00
Alan Modra
c32d85ca53 daily update 2007-12-11 23:00:06 +00:00
Bob Wilson
def13efb26 * config/tc-xtensa.c (frag_format_size): Handle frags that expand to
wide branches.
	(get_aligned_diff): For RELAX_ALIGN_NEXT_OPCODE, skip to the next
	non-empty frag to find the LOOP instruction.  Change comma typo to
	a semicolon.
	(relax_frag_immed, convert_frag_immed): Rename wide_insn variable to
	from_widen_insn.
2007-12-11 21:52:39 +00:00
Ian Lance Taylor
31d6048054 From Cary Coutant: Fix x86_64 TLS problem. 2007-12-11 21:21:14 +00:00
Ian Lance Taylor
9430daf83a From Craig Silverstein: Speed up ODR violation reporting. 2007-12-11 18:17:31 +00:00
Catherine Moore
8424d8f538 * bfd/elf.c (_bfd_elf_copy_private_symbol_data): Don't copy shndx if
the symbol's section is the undefined section.
        * gas/testsuite/gas/elf/symtab.s: New test.
        gas/testsuite/gas/elf/symtab.d: New expected output.
        gas/testsuite/gas/elf/elf.exp: Run the new symbtab test.
2007-12-11 13:13:59 +00:00
Daniel Jacobowitz
60955fda27 * dwarf2.h (DW_AT_hi_user): Correct value. 2007-12-11 12:56:21 +00:00
Ian Lance Taylor
94c4710f80 From Cary Coutant: Handle TLS entry for TLS module index. 2007-12-11 04:23:05 +00:00
gdbadmin
5828e9cfab *** empty log message *** 2007-12-11 00:00:33 +00:00
Alan Modra
58f0869bfe warning messages should contain "warning:" 2007-12-10 23:44:23 +00:00
Alan Modra
71ac351cf2 * config/tc-m32r.c (md_begin): Mark .sbss as being bss style section. 2007-12-10 23:33:46 +00:00
Alan Modra
f2e5b8ee1d daily update 2007-12-10 23:00:05 +00:00
Ian Lance Taylor
fcf29b2415 Keep views on views_ list so that they can be found again. 2007-12-10 22:55:31 +00:00
Jan Kratochvil
b7fca99000 * lib/gdb.exp (build_id_debug_filename_get): OBJCOPY pipe being read
must be set to binary.
2007-12-10 14:32:50 +00:00
Richard Sandiford
742a56fee5 gas/
* config/tc-mips.h (mips_nop_opcode): Declare.
	(NOP_OPCODE): Define.
	(mips_segment_info): New structure.
	(TC_SEGMENT_INFO_TYPE): Use it instead of insn_label_list.
	* config/tc-mips.c (label_list): Adjust for new TC_SEGMENT_INFO_TYPE.
	(mips_record_mips16_mode): New function.
	(install_insn): Call it.
	(mips_align): Likewise.  Turn the fill argument into an "int *".
	Use frag_align_code for code segments if no fill data is given.
	(s_align): Adjust call accordingly.
	(mips_nop_opcode): New function.
	(mips_handle_align): Use the first variable byte to decide which
	nop sequence is needed.  Use md_number_to_chars and mips16_nop_insn.

gas/testsuite/
	* gas/mips/align2.s, gas/mips/align2.d, gas/mips/align2-el.d: New
	tests.
	* gas/mips/mips.exp: Run them.
2007-12-10 10:36:00 +00:00