Commit graph

6711 commits

Author SHA1 Message Date
Alan Modra
20648bad40 daily update 2008-01-23 23:00:06 +00:00
Alan Modra
786d552a8d daily update 2008-01-21 23:00:05 +00:00
Alan Modra
fbb3bb987c PR 4453
* format.c (bfd_check_format_matches): Don't accept archives as
	fully matching unless they have a map.
2008-01-21 04:56:47 +00:00
Alan Modra
297d8443d0 * elflink.c (_bfd_elf_link_output_relocs): Correct error return. 2008-01-21 03:53:07 +00:00
Alan Modra
66cd82b52e * ecoff.c (_bfd_ecoff_archive_p): Delete.
* libecoff.h (_bfd_ecoff_archive_p): Delete.
	* coff-alpha.c (ecoffalpha_little_vec): Use bfd_generic_archive_p.
	* coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
	(ecoff_biglittle_vec): Likewise.
2008-01-21 03:48:10 +00:00
Alan Modra
684b95dfc3 daily update 2008-01-20 23:00:05 +00:00
Alan Modra
fe03e20384 daily update 2008-01-19 23:00:05 +00:00
Alan Modra
85f7a9cbe2 PR 5646
* elf64-ppc.c (ppc64_elf_tls_optimize): Ensure htab->tls_get_addr
	non-NULL before dereferencing.
2008-01-19 10:07:25 +00:00
Alan Modra
6c0784b28f daily update 2008-01-18 23:00:05 +00:00
Alan Modra
a0b4e30059 daily update 2008-01-17 23:00:05 +00:00
Alan Modra
a0e0a074df daily update 2008-01-16 23:00:05 +00:00
Alan Modra
38147fd414 daily update 2008-01-15 23:00:05 +00:00
Alan Modra
74f0fb5065 bfd/
PR 5604
	* elf-bfd.h (struct elf_backend_data): Add gc_keep.  Remove param
	names from others.
	(_bfd_elf_gc_keep): Declare.
	* elfxx-target.h (elf_backend_gc_keep): Define.
	(elfNN_bed): Init new field.
	* elflink.c (_bfd_elf_gc_keep): New function.
	(bfd_elf_gc_sections): Call gc_keep.
	* elf64-ppc.c (elf_backend_gc_keep): Define.
	(struct _ppc64_elf_section_data): Move .opd related fields to
	a struct so they don't occupy the same storage.  Adjust accesses
	throughout file.
	(ppc64_elf_gc_keep): New function, split out from..
	(ppc64_elf_gc_mark_hook): ..here.  Don't call _bfd_elf_gc_mark
	to mark .opd section, just set gc_mark.
	(ppc64_elf_edit_opd): Remove no_opd_opt parm.  Don't set opd->adjust
	unless we are changing .opd.  Test non-NULL opd->adjust at all
	accesses throughout file.
	* elf64-ppc.h (ppc64_elf_edit_opd): Update prototype.
ld/
	PR 5604
	* ldlang.c (lang_gc_sections): Move code to set SEC_KEEP on entry
	syms to _bfd_elf_gc_keep.
	* emultempl/ppc64elf.em (ppc_before_allocation): Don't call
	ppc64_elf_edit_opd if no_opd_opt.
2008-01-15 07:25:49 +00:00
Alan Modra
787daa7a0b * bfd-in.h (BFD_HOST_LONG_LONG): Delete.
* bfd-in2.h: Regenerate.
2008-01-15 00:54:22 +00:00
Alan Modra
77c0084bcb daily update 2008-01-14 23:00:05 +00:00
Alan Modra
5aad2f08b7 daily update 2008-01-13 23:00:05 +00:00
Alan Modra
e3822b2881 daily update 2008-01-12 23:00:05 +00:00
Alan Modra
a77a294fd8 daily update 2008-01-11 23:00:10 +00:00
Tristan Gingold
7dda2462a7 2008-01-11 Tristan Gingold <gingold@adacore.com>
Eric Botcazou  <ebotcazou@adacore.com>

	* elf32-ppc.c (ppc_elf_gc_sweep_hook): Exit early if generating a
	relocatable.
	* elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise.
	* elf32-cris.c (cris_elf_gc_sweep_hook): Likewise.
	* elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise.
	* elf32-i386.c (elf_i386_gc_sweep_hook): Likewise.
	* elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise.
	* elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise.
	* elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
	* elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
	* elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
	* elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
	* elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
	* elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
	* elf64-ppc.c (ppc64_elf_gc_sweep_hook): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_gc_sweep_hook): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Likewise.
	* elflink.c (bfd_elf_gc_sections): Do not punt on relocatable output
	or executable output with relocations.
2008-01-11 09:07:04 +00:00
Alan Modra
cccbf4e4bd daily update 2008-01-10 23:00:05 +00:00
Alan Modra
0ab09d46b6 daily update 2008-01-09 23:00:05 +00:00
Nick Clifton
d2e2e64908 PR gas/5552
* elf32-fr30.c (fr30_elf_howto_table): Set partial_inplace field to FALSE for all relocs.
2008-01-09 12:29:08 +00:00
Richard Sandiford
184d07da89 bfd/
PR ld/5526
	* elf-bfd.h (eh_cie_fde): Add u.cie.u.full_cie and u.cie.merged
	fields.  Rename u.cie.u.merged to u.cie.u.merged_with.
	(eh_frame_sec_info): Add a cies field.
	(eh_frame_hdr_info): Add a merge_cies field.
	* elf-eh-frame.c (cie): Add a reloc_index member to the personality
	union.
	(_bfd_elf_begin_eh_frame_parsing): Set hdr_info->merge_cies instead
	of hdr_info->cies.
	(_bfd_elf_parse_eh_frame): Remove tmp_cie.  Ccreate an array of
	cie structures in all cases and use it instead of extended_cies.
	If merging, store the cie array in sec_info->cies and point each
	CIE's eh_fde_cie at the associated element.  Do not try to
	calculate the value of the personality routine here; record the
	offset of the relocation instead.  Do not merge CIEs here.
	(_bfd_elf_end_eh_frame_parsing): Do not free hdr_info->cies here...
	(_bfd_elf_discard_section_eh_frame_hdr): ...do it here instead.
	(_bfd_elf_gc_mark_fdes): Mark the original (unmerged) CIE.
	(find_merged_cie): New function.
	(_bfd_elf_gc_mark_fdes): Use it.  Free sec_info->cies.

