Commit Graph

6544 Commits

Author SHA1 Message Date
Alan Modra 78a273176b daily update 2007-09-27 00:00:05 +00:00
Jan Beulich d17e0c6e9a bfd/
2007-09-26  Jan Beulich  <jbeulich@novell.com>

	* elf32-i386.c (elf_i386_check_relocs): Revert NULL pointer
	check for R_386_GNU_VTINHERIT.
	* elf-m10300.c (mn10300_elf_check_relocs): Check for NULL
	pointer for R_xxx_GNU_VTENTRY.
	* elf32-arm.c (elf32_arm_check_relocs): Likewise.
	* elf32-bfin.c (bfin_check_relocs): Likewise.
	(bfinfdpic_check_relocs): Likewise.
	* elf32-cris.c (cris_elf_check_relocs): Likewise.
	* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
	* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
	* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
	* elf32-frv.c (elf32_frv_check_relocs): Likewise.
	* elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
	* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
	* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
	* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
	* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
	* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
	* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
	* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
	* elf32-s390.c (elf_s390_check_relocs): Likewise.
	* elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
	* elf32-sh.c (sh_elf_check_relocs): Likewise.
	* elf32-v850.c (v850_elf_check_relocs): Likewise.
	* elf32-vax.c (elf_vax_check_relocs): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
	* elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
	* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
	* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
	* elf64-s390.c (elf_s390_check_relocs): Likewise.
	* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
	* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
2007-09-26 13:45:32 +00:00
Alan Modra 8977835cde * elflink.c (set_symbol_value): Add isymbuf and locsymcount
params.  Change symidx to a size_t.  Don't access past end
	of symbol buffer.
	(resolve_symbol): Add isymbuf param and use instead of
	finfo->internal_syms.
	(eval_symbol, evaluate_complex_relocation_symbols): Likewise.
	(elf_link_input_bfd): Don't read symbols specially for
	evaluate_complex_relocation_symbols.
2007-09-26 12:29:41 +00:00
Nick Clifton 06dcabb057 * som.c (som_get_reloc_upper_bound): If there are no relocs return enough
space to hold a NULL pointer.
2007-09-26 08:12:59 +00:00
Alan Modra 2e5b2d7404 * elf64-ppc.c (ppc_build_one_stub): Correct rel_hdr.sh_size. 2007-09-26 03:07:45 +00:00
Alan Modra 939bfe3b97 daily update 2007-09-26 00:00:06 +00:00
Alan Modra 2cb5950ea3 bfd/
* elf32-spu.c (struct spu_link_hash_table): Add ovly_load_r_symndx.
	(spu_elf_size_stubs): Count stub relocs.
	(write_one_stub): Emit relocs on overlay call stubs.
ld/testsuite/
	* ld-spu/ovl.d: Adjust for stub relocs.
	* ld-spu/ovl2.d: Likewise.
2007-09-25 08:27:39 +00:00
Alan Modra 98e89a7d84 * elf32-spu.c (struct spu_link_hash_table): Add "stubs".
(spu_elf_link_hash_table_create): Init new field.
	(spu_elf_size_stubs): Store sorted stub syms in new htab field
	rather than local var.
	(spu_elf_build_stubs): Iterate over htab stubs rather than
	hash traversal.
	(struct stubarr): Delete.
	(allocate_spuear_stubs, populate_stubs, write_one_stub): Adjust.
2007-09-25 07:58:21 +00:00
Alan Modra 5f67a19ce6 daily update 2007-09-25 00:00:05 +00:00
Daniel Jacobowitz e970b90aa9 * elf.c (assign_file_positions_for_load_sections): Trust
p_align_valid.
	(copy_elf_program_header): Copy PT_NULL segments.
2007-09-24 18:23:13 +00:00
Alan Modra fad9eaf0de * elf32-spu.c (is_indirect_branch): New function.
(find_function_stack_adjust): End scan on hitting indirect branch.
	(sum_stack): Cast %v arg to correct type.
2007-09-24 00:30:03 +00:00
Alan Modra 3dca129609 daily update 2007-09-24 00:00:05 +00:00
Alan Modra 05fe5be4a6 daily update 2007-09-23 00:00:05 +00:00
Alan Modra ceb77b3e42 daily update 2007-09-22 00:00:08 +00:00
H.J. Lu 10569aebc7 2007-09-21 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerated.
2007-09-21 18:22:24 +00:00
Nick Clifton 4ab2002928 * Makefile.am (BFD32_LIBS): Add arange-set.lo.
(BFD32_LIBS_CFILES): Add arange-set.c.
  (SOURCE_HFILES): Add arange-set.h
  (dwarf2.lo): Add dependency upon arange-set.h.
  (arange-set.lo): New target.
