OSDN Git Service
Mark Kettenis [Wed, 2 Jan 2008 00:37:44 +0000 (00:37 +0000)]
* m88k-dis.c (instructions): Fix fcvt.* instructions.
From Miod Vallat.
Alan Modra [Tue, 1 Jan 2008 23:00:06 +0000 (23:00 +0000)]
daily update
Daniel Jacobowitz [Tue, 1 Jan 2008 22:53:22 +0000 (22:53 +0000)]
Updated copyright notices for most files.
Alan Modra [Mon, 31 Dec 2007 23:00:05 +0000 (23:00 +0000)]
daily update
H.J. Lu [Mon, 31 Dec 2007 19:23:07 +0000 (19:23 +0000)]
2007-12-31 H.J. Lu <hongjiu.lu@intel.com>
PR ld/5530
* elfxx-ia64.c (elfNN_ia64_relocate_section): Call
_bfd_elf_find_segment_containing_section with output_bfd,
instead of input_bfd.
H.J. Lu [Mon, 31 Dec 2007 16:17:43 +0000 (16:17 +0000)]
Fix a typo in ChangeLog.
H.J. Lu [Mon, 31 Dec 2007 16:02:07 +0000 (16:02 +0000)]
Expect cvtsi2ssl instead of cvtsi2ss.
H.J. Lu [Mon, 31 Dec 2007 15:42:22 +0000 (15:42 +0000)]
gas/testsuite/
2007-12-31 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/inval.s: Add test for cvtsi2ss/cvtsi2sd.
* gas/i386/simd.s: Likewise.
* gas/i386/x86-64-simd.s: Likewise.
* gas/i386/inval.l: Updated.
* gas/i386/simd-intel.d: Likewise.
* gas/i386/simd-suffix.d: Likewise.
* gas/i386/simd.d: Likewise.
* gas/i386/sse2.d: Likewise.
* gas/i386/x86-64-opcode.d: Likewise.
* gas/i386/x86-64-simd-intel.d: Likewise.
* gas/i386/x86-64-simd-suffix.d: Likewise.
* gas/i386/x86-64-simd.d: Likewise.
opcodes/
2007-12-31 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (prefix_table): Use "%LQ" on cvtpi2ps/cvtsi2sd.
(putop): Handle '%' and "LQ".
* i386-opc.tbl: Remove IgnoreSize from cvtpi2ps/cvtsi2sd.
* i386-tbl.h: Regenerated.
Nick Clifton [Mon, 31 Dec 2007 11:29:31 +0000 (11:29 +0000)]
* elf-m10300.c (mn10300_elf_relax_section): Use _bfd_merged_section_offset
to compute the offset of a symbol in a merged section.
Nick Clifton [Mon, 31 Dec 2007 11:29:01 +0000 (11:29 +0000)]
* ld-elf/flags1.d: Add xfails for ports for which the test will work.
* ld-mn10300/i143317.s: New test - checks linker relaxation when symbols
are in a merged section.
* ld-mn10300/i143317.d: Expected disassembly.
* ld-mn10300/i143317.t: Linker map.
* ld-mn10300/mn10300.exp (mn10300_tests): Add the i143317 test.
Nick Clifton [Mon, 31 Dec 2007 11:01:54 +0000 (11:01 +0000)]
* elf.c (_bfd_elf_find_segment_containing_section): New function:
Scan the segment map looking for the segment containing a
specified function.
* elf-bfd.h: Prototype the new function.
* elf-hppa.h (elf_hppa_osec_to_segment): Delete.
(elf_hppa_record_segment_addrs): Use new function.
* elf32-bfin.c (_bfdfdpic_osec_to_segment): Use new function.
* elf32-frv.c (_frvfdpic_osec_to_segment): Use new function.
* elf32-hppa.c (hppa_record_segment_addr): Use new function.
* elfxx-ia64.c (elfNN_ia64_relocate_section): Use new function.
Alan Modra [Sun, 30 Dec 2007 23:00:05 +0000 (23:00 +0000)]
daily update
Alan Modra [Sat, 29 Dec 2007 23:00:06 +0000 (23:00 +0000)]
daily update
H.J. Lu [Sat, 29 Dec 2007 17:37:57 +0000 (17:37 +0000)]
Remove extra whitespace.
H.J. Lu [Sat, 29 Dec 2007 14:15:20 +0000 (14:15 +0000)]
2007-12-29 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (md_show_usage): Add -mmnemonic, -msyntax,
-mindex-reg, -mnaked-reg and -mold-gcc.
Dave Anglin [Sat, 29 Dec 2007 01:57:08 +0000 (01:57 +0000)]
* gas/all/gas.exp: Skip relax test on hppa*-*-hpux*.
Dave Anglin [Sat, 29 Dec 2007 01:36:40 +0000 (01:36 +0000)]
PR binutils/5146
* elf64-hppa.c: Declare alloca when __GNUC__ is defined.
* som.c: Likewise.
Dave Anglin [Fri, 28 Dec 2007 23:43:45 +0000 (23:43 +0000)]
* elf-hppa.h (elf_hppa_osec_to_segment): New function.
(elf_hppa_record_segment_addrs): Use elf_hppa_osec_to_segment.
Remove ATTRIBUTE_UNUSED from abfd argument.
* elf32-hppa.c (hppa_record_segment_addr): Likewise.
Alan Modra [Fri, 28 Dec 2007 23:00:05 +0000 (23:00 +0000)]
daily update
H.J. Lu [Fri, 28 Dec 2007 19:42:53 +0000 (19:42 +0000)]
Add ',' at the end of cpu_flag_init.
H.J. Lu [Fri, 28 Dec 2007 16:04:41 +0000 (16:04 +0000)]
gas/testsuite/
2007-12-28 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/arch-1.d: New file.
* gas/i386/arch-1.s: Likewise.
* gas/i386/arch-2.d: Likewise.
* gas/i386/arch-2.s: Likewise.
* gas/i386/arch-3.d: Likewise.
* gas/i386/arch-3.s: Likewise.
* gas/i386/arch-4.d: Likewise.
* gas/i386/arch-4.s: Likewise.
* gas/i386/i386.exp: Run arch-1, arch-2, arch-3 and arch-4.
opcodes/
2007-12-28 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (cpu_flag_init): Add CpuSSE4_1_Or_5 to
CPU_SSE4_1_FLAGS, CPU_SSE4_2_FLAGS and CPU_SSE5_FLAGS.
(cpu_flags): Add CpuSSE4_1_Or_5.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
* i386-opc.h (CpuSSE4_1_Or_5): New.
(CpuLM): Updated.
(i386_cpu_flags): Add cpusse4_1_or_5.
* i386-opc.tbl: Use CpuSSE4_1_Or_5 instead of CpuSSE4_1|CpuSSE5
on ptest roundpd, roundps, roundsd and roundss.
Nick Clifton [Fri, 28 Dec 2007 14:45:34 +0000 (14:45 +0000)]
* elf32-hppa.c (hppa_record_segment_addr): Locate the segment
containing the section using the segment map, rather than guessing
based upon the section's vma and file position.
Alan Modra [Thu, 27 Dec 2007 23:00:05 +0000 (23:00 +0000)]
daily update
Dave Anglin [Thu, 27 Dec 2007 15:35:53 +0000 (15:35 +0000)]
* config/tc-hppa.h (DWARF2_CIE_DATA_ALIGNMENT): Wrap negative number
in parens.
Alan Modra [Wed, 26 Dec 2007 23:00:06 +0000 (23:00 +0000)]
daily update
Alan Modra [Tue, 25 Dec 2007 23:00:05 +0000 (23:00 +0000)]
daily update
Alan Modra [Mon, 24 Dec 2007 23:00:06 +0000 (23:00 +0000)]
daily update
Nick Clifton [Mon, 24 Dec 2007 17:27:34 +0000 (17:27 +0000)]
* genscripts.sh (LIB_PATH): Include both {target_alias} and
{TOOL_LIB} in the search paths for multilibbed targets.
H.J. Lu [Mon, 24 Dec 2007 16:58:23 +0000 (16:58 +0000)]
bfd/
2007-12-24 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/5488
* elf.c (IS_NOTE): New.
(IS_COREFILE_NOTE): Use IS_NOTE.
(IS_SECTION_IN_INPUT_SEGMENT): Use IS_NOTE instead of
IS_COREFILE_NOTE.
ld/testsuite/
2007-12-24 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/5488
* ld-elf/note-2.d: New.
* ld-elf/note-2.s: Likewise.
* ld-elf/note-2.t: Likewise.
H.J. Lu [Mon, 24 Dec 2007 16:55:39 +0000 (16:55 +0000)]
2007-12-24 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/5449
* elf.c (rewrite_elf_program_header): Don't adjust p_paddr if
p_paddr is set to 0.
(copy_private_bfd_data): Call rewrite_elf_program_header if
p_paddr is set to 0.
* elfcode.h (elf_swap_phdr_out): Set p_paddr to 0 if needed.
* elfxx-ia64.c (ELF_MAXPAGESIZE): Don't redefine it for HPUX.
Nick Clifton [Mon, 24 Dec 2007 16:18:14 +0000 (16:18 +0000)]
Updated Russian translation.
H.J. Lu [Mon, 24 Dec 2007 06:10:17 +0000 (06:10 +0000)]
Fix a typo in comment.
H.J. Lu [Mon, 24 Dec 2007 05:27:39 +0000 (05:27 +0000)]
gas/
2007-12-23 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (set_intel_mnemonic): New.
(intel_mnemonic): Likewise.
(old_gcc): Likewise.
(OPTION_MMNEMONIC): Likewise.
(OPTION_MSYNTAX): Likewise.
(OPTION_MINDEX_REG): Likewise.
(OPTION_MNAKED_REG): Likewise.
(OPTION_MOLD_GCC): Likewise.
(md_pseudo_table): Add .intel_mnemonic and .att_mnemonic.
(match_template): Don't allow AT&T/Intel mnemonic if Intel/AT&T
mnemonic is specified. Don't allow old gcc support if old_gcc
is 0.
(md_longopts): Add -mmnemonic, -msyntax, -mindex-reg,
-mmnaked-reg and -mold-gcc.
(md_parse_option): Handle OPTION_MMNEMONIC, OPTION_MSYNTAX,
OPTION_MINDEX_REG, OPTION_MNAKED_REG and OPTION_MOLD_GCC.
* doc/c-i386.texi: Docoument -mmnemonic, -msyntax, --mnaked-reg
and AT&T mnemonic vs. Intel mnemonic.
gas/testsuite/
2007-12-23 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/compat-intel.d: Pass -mmnemonic=att to assembler.
* gas/i386/compat.d: Likewise.
* gas/i386/i386.exp: Pass -mmnemonic=att to assembler for
"float". Pass -mold-gcc to assembler for "general".
opcodes/
2007-12-23 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (opcode_modifiers): Add OldGcc, ATTMnemonic and
IntelMnemonic.
* i386-opc.h (OldGcc): New.
(ATTMnemonic): Likewise.
(IntelMnemonic): Likewise.
(Opcode_Modifier_Max): Updated.
(i386_opcode_modifier): Add oldgcc, attmnemonic and
intelmnemonic.
* i386-opc.tbl: Update fadd, fdiv, fdivp, fdivr, fdivrp, fmul,
fsub, fsubp, fsubr and fsubrp with OldGcc, ATTMnemonic and
IntelMnemonic.
* i386-tbl.h: Regeneratd.
Alan Modra [Sun, 23 Dec 2007 23:00:06 +0000 (23:00 +0000)]
daily update
Alan Modra [Sat, 22 Dec 2007 23:00:05 +0000 (23:00 +0000)]
daily update
H.J. Lu [Sat, 22 Dec 2007 14:06:31 +0000 (14:06 +0000)]
binutils/
2007-12-22 H.J. Lu <hongjiu.lu@intel.com>
* doc/binutils.texi: Document the new intel-mnemonic and
intel-mnemonic options for i386 disassembler.
gas/testsuite/
2007-12-22 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/compat-intel.d: New file.
* gas/i386/compat.d: Likewise.
* gas/i386/compat.s: Likewise.
* gas/i386/i386.exp: Run compat.
opcodes/
2007-12-22 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (intel_mnemonic): New.
(print_i386_disassembler_options): Display att-mnemonic and
intel-mnemonic options.
(print_insn): Handle att-mnemonic and intel-mnemonic.
(float_reg): Replace SYSV386_COMPAT with "!M" and "M".
(putop): Handle "!M" and "M".
Ian Lance Taylor [Sat, 22 Dec 2007 01:53:39 +0000 (01:53 +0000)]
Use a simpler hash function.
Ian Lance Taylor [Sat, 22 Dec 2007 00:50:43 +0000 (00:50 +0000)]
Correct contributor name on new tests, remove #if 0 code.
Ian Lance Taylor [Fri, 21 Dec 2007 23:31:19 +0000 (23:31 +0000)]
From Cary Coutant: Fix handling of versioned symbols, add some tests.
Bob Wilson [Fri, 21 Dec 2007 23:11:28 +0000 (23:11 +0000)]
* elf32-xtensa.c (relax_section): Update DIFF relocations in the
same way as other relocations.
Ian Lance Taylor [Fri, 21 Dec 2007 23:08:25 +0000 (23:08 +0000)]
Correct handling of non-section symbol in merged section. Avoid some
64-bit signed/unsigned warnings.
Alan Modra [Fri, 21 Dec 2007 23:00:05 +0000 (23:00 +0000)]
daily update
Ian Lance Taylor [Fri, 21 Dec 2007 21:19:45 +0000 (21:19 +0000)]
Speed up relocations against local symbols in merged sections.
H.J. Lu [Fri, 21 Dec 2007 17:04:04 +0000 (17:04 +0000)]
2007-12-21 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (i386-gen.o): Also depend on
$(srcdir)/../include/opcode/i386.h.
* Makefile.in: Regenerated.
Alan Modra [Thu, 20 Dec 2007 23:00:06 +0000 (23:00 +0000)]
daily update
Ian Lance Taylor [Thu, 20 Dec 2007 21:26:17 +0000 (21:26 +0000)]
Fix buglet in last patch.
Ian Lance Taylor [Thu, 20 Dec 2007 21:21:24 +0000 (21:21 +0000)]
Convert more instances of off_t to be 32-bit types.
Bob Wilson [Thu, 20 Dec 2007 17:21:07 +0000 (17:21 +0000)]
* config/tc-xtensa.c (xtensa_elf_cons): Set frag flags for
expressions without suffixes.
(get_frag_property_flags): Preserve is_no_transform flag for frags
not marked as either instructions or literals.
Ian Lance Taylor [Thu, 20 Dec 2007 16:27:34 +0000 (16:27 +0000)]
Update comments about output offsets and merged input sections.
Hans-Peter Nilsson [Thu, 20 Dec 2007 11:36:56 +0000 (11:36 +0000)]
* ld-elf/seg.d: Restrict to linux and vxworks.
Ian Lance Taylor [Thu, 20 Dec 2007 01:32:10 +0000 (01:32 +0000)]
Remove one inline.
Ian Lance Taylor [Thu, 20 Dec 2007 01:29:04 +0000 (01:29 +0000)]
Make functions on hot path inline. Remove a mistaken virtual
declaration.
Alan Modra [Wed, 19 Dec 2007 23:00:05 +0000 (23:00 +0000)]
daily update
Jeff Johnston [Wed, 19 Dec 2007 20:47:45 +0000 (20:47 +0000)]
2007-12-19 Jeff Johnston <jjohnstn@redhat.com>
* COPYING.LIBGLOSS: Update default copyright.
Jeff Johnston [Wed, 19 Dec 2007 19:12:23 +0000 (19:12 +0000)]
2007-12-19 Jeff Johnston <jjohnstn@redhat.com>
* COPYING.NEWLIB: Update default copyright.
H.J. Lu [Wed, 19 Dec 2007 15:54:06 +0000 (15:54 +0000)]
2007-12-19 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/seg.d: Adjusted for 64bit targets.
Nathan Sidwell [Wed, 19 Dec 2007 10:22:02 +0000 (10:22 +0000)]
* ld-elf/seg.t: New.
* ld-elf/seg.d: New.
* ld-elf/seg.s: New.
Ian Lance Taylor [Wed, 19 Dec 2007 01:23:46 +0000 (01:23 +0000)]
Move Stringpool offsets into a chunked_vector indexed by keys.
Ian Lance Taylor [Wed, 19 Dec 2007 01:18:41 +0000 (01:18 +0000)]
Avoid some warnings which showed up in 64-bit mode.
Ian Lance Taylor [Wed, 19 Dec 2007 00:29:28 +0000 (00:29 +0000)]
Use string length when available when calling Stringpool. Compare
pointers first when looking up Stringpool entries.
Alan Modra [Tue, 18 Dec 2007 23:00:05 +0000 (23:00 +0000)]
daily update
Ian Lance Taylor [Tue, 18 Dec 2007 21:45:28 +0000 (21:45 +0000)]
Don't write unattached after_input sections twice.
Ian Lance Taylor [Tue, 18 Dec 2007 21:24:10 +0000 (21:24 +0000)]
Print statistics about merge sections with --stats.
Daniel Jacobowitz [Tue, 18 Dec 2007 19:48:07 +0000 (19:48 +0000)]
* section.c (BFD_FAKE_SECTION): Update.
* bfd-in2.h: Regenerate.
Daniel Jacobowitz [Tue, 18 Dec 2007 19:38:26 +0000 (19:38 +0000)]
* bfd-in2.h: Regenerate.
Richard Sandiford [Tue, 18 Dec 2007 07:37:34 +0000 (07:37 +0000)]
/tmp/foo.diff
Richard Sandiford [Tue, 18 Dec 2007 07:34:56 +0000 (07:34 +0000)]
/tmp/foo.diff
Ian Lance Taylor [Tue, 18 Dec 2007 00:48:04 +0000 (00:48 +0000)]
Add section_size_type and section_offset_type, use them to replace a
lot of instances of off_t.
Alan Modra [Mon, 17 Dec 2007 23:00:05 +0000 (23:00 +0000)]
daily update
H.J. Lu [Mon, 17 Dec 2007 19:41:57 +0000 (19:41 +0000)]
2007-12-17 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (output_insn): Use ARRAY_SIZE.
(lex_got): Likewise.
H.J. Lu [Mon, 17 Dec 2007 18:53:06 +0000 (18:53 +0000)]
2007-12-17 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (output_insn): Use FRAG_APPEND_1_CHAR
instead of frag_more/md_number_to_chars.
(md_short_jump_size): Removed.
(md_long_jump_size): Likewise.
(md_create_short_jump): Likewise.
(md_create_long_jump): Likewise.
Pedro Alves [Mon, 17 Dec 2007 01:50:44 +0000 (01:50 +0000)]
* config.bfd: Add arm-*-mingw32ce* target.
Alan Modra [Sun, 16 Dec 2007 23:00:06 +0000 (23:00 +0000)]
daily update
Alan Modra [Sat, 15 Dec 2007 23:00:05 +0000 (23:00 +0000)]
daily update
Richard Sandiford [Sat, 15 Dec 2007 09:43:40 +0000 (09:43 +0000)]
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.
Richard Sandiford [Sat, 15 Dec 2007 09:42:02 +0000 (09:42 +0000)]
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.
Richard Sandiford [Sat, 15 Dec 2007 09:41:15 +0000 (09:41 +0000)]
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.
Richard Sandiford [Sat, 15 Dec 2007 09:35:58 +0000 (09:35 +0000)]
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.
Richard Sandiford [Sat, 15 Dec 2007 09:34:48 +0000 (09:34 +0000)]
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.
Richard Sandiford [Sat, 15 Dec 2007 09:33:51 +0000 (09:33 +0000)]
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.
Richard Sandiford [Sat, 15 Dec 2007 09:32:38 +0000 (09:32 +0000)]
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.
Richard Sandiford [Sat, 15 Dec 2007 09:31:41 +0000 (09:31 +0000)]
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.
Ian Lance Taylor [Sat, 15 Dec 2007 01:01:48 +0000 (01:01 +0000)]
Minor speedup to Output_merge_string::do_add_input_section.
Alan Modra [Fri, 14 Dec 2007 23:00:05 +0000 (23:00 +0000)]
daily update
Alan Modra [Fri, 14 Dec 2007 21:54:50 +0000 (21:54 +0000)]
* ld-scripts/rgn-over.exp: Add --no-overlays for spu.
Ian Lance Taylor [Fri, 14 Dec 2007 19:00:21 +0000 (19:00 +0000)]
Rewrite workqueue. This version eliminates the master thread, and
reduces the amount of locking required to find a new thread to run.
Ian Lance Taylor [Fri, 14 Dec 2007 18:50:01 +0000 (18:50 +0000)]
Add const to Object::read and Object::sized_target.
Ian Lance Taylor [Fri, 14 Dec 2007 18:22:06 +0000 (18:22 +0000)]
Make some File_read methods const.
Ian Lance Taylor [Fri, 14 Dec 2007 05:27:45 +0000 (05:27 +0000)]
Add some missing dependencies for the new linker.
Ian Lance Taylor [Fri, 14 Dec 2007 05:24:17 +0000 (05:24 +0000)]
From Craig Silverstein: size hash tables to avoid resizing.
Ian Lance Taylor [Fri, 14 Dec 2007 04:53:22 +0000 (04:53 +0000)]
Fix --thread-count-middle and --thread-count-final.
DJ Delorie [Fri, 14 Dec 2007 01:28:55 +0000 (01:28 +0000)]
Merge from gcc:
2007-12-10 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Enable libjava for x86_64-*-darwin9.
* configure: Regenerate.
Alan Modra [Thu, 13 Dec 2007 23:00:06 +0000 (23:00 +0000)]
daily update
Bob Wilson [Thu, 13 Dec 2007 19:03:45 +0000 (19:03 +0000)]
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.
Alan Modra [Wed, 12 Dec 2007 23:00:05 +0000 (23:00 +0000)]
daily update
Bob Wilson [Wed, 12 Dec 2007 21:18:46 +0000 (21:18 +0000)]
Wrap long line in previous entry.
Bob Wilson [Wed, 12 Dec 2007 21:16:47 +0000 (21:16 +0000)]
* config/tc-xtensa.c (xg_symbolic_immeds_fit): Do not relax calls to weak symbols if longcalls are disabled.
Bob Wilson [Wed, 12 Dec 2007 21:11:10 +0000 (21:11 +0000)]
* elf32-xtensa.c (elf_xtensa_do_reloc): Update self_address along with
address.
(print_action_list): Fix name for ta_convert_longcall.
Ian Lance Taylor [Tue, 11 Dec 2007 23:33:11 +0000 (23:33 +0000)]
From Cary Coutant: Test TLS initial-exec model.
Ian Lance Taylor [Tue, 11 Dec 2007 23:30:52 +0000 (23:30 +0000)]
From Cary Coutant: Set DF_STATIC_TLS as appropriate.