ld/testsuite/
	PR ld/5526
	* ld-elf/eh6.s, ld-elf/eh6.d: New test.
2008-01-09 09:36:11 +00:00
Alan Modra
e0d99a80eb daily update 2008-01-08 23:00:06 +00:00
Alan Modra
6945b3e87b daily update 2008-01-07 23:00:05 +00:00
Nick Clifton
780b23606d PR binutils/5535
* vms.c (vms_close_and_cleanup): Check for the presence of a
   vms_private_data_struct before examining any of its fields.
2008-01-07 17:53:03 +00:00
H.J. Lu
ace7938838 bfd/
2008-01-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/5522
	* elflink.c (elf_link_input_bfd): Don't write out a section if
	its output section is marked with SEC_NEVER_LOAD.

ld/testsuite/

2008-01-07  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/5522
	* ld-elf/noload-3.d: New file.
	* ld-elf/noload-3.s: Likewise.
	* ld-elf/noload-3.t: Likewise.
2008-01-07 16:45:35 +00:00
Alan Modra
885e4b3d1f daily update 2008-01-06 23:00:04 +00:00
Alan Modra
8133291eb3 daily update 2008-01-05 23:00:05 +00:00
Alan Modra
28d105a1bc daily update 2008-01-04 23:00:05 +00:00
Alan Modra
afc5b1a784 daily update 2008-01-03 23:00:06 +00:00
Alan Modra
2745d86e69 daily update 2008-01-02 23:00:06 +00:00
H.J. Lu
6c7ac64e17 Move 2007 ChangeLog entries to ChangeLog-2007. 2008-01-02 21:41:02 +00:00
Alan Modra
f986c652ba daily update 2008-01-01 23:00:06 +00:00
Alan Modra
672cc33200 daily update 2007-12-31 23:00:05 +00:00
H.J. Lu
992824d50e 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.
2007-12-31 19:23:07 +00:00
Nick Clifton
281153f387 * elf-m10300.c (mn10300_elf_relax_section): Use _bfd_merged_section_offset
to compute the offset of a symbol in a merged section.
2007-12-31 11:29:31 +00:00
Nick Clifton
2ea37f1c66 * 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.
2007-12-31 11:01:54 +00:00
Alan Modra
b198fbe692 daily update 2007-12-30 23:00:05 +00:00
Alan Modra
3f5ccab567 daily update 2007-12-29 23:00:06 +00:00
Dave Anglin
d68aa3e6e8 PR binutils/5146
* elf64-hppa.c: Declare alloca when __GNUC__ is defined.
	* som.c: Likewise.
2007-12-29 01:36:40 +00:00
Dave Anglin
7ae8e4e805 * 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.
2007-12-28 23:43:45 +00:00
Alan Modra
7833b9b3df daily update 2007-12-28 23:00:05 +00:00
Nick Clifton
4750aaa464 * 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.
2007-12-28 14:45:34 +00:00
Alan Modra
a47bc319af daily update 2007-12-27 23:00:05 +00:00
Alan Modra
71983bf851 daily update 2007-12-26 23:00:06 +00:00
Alan Modra
dd340c05b0 daily update 2007-12-25 23:00:05 +00:00
Alan Modra
a23ab006b5 daily update 2007-12-24 23:00:06 +00:00
H.J. Lu
0efc80c807 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.
2007-12-24 16:58:23 +00:00
H.J. Lu
147d51c232 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.
2007-12-24 16:55:39 +00:00
Alan Modra
ecbe32d016 daily update 2007-12-23 23:00:06 +00:00
Alan Modra
9c1b5f1b84 daily update 2007-12-22 23:00:05 +00:00
Bob Wilson
dc96b90a10 * elf32-xtensa.c (relax_section): Update DIFF relocations in the
same way as other relocations.
2007-12-21 23:11:28 +00:00
Alan Modra
2e324ab383 daily update 2007-12-21 23:00:05 +00:00
Alan Modra
bef2d42f4e daily update 2007-12-20 23:00:06 +00:00
Alan Modra
7e8909d4c4 daily update 2007-12-19 23:00:05 +00:00
Alan Modra
868b494e1b daily update 2007-12-18 23:00:05 +00:00
Daniel Jacobowitz
cb2dde36a0 * section.c (BFD_FAKE_SECTION): Update.
* bfd-in2.h: Regenerate.
2007-12-18 19:48:07 +00:00
Daniel Jacobowitz
f1a35370eb * bfd-in2.h: Regenerate. 2007-12-18 19:38:26 +00:00
Alan Modra
eda094f09b daily update 2007-12-17 23:00:05 +00:00
Pedro Alves
f164edfa5d * config.bfd: Add arm-*-mingw32ce* target. 2007-12-17 01:50:44 +00:00
Alan Modra
86904c2b3a daily update 2007-12-16 23:00:06 +00:00
Alan Modra
5972d0b676 daily update 2007-12-15 23:00:05 +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
Alan Modra
8e1638a887 daily update 2007-12-14 23:00:05 +00:00
Alan Modra
d5cbb2b614 daily update 2007-12-13 23:00:06 +00:00
Alan Modra
de4298c61c daily update 2007-12-12 23:00:05 +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
Alan Modra
c32d85ca53 daily update 2007-12-11 23:00:06 +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
Alan Modra
58f0869bfe warning messages should contain "warning:" 2007-12-10 23:44:23 +00:00
Alan Modra
f2e5b8ee1d daily update 2007-12-10 23:00:05 +00:00
Alan Modra
ba0432a568 daily update 2007-12-09 23:00:06 +00:00
Alan Modra
40ddfb41a6 daily update 2007-12-08 23:00:05 +00:00
Alan Modra
2e53a11d03 daily update 2007-12-07 23:00:05 +00:00
Bob Wilson
1bbb5f219c 2007-12-07 Bob Wilson <bob.wilson@acm.org>
include/elf/
	* xtensa.h (R_XTENSA_32_PCREL): New.

