Commit Graph

4178 Commits

Author SHA1 Message Date
Alan Modra 8615f3f213 bfd/
* elf.c (_bfd_elf_get_dynamic_reloc_upper_bound): Only include
	loadable reloc sections.
	(_bfd_elf_canonicalize_dynamic_reloc): Likewise.
	(_bfd_elf_get_synthetic_symtab): Return 0 if no dynamic syms.
binutils/
	* nm.c (display_rel_file): Read dynamic syms before calling
	bfd_get_synthetic_symtab.
2005-01-25 10:33:55 +00:00
Alan Modra 7e9f086769 bfd/
* elflink.c (elf_link_add_object_symbols): Don't create link dynamic
	sections immediately when linking shared libs.  Instead, wait until
	we know a lib is needed.
	(_bfd_elf_link_create_dynstrtab): Extract from..
	(_bfd_elf_link_create_dynamic_sections_): ..here.
	(elf_add_dt_needed_tag): Call _bfd_elf_link_create_dynstrtab and
	_bfd_elf_link_create_dynamic_sections.  Add abfd param.  Allow
	for non-existent .dynamic.
	(elf_link_output_extsym): Don't complain about undefined symbols
	in as-needed dynamic libs that aren't actually linked.
ld/
	* emultempl/elf32.em (gld${EMULATION_NAME}_try_needed): Formatting.
	(gld${EMULATION_NAME}_after_open): Ignore needed libs if they were
	only needed by an as-needed lib that didn't get linked.
2005-01-25 01:40:04 +00:00
Alan Modra 147db43d38 daily update 2005-01-24 23:00:07 +00:00
Andrew Cagney 45181ed16d 2005-01-24 Andrew Cagney <cagney@gnu.org>
* gettext.m4: Only fall back to ../intl/ when it's present.
2005-01-24 20:01:09 +00:00
Alan Modra 7cf2451106 daily update 2005-01-23 23:00:06 +00:00
Alan Modra a6f6220f01 daily update 2005-01-22 23:00:05 +00:00
Alan Modra 5f0715770b daily update 2005-01-21 23:00:11 +00:00
Ben Elliston 753e3eb6f2 * aout-encap.c: Remove unused file. 2005-01-21 03:27:53 +00:00
Alan Modra 9a12353f39 daily update 2005-01-20 23:00:05 +00:00
Alan Modra b4f61ddf3a daily update 2005-01-19 23:00:05 +00:00
H.J. Lu 1c16dfa5fd 2005-01-19 H.J. Lu <hongjiu.lu@intel.com>
PR 679
	* elflink.c (_bfd_elf_dynamic_symbol_p): Only protected
	non-function symbols are local.
	(_bfd_elf_symbol_refs_local_p): Likewise.
2005-01-19 16:15:11 +00:00
Alan Modra b16a311506 daily update 2005-01-18 23:00:07 +00:00
Alan Modra 1449d79bae bfd/
* bfd.c (bfd_link_just_syms): Add abfd param.
	* bfd-in2.h: Regenerate.
ld/
	* ldlang.c (section_already_linked): Adjust bfd_link_just_syms call.
	(lang_place_orphans): Don't abort on just_syms_flag, instead call
	bfd_link_just_syms.
2005-01-18 08:51:54 +00:00
Alan Modra f2ea2a2251 daily update 2005-01-17 23:00:08 +00:00
Richard Sandiford dcf507a6ee * elf-eh-frame.c (skip_cfa_op, skip_non_nops): New functions.
(_bfd_elf_discard_section_eh_frame): Use them to interpret the CFA
	instructions.  If the amount of padding is known, reduce the size
	of the CIE or FDE by that amount.
2005-01-17 17:44:41 +00:00
Richard Sandiford 2c42be6506 * elf-bfd.h (struct cie): Use bfd_vmas for code_align, ra_column and
augmentation_size.  Use bfd_signed_vmas for data_align.
	* elf-eh-frame.c (read_uleb128, read_sleb128): Delete in favor of...
	(read_byte, skip_leb128, read_uleb128, read_sleb128): ...these new
	functions.  Don't read past the end of the enclosing CIE or FDE.
	(skip_bytes): New utility function.
	(_bfd_elf_discard_section_eh_frame): Use new functions, adding more
	sanity checking.
	(_bfd_elf_write_section_eh_frame): Use new functions.
2005-01-17 17:41:47 +00:00
Richard Sandiford acfe556796 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use an
assert-style REQUIRE() macro to handle sanity checks.
2005-01-17 17:39:27 +00:00
H.J. Lu c0c28ab8b2 2005-01-17 H.J. Lu <hongjiu.lu@intel.com>
* dwarf2.c (dwarf2_debug): Move info_ptr_unit to ...
	(comp_unit): Here.
	(read_unsigned_leb128): Removed.
	(read_signed_leb128): Removed.
	(find_abstract_instance_name): Updated.
	(parse_comp_unit): Accept info_ptr_unit.
	(_bfd_dwarf2_find_nearest_line): Set info_ptr_unit for each
	comp unit and pass it to parse_comp_unit.

	* elf-eh-frame.c (read_unsigned_leb128): Moved to ...
	(read_signed_leb128): Moved to ...
	* libbfd.c: Here.

	* libbfd-in.h (read_unsigned_leb128): New prototype.
	(read_signed_leb128): Likewise.
	* libbfd.h: Regenerated.
