Commit Graph

6185 Commits

Author SHA1 Message Date
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