bfd/
	* elf32-xtensa.c (elf_howto_table): Add R_XTENSA_32_PCREL.
	(elf_xtensa_reloc_type_lookup): Handle BFD_RELOC_32_PCREL.
	(elf_xtensa_check_relocs): Use default case for all relocations that
	need nothing done here.
	(elf_xtensa_do_reloc): Compute self_address for all relocation types.
	Handle R_XTENSA_32_PCREL.
	(elf_xtensa_relocate_section): Check for R_XTENSA_32_PCREL for dynamic
	symbols.
	(check_section_ebb_pcrels_fit): Ignore R_XTENSA_32_PCREL relocations.

gas/
	* config/tc-xtensa.c (O_pcrel): Define.
	(suffix_relocs): Add pcrel suffix.
	(md_pseudo_table): Add 4byte and 2byte directives.
	(xtensa_elf_cons): Pass correct pcrel argument to fix_new_exp.
	(xg_assemble_literal): Likewise.  Check for O_pcrel.
	(expression_maybe_register): Reorganize.  Handle BFD_RELOC_32_PCREL.
	(xg_valid_literal_expression): Allow O_pcrel.
	(md_pcrel_from, md_apply_fix): Handle BFD_RELOC_32_PCREL.
	(tc_gen_reloc): Fix punctuation in error message.

gas/testsuite/
	* gas/xtensa/all.exp: Run new pcrel test.
	* gas/xtensa/err-pcrel.s: New.
	* gas/xtensa/pcrel.d: New.
	* gas/xtensa/pcrel.s: New.
	* gas/xtensa/xtensa-err.exp: New.
2007-12-07 22:52:10 +00:00
Alan Modra
f4f7091ffe daily update 2007-12-06 23:00:06 +00:00
Alan Modra
6433719fe7 daily update 2007-12-05 23:00:06 +00:00
Alan Modra
d688b66ee1 * elf32-spu.c (spu_elf_size_stubs): Do consider branches to
non-function symbols for overlay stubs.
2007-12-05 03:29:20 +00:00
Alan Modra
fd4980a3b8 daily update 2007-12-04 23:00:05 +00:00
Bob Wilson
c243ad3b81 * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Create DT_PLTGOT
entry for all dynamic objects.
2007-12-04 22:41:59 +00:00
Alan Modra
b8e2249147 * elf32-spu.c (spu_elf_size_stubs): Correct section alignment. 2007-12-04 03:29:43 +00:00
Alan Modra
dade8b53ef daily update 2007-12-03 23:00:05 +00:00
Alan Modra
f7ad6d7c9b daily update 2007-12-02 23:00:05 +00:00
Alan Modra
ddf5dad8e6 daily update 2007-12-01 23:00:05 +00:00
Alan Modra
542162ebce daily update 2007-11-30 23:00:06 +00:00
Richard Sandiford
888cab3722 bfd/
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use the
	ELF header to choose between 32-bit and 64-bit relocation structures.
2007-11-30 09:01:35 +00:00
Alan Modra
bd80e2618a daily update 2007-11-29 23:00:05 +00:00
Mark Shinwell
350cc38db2 bfd/
* archures.c (bfd_mach_mips_loongson_2e): New.
	(bfd_mach_mips_loongson_2f): New.
	* bfd-in2.h (bfd_mach_mips_loongson_2e): New.
	(bfd_mach_mips_loongson_2f): New.
	* cpu-mips.c: Add I_loongson_2e and I_loongson_2f to
	anonymous enum.
	(arch_info_struct): Add Loongson-2E and Loongson-2F entries.
	* elfxx-mips.c (_bfd_elf_mips_mach): Handle Loongson-2E
	and Loongson-2F flags.
	(mips_set_isa_flags): Likewise.
	(mips_mach_extensions): Add Loongson-2E and Loongson-2F
	entries.

	binutils/
	* readelf.c (get_machine_flags): Handle Loongson-2E and -2F
	flags.

	gas/
	* config/tc-mips.c (mips_cpu_info_table): Add loongson2e
	and loongson2f entries.
	* doc/c-mips.texi: Document -march=loongson{2e,2f} options.

	gas/testsuite/
	* gas/mips/mips.exp: Add loongson-2e and -2f tests.
	* gas/mips/loongson-2e.d: New.
	* gas/mips/loongson-2e.s: New.
	* gas/mips/loongson-2f.d: New.
	* gas/mips/loongson-2f.s: New.

	include/elf/
	* mips.h (E_MIPS_MACH_LS2E): New.
	(E_MIPS_MACH_LS2F): New.

	include/opcode/
	* mips.h (INSN_LOONGSON_2E): New.
	(INSN_LOONGSON_2F): New.
	(CPU_LOONGSON_2E): New.
	(CPU_LOONGSON_2F): New.
	(OPCODE_IS_MEMBER): Update for Loongson-2E and -2F flags.

	opcodes/
	* mips-dis.c (mips_arch_choices): Add Loongson-2E and -2F
	entries.
	* mips-opc.c (IL2E): New.
	(IL2F): New.
	(mips_builtin_opcodes): Add Loongson-2E and -2F instructions.
	Allow movz and movn for Loongson-2E and -2F.  Add movnz entry.
	Move coprocessor encodings to the end of the table.  Allow
	certain MIPS V .ps instructions on the Loongson-2E and -2F.
2007-11-29 12:23:44 +00:00
Nick Clifton
39ce1a6a19 PR ld/5398
* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Do not complain if
  there is no glue bfd, just return.