2005-01-17 17:12:00 +00:00
Nick Clifton e38bc3b524 Fix SH2A machine variants in order to correctly select instruction inheritance 2005-01-17 14:08:17 +00:00
Alan Modra d7ebd26642 daily update 2005-01-16 23:00:05 +00:00
Alan Modra 5bd605a683 daily update 2005-01-15 23:00:06 +00:00
Andrew Cagney 8fb84ecc44 2005-01-15 Andrew Cagney <cagney@gnu.org>
* bfd.m4: New file.
	* acinclude.m4: Move BFD_NEED_DECLARATION,
	BFD_HAVE_SYS_PROCFS_TYPE and BFD_HAVE_SYS_PROCFS_TYPE_MEMBER to
	the new file bfd.m4.  Include ../bfd/bfd.m4.
	* configure: Re-generate.
2005-01-15 19:14:54 +00:00
Alan Modra f304d6ec50 daily update 2005-01-14 23:00:06 +00:00
Alan Modra e5f80da454 daily update 2005-01-13 23:00:05 +00:00
Alan Modra 310368cbdf daily update 2005-01-12 23:00:05 +00:00
Alan Modra b4a38de6b6 include/elf/
* ppc.h (R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Define.
	(R_PPC_RELAX32, R_PPC_RELAX32PC): Adjust value.
bfd/
	* elf32-ppc.c (ppc_elf_howto_raw): Delete RELAX32* entries.
	(ppc_elf_relax_section): Use PLT variants of RELAX32 relocs for
	reaching PLT.
	(ppc_elf_relocate_section): Handle R_PPC_RELAX32_PLT and
	R_PPC_RELAX32PC_PLT.
2005-01-12 11:28:28 +00:00
Alan Modra 917e110241 daily update 2005-01-11 23:00:06 +00:00
Alan Modra 3eb128b2a5 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Follow indirect and warning
symbols.
	* 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-ppc.c (ppc_elf_gc_sweep_hook): Likewise.
	* elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
	* elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
	* elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise.
	* elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
	* elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise.
	* elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
	* elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
2005-01-11 09:32:53 +00:00
Alan Modra 264a1fe053 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Correct
.dynsbss flags.
2005-01-11 08:30:35 +00:00
Alan Modra 96d24e6d62 daily update 2005-01-10 23:00:06 +00:00
Nick Clifton 5c4504f7c5 Add support for maxq10 and maxq20 machine values 2005-01-10 16:33:51 +00:00
Eric Botcazou 669460c7e6 * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): When linking a
non-shared object, do not reserve space in .plt and .rela.plt
	for regular symbols neither defined nor referenced in shared objects.
2005-01-10 11:23:01 +00:00
Alan Modra f7b8d4d00a daily update 2005-01-09 23:00:05 +00:00
Eric Botcazou 01aac484a6 * elf32-sparc.c (elf32_sparc_link_hash_table_create): Use bfd_zmalloc
to zero the structure.
	(create_got_section): Use BFD_ASSERT instead of abort.
2005-01-09 19:49:22 +00:00
Eric Botcazou a51a7930ba * elf64-sparc.c (struct sparc64_elf_link_hash_table): New 'sgot' and
'srelgot' fields.
	(create_got_section): New function.
	(sparc64_elf_create_dynamic_sections): Likewise.
	(sparc64_elf_check_relocs): Invoke create_got_section instead of
	_bfd_elf_create_got_section.  Use the sgot and srelgot shortcuts.
	(sparc64_elf_size_dynamic_sections): Use the srelgot shortcut.
	(sparc64_elf_relocate_section): Use the sgot and srelgot shortcuts.
	(sparc64_elf_finish_dynamic_symbol): Likewise.
	(sparc64_elf_finish_dynamic_sections): Use the sgot shortcut.
	(elf_backend_create_dynamic_sections): Define to
	sparc64_elf_create_dynamic_sections.
2005-01-09 19:48:28 +00:00
Eric Botcazou 151e5294b9 * elf32-sparc.c (elf32_sparc_omit_section_dynsym): New function.
(elf_backend_omit_section_dynsym): Define to it.
	* elf64-sparc.c (sparc64_elf_omit_section_dynsym): New function.
	(elf_backend_omit_section_dynsym): Define to it.