* Makefile.in: Regenerate.
* arange-set.c: New file.
* arange-set.h: New file.
* dwarf2.c: Include arange-set.h.
  (struct dwarf2_debug) Add new fields comp_unit_count and comp_unit_arange_set.
  (struct comp_unit) Replace field arange with a new field arange_set.
  (dwarf2_arange_set_allocate, dwarf2_arange_set_deallocate,
  (dwarf2_combine_arange_value, dwarf2_arange_set_new,
  (dwarf2_arange_set_with_value_new, dwarf2_comp_unit_arange_add): New
  functions to utilize arange set in dwarf2.c.
  (arange_add): Formatting change for a line longer than 80 characters.
  (decode_line_info): Replace call target arange_add with
  (dwarf2_comp_unit_arange_add.
  (read_rangelist_insert_arange_list,
  (read_rangelist_comp_unit_arange_add): New functions used as callbacks
  for read_rangelist.
  (read_rangelist): Change interface to accept a callback and data to
  allow caller to select the action peformed on a new range list read.
  (scan_unit_for_symbols): Use new interface of read_rangelist.
  (parse_comp_unit): Create an arange set for each new comp unit.  Use new
  interface of read_rangelist.  Replace call to arange_add with that to
  dwarf2_comp_unit_arange_add.
  (comp_unit_contains_address): Replace sequential search with a call to
  arange_set_lookup_address, which can handles large set efficiently.
  (stash_copy_local_aranges, stash_maybe_enable_arange_set,
  (stash_find_nearest_line_fast): New functions maintaining and using a
  valued global arange set for all compilation units to speed up
  bfd_dwarf2_find_nearest_line.
  (find_line): Use global arange set.  Replace sequential search over all
  compilation units with a call to stash_find_nearest_line_fast.  Add
  book keeping to count number of compilation units.  Replace empty
  arange list test with a call to arange_set_empty_p.
2007-09-21 16:16:18 +00:00
Nick Clifton 6119d2522e * syms.c (_bfd_stab_section_find_nearest_line): Look at the
specific SOM sections for stabs if the regular ones are not found.
* som.h (struct somdata): Add a line_info field, to be used by som_find_nearest_line.
* som.c (som_find_nearest_line): Implement using the bfd stabs function above.
2007-09-21 07:58:03 +00:00
Alan Modra ec51df9f10 daily update 2007-09-21 00:00:05 +00:00
Alan Modra 20e96b3e5d daily update 2007-09-20 00:00:05 +00:00
Daniel Jacobowitz b55fd4d45d * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make sure .got
will be output.
2007-09-19 16:21:59 +00:00
Alan Modra a69898aad0 * bfd-in.h (bfd_hash_insert): Declare.
* bfd-in2.h: Regenerate.
	* hash.c (bfd_hash_insert): New function.  Split out from..
	(bfd_hash_lookup): ..here.
	* merge.c (sec_merge_hash_lookup): Use bfd_hash_insert.
2007-09-19 12:08:34 +00:00
Alan Modra f81c953f3a daily update 2007-09-19 00:00:06 +00:00
Alan Modra 14b1c01e04 * elf.c (bfd_section_from_shdr): Check bfd_alloc return.
(elfcore_write_note): Check realloc return.
	* elflink.c (_bfd_elf_link_find_version_dependencies): Check
	bfd_zalloc return.
	(_bfd_elf_link_assign_sym_version): Check bfd_malloc return.
	(elf_link_add_object_symbols): Likewise.
	(struct hash_codes_info): New.
	(elf_collect_hash_codes): Return bfd_malloc error.
	(struct collect_gnu_hash_codes): Add "error".
	(elf_collect_gnu_hash_codes): Return bfd_malloc error.
	(bfd_elf_size_dynamic_sections): Check return status of
	_bfd_elf_link_find_version_dependencies.
	(bfd_elf_size_dynsym_hash_dynstr): Adjust for elf_collect_hash_codes
	and elf_collect_gnu_hash_codes changes.
	(elf_sym_name_compare): Formatting.
	(elf_fixup_link_order): Use bfd_malloc, not xmalloc.
2007-09-18 08:17:06 +00:00
H.J. Lu b10a8ae01c bfd/
2007-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/3281
	PR binutils/5037
	* elf-bfd.h (elf_obj_tdata): Remove relro.

	* elf.c (get_program_header_size): Check info->relro instead
	of elf_tdata (abfd)->relro.
	(_bfd_elf_map_sections_to_segments): Likewise.
	(assign_file_positions_for_load_sections): Don't set
	PT_GNU_RELRO segment alignment here.
	(assign_file_positions_for_non_load_sections): Properly set up
	PT_GNU_RELRO segment for copying executable/shared library.
	(rewrite_elf_program_header): Remove PT_GNU_RELRO segment.
	(copy_elf_program_header): Set p_size and p_size_valid fields for
	PT_GNU_RELRO segment.

include/elf/

2007-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/3281
	PR binutils/5037
	* internal.h (elf_segment_map): Add p_size and p_size_valid.
	(ELF_IS_SECTION_IN_SEGMENT): Allow SHF_TLS sections in
	PT_GNU_RELRO segments.

ld/

2007-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/3281
	PR binutils/5037
	* ldexp.h (ldexp_control): Add relro, relro_start_stat and
	relro_end_stat.

	* ldexp.c (fold_binary): Set expld.dataseg.relro to
	exp_dataseg_relro_start or exp_dataseg_relro_end when
	seeing DATA_SEGMENT_ALIGN or DATA_SEGMENT_RELRO_END,
	respectively.

	* ldlang.c (lang_size_sections_1): Properly set
	expld.dataseg.relro_start_stat and
	expld.dataseg.relro_end_stat.
	(find_relro_section_callback): New function.
	(lang_find_relro_sections_1): Likewise.
	(lang_find_relro_sections): Likewise.
	(lang_process): Call lang_find_relro_sections for
	non-relocatable link.

ld/testsuite/

2007-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/3281
	PR binutils/5037
	* ld-elf/binutils.exp: Update "-z relro" tests to use relro1.s.
	Add "-z relro" tests with relro2.s.  Add "-z relro" tests with
	TLS for objcopy.

	* ld-elf/relro1.s: New file.
	* ld-elf/relro2.s: Likewise.
2007-09-18 00:25:07 +00:00
Alan Modra 00708806d9 daily update 2007-09-18 00:00:05 +00:00
Nick Clifton 041a1845a9 * po/fi.po: New Finnish translation.
* po/es.po: Updated Spanish translation.
* configure.in (ALL_LINGUAS): Add fi.
* configure: Regenerate.
* po/bfd.pot: Regenerate.
2007-09-17 14:03:15 +00:00
Alan Modra 61d7672abe daily update 2007-09-17 00:00:05 +00:00
Alan Modra 476f5089d3 daily update 2007-09-16 00:00:05 +00:00
Alan Modra 0bc43230d6 * bfd.c (_bfd_default_error_handler): fflush stdout. 2007-09-15 03:02:01 +00:00
Alan Modra 2f7b3f000f daily update 2007-09-15 00:00:06 +00:00
Alan Modra 3ea6b9a58b * opncls.c (find_separate_debug_file): Ensure bfd_set_error has
been called on all error return paths.
	(bfd_fill_in_gnu_debuglink_section): Use bfd_malloc, not malloc.
	Clear padding after filename
2007-09-14 07:54:10 +00:00
Alan Modra 5a1dcb7e26 * format.c (bfd_check_format_matches): Record matching targets even
when "matching" is NULL to allow bfd_associated_vector matches.
	Consolidate error return code.  Consolidate ok return code.  Always
	restore original target and format on error.
2007-09-14 05:19:27 +00:00
Alan Modra 1e50560c64 daily update 2007-09-14 00:00:06 +00:00
Alan Modra bce5e5c97f bfd/
* configure.in: Delete BFD_HOST_LONG_LONG and bfd checks for
	long long.  Partly revert 2007-07-12 change, so that
	BFD_HOST_64BIT_LONG and BFD_HOST_64BIT_LONG_LONG are set
	independent of "void *" size.
	* configure: Regenerate.
	* config.in: Regenerate.
	* Makefile.in: Regenerate.
bfd/doc/
	* Makefile.in: Regenerate.
2007-09-13 14:58:47 +00:00
Alan Modra 847f9f0ff7 daily update 2007-09-13 00:00:06 +00:00
Alan Modra 01a3c21322 * elf-bfd.h (struct elf_backend_data): Delete elf_backend_sprintf_vma
and elf_backend_fprintf_vma.
	(_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
	* elf.c (_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
	* elfxx-target.h (elf_backend_sprintf_vma): Don't define.
	(elf_backend_fprintf_vma): Likewise.
	(elfNN_bed): Don't init removed fields.
	* bfd.c (is32bit): New function.
	(bfd_sprintf_vma, bfd_fprintf_vma): Use the above.
2007-09-12 10:00:15 +00:00
Alan Modra 7c9a538008 daily update 2007-09-12 00:00:10 +00:00
Kazu Hirata 8d100c328c bfd/
* archures.c: Add bfd_mach_mcf_isa_c_nodiv,
	bfd_mach_mcf_isa_c_nodiv_mac & bfd_mach_mcf_isa_c_nodiv_emac.
	* ieee.c (ieee_write_processor): Update coldfire architecture
	list.
	* bfd-in2.h: Rebuilt.
	* cpu-m68k.c (arch_info_struct): Add isa_c nodiv architectures.
	(m68k_arch_features): Likewise.
	* elf32-m68k.c (elf32_m68k_object_p): Add EF_M68K_CF_ISA_C_NODIV.
	(elf32_m68k_print_private_bfd_data): Likewise.

gas/
	* config/tc-m68k.c (m68k_ip): Add mcfisa_c case.
	(m68k_elf_final_processing): Add EF_M68K_CF_ISA_C_NODIV.

include/elf/
	* m68k.h (EF_M68K_CF_ISA_C_NODIV): New.
2007-09-11 16:07:50 +00:00
Jan Beulich 2f629d2305 2007-09-11 Jan Beulich <jbeulich@novell.com>
* elf64-i386.c (elf64_i386_tls_transition): Remove redundant 'const'.
	* elf64-x86_64.c (elf64_x86_64_tls_transition): Likewise.
2007-09-11 15:44:19 +00:00
Alan Modra 9d2fe8b96f daily update 2007-09-11 00:00:10 +00:00
Alan Modra ec772d4500 daily update 2007-09-10 00:00:06 +00:00
Alan Modra fa956de32a daily update 2007-09-09 00:00:05 +00:00
Alan Modra 2b95367962 * elf64-ppc.c (func_desc_adjust): When resolving undefined
references to dot-symbols, transfer def_regular and
	def_dynamic from the descriptor symbol.
2007-09-08 13:46:15 +00:00
Alan Modra 78b8434d26 * config.bfd: Set want64 for spu-*-elf. 2007-09-08 11:11:24 +00:00
Alan Modra 98ece1b313 PR ld/2864, ld/5006
* elf.c (special_sections): Comment typo.
	(elf_fake_sections): Force SHT_PROGBITS for sections that are
	SHT_NOBITS if BFD section flags say they have contents.
2007-09-08 11:03:31 +00:00
Alan Modra c280668132 daily update 2007-09-08 00:00:05 +00:00
Alan Modra 04d2ac07a5 daily update 2007-09-07 00:00:06 +00:00
Alan Modra 6947bac412 daily update 2007-09-06 00:00:05 +00:00
Michael Snyder 5dff466409 2007-09-04 Michael Snyder <msnyder@access-company.com>
* elf32-bfin.c (howto_table): Cut and paste error?
	Name field of reloc is wrong.
2007-09-05 18:49:41 +00:00
Alan Modra 570b4ee2f7 daily update 2007-09-05 00:00:05 +00:00
Alan Modra b427ea91a5 * elf32-spu.c (elf_howto_table): Formatting. 2007-09-04 04:09:22 +00:00
Alan Modra 892bacea17 daily update 2007-09-04 00:00:05 +00:00
Alan Modra 97f387b8bc daily update 2007-09-03 00:00:04 +00:00
H.J. Lu aff90a5f25 bfd/
2007-09-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4986
	* dwarf2.c (new_line_sorts_after): Undo the last change.
	(add_line_info): Only keep the last entry with the same address
	and end sequence.

ld/testsuite/

2007-09-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4986
	* ld-ia64/line.exp: New.
	* ld-ia64/undefined.s: Likewise.

	* ld-x86-64/line.exp: Don't check CC.
2007-09-02 13:29:20 +00:00
Alan Modra 406046cf5e daily update 2007-09-02 00:00:05 +00:00
H.J. Lu 399347457c bfd/
2007-08-31  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4986
	* dwarf2.c (new_line_sorts_after): Also compare line number.

ld/testsuite/

2007-08-31  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4986
	* ld-x86-64/line.exp: New
	* ld-x86-64/undefined.s: Likewise.
2007-09-01 06:09:20 +00:00
Alan Modra cd0bcef10a daily update 2007-09-01 00:00:09 +00:00
Nick Clifton 3a4743fef3 * mach-o.c (bfd_mach_o_make_bfd_section): Fix test for non zerofill sections. 2007-08-31 14:55:24 +00:00
Alan Modra 848051c9fe daily update 2007-08-31 00:00:06 +00:00
Alan Modra b5536b7f30 daily update 2007-08-30 00:00:06 +00:00
Alan Modra ae13662f95 daily update 2007-08-29 00:00:05 +00:00
Bob Wilson 5c5d6806e8 2007-08-28 David Heine <dlheine@tensilica.com>
* elf32-xtensa.c (compute_ebb_actions): Update removed_bytes when
	narrowing instructions.
2007-08-28 18:43:03 +00:00
Joseph Myers 7f6a71ffb6 bfd:
2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* elf32-arm.c (elf32_arm_compare_mapping): Compare first on vma,
	then on type.

binutils/testsuite:
2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* binutils-all/ar.exp (long_filenames): Delete temporary files on
	the host.
	* binutils-all/arm/objdump.exp: Only check "which $OBJDUMP" if
	host is local.
	* binutils-all/objcopy.exp: Use ${srecfile} to get the name of the
	srec file to be passed to binutils_run.
	(objcopy_test_readelf): Use remote_exec.
	* binutils-all/readelf.exp (readelf_find_size): Use remote_exec.
	(readelf_test): Likewise.
	(readelf_wi_test): Likewise.
	* lib/utils-lib.exp (run_dump_test): Only check "which $binary" if
	host is local.  Use remote_exec.  Use $tempfile not
	tmpdir/bintest.o.

gas:
2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* as.c (main): Flush stderr before printing listings to ensure
	consistent output order across platforms.

gas/testsuite:
2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* lib/gas-defs.exp (gas_version): Use remote_* functions instead
	of exec.
	(gas_host_run): New.
	(gas_run): Use gas_host_run.
	(gas_start): Likewise.
	(run_dump_test): Likewise.
	(objdump): Use gas_host_run.
	(objdump_start_no_subdir): Likewise.
	* lib/gas-dg.exp (gas-dg-test): Use "remote_file host delete".
	* lib/run: Remove.
	* gas/macros/macros.exp: Download app4b.s to host.
	* gas/i386/i386.exp (gas_64_check): Use gas_host_run.
	(gas_32_check): Likewise.
	* gas/maxq10/maxq10.exp (gas_64_check): Likewise
	(gas_32_check): Likewise.
	* gas/maxq20/maxq20.exp (gas_64_check): Likewise
	(gas_32_check): Likewise.
	* gas/sparc/sparc.exp (gas_64_check): Likewise.
	* gas/cfi/cfi.exp: Likewise.
	* gas/elf/elf.exp (run_list_test): Likewise.  Use temporary file
	for readelf output in place of pipe.
	* gas/all/gas.exp: Download incbin.dat to host.
	(do_comment): Allow \r\r\n.

ld:
2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* ldlang.c (sort_sections_by_lma): Sort by internal id after lma
	for stable sort.

ld/testsuite:
2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* ld-elfcomm/elfcomm.exp: Use run_host_cmd.  Only check "which
	$CC" if host is local.
	* ld-checks/checks.exp: Use run_host_cmd.
	* ld-elf/exclude.exp: Likewise.
	* ld-elf/elf.exp: Download merge.ld if host is remote.
	* ld-elf/binutils.exp (binutils_test): Use remote_exec.
	* ld-elf/tls_common.exp: Use run_host_cmd.
	* lib/ld-lib.exp (ld_version): Only check "which $ld" if host is
	local.  Use remote_exec.
	(run_host_cmd): New.
	(run_host_cmd_yesno): New.
	(default_ld_relocate): Use run_host_cmd_yesno.
	(default_ld_link): Likewise.
	(default_ld_simple_link): Use run_host_cmd.
	(default_ld_compile): Only check "which $ccprog" if host is local.
	Use remote_file and remote_exec.
	(default_ld_assemble): Only check "which $as" if host is local.
	Use run_host_cmd.
	(default_ld_nm): Use remote_exec, remote_upload and remote_file.
	(run_dump_test): Use remote_exec, remote_upload and remote_file.
	Only check "which $binary" if host is local.
	(run_ld_link_tests): Use remote_exec, remote_upload and
	remote_file.
	* ld-selective/selective.exp: Only check "which $CXX" if host is
	local.  Use remote_exec.
	* ld-scripts/phdrs.exp: Only check "which $objdump" if host is
	local.  Use run_host_cmd.
	* ld-scripts/phdrs2.exp: Likewise.
	* ld-scripts/weak.exp: Likewise.
	* ld-undefined/weak-undef.exp: Likewise.
	* ld-scripts/crossref.exp: Only check "which $CC" if host is local.
	Use run_host_cmd.
	* ld-scripts/map-address.exp: Upload map_address.map if host is
	remote.
	* ld-srec/srec.exp (run_srec_tests): Use run_host_cmd.  Only check
	"which $CC" and "which $CXX" if host is local.
	* ld-undefined/undefined.exp: Only check "which $CC" if host is
	local.  Use remote_file and run_host_cmd.
	* config/default.exp: Use remote_exec to create tmpdir.
2007-08-28 13:21:58 +00:00
Nick Clifton 0b3e17e93d Add support for i386-dragonfly target. 2007-08-28 11:02:55 +00:00
Alan Modra 218c002443 daily update 2007-08-28 01:57:39 +00:00
Alan Modra c3879370e9 daily update 2007-08-27 00:00:06 +00:00
Alan Modra 97a21170c8 daily update 2007-08-26 00:00:06 +00:00
Alan Modra b15fa79e3a include/elf/
* common.h (NT_SPU): Define.
bfd/
	* elf.c (elfcore_grok_spu_note): New function.
	(elf_parse_notes): Call it.
binutils/
	* readelf.c (process_note): Recognize SPU core file notes.
2007-08-25 13:20:41 +00:00
Alan Modra 89aecb857e daily update 2007-08-25 00:00:05 +00:00
H.J. Lu 534a31f690 2007-08-24 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (elf64_x86_64_relocate_section): Adjust
	indentation.
2007-08-24 21:47:53 +00:00
Pedro Alves 4a6636fbb5 * elf.c (elfcore_grok_win32pstatus): Remove HAVE_WIN32_PSTATUS_T
guard.  Make it host independent.
	(elfcore_grok_note): Remove HAVE_WIN32_PSTATUS_T guard around
	NT_WIN32PSTATUS.
2007-08-24 21:29:19 +00:00
Jan Kratochvil 82fc776500 Fixed formatting of the ChangeLog BUILD_ID entry. 2007-08-24 15:13:46 +00:00
Jan Kratochvil 718175fac1 2007-08-24 Jan Kratochvil <jan.kratochvil@redhat.com>
* elf-bfd.h (struct elf_obj_tdata): New BUILD_ID_SIZE, BUILD_ID.
	* elf.c (elfcore_read_notes): Split to ...
	(elf_read_notes) ... here ...
	(elf_parse_notes): ... and here.  Check `bfd_get_format (abfd)' with
	the former subfunctions called only for BFD_CORE.
	Call ELFOBJ_GROK_GNU_NOTE for BFD_OBJECT files with the owner "GNU".
	(_bfd_elf_make_section_from_shdr): Call ELF_PARSE_NOTES for SHT_NOTEs.
	(bfd_section_from_phdr): Update the call for renamed ELFCORE_READ_NOTES.
	(elfobj_grok_gnu_build_id, elfobj_grok_gnu_note): New functions.
	Code advisory: Roland McGrath
2007-08-24 15:11:13 +00:00
Daniel Jacobowitz f1187097fa * elf64-mips.c (elf_backend_sign_extend_vma): Define. 2007-08-24 13:46:32 +00:00
Alan Modra a30e5f5fca * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Warning fix. 2007-08-24 04:31:24 +00:00
Alan Modra b6a3feb15f daily update 2007-08-24 00:00:08 +00:00
H.J. Lu a351bca6b1 2007-08-23 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerated.
2007-08-23 16:29:49 +00:00
H.J. Lu 142411caf2 bfd/
2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c: Include "bfd_stdint.h".
	(elf_i386_rtype_to_howto): New function.
	(elf_i386_info_to_howto_rel): Use it.
	(x86_64_opcode16): New union type.
	(elf_i386_check_tls_transition): New function.
	(elf_i386_tls_transition): Updated to check transition and
	issue an error if a transition isn't supported.
	(elf_i386_check_relocs): Return FALSE if
	elf_i386_tls_transition returns FALSE.
	(elf_i386_gc_sweep_hook): Likewise.
	(elf_i386_relocate_section): Likewise. Remove BFD_ASSERT
	on TLS transitions.

	* elf64-x86-64.c: Include "bfd_stdint.h".
	(x86_64_opcode16): New union type.
	(x86_64_opcode32): Likewise.
	(elf64_x86_64_check_tls_transition): New function.
	(elf64_x86_64_tls_transition): Updated to check transition and
	issue an error if a transition isn't supported.
	(elf64_x86_64_check_relocs): Return FALSE if
	elf64_x86_64_tls_transition returns FALSE.
	(elf64_x86_64_gc_sweep_hook): Likewise.
	(elf64_x86_64_relocate_section): Likewise. Remove BFD_ASSERT
	on TLS transitions.

ld/testsuite/

2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-i386/tlsbinpic.s: Add a new GD -> IE test.

	* ld-i386/tlsgd1.s: Add a new GD -> LE test.

	* ld-i386/tlsbin.dd: Updated.
	* ld-i386/tlsbin.rd: Likewise.
	* ld-i386/tlsgd1.dd: Likewise.
2007-08-23 16:13:37 +00:00
Alan Modra ce09b7cfa3 daily update 2007-08-23 00:00:05 +00:00
H.J. Lu eae50df29b 2007-08-22 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c: Convert to ISO C90 prototypes.
	(elfNN_hpux_backend_section_from_bfd_section): Make it static.
2007-08-22 16:01:12 +00:00
H.J. Lu 9a2e389ab0 2007-08-22 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c: Remove trailing whitespace.
	* elfxx-ia64.c: Likewise.
2007-08-22 13:44:37 +00:00
Alan Modra ebbdfe3f43 daily update 2007-08-22 00:00:05 +00:00
H.J. Lu 2f3bf80a30 2007-08-21 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c (elf_i386_tls_transition): Accept a pointer
	to ELF hash entry instead of an integer for local test.
	(elf_i386_check_relocs): Updated.
	(elf_i386_gc_sweep_hook): Likewise.
	(elf_i386_relocate_section): Likewise.

	* elf64-x86-64.c  (elf64_x86_64_tls_transition): Accept a
	pointer to ELF hash entry instead of an integer for local
	test.
	(elf64_x86_64_check_relocs): Updated.
	(elf64_x86_64_gc_sweep_hook): Likewise.
	(elf64_x86_64_relocate_section): Likewise.
2007-08-21 13:52:54 +00:00
Alan Modra 6b2f2842e1 daily update 2007-08-21 00:00:05 +00:00
H.J. Lu 3bfa9139b4 2007-08-20 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c (elf_i386_tls_transition): Break long line.
	* elf64-x86-64.c (elf64_x86_64_tls_transition): Likewise.
2007-08-20 19:13:04 +00:00
Nick Clifton 461686a323 Revision of previous delta using bfd_vma cast instead of 1L. 2007-08-20 13:23:41 +00:00
Jan Kratochvil 19ec0de70a 2007-08-20 Jan Kratochvil <jan.kratochvil@redhat.com>
* elfxx-target.h [ELF_COMMONPAGESIZE && ELF_MAXPAGESIZE]
	(ELF_MINPAGESIZE): Fixed its size guess.  Sanity checked its size.
	(ELF_COMMONPAGESIZE, ELF_MAXPAGESIZE): Sanity checked their size.
2007-08-20 13:05:26 +00:00
Nick Clifton 75ea273619 * elflink.c (elf_fixup_link_order): Rewrite conversion of s->alignment_power
into an offset mask in order to avoid a gcc error message.
2007-08-20 08:26:35 +00:00
Alan Modra 80a62b542e daily update 2007-08-20 00:00:05 +00:00
Alan Modra 20e65cddfd daily update 2007-08-19 00:00:05 +00:00
Alan Modra 0b455322f0 daily update 2007-08-18 00:00:06 +00:00
Jakub Jelinek 7e976ae46d * config.bfd: Handle sparcv*-*-linux-* the same as sparc-*-linux-*.
Change sparc64-*-linux-* to sparc64*-*-linux-*.

	* configure.host: Handle sparcv*-*-linux-* the same as
	sparc-*-linux-*.  Change sparc64-*-linux-* to sparc64*-*-linux-*.

	* ld-sparc/tlssunnopic32.dd: Fix up #target.
	* ld-sparc/tlssunnopic32.rd: Likewise.
	* ld-sparc/tlssunnopic32.sd: Likewise.
	* ld-sparc/tlssunnopic64.dd: Likewise.
	* ld-sparc/tlssunnopic64.rd: Likewise.
	* ld-sparc/tlssunnopic64.sd: Likewise.
2007-08-17 22:00:11 +00:00
Alan Modra e9f274335b * po/Make-in: Add --msgid-bugs-address to xgettext invocation. 2007-08-17 01:04:52 +00:00
Alan Modra f556786a27 daily update 2007-08-17 00:00:06 +00:00
H.J. Lu 2b05f1b7bb bfd/
2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c: Revert last change.

binutils/

2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>

	* readelf.c: Revert last change.

include/elf/

2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>

	* common.h: Revert last change.
2007-08-16 18:49:42 +00:00
H.J. Lu 94b11780ad bfd/
2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c (get_segment_type): Change PT_GNU_STACK to PT_GNU_ATTR.
	(bfd_section_from_phdr): Likewise.
	(get_program_header_size): Likewise. Add a PT_GNU_ATTR segment
	if there is an attribute section.
	(_bfd_elf_map_sections_to_segments): Likewise.
	(IS_SECTION_IN_INPUT_SEGMENT): Likewise.

binutils/

2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>

	* readelf.c (get_segment_type): Change PT_GNU_STACK to
	PT_GNU_ATTR.

include/elf/

2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>

	* common.h (PT_GNU_STACK): Renamed to ...
	(PT_GNU_ATTR): This.
	(PT_GNU_STACK): New.  Make an alias of PT_GNU_ATTR.
2007-08-16 13:38:09 +00:00
Alan Modra 1192f4a2b3 daily update 2007-08-16 00:00:06 +00:00
Alan Modra 8676c0493c daily update 2007-08-15 00:00:06 +00:00
H.J. Lu a3fadc9a17 bfd/
2007-08-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4918
	* elf32-i386.c (elf_i386_relocate_section): Allow R_386_PC32
	on ___tls_get_addr for GD->LE/LD->LE transitions when not
	building shared library.

	* elf64-x86-64.c (elf64_x86_64_relocate_section): Allow
	R_X86_64_PC32 on __tls_get_addr for GD->LE/LD->LE transitions
	when not building shared library.

ld/testsuite/

2007-08-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/4918
	* ld-i386/i386.exp (i386tests): Add tlsgd1 and tlsld1 tests.
	* ld-x86-64/x86-64.exp (x86_64tests): Likewise.

	* ld-i386/tlsgd1.dd: New file.
	* ld-i386/tlsgd1.s: Likewise.
	* ld-i386/tlsld1.dd: Likewise.
	* ld-i386/tlsld1.s: Likewise.
	* ld-x86-64/tlsgd1.dd: Likewise.
	* ld-x86-64/tlsgd1.s: Likewise.
	* ld-x86-64/tlsld1.dd: Likewise.
	* ld-x86-64/tlsld1.s: Likewise.
2007-08-14 19:48:21 +00:00
Jan Kratochvil 3fec76aafa 2007-08-14 Jan Kratochvil <jan.kratochvil@redhat.com>
* elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): LOADBASE is now
	initialized only on the first PT_LOAD.  New variable LOADBASE_SET.
	Removed PF_R checking for IA-64 vDSOs as redundant now.
	Code advisory: Roland McGrath
2007-08-14 08:04:47 +00:00
Alan Modra 6fecce6b64 daily update 2007-08-14 00:00:06 +00:00
Richard Sandiford 8275b357ad bfd/
* elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
	(mips_elf_record_global_got_symbol): Increment local_gotno for
	each forced-local symbol.
	(_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
	mips_elf_record_global_got_symbol for VxWorks too.
	(_bfd_mips_elf_always_size_sections): Set computed_got_sizes
	to true after computing the GOT size.
	(_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
	got.offset == 1.  Only adjust global_gotno if computed_got_sizes.
	For VxWorks, add a local entry when hiding a symbol that needs a
	plt but has not been marked as needing a global got entry.
	(_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
	false.

ld/testsuite/
	* ld-mips-elf/vxworks-forced-local-1.d,
	* ld-mips-elf/vxworks-forced-local-1.s,
	* ld-mips-elf/vxworks-forced-local-1.ver: New test.
	* ld-mips-elf/mips-elf.exp: Run it.
	* ld-mips-elf/tlsdyn-o32-2.d: Adjust for removal of unnecessary
	local GOT entry.
	* ld-mips-elf/tlsdyn-o32-2.got: Likewise.
	* ld-mips-elf/tlsdyn-o32-3.d: Likewise.
	* ld-mips-elf/tlsdyn-o32-3.got: Likewise.
	* ld-mips-elf/vxworks1-lib.dd: Likewise.
	* ld-mips-elf/vxworks1-lib.rd: Likewise.
2007-08-13 21:16:39 +00:00
Daniel Jacobowitz 649aeae36c * coffgen.c (coff_get_normalized_symtab): Correct cast. 2007-08-13 01:45:11 +00:00
Alan Modra 3dea8fca8b * elf.c (elf_modify_segment_map): Add remove_empty_load param.
Don't remove empty PT_LOAD header if false.
	(_bfd_elf_map_sections_to_segments): If user phdrs, pass false
	to elf_modify_segment_map.
	(assign_file_positions_for_load_sections): Pass false to
	elf_modify_segment_map.
2007-08-13 00:44:20 +00:00
Alan Modra ac2df442ac bfd/
* elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
	Update stub comments.
	(build_plt_stub): Build two variants, one without "addis".
	(ppc_build_one_stub): Build stubs without "addis" if possible.
	(ppc_size_one_stub): Size new stubs.
ld/testsuite/
	* ld-powerpc/relbrlt.s (.text.pad2): Adjust space.
	* ld-powerpc/relbrlt.d: Update.
	* ld-powerpc/tlsexe.d: Update.
	* ld-powerpc/tlsexe.g: Update.
	* ld-powerpc/tlsexe.r: Update.
	* ld-powerpc/tlsexetoc.d: Update.
	* ld-powerpc/tlsexetoc.g: Update.
	* ld-powerpc/tlsexetoc.r: Update.
	* ld-powerpc/tlsso.d: Update.
	* ld-powerpc/tlsso.g: Update.
	* ld-powerpc/tlsso.r: Update.
	* ld-powerpc/tlstocso.d: Update.
	* ld-powerpc/tlstocso.g: Update.
2007-08-13 00:20:59 +00:00
Alan Modra d673094738 daily update 2007-08-13 00:00:05 +00:00
Alan Modra f18b2e1bc4 daily update 2007-08-12 00:00:06 +00:00
Richard Sandiford 2f964f43a7 bfd/
* config.bfd (sh-*-vxworks): Define targ_underscore to "yes".
2007-08-11 17:31:23 +00:00
Alan Modra 124c70ca86 daily update 2007-08-11 00:00:06 +00:00
Alan Modra 470e0e5f84 daily update 2007-08-10 00:00:07 +00:00
Michael Snyder 6b8f0fd579 2007-08-09 Michael Snyder <msnyder@access-company.com>
* aoutx.h (aout_get_external_symbols): Return if count is zero.
2007-08-09 23:14:55 +00:00
H.J. Lu 6d33f2176c 2007-08-09 H.J. Lu <hongjiu.lu@intel.com>
PR ld/4909
	* elf.c (print_segment_map): New function.
	(assign_file_positions_for_load_sections): Call print_segment_map
	when a section can't be allocated in segment.
2007-08-09 23:13:41 +00:00
Jan Kratochvil c309eac207 * opncls.c (bfd_openr_iovec): Fix the OPEN parameter macro expansion. 2007-08-09 14:22:03 +00:00
Alan Modra 4969ffd9c9 daily update 2007-08-09 00:00:06 +00:00
Alan Modra 48219bd292 daily update 2007-08-08 00:00:06 +00:00
Nick Clifton e6902efc9c * po/bfd.pot: Updated template.
* po/BLD-POTFILES.in: Regenerate.
2007-08-07 11:01:42 +00:00
Alan Modra 817c2f79fd daily update 2007-08-07 00:00:05 +00:00
Alan Modra d5191d0cd4 * elf.c: (_bfd_elf_make_section_from_phdr): Properly handle
bss segments.
2007-08-06 22:53:27 +00:00
Daniel Jacobowitz 5eda1c47e4 * Makefile.am (BUILD_HFILES): Clean bfd_stdint.h.
* Makefile.in: Regenerated.
2007-08-06 20:53:29 +00:00
Daniel Jacobowitz be118e79ae * configure.in: Update version to 2.18.50.
* configure: Regenerated.
2007-08-06 20:13:48 +00:00
Daniel Jacobowitz bd97cb95f8 2007-08-06 Paul Brook <paul@codesourcery.com>
* elf32-arm.c (elf32_arm_link_hash_entry): Add
	plt_maybe_thumb_refcount.
	(elf32_arm_link_hash_newfunc): Set plt_maybe_thumb_refcount.
	(elf32_arm_copy_indirect_symbol): Ditto.
	(elf32_arm_adjust_dynamic_symbol): Ditto.
	(bfd_elf32_arm_process_before_allocation): Handle R_ARM_THM_JUMP24.
	(arm_add_to_rel): Ditto.
	(elf32_arm_final_link_relocate): Merge R_ARM_THM_JUMP24 with
	R_ARM_THM_CALL.  Handle R_ARM_THM_JUMP19 against a PLT stub.
	(elf32_arm_gc_sweep_hook): Call check_use_blx.  Update plt counts
	for R_ARM_THM_JUMP24 and R_ARM_THM_JUMP19.
	(elf32_arm_check_relocs): Update plt counts for R_ARM_THM_JUMP24
	and R_ARM_THM_JUMP19.
	(allocate_dynrelocs): Use plt_maybe_thumb_refcount.
	(elf32_arm_finish_dynamic_symbol): Ditto.
	(elf32_arm_output_plt_map): Ditto.
2007-08-06 18:47:21 +00:00
Daniel Jacobowitz c981028a3f * elf.c (rewrite_elf_program_header): Handle sections not sorted
by address.
	(copy_elf_program_header): Likewise.
2007-08-06 18:35:18 +00:00
Alan Modra 6278344fb5 daily update 2007-08-06 00:00:05 +00:00
Alan Modra ef18b5a26a daily update 2007-08-05 00:00:06 +00:00
H.J. Lu f7231afc19 2007-08-04 H.J. Lu <hongjiu.lu@intel.com>
* elf-bfd.h (xvec_get_elf_backend_data): Add const.

	* elfcode.h (elf_object_p): Use xvec_get_elf_backend_data.
	* elfcore.h (elf_core_file_p): Likewise.
2007-08-04 16:31:00 +00:00
Alan Modra 49ff476a98 daily update 2007-08-04 00:00:05 +00:00
Alan Modra 551a778a37 daily update 2007-08-03 00:00:04 +00:00
H.J. Lu bd33be6e27 bfd/
2007-08-02  H.J. Lu  <hongjiu.lu@intel.com>

	* coffcode.h (ALIGN_SET): Removed.
	(ELIFALIGN_SET): Likewise.
	(coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES,
	IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES,
	IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES,
	IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES.

include/coff/

2007-08-02  H.J. Lu  <hongjiu.lu@intel.com>

	* pe.h (IMAGE_SCN_ALIGN_POWER_BIT_POS): New.
	(IMAGE_SCN_ALIGN_POWER_BIT_MASK): Likewise.
	(IMAGE_SCN_ALIGN_POWER_NUM): Likewise.
	(IMAGE_SCN_ALIGN_POWER_CONST): Likewise.
	(IMAGE_SCN_ALIGN_128BYTES): Likewise.
	(IMAGE_SCN_ALIGN_256BYTES): Likewise.
	(IMAGE_SCN_ALIGN_512BYTES): Likewise.
	(IMAGE_SCN_ALIGN_1024BYTES): Likewise.
	(IMAGE_SCN_ALIGN_2048BYTES): Likewise.
	(IMAGE_SCN_ALIGN_4096BYTES): Likewise.
	(IMAGE_SCN_ALIGN_8192BYTES): Likewise.
	(IMAGE_SCN_ALIGN_1BYTES): Redefined with
	IMAGE_SCN_ALIGN_POWER_CONST.
	(IMAGE_SCN_ALIGN_2BYTES): Likewise.
	(IMAGE_SCN_ALIGN_4BYTES): Likewise.
	(IMAGE_SCN_ALIGN_8BYTES): Likewise.
	(IMAGE_SCN_ALIGN_16BYTES): Likewise.
	(IMAGE_SCN_ALIGN_32BYTES): Likewise.
	(IMAGE_SCN_ALIGN_64BYTES): Likewise.
2007-08-02 16:02:01 +00:00
Alan Modra b49412aab8 daily update 2007-08-02 00:00:05 +00:00
Michael Snyder 9b0ec667bc 2007-08-01 Michael Snyder <msnyder@access-company.com>
* vms-tir.c (new_section): Fix cut and paste error.
2007-08-01 20:06:05 +00:00
Michael Snyder 20c6e70e8d 2007-08-01 Michael Snyder <msnyder@access-company.com>
* aoutx.h (aout_link_add_symbols): Return if count is zero.
2007-08-01 19:58:40 +00:00
Michael Snyder dcf6c77984 2007-08-01 Michael Snyder <msnyder@access-company.com>
* elf.c (bfd_elf_print_symbol): Macro dereferences pointer, so
	pointer must be non-null.
2007-08-01 19:55:10 +00:00
Nick Clifton e708816d5a * coffcode.h (coff_sort_func_alent): New function.
(coff_slurp_line_table): Sort line table if not already sorted.
2007-08-01 16:55:54 +00:00
Jakub Jelinek 55b581a678 * elf.c (_bfd_elf_map_sections_to_segments): Work around buggy
GCC 3.4.x warning.
2007-08-01 08:57:23 +00:00
Alan Modra ad756e3f9e * aoutx.h (swap_ext_reloc_in): Set howto to NULL for unknown
r_type.
	(swap_std_reloc_in): Likewise.
	(aout_link_input_section_std): Likewise.  Return with an error
	on unexpected relocation type.
	(aout_link_input_section_ext): Likewise.
2007-08-01 07:50:16 +00:00
Alan Modra f6e688f76b PR4694
* aoutx.h (final_link): Write a zero in first word of
	stringtab if no symbols rather than corrupting last byte
	of text/data.
2007-08-01 07:43:36 +00:00
Alan Modra 32d188a6f6 daily update 2007-08-01 00:00:06 +00:00
Jakub Jelinek 1c5265b57d * elf.c (get_program_header_size): Adjacent loadable .note*
sections need just one PT_NOTE segment.
	(_bfd_elf_map_sections_to_segments): Likewise.
2007-07-31 08:15:44 +00:00
Michael Snyder 9ee2139f60 2007-07-30 Michael Snyder <msnyder@access-company.com>
* coffgen.c (_bfd_coff_read_internal_relocs): Revert change of
	2007-07-26.  Buffer still in use, can't be freed.
2007-07-31 03:53:24 +00:00
Alan Modra 11fd5315ac daily update 2007-07-31 00:00:06 +00:00
Alan Modra 16ba7cd086 daily update 2007-07-30 00:00:05 +00:00
Alan Modra 89916163cd daily update 2007-07-29 00:00:06 +00:00
Alan Modra 888107e419 daily update 2007-07-28 00:00:05 +00:00
Michael Snyder d63388ff70 2007-07-27 Michael Snyder <msnyder@access-company.com>
* cofflink.c (coff_link_add_symbols): Return if count is zero.
2007-07-27 22:04:23 +00:00
Michael Snyder 50a39e971e 2007-07-27 Michael Snyder <msnyder@access-company.com>
* coff-i386.c (coff_i386_rtype_to_howto): Off by one error.
2007-07-27 21:23:01 +00:00
Michael Snyder 87b3278031 2007-07-27 Michael Snyder <msnyder@access-company.com>
* aoutx.h (slurp_symbol_table): Return if count == 0.
2007-07-27 19:04:39 +00:00
Michael Snyder 9d7038d330 2007-07-27 Michael Snyder <msnyder@access-company.com>
* coffgen.c (_bfd_coff_read_internal_relocs): Return if count is zero.
2007-07-27 18:54:04 +00:00
Michael Snyder c6aa130f78 2007-07-27 Michael Snyder <msnyder@access-company.com>
* elf32-i386.c (elf_i386_check_relocs): Check for null pointer.
2007-07-27 18:50:18 +00:00
H.J. Lu 170bfeb9d3 2007-07-27 H.J. Lu <hongjiu.lu@intel.com>
* config.bfd (x86_64-*-mingw*): Don't include x86_64coff_vec.
2007-07-27 13:26:44 +00:00
Michael Snyder 507f589808 2007-07-26 Michael Snyder <msnyder@access-company.com>
* coff-i386.c (coff_i386_rtype_to_howto): Guard against null.
2007-07-27 01:15:27 +00:00
Michael Snyder a6626e8c30 2007-07-26 Michael Snyder <msnyder@svkmacdonelllnx>
* linker.c (bfd_section_already_linked_table_insert): Change
	return type from void to boolean.  Return FALSE on failure.
	(_bfd_generic_section_already_linked): Test return value of
	bfd_section_already_linked_table_insert, call fatal on error.

	* elflink.c (_bfd_elf_section_already_linked): Test return value
	of bfd_section_already_linked_table_insert, call fatal on error.

	* libbfd-in.h (bfd_section_already_linked_table_insert): Update
	return type to bfd_boolean.

	* libbfd.h: Regenerate.
2007-07-27 01:04:29 +00:00
Adam Nemet 36e44abdc2 * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap,
bfd_slurp_armap): Improve function comment.
2007-07-27 00:49:06 +00:00
Alan Modra 4ccbd2de24 daily update 2007-07-27 00:00:06 +00:00
Michael Snyder 5ba8816a2d Fix bollixed check-in 2007-07-26 21:58:44 +00:00
Michael Snyder 2d4f3e92ff 2007-07-26 Michael Snyder <msnyder@access-company.com>
* linker.c (already_linked_newfunc): Check for NULL return from
	bfd_hash_allocate.
2007-07-26 21:53:35 +00:00
Michael Snyder ac38308c95 2007-07-26 Michael Snyder <msnyder@access-company.com>
* coffgen.c (fixup_symbol_value): Guard against null;
	bfd_is_com_section will dereference the section pointer.
2007-07-26 19:06:12 +00:00
Michael Snyder c82a7c57df 2007-07-26 Michael Snyder <msnyder@access-company.com>
* syms.c (bfd_decode_symclass): Guard against NULL, since
	bfd_is_com_section dereferences the pointer.
2007-07-26 18:53:51 +00:00
Michael Snyder 3d7b34d85b 2007-07-26 Michael Snyder <msnyder@access-company.com>
* srec.c (srec_scan): Check for EOF (critical because return value
	will be used as array index).
2007-07-26 18:45:13 +00:00
Michael Snyder 44c62d9e24 2007-07-26 Michael Snyder <msnyder@access-company.com>
* coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
	are not to be cached, free the temporary buffer.
2007-07-26 18:43:24 +00:00
Michael Snyder 078c4bfc87 2007-07-26 Michael Snyder <msnyder@access-company.com>
* aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
	or count == zero.
2007-07-26 18:30:28 +00:00
Michael Snyder 814b5378b4 2007-07-26 Michael Snyder <msnyder@access-company.com>
* tekhex.c (first_phase): Check return value for null.
2007-07-26 18:18:07 +00:00
Michael Snyder b7fd5ce17d 2007-07-26 Michael Snyder <msnyder@access-company.com>
* elf.c (_bfd_elf_get_synthetic_symtab): Remove meaningless
	pointer increment.
2007-07-26 18:15:46 +00:00
Alan Modra 33774f084b * elflink.c (_bfd_elf_fix_symbol_flags): Remove unnecessary
check on dynobj.  Remove bed shadow.
2007-07-26 13:45:59 +00:00
Alan Modra e62071b60e * srec.c (srec_get_section_contents): Return immediately on
count zero.  Check that offset and count are within section.
	* libbfd.c (_bfd_generic_get_section_contents): Check that
	offset + count does not overflow.
2007-07-26 12:34:43 +00:00
Alan Modra b9da616afe * srec.c (srec_canonicalize_symtab): Don't alloc when symcount
is zero.  Correct return value on error.
	* mmo.c (mmo_canonicalize_symtab): Likewise.
	* binary.c (binary_canonicalize_symtab) Correct return on error.
2007-07-26 11:13:59 +00:00
Thiemo Seufer c2c966314b * bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL. 2007-07-26 11:05:23 +00:00
Alan Modra d494715016 * reloc.c (bfd_generic_get_relocated_section_contents): Avoid
bfd_canonicalize_reloc call when bfd_get_reloc_upper_bound
	says there are no relocs.
2007-07-26 09:37:13 +00:00
Nick Clifton bd210d54db Speed up bfd_dwarf2_find_line.
* dwarf2.c (struct dwarf2_debug): Add new fields to support function and variable info hash tables. Add last_comp_unit, info_hash_count, funcinfo_hash_table, varinfo_hash_table, hash_units_head.
  (struct comp_unit): Add prev_unit, cached.
  (struct info_list_node, struct info_hash_entry, struct info_hash_table): New.
  (info_hash_table_newfunc, create_info_hash_table, insert_info_hash_table, lookup_info_hash_table): New functions implementing function and variable info hash tables.
  (scan_unit_for_symbols): Add checks to make sure hash tables are consistent with compilation units.
  (comp_unit_maybe_decode_line_info): New function.
  (comp_unit_find_line): Use comp_unit_maybe_decode_line_info.
  (reverse_funcinfo_list, reverse_varinfo_list, comp_unit_hash_info, info_hash_lookup_funcinfo, info_hash_lookup_varinfo, stash_maybe_update_info_hash_table, stash_verify_info_hash_table, stash_maybe_enable_info_hash_tables, stash_find_line_fast): New functions. Make use of info hash tables to speed up bfd_dwarf2_find_line.
  (find_line): Use hash table for faster lookup if it is turned on.
  Also add code to maintain bi-directional link in comp units.
2007-07-26 08:31:03 +00:00
Michael Snyder 353c55748a 2007-07-25 Michael Snyder <msnyder@access-company.com>
* coffgen.c (_bfd_coff_get_external_symbols): Nothing to be done
	if size == 0; return and avoid possible null pointer issues.
2007-07-26 02:01:49 +00:00
Alan Modra d429448cf8 daily update 2007-07-26 00:00:07 +00:00
Alan Modra 7124a847c2 daily update 2007-07-25 00:00:17 +00:00
Alan Modra f08c429c32 warning fix 2007-07-24 23:38:13 +00:00
Michael Snyder f6eea5aed8 2007-07-23 Michael Snyder <msnyder@access-company.com>
* opncls.c (bfd_make_writable): Check return from bfd_malloc.
2007-07-24 19:58:06 +00:00
Michael Snyder d0f16d5ece 2007-07-24 Michael Snyder <msnyder@access-company.com>
* elflink.c (bfd_elf_final_link): Avoid redundant frees -- return
	on bfd_malloc error rather than goto error_return.
2007-07-24 19:54:01 +00:00
Alan Modra 4d269e42e3 * elflink.c (_bfd_elf_link_just_syms, merge_sections_remove_hook,
_bfd_elf_merge_sections, _bfd_elf_link_hash_newfunc,
	_bfd_elf_link_hash_copy_indirect, _bfd_elf_link_hash_hide_symbol,
	_bfd_elf_link_hash_table_init, _bfd_elf_link_hash_table_create,
	bfd_elf_set_dt_needed_name, bfd_elf_get_dyn_lib_class,
	bfd_elf_set_dyn_lib_class, bfd_elf_get_needed_list,
	bfd_elf_get_runpath_list, bfd_elf_get_dt_soname,
	bfd_elf_get_bfd_needed_list, struct elf_symbuf_symbol,
	struct elf_symbuf_head, struct elf_symbol, elf_sort_elf_symbol,
	elf_sym_name_compare, elf_create_symbuf,
	bfd_elf_match_symbols_in_sections,
	_bfd_elf_match_sections_by_type): Move to here..
	* elf.c: ..from here.
2007-07-24 08:09:20 +00:00
Alan Modra 685b3d2680 daily update 2007-07-24 00:00:06 +00:00
Richard Sandiford a26587bab5 bfd/
* elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
	of weakdef->root.type if weakdef has no regular definition.

ld/testsuite/
	* ld-elf/weak-dyn-1a.s, ld-elf/weak-dyn-1b.s, ld-elf/weak-dyn-1.ld,
	* ld-elf/weak-dyn-1.rd: New test.
	* ld-elf/elf.exp: Run it.
2007-07-23 09:56:19 +00:00
Alan Modra 07a5aea53e daily update 2007-07-23 00:00:06 +00:00
Adam Nemet 0e53d9daab * elfxx-mips.c (struct mips_elf_link_hash_table): Add new field
small_data_overflow_reported.
	(_bfd_mips_elf_link_hash_table_create): Initialize it.
	(_bfd_mips_elf_relocate_section) <bfd_reloc_overflow>: Report
	small-data section overflow.
2007-07-22 16:45:06 +00:00
Alan Modra 9516781d06 daily update 2007-07-22 00:00:05 +00:00
Alan Modra 8dcdf3b7aa daily update 2007-07-21 00:00:05 +00:00
Alan Modra dec4bb46b3 daily update 2007-07-20 00:00:07 +00:00
Nick Clifton 6b33789f61 PR binutils/4797
* dwarf2.c: (find_line) Do not dereference functionname_ptr if do_line is true.
2007-07-19 16:51:10 +00:00
Alan Modra b93bc07744 daily update 2007-07-19 00:00:06 +00:00
Bob Wilson 13161072f2 * elf32-xtensa.c (xtensa_callback_required_dependence): Ignore
non-ELF sections.
2007-07-18 21:06:06 +00:00
Bob Wilson e29297b73c * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
vma and size for dynamic tags from the output sections.
2007-07-18 18:23:47 +00:00
Alan Modra a5d1b3b53e * elf-bfd.h (struct sym_sec_cache): Delete "sec". Add "shndx".
* elf.c (bfd_section_from_r_symndx): Don't cache bfd section of
	symbol.  Instead cache ELF section index.  Remove redundant
	checks of st_shndx.
2007-07-18 11:23:37 +00:00
Alan Modra e6b368d89f daily update 2007-07-18 00:00:05 +00:00
Alan Modra bd4dd364df daily update 2007-07-17 00:00:06 +00:00
Alan Modra cbafdc0d90 daily update 2007-07-16 00:00:06 +00:00
Mike Frysinger d955dada99 * trad-core.c (NBPG): If not defined, set to getpagesize(). 2007-07-15 06:33:34 +00:00
Alan Modra 20ee575b1e daily update 2007-07-15 00:00:06 +00:00
Alan Modra c144990811 daily update 2007-07-14 00:00:06 +00:00
Roland McGrath 979dc3bca9 . 2007-07-13 10:44:44 +00:00
Roland McGrath bfb53a4f5b 2007-07-13 Roland McGrath <roland@redhat.com>
* elf-bfd.h (struct elf_obj_tdata): Revert last change.
	Add after_write_object_contents, after_write_object_contents_info.
	* elf.c (_bfd_elf_write_object_contents): Revert last change.
	Instead, call after_write_object_contents if set.
2007-07-13 10:44:12 +00:00
Alan Modra 44139f2d0c daily update 2007-07-13 00:00:05 +00:00
Nick Clifton d2df793a71 Add support for building on a 64-bit Windows host. 2007-07-12 07:16:41 +00:00
Alan Modra 2d9d480e3b daily update 2007-07-12 00:00:06 +00:00
Alan Modra 5aa7ce4b0a daily update 2007-07-11 00:00:06 +00:00
H.J. Lu a3a4ddad29 2007-07-10 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in: Regenerated.
2007-07-10 15:03:03 +00:00
H.J. Lu 329b43c490 2007-07-10 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/4756
	* simple.c (bfd_simple_get_relocated_section_content): Don't
	apply relocation on executable and shared library.
2007-07-10 13:49:04 +00:00
Nathan Sidwell cfd2c77310 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate
copy relocs on vxworks.
2007-07-10 07:42:30 +00:00
Alan Modra 1489a3a0d7 * elf32-arm.c (elf32_arm_size_info): Init checksum_contents field.
* elf64-alpha.c (alpha_elf_size_info): Likewise.
	* elf64-hppa.c (hppa64_elf_size_info): Likewise.
	* elf64-mips.c (mips_elf64_size_info): Likewise.
	* elf64-s390.c (s390_elf64_size_info): Likewise.
	* elf64-sparc.c (elf64_sparc_size_info): Likewise.
2007-07-10 04:08:12 +00:00
H.J. Lu 00cbee0aa8 2007-07-09 H.J. Lu <hongjiu.lu@intel.com>
* elflink.c (bfd_elf_record_link_assignment): Handle indirect
	symbol.
	(_bfd_elf_merge_symbol): Properly update normal symbol when
	overriding the versioned symbol from a dynamic library.
2007-07-10 02:40:31 +00:00
Alan Modra e93cb65d42 daily update 2007-07-10 00:00:05 +00:00
Roland McGrath fd2f25da9b . 2007-07-09 21:25:39 +00:00
Roland McGrath ff59fc360e 2007-07-09 Roland McGrath <roland@redhat.com>
* elf-bfd.h (struct elf_obj_tdata): Add members
	emit_note_gnu_build_id and note_gnu_build_id_sec.
	* elf.c (_bfd_id_note_section_size): New global function.
	(read_hex, _bfd_elf_write_build_id_section): New static functions.
	(_bfd_elf_write_object_contents): Call _bfd_elf_write_build_id_section
	if emit_note_gnu_build_id is set.
	* Makefile.am (elf.lo): Update dependencies.
2007-07-09 21:23:43 +00:00
Roland McGrath 20a761b5e9 2007-07-09 Roland McGrath <roland@redhat.com>
* elf-bfd.h (struct elf_obj_tdata): Add members
	emit_note_gnu_build_id and note_gnu_build_id_sec.
	* elf.c (_bfd_id_note_section_size): New global function.
	(read_hex, _bfd_elf_write_build_id_section): New static functions.
	(_bfd_elf_write_object_contents): Call _bfd_elf_write_build_id_section
	if emit_note_gnu_build_id is set.
	* Makefile.am (elf.lo): Update dependencies.
	* elf-bfd.h (struct elf_size_info): Add checksum_contents hook.
	(bfd_elf32_checksum_contents, bfd_elf64_checksum_contents): Declare.
	* elfcode.h (elf_checksum_contents): New macro and function.
	(NAME(_bfd_elf,size_info)): Initialize checksum_contents hook.
2007-07-09 21:23:39 +00:00
Roland McGrath d94838b102 2007-07-09 Roland McGrath <roland@redhat.com>
* elf-bfd.h (struct elf_size_info): Add checksum_contents hook.
	(bfd_elf32_checksum_contents, bfd_elf64_checksum_contents): Declare.
	* elfcode.h (elf_checksum_contents): New macro and function.
	(NAME(_bfd_elf,size_info)): Initialize checksum_contents hook.
2007-07-09 21:23:37 +00:00
Alan Modra 049c3c6b72 daily update 2007-07-09 00:00:06 +00:00
Alan Modra 5da62ef0e8 daily update 2007-07-08 00:00:06 +00:00
Alan Modra 489cadc25a daily update 2007-07-07 00:00:06 +00:00
Alan Modra 9af2a943ee * elflink.c (elf_link_add_object_symbols): Return via
error_free_vers on "notice" failure.
2007-07-06 02:29:10 +00:00
Alan Modra e3bb9257f6 daily update 2007-07-06 00:00:05 +00:00
H.J. Lu a93221e521 2007-07-04 H.J. Lu <hongjiu.lu@intel.com>
* peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
	if arch is unknown.
2007-07-05 02:50:02 +00:00
Alan Modra 004082e09a daily update 2007-07-05 00:00:06 +00:00
Nick Clifton b49281938d * elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly compensate
for high bit set in R_MEP_LOW16.
2007-07-04 14:23:22 +00:00
Alan Modra 51afcce0d3 daily update 2007-07-04 00:00:05 +00:00
Joseph Myers 3cfad14c4a bfd:
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
	input attributes if value has been copied.

ld/testsuite:
	* ld-arm/attr-merge-2a.s, ld-arm/attr-merge-2b.s,
	ld-arm/attr-merge-2.attr: New.
	* ld-arm/arm-elf.exp (armelftests): Add new test.
2007-07-03 15:21:30 +00:00
Nick Clifton cd123cb70c Switch sources over to use the GPL version 3 2007-07-03 14:26:43 +00:00
Alan Modra 6e29ef6d28 daily update 2007-07-03 00:00:05 +00:00
Joseph Myers 741d6ea85b bfd:
* elfxx-mips.c (mips_elf_calculate_relocation): Handle
	R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64.
	* elf64-mips.c (mips_elf64_howto_table_rela): Support
	R_MIPS_TLS_DTPREL64.

gas:
	* config/tc-mips.c (s_dtprelword, s_dtpreldword,
	s_dtprel_internal): New.
	(mips_pseudo_table): Add .dtprelword and .dtpreldword.
	(md_apply_fix): Handle BFD_RELOC_MIPS_TLS_DTPREL32 and
	BFD_RELOC_MIPS_TLS_DTPREL64.
2007-07-02 10:49:42 +00:00
Alan Modra ae351704e2 Regenerate files. 2007-07-02 07:12:53 +00:00
Alan Modra 3e5484dbb9 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy
symsec != NULL tests.
2007-07-02 06:51:57 +00:00
Alan Modra 08a40648e5 PR 4712
* elf.c (assign_file_positions_for_load_sections): Adjust lma
	by p_vaddr_offset.
2007-07-02 06:47:43 +00:00
Alan Modra 3adf154903 daily update 2007-07-02 00:00:06 +00:00
Alan Modra 89526cc00d daily update 2007-07-01 00:00:04 +00:00
H.J. Lu 86b57e315d bfd/
2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* aclocal.m4: Regenerated.
	* Makefile.in: Likewise.

bfd/doc/

2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in: Likewise.

binutils/

2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* aclocal.m4: Regenerated.
	* doc/Makefile.in: Likewise.
	* Makefile.in: Likewise.

gas/

2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* aclocal.m4: Regenerated.
	* doc/Makefile.in: Likewise.
	* Makefile.in: Likewise.

gprof/

2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* aclocal.m4: Regenerated.
	* Makefile.in: Likewise.

ld/

2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* aclocal.m4: Regenerated.
	* Makefile.in: Likewise.

opcodes/

2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* aclocal.m4: Regenerated.
	* Makefile.in: Likewise.
2007-06-30 17:21:16 +00:00
Joseph Myers 34c8bcbae2 bfd:
* elf32-ppc.c (ppc_elf_merge_obj_attributes): New.
	(ppc_elf_merge_private_bfd_data): Call it.

binutils:
	* readelf.c (display_power_gnu_attribute, process_power_specific):
	New.
	(process_arch_specific): Call process_power_specific.

include/elf:
	* ppc.h (Tag_GNU_Power_ABI_FP): Define.

ld/testsuite:
	* ld-powerpc/attr-gnu-4-0.s, ld-powerpc/attr-gnu-4-00.d,
	ld-powerpc/attr-gnu-4-01.d, ld-powerpc/attr-gnu-4-02.d,
	ld-powerpc/attr-gnu-4-1.s, ld-powerpc/attr-gnu-4-10.d,
	ld-powerpc/attr-gnu-4-11.d, ld-powerpc/attr-gnu-4-12.d,
	ld-powerpc/attr-gnu-4-13.d, ld-powerpc/attr-gnu-4-2.s,
	ld-powerpc/attr-gnu-4-20.d, ld-powerpc/attr-gnu-4-21.d,
	ld-powerpc/attr-gnu-4-22.d, ld-powerpc/attr-gnu-4-3.s,
	ld-powerpc/attr-gnu-4-31.d: New.
	* ld-powerpc/powerpc.exp: Run these new tests.
2007-06-30 00:03:40 +00:00
Alan Modra 89ebe69733 daily update 2007-06-30 00:00:05 +00:00
Joseph Myers 2cf19d5cb9 bfd:
* elfxx-mips.c (mips_elf_merge_obj_attributes): New.
	(_bfd_mips_elf_merge_private_bfd_data): Call it.

binutils:
	* readelf.c (display_mips_gnu_attribute): New.
	(process_mips_specific): Call process_attributes.

include/elf:
	* mips.h (Tag_GNU_MIPS_ABI_FP): Define.

ld/testsuite:
	* ld-mips-elf/attr-gnu-4-0.s, ld-mips-elf/attr-gnu-4-00.d,
	ld-mips-elf/attr-gnu-4-01.d, ld-mips-elf/attr-gnu-4-02.d,
	ld-mips-elf/attr-gnu-4-03.d, ld-mips-elf/attr-gnu-4-1.s,
	ld-mips-elf/attr-gnu-4-10.d, ld-mips-elf/attr-gnu-4-11.d,
	ld-mips-elf/attr-gnu-4-12.d, ld-mips-elf/attr-gnu-4-13.d,
	ld-mips-elf/attr-gnu-4-14.d, ld-mips-elf/attr-gnu-4-2.s,
	ld-mips-elf/attr-gnu-4-20.d, ld-mips-elf/attr-gnu-4-21.d,
	ld-mips-elf/attr-gnu-4-22.d, ld-mips-elf/attr-gnu-4-23.d,
	ld-mips-elf/attr-gnu-4-3.s, ld-mips-elf/attr-gnu-4-30.d,
	ld-mips-elf/attr-gnu-4-31.d, ld-mips-elf/attr-gnu-4-32.d,
	ld-mips-elf/attr-gnu-4-33.d, ld-mips-elf/attr-gnu-4-4.s,
	ld-mips-elf/attr-gnu-4-41.d: New.
	* ld-mips-elf/mips-elf.exp: Run these new tests.
2007-06-29 16:41:32 +00:00
Joseph Myers 104d59d19c bfd:
* elf-attrs.c: New.
	* Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo.
	(BFD32_BACKENDS_CFILES): Add elf-attrs.c.
	(elf-attrs.lo): Generate dependencies.
	* Makefile.in: Regenerate.
	* configure.in (elf): Add elf-attrs.lo.
	* configure: Regenerate.
	* elf-bfd.h (struct elf_backend_data): Add entries for object
	attributes.
	(NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list,
	OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST,
	Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility):
	New.
	(struct elf_obj_tdata): Add entries for object attributes.
	(elf_known_obj_attributes, elf_other_obj_attributes,
	elf_known_obj_attributes_proc, elf_other_obj_attributes_proc):
	New.
	(bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents,
	bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int,
	bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string,
	bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat,
	bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup,
	_bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type,
	_bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New.
	* elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes.
	(bfd_section_from_shdr): Handle attributes sections.
	* elflink.c (bfd_elf_final_link): Handle attributes sections.
	* elfxx-target.h (elf_backend_obj_attrs_vendor,
	elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type,
	elf_backend_obj_attrs_section_type): New.
	(elfNN_bed): Update.
	* elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute,
	aeabi_attribute_list): Remove.
	(struct elf32_arm_obj_tdata): Remove object attributes fields.
	(check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2,
	elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes):
	Update for new object attributes interfaces.
	(uleb128_size, is_default_attr, eabi_attr_size,
	elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
	elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
	elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int,
	elf32_arm_add_eabi_attr_int, attr_strdup,
	elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
	copy_eabi_attributes, elf32_arm_parse_attributes): Remove.  Moved
	to generic code in elf-attrs.c.
	(elf32_arm_obj_attrs_arg_type): New.
	(elf32_arm_fake_sections): Do not handle .ARM.attributes.
	(elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES.
	(bfd_elf32_bfd_final_link): Remove.
	(elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section,
	elf_backend_obj_attrs_arg_type,
	elf_backend_obj_attrs_section_type): New.
	* elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object
	attributes.
	* elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise.
	* elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise.
	* elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise.
	* elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise.
	* elf32-sh.c (sh_elf_copy_private_data): Likewise.
	* elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.

binutils:
	* readelf.c (display_gnu_attribute): New.
	(process_arm_specific): Rearrange as process_attributes.
	(process_arm_specific): Replace by wrapper of process_attributes.

gas:
	* as.c (create_obj_attrs_section): New.
	(main): Call create_obj_attrs_section for ELF.
	* read.c (s_gnu_attribute, skip_whitespace, skip_past_char,
	skip_past_comma, s_vendor_attribute): New.
	(potable): Add gnu_attribute for ELF.
	* read.h (s_vendor_attribute): Declare.
	* config/tc-arm.c (s_arm_eabi_attribute): Replace by wrapper
	round s_vendor_attribute.
	(aeabi_set_public_attributes): Update for new attributes
	interfaces.
	(arm_md_end): Remove attributes contents setting now done
	generically.

include/elf:
	* arm.h (elf32_arm_add_eabi_attr_int,
	elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
	elf32_arm_get_eabi_attr_int, elf32_arm_set_eabi_attr_contents,
	elf32_arm_eabi_attr_size, Tag_NULL, Tag_File, Tag_Section,
	Tag_Symbol, Tag_compatibility): Remove.
	* common.h (SHT_GNU_ATTRIBUTES): Define.

ld:
	* emulparams/armelf.sh (OTHER_SECTIONS): Remove .ARM.attributes.
	(ATTRS_SECTIONS): Define.
	* scripttempl/elf.sc, scripttempl/elf32sh-symbian.sc,
	scripttempl/elf_chaos.sc, scripttempl/elfi370.sc,
	scripttempl/elfxtensa.sc: Handle ATTRS_SECTIONS.
2007-06-29 16:29:17 +00:00
Paul Brook 5ab7998193 2007-06-29 Paul Brook <paul@codesourcery.com>
bfd/
	* elf32-arm.c (bfd_elf32_arm_process_before_allocation): Suppress
	call veneers for call relocations against undefined symbols.
	(elf32_arm_final_link_relocate): Turn call to undefined symbol
	into a jump to the next instruction.

	ld/testuite/
	* ld-arm/arm-elf.exp (armelftests): Add callweak.
	* ld-arm/callweak.d: New test.
	* ld-arm/callweak.s: New test.
2007-06-29 15:05:47 +00:00
Nick Clifton 32e8a950c4 * bfd.c (bfd_demangle): Plug memory leak (Coverity). 2007-06-29 14:36:21 +00:00
Nick Clifton 3d3d428f04 New port: National Semiconductor's CR16 2007-06-29 14:09:34 +00:00
Alan Modra c55fe0967e * elflink.c (_bfd_elf_link_assign_sym_version): Improve error
message for undefined version nodes.
	(elf_gc_sweep): Don't warn when zero size sections are
	removed.
2007-06-29 02:09:42 +00:00
Alan Modra 375de94a5e * elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation
types.
2007-06-29 01:51:55 +00:00
Alan Modra 7d3287cb71 * elf32-spu.c (spu_elf_fake_sections): New function.
(elf_backend_fake_sections): Define.
2007-06-29 01:39:54 +00:00
H.J. Lu 36fc76aebb Mention PR ld/4701. 2007-06-29 01:22:40 +00:00
Alan Modra 6a3cd2b4ed * elf.c (assign_file_positions_for_load_sections): Use elf
section header sh_size rather than bfd section size, simplifying
	.tbss handling.
2007-06-29 01:21:08 +00:00
Alan Modra bf988460f1 * elf.c (assign_file_positions_for_load_sections): Ensure bss
segments meet gABI alignment requirements.  Don't allocate
	file space for bss sections in a segment also containing file
	or program headers.
2007-06-29 01:12:52 +00:00
Alan Modra 0f504e0094 daily update 2007-06-29 00:00:05 +00:00
Alan Modra fe0a07a117 daily update 2007-06-28 00:00:05 +00:00
Alan Modra cc481421d0 bfd/
* bfd.c (struct bfd): Rename "next" to "archive_next".
	* archive.c: Rename uses throughout file.
	* archive64.c: Likewise.
	* coff-rs6000.c: Likewise.
	* ecoff.c: Likewise.
	* som.c: Likewise.
	* bfd-in2.h: Regenerate.
binutils/
	* ar.c: Rename uses of bfd.next to bfd.archive_next throughout.
	* arsup.c: Likewise.
	* binemul.c: Likewise.
	* objcopy.c: Likewise.
	* dlltool.c: Likewise.
ld/
	* pe-dll.c: Rename uses of bfd.next to bfd.archive_next throughout.
2007-06-27 11:54:10 +00:00
Alan Modra 58eb693ef1 * elf32-spu.c (spu_elf_create_sections): Properly iterate over
input bfds.
2007-06-27 07:12:54 +00:00
Alan Modra 60b31e8d17 * elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over
input bfds.
2007-06-27 06:42:14 +00:00
Alan Modra bd30bda7eb daily update 2007-06-27 00:00:05 +00:00
Nick Clifton bec42b1574 * dwarf2.c (find_line): New. Contains the duplicated code from:
(_bfd_dwarf2_find_nearest_line): Use it.
  (_bfd_dwarf2_find_line): Use it.
2007-06-26 14:28:13 +00:00
Joseph Myers 3d3e6f9a7c bfd:
* elf32-arm.c (copy_eabi_attributes): Copy type of attributes.

ld/testsuite:
	* ld-arm/attr-merge.s, ld-arm/attr-merge.attr: New.
	* ld-arm/arm-elf.exp (armelftests): Add new test.
2007-06-26 13:55:04 +00:00
Alan Modra 5bbffd3d1d daily update 2007-06-26 00:00:05 +00:00