2007-11-29 08:14:22 +00:00
Alan Modra
828beb2695 daily update 2007-11-28 23:00:05 +00:00
Nick Clifton
e23f161028 * elf-m10300.c (mn10300_elf_relax_section): Extend previous fix to cover forward jumps.
* ld-mn10300/i135409-5.s: New test case.  Check for relaxation to a 16-bit backward jump instruction.
* ld-mn10300/i135409-5.t: Linker script for the new test.
* ld-mn10300/i135409-5.d: Expected disassembly of new test.
* ld-mn10300/mn10300.exp: Run the new test.
2007-11-28 13:04:18 +00:00
Alan Modra
6520b4ed3b daily update 2007-11-27 23:00:05 +00:00
Alan Modra
fc81646790 daily update 2007-11-26 23:00:06 +00:00
Alan Modra
05ed937ec7 daily update 2007-11-25 23:00:06 +00:00
Alan Modra
f656dbe68b daily update 2007-11-24 23:00:06 +00:00
Alan Modra
011bad05f6 daily update 2007-11-23 23:00:05 +00:00
Alan Modra
b3e76501ef daily update 2007-11-22 23:00:05 +00:00
Alan Modra
9025e63419 daily update 2007-11-21 23:00:05 +00:00
Nick Clifton
fc91707cc2 * elf-m10300.c (mn10300_elf_relax_section): Allow for alignment relocs when
computing whether instructions can be relaxed.
* ld-mn10300/i135409-4.s: New test case.  Check for relaxation to a 16-bit
    jump instruction.
* ld-mn10300/i135409-4.t: Linker script for the new test.
* ld-mn10300/i135409-4.d: Expected disassembly of new test.
* ld-mn10300/mn10300.exp: Run the new test.
2007-11-21 12:06:26 +00:00
Alan Modra
46ba7344b4 daily update 2007-11-20 23:00:05 +00:00
Nick Clifton
430a16a51d * elflink.c (elf_link_output_extsym): Weaken assertion: if --gc-section is set, there may be no TLS segment.
* lib/ld-lib.exp (check_gc_sections_available): New proc, based on the version in gcc/testsuite/lib/target-supports.exp.
* ld-elf/eld.exp: Use check_gc_sections_available.
2007-11-20 15:08:25 +00:00
Alan Modra
82fa71829d daily update 2007-11-19 23:00:05 +00:00
Alan Modra
cdfeee4f47 * elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
* elflink.c (bfd_elf_perform_complex_relocation): Return status.
	Don't print reloc overflow message.
	* elf32-mep.c (mep_elf_relocate_section): Handle status from
	bfd_elf_perform_complex_relocation.
2007-11-19 02:19:39 +00:00
Alan Modra
183c982d60 daily update 2007-11-18 23:00:07 +00:00
Alan Modra
2be99a4004 daily update 2007-11-17 23:00:05 +00:00
Thiemo Seufer
42554f6a08 [ld/testsuite/ChangeLog]
* ld-mips-elf/attr-gnu-4-14.d, ld-mips-elf/attr-gnu-4-41.d:
	Adjust warning message for -mfp64 flag.
	* ld-mips-elf/attr-gnu-4-5.s, ld-mips-elf/attr-gnu-4-04.d,
	ld-mips-elf/attr-gnu-4-51.d, ld-mips-elf/attr-gnu-4-05.d,
	ld-mips-elf/attr-gnu-4-15.d, ld-mips-elf/attr-gnu-4-24.d,
	ld-mips-elf/attr-gnu-4-25.d, ld-mips-elf/attr-gnu-4-34.d,
	ld-mips-elf/attr-gnu-4-35.d, ld-mips-elf/attr-gnu-4-42.d,
	ld-mips-elf/attr-gnu-4-43.d, ld-mips-elf/attr-gnu-4-44.d,
	ld-mips-elf/attr-gnu-4-45.d, ld-mips-elf/attr-gnu-4-40.d,
	ld-mips-elf/attr-gnu-4-14.d: New testcases files.
	* ld-mips-elf/mips-elf.exp: Run new testcases.

	[binutils/ChangeLog]
	* readelf.c (display_mips_gnu_attribute): Recognize -mips32r2 -mfp64
	objects.

	[include/ChangeLog]
	* elf/mips.h (Tag_GNU_MIPS_ABI_FP): Mention -mips32r2 -mfp64 variant
	in comment.

	[bfd/ChangeLog]
	* elfxx-mips.c (mips_elf_merge_obj_attributes): Handle -mips32r2
	-mfp64 attribute.

	[gas/ChangeLog]
	* doc/as.texinfo: Document the new attribute value.
2007-11-17 13:38:57 +00:00
Alan Modra
95255be2b2 daily update 2007-11-16 23:00:05 +00:00
Nick Clifton
62d7f7907a * ld-mn10300/mn10300.exp: Fix the start address of the .bss section for the i1127740.s test.
* elf-m10300.c (mn10300_elf_check_relocs): Fix memory leak and check that bfd_elf_get_elf_syms is only called once.
2007-11-16 09:48:05 +00:00
Ulrich Weigand
6f610d0772 bfd/ChangeLog:
* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Set udata.p of
	synthetic symbol to point to the ELF symbol it was derived from.

gdb/ChangeLog:

	* elfread.c (ST_REGULAR, ST_DYNAMIC, ST_SYNTHETIC): New defines.
	(elf_symtab_read): Rename DYNAMIC argument to TYPE.  Do not access
	ELF-private symbol data when processing synthetic symbols.  Use
	udata.p to get at size of ppc64 synthetic 'dot' symbols.
	(elf_symfile_read): Pass TYPE argument to elf_symtab_read.
2007-11-15 23:48:00 +00:00
Alan Modra
557586a200 daily update 2007-11-15 23:00:05 +00:00
Alan Modra
fed590bb65 PR 5328
* opncls.c (separate_debug_file_exists): Use fopen/fread
	rather than open/read and open in binary mode.