2005-01-09 09:26:55 +00:00
Alan Modra a5e16994ff daily update 2005-01-08 23:00:05 +00:00
Alan Modra 5110786067 daily update 2005-01-07 23:00:05 +00:00
Jakub Jelinek 6f79b21913 * bfd/elf.c (INCLUDE_SECTION_IN_SEGMENT): Don't put empty sections into
PT_DYNAMIC segment, unless .dynamic.
2005-01-07 09:52:00 +00:00
Alan Modra d89a8790cd daily update 2005-01-06 23:00:07 +00:00
Paul Brook 4e7fd91e3e 2005-01-06 Paul Brook <paul@codesourcery.com>
bfd/
	* config.bfd: Add entry for arm-*-vxworks and arm-*-windiss.
	* configure.in: Add bfd_elf32_{big,little}arm_vxworks_vec.
	* configure: Regenerate.
	* elf32-arm.c: Add VxWorks target bfd.
	(USE_REL): Remove.
	(elf32_arm_link_hash_table): Add use_rel.
	(elf32_arm_link_hash_table_create, elf32_arm_final_link_relocate,
	elf32_arm_relocate_section): Replace USE_REL with runtime check.
	Correct offset calculation for RELA case.
	(elf_backend_may_use_rel_p, elf_backend_may_use_rela_p,
	elf_backend_default_use_rela_p, elf_backend_rela_normal): Define.
	(elf32_arm_vxworks_link_hash_table_create): New function.
	* targets.c (bfd_elf32_bigarm_vxworks_vec): Add declaration.
	(bfd_elf32_littlearm_vxworks_vec): Ditto.
	(_bfd_target_vector): Add bfd_elf32_{big,little}arm_vxworks_vec.
gas/
	* config/tc-arm.c (FPU_DEFAULT): Define for TE_VXWORKS.
	(md_begin): Handle TE_VXWORKS for FP defaults.
	(md_apply_fix3): Correct rela offsets.
	(elf32_arm_target_format): Add VxWorks targets.
ld/
	* Makefie.am: Add earmelf_vxworks.
	* Makefile.in: Regenerate.
	* configure.tgt: Make arm-*-vxworks a separate case.
	* emulparams/armelf_vxworks.sh: New function.
2005-01-06 16:18:25 +00:00
Alan Modra 4c52953f84 bfd/
* elf64-ppc.c (struct ppc_link_hash_table): Add no_multi_toc and
	multi_toc_needed.
	(has_toc_reloc, makes_toc_func_call, call_check_in_progress): Define.
	(ppc64_elf_check_relocs): Update references to has_gp_reloc.
	(ppc64_elf_setup_section_lists): Add no_multi_toc parm, set htab bit.
	(ppc64_elf_next_toc_section): Heed no_multi_toc.
	(ppc64_elf_reinit_toc): Set multi_toc_needed.
	(toc_adjusting_stub_needed): Rewrite.
	(ppc64_elf_next_input_section): Use multi_toc_needed to shortcut
	toc tests.  Adjust for toc_adjusting_stub_needed changes.
	(ppc64_elf_size_stubs): Update references to has_gp_reloc.
	* elf64-ppc.h (ppc64_elf_setup_section_lists): Update prototype.
	* section.c: Expand comment on backend bits.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
ld/
	* emultempl/ppc64elf.em (no_multi_toc): New var.
	(gld${EMULATION_NAME}_finish): Pass to ppc64_elf_setup_section_lists.
	(OPTION_NO_MULTI_TOC): Define.
	(PARSE_AND_LIST_LONGOPTS): Add --no-multi-toc support.
	(PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Likewise.
2005-01-06 09:03:56 +00:00
Alan Modra f03d65b413 * elf64-ppc.c (ppc64_elf_size_stubs): When determining need for
toc adjusting stub, do not test source section flags.
2005-01-06 08:41:05 +00:00
Alan Modra 36a969794b daily update 2005-01-05 23:00:05 +00:00
Eric Botcazou 8af139b3f9 * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
from STABS debugging sections again.
2005-01-05 15:24:56 +00:00
Fred Fish 06f22d7e75 Approved by nickc@redhat.com:
2005-01-05  Fred Fish  <fnf@specifixinc.com>
	* dwarf2.c (struct dwarf2_debug): Add info_ptr_unit member.
	(find_abstract_instance_name): New function.
	(scan_unit_for_functions): Handle DW_TAG_inlined_subroutine.
	(scan_unit_for_functions): Handle DW_AT_abstract_origin.
	(_bfd_dwarf2_find_nearest_line): Initialize info_ptr_unit.
2005-01-05 10:37:05 +00:00
Alan Modra 80837d18f6 daily update 2005-01-04 23:00:05 +00:00
Alan Modra f8c6763531 daily update 2005-01-03 23:00:05 +00:00
Alan Modra cbe32a9d91 daily update 2005-01-02 23:00:05 +00:00
Alan Modra 0161d54a92 daily update 2005-01-01 23:00:06 +00:00