Commit Graph

1759 Commits

Author SHA1 Message Date
Alan Modra
818c39a387 * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
file_name.
2002-05-01 07:36:39 +00:00
Alan Modra
721956f4fe * elf64-ppc.c (CROR_151515, CROR_313131): Define.
(ppc64_elf_relocate_section): Use them.  Don't look for plt calls
	on R_PPC64_ADDR24 relocs.  Require a nop or no link reg on plt
	call branches.  Correct undefined weak destination.
	(ppc64_elf_func_desc_adjust): Always create at least one blr in
	.sfpr, and correct case where either only savef* or restf* is
	needed.

	Long branch stubs, multiple stub sections.
	* elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
	(ppc64_elf_next_input_section): Declare.
	* elf64-ppc.c: Move linker-only prototypes.
	(STUB_SUFFIX): Define.
	(enum ppc_stub_type): New.
	(struct ppc_stub_hash_entry): New.
	(struct ppc_branch_hash_entry): New.
	(struct ppc_link_hash_entry): Add stub_cache, oh.
	(struct ppc_link_hash_table): Add stub_hash_table etc.  Remove
	sstub.  Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
	Rename plt_overflow to stub_error.
	(ppc_stub_hash_lookup): Define.
	(ppc_branch_hash_lookup): Define.
	(stub_hash_newfunc): New function.
	(branch_hash_newfunc): New function.
	(link_hash_newfunc): Init new fields.
	(ppc64_elf_link_hash_table_create): Likewise.
	(ppc64_elf_link_hash_table_free): New function.
	(ppc_stub_name): New function.
	(ppc_get_stub_entry): New function.
	(ppc_add_stub): New function.
	(create_linkage_sections): Use bfd_make_section_anyway.  Create
	.branch_lt and .rela.branch_lt sections.  Don't create .stub.
	(ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
	and set up for plt call stubs.  Link func and func desc syms.
	(ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
	(func_desc_adjust): Avoid hash lookup when func desc sym available
	via shortcut, and set links when processing.
	(ppc64_elf_hide_symbol): Likewise.
	(allocate_dynrelocs): Don't allocate stub section here.
	(ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
	Remove sstub code.
	(ppc_type_of_stub): New function.
	(build_one_stub): Delete.
	(ppc_build_one_stub): New function.
	(ppc_size_one_stub): New function.
	(ppc64_elf_setup_section_lists): New function.
	(ppc64_elf_next_input_section): New function.
	(group_sections): New function.
	(get_local_syms): New function.
	(ppc64_elf_size_stubs): Rewrite.
	(ppc64_elf_build_stubs): Rewrite.
	(ppc64_elf_relocate_section): Look up stub entry for REL24
	relocs.  Don't propagate REL14* to dynamic objects.  Look for long
	branch stubs if REL14* or REL24 relocs won't reach.
	(bfd_elf64_bfd_link_hash_table_free): Define.
2002-05-01 02:34:20 +00:00
Alan Modra
ac6f77a8d3 daily update 2002-05-01 00:00:04 +00:00
Mark Mitchell
09c2219b6b * bfd/config.bfd: Add support for powerpc-*-windiss. 2002-04-30 17:42:34 +00:00
Tom Rix
07b678c0c3 Fix a problem with static linking with cross tools. 2002-04-30 04:32:51 +00:00
Alan Modra
ebd6292812 daily update 2002-04-30 00:00:05 +00:00
Alan Modra
7ba93af661 daily update 2002-04-29 00:00:04 +00:00
Tom Rix
dbe341c625 Rewrite xcoff*_ppc_relocate_section. 2002-04-28 14:34:39 +00:00
Alan Modra
985142a4c6 * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
* elf32-hppa.c (elf32_hppa_final_link): Formatting.
2002-04-28 12:29:46 +00:00
Alan Modra
201f5c0309 daily update 2002-04-28 00:00:05 +00:00
Alan Modra
e32eb77491 daily update 2002-04-27 00:00:05 +00:00
Alan Modra
e54fdaa5c9 * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
* xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
2002-04-26 13:43:10 +00:00
Alan Modra
a50c18456e * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
same as the output before calling elf_link_input_bfd.
2002-04-26 12:59:23 +00:00
Alan Modra
fd55a5dffb typo fix in last change 2002-04-26 06:01:20 +00:00
Alan Modra
eba9104496 * coffcode.h (coff_compute_section_file_positions): Set
section_tail after shuffling section list.
2002-04-26 03:16:43 +00:00
Alan Modra
d5ba2a0169 daily update 2002-04-26 00:00:05 +00:00
Nick Clifton
3c25c5f6e8 The patch contains mostly fixes for the disassembler. It also fixes
a crash of the assembler with some malformed source input.
Long segmented addresses are now correctly relocated.
Finally it updates my email address in the MAINTAINERS file.
2002-04-25 10:59:24 +00:00
Alan Modra
96c4b5e0c7 daily update 2002-04-25 00:00:08 +00:00
Chris Demetriou
40d32fc608 2002-04-24 Chris G. Demetriou <cgd@broadcom.com>
* elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
        MIPS-16 ASE flags are set, print something to indicate that.
2002-04-24 18:49:00 +00:00
Alan Modra
9146f2980c daily update 2002-04-24 00:00:05 +00:00
Alan Modra
067fa4a66b * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
under which a plt call stub is used.
	(final_link_relocate): Similarly.
	(allocate_plt_static): Clear h-plabel except when plt entry is
	exclusively used for a plabel.
	(allocate_dynrelocs): Use the above to simplify plt sizing.
	(struct elf32_hppa_link_hash_table): Add has_22bit_branch.
	(elf32_hppa_link_hash_table_create): Init.
	(BL22_RP): Define.
	(hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
	(elf32_hppa_check_relocs): Set has_22bit_branch.

	* elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
	(final_link_relocate): Likewise.
2002-04-23 05:11:23 +00:00
Alan Modra
bfa37dc8d3 daily update 2002-04-23 00:00:07 +00:00
Jakub Jelinek
af40ce3c79 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
search table if some FDE is DW_EH_PE_aligned encoded either.
	(_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
2002-04-22 21:37:48 +00:00
Jakub Jelinek
09ae86c216 * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
(_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
	encoded personality.
	(_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
	for CIE/FDE removal.
2002-04-22 12:06:01 +00:00
Alan Modra
eaa7db9139 daily update 2002-04-22 00:03:58 +00:00
Alan Modra
1efdf8039d daily update 2002-04-21 00:00:05 +00:00
Tom Rix
deeb2cd7e6 Fix C_FILE auxent on xcoff64. 2002-04-20 06:47:24 +00:00
Alan Modra
aa3d5824a4 * archures.c (bfd_lookup_arch): Move the list order comment..
(struct bfd_arch_info): ..to where it belongs.
2002-04-20 03:25:20 +00:00
Alan Modra
99dc00929f * archures.c (bfd_lookup_arch): Add comment on list order.
(bfd_default_set_arch_mach): Use bfd_lookup_arch.
	* cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
	is always at head of list.
2002-04-20 02:54:26 +00:00
Alan Modra
40911fc00e daily update 2002-04-20 00:00:05 +00:00
Alan Modra
05924ed4b9 daily update 2002-04-19 00:00:06 +00:00
Nick Clifton
7831a7758e Fix problems building arm-wince-pe toolchain. 2002-04-18 09:28:29 +00:00
Alan Modra
26505dde2d daily update 2002-04-18 00:00:06 +00:00
Joern Rennecke
a44d7f9cfb Re-enable linking for sh5:
ld:
	* emulparams/shelf32.sh (MACHINE): Now sh5.
bfd:
	* cpu-sh.c (scan_mach): Delete.
	(arch_info_struct): Replace scan_mach with bfd_default_scan.
	(bfd_sh_arch): Likewise.
2002-04-17 19:31:53 +00:00
Alan Modra
2be0d1d9cd daily update 2002-04-17 00:00:06 +00:00
Nick Clifton
3d8dbe36e2 Fix test for records crossing a 64K boundary 2002-04-16 10:18:14 +00:00
Alan Modra
4ab8270019 * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
type rather than just assuming entries are ELF.
	* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
	* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
	* elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
	rather than elf_link_hash_entry.
2002-04-16 04:58:12 +00:00
Richard Henderson
036fe0fe8e * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
n32 binaries.
2002-04-16 00:57:00 +00:00
Alan Modra
b7ae17ce92 daily update 2002-04-16 00:00:05 +00:00
Nick Clifton
c4f3d13082 Write contents if writeable. 2002-04-15 14:32:28 +00:00
Alan Modra
272423870a * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type. 2002-04-15 08:47:03 +00:00
Alan Modra
57bf4c4605 daily update 2002-04-15 00:00:06 +00:00
Alan Modra
a29216ec3c daily update 2002-04-14 00:00:05 +00:00
Alan Modra
7e3cc7d4d0 daily update 2002-04-13 00:00:05 +00:00
Michael Snyder
0c04d16993 2002-04-12 Michael Snyder <msnyder@redhat.com>
* bfd-in.h (bfd_get_section_lma): New access macro.
	Minor white-space fix-up.
2002-04-12 23:02:12 +00:00
Alan Modra
89d4966ff8 * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
header pad.
2002-04-12 03:30:56 +00:00
Alan Modra
728f70c465 daily update 2002-04-12 00:00:05 +00:00
Alan Modra
ab22415894 daily update 2002-04-11 00:00:05 +00:00
DJ Delorie
8d0da3c2f5 * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks. 2002-04-10 16:45:31 +00:00
Alan Modra
0e994e6610 daily update 2002-04-10 00:00:06 +00:00