2007-11-15 05:20:30 +00:00
Alan Modra
cee076042c daily update 2007-11-14 23:00:07 +00:00
Richard Sandiford
c224138d88 bfd/
2007-09-18  Richard Sandiford  <richard@codesourcery.com>

	* elfxx-mips.c (mips_got_page_range): New structure.
	(mips_got_page_entry): Likewise.
	(mips_got_info): Add page_gotno and got_page_entries fields.
	(mips_elf_got_per_bfd_arg): Add max_pages field.  Delete
	primary_count and current_count fields.
	(mips_got_page_entry_hash, mips_got_page_entry_eq): New functions.
	(mips_elf_pages_for_range, mips_elf_record_got_page_entry): Likewise.
	(mips_elf_get_got_for_bfd): New function, split out from
	mips_elf_make_got_per_bfd.  Initialize the page_gotno and
	got_page_entries fields when creating a new GOT structure.
	(mips_elf_make_got_pages_per_bfd): New function.
	(mips_elf_merge_got_with): New function, split out from
	mips_elf_make_got_per_bfd.  Merge page entries as well as
	non-page entries.  Use the minimum of max_pages and the sum
	of the page_gotnos to estimate the number of page entries.
	(mips_elf_merge_gots): Use the minimum of max_pages and the
	bfd's page_gotno to estimate the number of page entries.
	Use the above functions.
	(mips_elf_multi_got): Add page entries as well as non-page entries
	to the individual per-bfd GOTs.  Initialize got_per_bfd_arg.max_pages.
	Initialize the page_gotno and got_page_entries fields when creating
	a new primary GOT.  Use the minimum of pages and page_gotno when
	adding the number of pages entries to local_gotno.
	(mips_elf_create_got_section): Initialize the page_gotno and
	got_page_entries fields of the GOT structure.
	(mips_elf_rel_relocation_p, mips_elf_read_rel_addend)
	(mips_elf_add_lo16_rel_addend, mips_elf_get_section_contents): New
	functions, split out from...
	(_bfd_mips_elf_relocate_section): ...here.
	(_bfd_mips_elf_check_relocs): Record GOT page entries too.
	(_bfd_mips_relax_section): Use mips_elf_get_section_contents.
	(_bfd_mips_elf_always_size_sections): Use the smaller of the
	loadable_size- and page_gotno-derived estimates.

ld/testsuite/
2007-09-18  Richard Sandiford  <richard@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* ld-mips-elf/got-page-1.d, ld-mips-elf/got-page-1.s,
	* ld-mips-elf/got-page-2.d, ld-mips-elf/got-page-2.s,
	* ld-mips-elf/got-page-3.d, ld-mips-elf/got-page-3a.s,
	* ld-mips-elf/got-page-3b.s, ld-mips-elf/got-page-3c.s,
	* ld-mips-elf/got-page-1.ld: New tests.
	* ld-mips-elf/mips-elf.exp: Run them.
	* ld-mips-elf/multi-got-1.d, ld-mips-elf/multi-got-no-shared.d,
	* ld-mips-elf/tls-hidden2-got.d, ld-mips-elf/tls-hidden2.d,
	* ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got,
	* ld-mips-elf/tls-hidden3.r, ld-mips-elf/tls-hidden4.got,
	* ld-mips-elf/tls-hidden4.r, ld-mips-elf/tls-multi-got-1.d,
	* ld-mips-elf/tls-multi-got-1.got, ld-mips-elf/tls-multi-got-1.r,
	* ld-mips-elf/tlsbin-o32.d, ld-mips-elf/tlsbin-o32.got,
	* ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-1.got,
	* ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.got,
	* ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-3.got,
	* ld-mips-elf/tlsdyn-o32.d, ld-mips-elf/tlsdyn-o32.got,
	* ld-mips-elf/tlslib-o32-hidden.got, ld-mips-elf/tlslib-o32-ver.got,
	* ld-mips-elf/tlslib-o32.d, ld-mips-elf/tlslib-o32.got: Update for
	GOT allocation changes.
2007-11-14 20:46:15 +00:00
Thiemo Seufer
51a0dd312e * elfxx-mips.c (mips_elf_merge_obj_attributes): Prevent
unwanted fallthroughs in case statement.
2007-11-14 20:04:22 +00:00
Alan Modra
2b9788290f daily update 2007-11-13 23:00:05 +00:00
H.J. Lu
4be8cddcc5 2007-11-13 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/5307
	* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't
	copy input subsystem if output is different from input.
2007-11-13 20:17:43 +00:00
Nick Clifton
b5f5fd962e * config/tc-mn10300.c (mn10300_force_relocation): Force a reloc to be generated for alignment fixups.
* config/tc-mn10300.h (TC_FORCE_RELOCATION): Call mn10300_force_relocation.
* elf-m10300.c (mn10300_elf_final_link_relocate): Prevent the accidental termination of DWARF location list entries.
  (mn10300_elf_relax_delete_bytes): Stop deletion if an align reloc is encountered that is larger than or not a mutliple of the number of bytes being deleted.
  When adjusting symbols, any symbols inside the region being deleted must be moved to the end of the region.
  Move align relocs forward if there is room for them after the deletion of the region.
2007-11-13 10:40:29 +00:00
Alan Modra
0067a5693a PR 5233
* elf.c (rewrite_elf_program_header): Formatting.  Add
	first_matching_lma and first_suggested_lma booleans and use
	instead of testing matching_lma and suggested_lma for zero.
2007-11-13 05:56:10 +00:00
Alan Modra
52cd869883 daily update 2007-11-12 23:00:04 +00:00
H.J. Lu
fa4dfc15df 2007-11-12 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/5299
	* peicode.h (pe_bfd_object_p): Save and restore previous bfd
	state when calling coff_object_p.
2007-11-12 21:55:50 +00:00
Alan Modra
8f39ba8ef2 * elf.c (_bfd_elf_get_synthetic_symtab): Only bump the symbol
pointer when we have a valid symbol.  Init udata.p to NULL.
2007-11-12 03:28:52 +00:00
Alan Modra
6395c08d39 daily update 2007-11-11 23:00:05 +00:00
Alan Modra
d07b42f3b7 daily update 2007-11-10 23:00:05 +00:00
Alan Modra
bbce853ae5 daily update 2007-11-09 23:00:06 +00:00
Nathan Sidwell
6b60be102a * elf-vxworks.c (elf_vxworks_emit_relocs): Don't clobber
rel_hash.  Move loop inside if test.
2007-11-09 10:20:17 +00:00
Danny Smith
b2766bff8e Apply delta accidentally omitted from 2007-11-05 commit.
* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Let .data, .text
	 and .bss section use the default.
2007-11-09 08:35:29 +00:00
Alan Modra
25e073af51 daily update 2007-11-08 23:00:49 +00:00
Nathan Sidwell
4d2c0abd8e * elf-vxworks.h (elf_vxworks_add_dynamic_entries): Declare.
(elf_vxworks_finish_dynamic_entry): Declare.
	* elf-vxworks.c: Include elf/vxworks.h.
	(elf_vxworks_add_dynamic_entries): New.
	(elf_vxworks_finish_dynamic_entry): New.
	* Makefile.am (elf-vxworks.lo): Add dependency.
	* Makefile.in (elf-vxworks.lo): Add dependency.
	* elf32-i386.c (elf_i386_size_dynamic_sections,
	elf_i386_finish_dynamic_sections): Call
	elf_vxworks_add_dynamic_entries and
	elf_vxworks_finish_dynamic_entry.
	* elf32-ppc.c (ppc_elf_size_dynamic_sections,
	ppc_elf_finish_dynamic_sections): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections,
	sparc_finish_dyn): Likewise.
	* elf32-sh.c (sh_elf_size_dynamic_sections,
	sh_elf_finish_dynamic_sections): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections,
	_bfd_mips_elf_finish_dynamic_sections): Likewise.
	* elf32-arm.c (elf32_arm_size_dynamic_sections,
	elf32_arm_finish_dynamic_sections): Likewise.
2007-11-08 13:57:44 +00:00
Nathan Sidwell
7a2b07ff7e include/elf/
* vxworks.h: New.

	bfd/
	* elf-vxworks.h (elf_vxworks_add_dynamic_entries): Declare.
	(elf_vxworks_finish_dynamic_entry): Declare.
	* elf-vxworks.c: Include elf/vxworks.h.
	(elf_vxworks_add_dynamic_entries): New.
	(elf_vxworks_finish_dynamic_entry): New.
	* Makefile.am (elf-vxworks.lo): Add dependency.
	* Makefile.in (elf-vxworks.lo): Add dependency.
	* elf32-i386.c (elf_i386_size_dynamic_sections,
	elf_i386_finish_dynamic_sections): Call
	elf_vxworks_add_dynamic_entries and
	elf_vxworks_finish_dynamic_entry.
	* elf32-ppc.c (ppc_elf_size_dynamic_sections,
	ppc_elf_finish_dynamic_sections): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections,
	sparc_finish_dyn): Likewise.
	* elf32-sh.c (sh_elf_size_dynamic_sections,
	sh_elf_finish_dynamic_sections): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections,
	_bfd_mips_elf_finish_dynamic_sections): Likewise.
	* elf32-arm.c (elf32_arm_size_dynamic_sections,
	elf32_arm_finish_dynamic_sections): Likewise.

	ld/
	* ld-vxworks/tls-2.d: New.
	* ld-vxworks/tls-2.s: New.
2007-11-08 13:51:07 +00:00
Alan Modra
f549fcc222 daily update 2007-11-07 23:00:05 +00:00
Nick Clifton
b5482f211e * bfd/elfxx-mips.c (_bfd_mips_elf_fake_sections): Force SHF_MIPS_NOSTRIP on
.debug_frame for Irix.
2007-11-07 14:52:44 +00:00
Alan Modra
5de6e39c09 daily update 2007-11-06 23:00:15 +00:00
Alan Modra
102890f04c bfd/
* elf64-ppc.c (ppc64_elf_check_relocs): Don't refcount tlsld_got here..
	(ppc64_elf_gc_sweep_hook): ..or here..
	(ppc64_elf_tls_optimize): ..or here.  Make two passes through the
	relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
	(allocate_dynrelocs): Refcount tlsld_got here.
	(ppc64_elf_size_dynamic_sections): Allocate local got and call
	allocate_dynrelocs before allocating tlsld_got.
	(ppc64_elf_relocate_section): Remove check that a tls_get_addr
	call follows gd and ld relocs.
ld/testsuite/
	* ld-powerpc/tlsso.d: Update for changed got alloc order.
	* ld-powerpc/tlsso.r: Likewise.
2007-11-06 13:49:19 +00:00
Alan Modra
b7fcf6f6bb bfd/
* elf32-ppc.c (ppc_elf_check_relocs): Don't refcount tlsld_got here..
	(ppc_elf_gc_sweep_hook): ..or here..
	(ppc_elf_tls_optimize): ..or here.  Make two passes through the
	relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
	(allocate_dynrelocs): Refcount tlsld_got here.
	(ppc_elf_size_dynamic_sections): Call allocate_dynrelocs before
	allocating tlsld_got.
	(ppc_elf_relocate_section): Remove check that a tls_get_addr
	call follows gd and ld relocs.
ld/testsuite/
	* ld-powerpc/tlsso32.d: Update for changed got alloc order.
2007-11-06 03:59:16 +00:00
Alan Modra
fa91f3452d daily update 2007-11-05 23:00:05 +00:00
Alan Modra
9ca98086ff * merge.c (sec_merge_hash_lookup): Revert last change.
(record_section): Likewise.
	(_bfd_merge_sections): Likewise.
	(_bfd_merged_section_offset): Properly handle NULL secinfo.
	(_bfd_add_merge_section): Allocate extra space for a zero
	terminator on SEC_STRINGS sections.
2007-11-05 02:13:46 +00:00
Danny Smith
11ec4ba977 include
* coff/pe.h (COFF_ENCODE_ALIGNMENT) Define.

gas
	* read.c (ALIGN_LIMIT): Rename to ...
	(TC_ALIGN_LIMIT): Guard against prior definition.
	* config/tc-i386.h (TC_ALIGN_LIMIT)[TE_PE]: Define.

bfd
	* pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Let .data, .text
	 and .bss section use the default.
	* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.

ld/testsuite
	* ld-scripts/align.exp: Enable for PECOFF.
	* ld-scripts/alignof.exp: Likewise.
2007-11-04 23:49:09 +00:00
Alan Modra
4c9b8248ed daily update 2007-11-04 23:00:05 +00:00
Alan Modra
3550616229 daily update 2007-11-03 23:00:05 +00:00
Alan Modra
8942f2584c daily update 2007-11-02 23:00:05 +00:00
Alan Modra
c8d3672277 daily update 2007-11-01 23:00:05 +00:00
Joseph Myers
e6c6c8f39c bfd:
* merge.c (sec_merge_hash_lookup): Add parameter sec_end.  Check
	for unterminated strings.  All callers changed.
	(record_section): Add parameter abfd.  Give error message for
	unterminated strings.
	(_bfd_merge_sections): Update call to record_section.
	(_bfd_write_merged_section, _bfd_merged_section_offset): Handle
	NULL secinfo from merge failures.

ld/testsuite:
	* ld-elf/merge3.d, ld-elf/merge3.s: New.
2007-11-01 11:45:20 +00:00
Alan Modra
69ff358819 daily update 2007-10-31 23:00:05 +00:00
Nick Clifton
cf4a529b63 * elf-m10300.c (mn10300_elf_relax_delete_bytes): Do not look for align
relocs when there are no relocs attached to the section.
2007-10-31 11:33:27 +00:00
Alan Modra
8f317e3169 * elf-bfd.h (bfd_elf_match_symbols_in_sections): Don't declare.
* elflink.c (bfd_elf_match_symbols_in_sections): Make static.
	Remove section name comparisons.
2007-10-31 07:36:46 +00:00
Alan Modra
1dda9f5f8c daily update 2007-10-30 23:00:06 +00:00
Nick Clifton
569006e582 * mn10300.h (R_MN10300_ALIGN): Define.
* reloc.c (BFD_RELOC_MN10300_ALIGN): Add.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* elf-m10300.h: Handle R_MN10300_ALIGN relocs.
* mn10300_elf_relax_delete_bytes): Honour R_MN10300_ALIGN relocs.
  Re-fix off by one error in comparisons.
* config/tc-mn10300.c (tc_gen_reloc): Fix test that decides when
  sym_diff relocs should be generated.
  (md_apply_fix): Skip R_MN10300_ALIGN relocs.
  (mn10300_fix_adjustable): Do not adjust R_MN10300_ALIGN relocs.
  (mn10300_handle_align): New function.  Generate R_MN10300_ALIGN
  relocs to record alignment requests.
* config/tc-mn10300.h (TC_FORCE_RELOCATION_SUB_SAME): Also force
  R_MN10300_ALIGN relocs.
  (HANDLE_ALIGN): Define.  Call mn10300_handle_align.
* gas/all/gas.exp: Do not run diff1.s test for mn10300.
* ld-mn10300/mn10300.exp: Run new tests.  Skip i126256 test if
  a compiler is not available.
* ld-mn10300/i112045-3.s: New test.
* ld-mn10300/i112045-3.d: Expected disassembly.
* ld-mn10300/i135409.s: Rename to i135409-1.s.
* ld-mn10300/i135409.d: Rename to i135409-1.d
* ld-mn10300/i135409-2.s: New test.
* ld-mn10300/i135409-2.d: Expected symbol table.
* ld-mn10300/i36434.d: Adjust expected disassembly.
2007-10-30 15:18:29 +00:00
Alan Modra
4534d6ccfc daily update 2007-10-29 23:00:05 +00:00
Alan Modra
10e9477429 daily update 2007-10-28 23:00:04 +00:00
Alan Modra
abe97724f4 daily update 2007-10-27 23:00:05 +00:00
Alan Modra
35cd7f3544 daily update 2007-10-27 00:00:05 +00:00
Alan Modra
485ab6b48a daily update 2007-10-26 00:00:06 +00:00
Pedro Alves
db86b2dce1 bfd/
* bfd-in.h (STRING_COMMA_LEN): Don't handle NULL STR case.
	* bfd-in2.h: Regenerate.

	ld/
	* pe-dll.c (autofilter_symbollist_generic)
	(autofilter_symbollist_i386, autofilter_liblist)
	(autofilter_objlist, autofilter_symbolprefixlist)
	(autofilter_symbolsuffixlist): Don't use STRING_COMMA_LEN with
	NULL.
2007-10-25 21:01:55 +00:00
Daniel Jacobowitz
c6e653525f * elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for
Tag_GNU_Power_ABI_Vector.

	* readelf.c (display_power_gnu_attribute): Add support for
	Tag_GNU_Power_ABI_Vector.

	* ppc.h (Tag_GNU_Power_ABI_Vector): New.

	* ld-powerpc/attr-gnu-8-1.s, ld-powerpc/attr-gnu-8-11.d,
	ld-powerpc/attr-gnu-8-2.s, ld-powerpc/attr-gnu-8-23.d,
	ld-powerpc/attr-gnu-8-3.s, ld-powerpc/attr-gnu-8-31.d: New.
	* ld-powerpc/powerpc.exp: Run new tests.
2007-10-25 15:20:24 +00:00
Joseph Myers
7c8b76cc17 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Do not add
PT_NULL header when not linking.
2007-10-25 11:38:30 +00:00
Alan Modra
97753bd5d7 * elf.c (elfcore_grok_ppc_vmx): New function.
(elfcore_grok_note): Handle NT_PPC_VMX.
	(elfcore_write_ppc_vmx): New function.
	* elf-bfd.h (elfcore_write_ppc_vmx): Declare.
2007-10-25 00:40:34 +00:00
Alan Modra
62e1af1715 daily update 2007-10-25 00:00:04 +00:00
Alan Modra
dd32307890 * Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
	* po/SRC-POTFILES.in: Regenerate.
2007-10-24 04:54:38 +00:00
Alan Modra
2de39ffda3 daily update 2007-10-24 00:00:05 +00:00
Alan Modra
f94498ff0f * elf64-ppc.c (ppc_build_one_stub): Don't duplicate relocs
emitted for ".brlt" entries.
	(toc_adjusting_stub_needed): Don't treat ".fixup" specially here..
	(ppc64_elf_next_input_section): ..instead do so here.
2007-10-23 12:54:17 +00:00
Alan Modra
5cab600649 daily update 2007-10-23 00:00:06 +00:00
Alan Modra
dd8de1a32e daily update 2007-10-22 00:00:05 +00:00
Alan Modra
a190e9e3e6 daily update 2007-10-21 00:00:05 +00:00
Alan Modra
342dae88a7 daily update 2007-10-20 00:00:05 +00:00
Nick Clifton
bfff164249 Add MN10300 linker relaxation support for symbol differences 2007-10-19 17:31:31 +00:00
Nick Clifton
603b72571d * elf-m10300.c: Convert to ISO C.
* tc-mn10300.c: Convert to ISO C.
2007-10-19 11:48:57 +00:00
Alan Modra
00fd39d11f daily update 2007-10-19 00:00:05 +00:00
Alan Modra
13285a1b2c PR ld/4424
* config.bfd (targ_selvecs): Add bfd_elf64_alpha_vec for
	alpha/FreeBSD.  Add bfd_elf64_sparc_vec for sparc64/FreeBSD.
	Add bfd_elf32_i386_vec and bfd_efi_app_ia32_vec for i386/FreeBSD.
	(targ64_selvecs): Set for i386/FreeBSD.
	* elf-bfd.h (elf_backend_data): Add relocs_compatible.
	(_bfd_elf_default_relocs_compatible): Declare.
	(_bfd_elf_relocs_compatible): Declare.
	* elfxx-target.h (elf_backend_relocs_compatible): Define.
	(elfNN_bed): Init new relocs_compatible field.
	* elflink.c (_bfd_elf_default_relocs_compatible): New function.
	(_bfd_elf_relocs_compatible): New function.
	(elf_link_add_object_symbols): Call bed->relocs_compatible.
	* elf32-i386.c (elf_backend_relocs_compatible): Define.
	* elf64-alpha.c: Likewise.
	* elf64-sparc.c: Likewise.
	* elf64-x86-64.c: Likewise.
2007-10-18 09:13:51 +00:00
Alan Modra
51745be133 daily update 2007-10-18 00:00:05 +00:00
Bob Wilson
ae326da8eb * elf32-xtensa.c (relax_section): Check for a reference to a discarded
DWARF section and anticipate its replacement with the kept section.
2007-10-17 00:30:31 +00:00
Alan Modra
bb14a92538 daily update 2007-10-17 00:00:05 +00:00
Bob Wilson
a3ef2d6352 * elf32-xtensa.c (elf_xtensa_discard_info_for_section): Remove
unnecessary size variables.  Set sec->rawsize.
	(relax_section, relax_property_section): Likewise.
2007-10-16 23:57:24 +00:00
Bob Wilson
73c5c7a8d6 * section.c (struct bfd_section): Clarify comment for rawsize field.
* bfd-in2.h: Regenerate.
2007-10-16 23:51:55 +00:00
Bob Wilson
1dd2625faa * elflink.c (_bfd_elf_check_kept_section): Use the section rawsize
values if they are set.
2007-10-16 15:51:38 +00:00
Nick Clifton
8bc9c89276 PR 5146
* configure.in (AC_CHECK_HEADERS): Add alloca.h
* configure: Regenerate.
* config.in: Regenerate.
* som.c: Replace alloca-conf.h inclusion with code recommended in autoconf documentation.
* elf64-hppa.c: Likewise.
2007-10-16 15:15:50 +00:00
Nick Clifton
504b7d2026 Support the use of the STT_COMMON type. (In source and object files only at the moment) 2007-10-16 14:42:15 +00:00
Alan Modra
a652a49c5f daily update 2007-10-16 00:00:05 +00:00
Alan Modra
5375ec41be * chew.c (write_buffer): Check fwrite return value. 2007-10-15 02:00:28 +00:00
Alan Modra
b165715209 * coff-arm.c (arm_emit_base_file_entry): Check fwrite return value.
Return status.  Adjust callers.
	* coff-mcore.c (mcore_emit_base_file_entry): Likewise.
	* coff-ppc.c (write_base_file_entry): New function.
	(coff_ppc_relocate_section): Use it.
	* elf32-arm.c (find_thumb_glue): Check asprintf return status.
	(find_arm_glue): Likewise.
	* vms-misc.c (_bfd_vms_output_flush): Check fwrite return value.
2007-10-15 02:00:11 +00:00
Alan Modra
a7c7166623 daily update 2007-10-15 00:00:05 +00:00
Alan Modra
0c607b23d8 daily update 2007-10-14 00:00:04 +00:00
Alan Modra
f266c1c5f5 daily update 2007-10-13 00:00:05 +00:00
Nick Clifton
4b93929bf9 PR 5160
* elflink.c (eval_symbol): Remove bufsz variable and use sizeof(symbuf) where necessary.
2007-10-12 16:25:21 +00:00
Nick Clifton
e9deb29d4f * elf32-cr16.c (elf32_cr16_relax_section): Fix condition check typo.
* config/tc-cr16.c: Update the md_relax_table for 1 word b<cc> instruction range information.
2007-10-12 16:11:02 +00:00
Daniel Jacobowitz
720199d64e * elfxx-mips.c (mips_elf_sort_hash_table_f): Handle forced
local symbols specially.
	(mips_elf_set_global_got_offset): Skip forced local symbols.
2007-10-12 15:59:19 +00:00
Alan Modra
971d4640d2 * elf.c (elfcore_grok_prxfpreg): Fix comment typo. 2007-10-12 03:34:45 +00:00
Alan Modra
ed4c31f254 daily update 2007-10-12 00:00:05 +00:00
H.J. Lu
f210dcff90 2007-10-10 H.J. Lu <hongjiu.lu@intel.com>
* elf.c (get_program_header_size): Always add a PT_GNU_RELRO
	segment for -z relro.
	(_bfd_elf_map_sections_to_segments): Make a PT_GNU_RELRO
	segment only when needed.
2007-10-11 05:03:07 +00:00
Alan Modra
53f1d09b83 daily update 2007-10-11 00:00:05 +00:00
Alan Modra
cf0d1c8e4d daily update 2007-10-10 00:00:05 +00:00
Alan Modra
444e9b58b8 daily update 2007-10-09 00:00:05 +00:00
Alan Modra
13f9d64916 daily update 2007-10-08 00:00:05 +00:00
Alan Modra
43b11a637f daily update 2007-10-07 00:00:05 +00:00