Commit Graph

1893 Commits

Author SHA1 Message Date
Nick Clifton
a9bf115413 Support sparc64-openbsd corefiles as well. 2002-05-13 08:33:26 +00:00
Alan Modra
3129eb7aaa * Makefile.am (install-data-local): Install headers to
$(exec_prefix)/include.
	* Makefile.in: Regenerate.
2002-05-13 00:58:40 +00:00
Alan Modra
297131eb5f daily update 2002-05-13 00:00:06 +00:00
Alan Modra
9c1348e4a2 daily update 2002-05-12 00:00:04 +00:00
Daniel Jacobowitz
a9a32010d5 2002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
Daniel Jacobowitz  <drow@mvista.com>

        * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE.  Don't
        map BFD_RELOC_RVA.
2002-05-11 17:15:53 +00:00
Nick Clifton
690cc98be9 Add configure supprot for: alpha*-*-openbsd*, sparc64*-*-openbsd*,
hppa*-*-openbsd*
2002-05-11 09:10:14 +00:00
Alan Modra
9759e2f688 daily update 2002-05-11 00:00:05 +00:00
Tom Rix
f1f0d9ab14 XCOFF64 fixes. For setting arch/mach and for R_BR relocations. 2002-05-10 21:20:16 +00:00
Alan Modra
16a1038833 * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
addend in 2002-05-09 commit.
2002-05-10 07:34:52 +00:00
Alan Modra
c432ba1a88 * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
don't look for stubs on all undefined syms.
2002-05-10 02:03:47 +00:00
Alan Modra
d0965404a4 daily update 2002-05-10 00:00:04 +00:00
Alan Modra
8fc39d5d55 * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
(ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
	pcrel_offset.
2002-05-09 11:40:16 +00:00
Alan Modra
4a335f3dc2 * elf32-i386.c (elf_howto_table): Comments.
(elf_i386_relocate_section): Handle more relocs for relocatable
	linking and against SEC_MERGE sections.
2002-05-09 06:34:43 +00:00
Alan Modra
aed0229aa8 daily update 2002-05-09 00:00:05 +00:00
Alan Modra
41fcb14eb3 * elf32-ppc.c (ppc_elf_create_got): New function.
(ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
	_bfd_elf_create_dynamic_sections.  Correct .plt flags.
	(ppc_elf_check_relocs): Use ppc_elf_create_got in place of
	_bfd_elf_create_got_section.
2002-05-08 05:12:54 +00:00
Alan Modra
fc432c1fd5 daily update 2002-05-08 00:00:04 +00:00
Alan Modra
b491616acb * elf-bfd.h (struct elf_backend_data): Add rela_normal.
* elfxx-target.h (elf_backend_rela_normal): Define.
	(elfNN_bed): Init rela_normal.
	* elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
	for section symbols here if rela_normal.  Simplify abs section test.
	* elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
	return immediately.  Remove code handling relocatable linking.
	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
	* elf32-i370.c (i370_elf_relocate_section): Likewise.
	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
	* elf32-s390.c (elf_s390_relocate_section): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
	* elf64-s390.c (elf_s390_relocate_section): Likewise.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
	* elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
	* elf-m10200.c (elf_backend_rela_normal): Define.
	* elf-m10300.c (elf_backend_rela_normal): Define.
	* elf32-fr30.c (elf_backend_rela_normal): Define.
	* elf32-i370.c (elf_backend_rela_normal): Define.
	* elf32-i860.c (elf_backend_rela_normal): Define.
	* elf32-m68k.c (elf_backend_rela_normal): Define.
	* elf32-mcore.c (elf_backend_rela_normal): Define.
	* elf32-openrisc.c (elf_backend_rela_normal): Define.
	* elf32-ppc.c (elf_backend_rela_normal): Define.
	* elf32-s390.c (elf_backend_rela_normal): Define.
	* elf32-xstormy16.c (elf_backend_rela_normal): Define.
	* elf64-ppc.c (elf_backend_rela_normal): Define.
	* elf64-s390.c (elf_backend_rela_normal): Define.
	* elf64-x86-64.c (elf_backend_rela_normal): Define.
	* elfxx-ia64.c (elf_backend_rela_normal): Define.
	* elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
	* elf32-m32r.c (elf_backend_rela_normal): Likewise.
2002-05-07 00:16:53 +00:00
Alan Modra
862eabf1fb daily update 2002-05-07 00:09:35 +00:00
Nick Clifton
df212a7e7f Fix check for overflow of relocation for the Thumb BL instruction. 2002-05-06 13:47:55 +00:00
Alan Modra
3decf53c32 * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
when not relocatable.  Fix reloc_emitter call for K&R.
2002-05-06 12:49:58 +00:00
Alan Modra
fd984e46b6 * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
when not relocatable.  Fix reloc_emitter call for K&R.
2002-05-06 08:54:44 +00:00
Alan Modra
dba8e4d779 daily update 2002-05-06 00:00:03 +00:00
Alan Modra
e7ba5db766 daily update 2002-05-05 00:00:05 +00:00
Alan Modra
f46c2da63e * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
reloading local sym addend mistakenly removed in 2002-05-01 change.

	* dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
	(read_abbrevs): Change "offset" param to bfd_vma.
	(parse_comp_unit): Change "version" and addr_size to unsigned ints.
	Change "abbrev_offset" to bfd_vma.
	(read_indirect_string): Use correct conversion chars in error
	message format string, cast bfd_vma's to unsigned long.
	(read_abbrevs): Likewise.
	(read_attribute_value): Likewise.
	(decode_line_info): Likewise.
	(scan_unit_for_functions): Likewise.
	(parse_comp_unit): Likewise.
2002-05-04 12:01:02 +00:00
Tom Rix
59862849e4 Fix problem with objdump and 16 bit R_BA. 2002-05-04 10:07:18 +00:00
Alan Modra
b4655ea917 * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
bfd_count top_index, input_list, all_local_syms.
	(elf32_hppa_setup_section_lists): New function, split from
	elf32_hppa_size_stubs.
	(elf32_hppa_next_input_section): Likewise.
	(group_sections): Likewise.
	(get_local_syms): Likewise.
	(elf32_hppa_size_stubs): Adjust for split out functions.  Look for
	stubs on undefined syms too.
	(elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
	Only access htab elf fields when we have and elf hash table.
	* elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
	(elf32_hppa_next_input_section): Declare.
2002-05-04 02:06:22 +00:00
Alan Modra
301e31397f * opncls.c (_bfd_new_bfd_contained_in): Check return value of
_bfd_new_bfd.
2002-05-04 01:31:08 +00:00
Alan Modra
ae0c415a5c daily update 2002-05-04 00:00:06 +00:00
H.J. Lu
7c5fcef7ab 2002-05-03 H.J. Lu (hjl@gnu.org)
* elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
	(mips_elf_link_hash_newfunc): Initialize forced_local to false.
	(mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
	to hide a global symbol.
	(_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
	forced_local to true.
2002-05-03 19:53:20 +00:00
Alan Modra
38110bc4c3 daily update 2002-05-03 00:00:04 +00:00
Richard Henderson
84de6048cc * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
vs SHN_UNDEF to zero.
2002-05-02 17:46:59 +00:00
Alan Modra
c061c2d8bb * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
16 bit reloc.
	<R_PPC64_SECTOFF_DS>: Likewise.
	(ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
	SECTOFF reloc.
	* elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
	(ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
	SECTOFF reloc.
2002-05-02 12:35:25 +00:00
Alan Modra
805fc79928 * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
(ppc64_elf_ha_reloc): New function.
	(ppc64_elf_brtaken_reloc): New function.
	(ppc64_elf_sectoff_reloc): New function.
	(ppc64_elf_sectoff_ha_reloc): New function.
	(ppc64_elf_toc_reloc): New function.
	(ppc64_elf_toc_ha_reloc): New function.
	(ppc64_elf_toc64_reloc): New function.
	(ppc64_elf_unhandled_reloc): New function.
	(ppc64_elf_howto_raw): Use the above.
	<R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
	<R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset.  Fix dst_mask.
	<R_PPC64_SECTOFF_DS>: Likewise.
	(IS_ABSOLUTE_RELOC): Update.
	(struct ppc_link_hash_table): Add have_undefweak.
	(ppc64_elf_link_hash_table_create): Init.
	(func_desc_adjust): Set have_undefweak.
	(ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier.  Only
	add the .sfpr blr when have_undefweak.
	(ppc64_elf_setup_section_lists): Check hash table flavour.
	(ppc64_elf_next_input_section): Move output_section->owner test to
	ppc64elf.em.
	(ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
	and relocatable test.  Return TOCstart and don't set elf_gp.
	(ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
	offset calculation.  Add assert on weak sym branch tweaks.
	* elf64-ppc.h (ppc64_elf_set_toc): Delete.
	(ppc64_elf_toc): Declare.
	(ppc64_elf_next_input_section): Update.

	* emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation):
	Adjust for ppc64_elf_set_toc change.  #include libbfd.h.
	(build_section_lists): Do output_section tests here.
2002-05-02 09:48:15 +00:00
Alan Modra
8c9776af97 daily update 2002-05-02 00:00:06 +00:00
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
Nick Clifton
05793179d7 Compute checksum for PE images. 2002-04-09 16:43:26 +00:00
Alan Modra
3a36d7ae63 daily update 2002-04-09 00:00:04 +00:00
Alan Modra
46fe4e66d4 * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
(elf32_hppa_final_link): Split out sorting logic to..
	* elf-hppa.h (elf_hppa_sort_unwind): ..here.
	(elf_hppa_final_link): Call elf_hppa_sort_unwind.
2002-04-08 11:01:43 +00:00
Alan Modra
04c61bf388 daily update 2002-04-08 00:00:06 +00:00
Andrew Cagney
3b5b409c5c * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
pattern.
* configure: Re-generate.
2002-04-07 21:49:09 +00:00
Andrew Cagney
ac7b6ceb87 * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
is greater or equal to 4.3.3.
* configure: Regenerate.
Fix PR gdb/344.
2002-04-07 21:42:32 +00:00
Alan Modra
239ea0b4e3 daily update 2002-04-07 00:00:05 +00:00
Alan Modra
6adce8c596 daily update 2002-04-06 00:00:08 +00:00
Hans-Peter Nilsson
44aa49bb65 * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
R_CRIS_32_PCREL>: Fix typo in name.
	(cris_elf_check_relocs): Always create .rela.got here when
	R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
	(elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
	assume it's created.
2002-04-05 23:11:32 +00:00
Alan Modra
2b9dd17b2f daily update 2002-04-05 00:00:04 +00:00
Daniel Jacobowitz
e2d34d7de2 2002-04-04 Daniel Jacobowitz <drow@mvista.com>
* aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
	* aout-target.h (MY_bfd_link_hash_table_free): Conditionally
	define.
	* aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
	* bfd.c (bfd_link_hash_table_free): Define.
	* binary.c (binary_bfd_link_hash_table_free): Define.
	* bout.c (b_out_bfd_link_hash_table_free): Define.
	* coff-rs6000.c (rs6000coff_vec): Include
	_bfd_generic_link_hash_table_free.
	(pmac_xcoff_vec): Likewise.
	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
	(aix5coff64_vec): Likewise.
	* coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
	* elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
	(bfd_elf32_bfd_link_hash_table_free): Define.
	* elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
	(bfd_elf32_bfd_link_hash_table_free): Define.
	* elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
	define.
	* i386msdos.c (msdos_bfd_link_hash_table_free): Define.
	* i386os9k.c (os9k_bfd_link_hash_table_free): Define.
	* ieee.c (ieee_bfd_link_hash_table_free): Define.
	* ihex.c (ihex_bfd_link_hash_table_free): Define.
	* libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
	(_bfd_generic_link_hash_table_free): Add prototype.
	* libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
	* libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
	* linker.c (_bfd_generic_link_hash_table_free): New function.
	* mmo.c (mmo_bfd_link_hash_table_free): Define.
	* nlm-target.h (nlm_bfd_link_hash_table_free): Define.
	* oasys.c (oasys_bfd_link_hash_table_free): Define.
	* ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
	* som.c (som_bfd_link_hash_table_free): Define.
	* srec.c (srec_bfd_link_hash_table_free): Define.
	* tekhex.c (tekhex_bfd_link_hash_table_free): Define.
	* versados.c (versados_bfd_link_hash_table_free): Define.
	* vms.c (vms_bfd_link_hash_table_free): New function.
	* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.

	* coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
	instead of bfd_alloc.
	* coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
	* coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
	* coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
	* cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
	* ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
	* elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
	* elf.c (_bfd_elf_link_hash_table_create): Likewise.
	* elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
	* elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
	* elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
	* elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
	* elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
	* elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
	* elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
	* elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
	* elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
	* elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
	* elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
	* elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
	* elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
	* linker.c (_bfd_generic_link_hash_table_create): Likewise.
	* m68klinux.c (linux_link_hash_table_create): Likewise.
	* sparclinux.c (linux_link_hash_table_create): Likewise.
	* sunos.c (sunos_link_hash_table_create): Likewise.
	* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.

	* targets.c: Add _bfd_link_hash_table_free to xvec.

	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
	* libcoff.h: Regenerate.
2002-04-04 19:53:38 +00:00
Alan Modra
830629ab3e * dep-in.sed: Cope with absolute paths.
* Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
	Run "make dep-am".
	* Makefile.in: Regenerate.
	* coff-arm.c: Fix copyright date.
	* cpu-h8300.c: Likewise.
	* cpu-i370.c: Likewise.
	* cpu-s390.c: Likewise.
	* cpu-mips.c: Likewise.
	* po/SRC-POTFILES.in: Regenerate.
2002-04-04 14:04:39 +00:00
Thiemo Seufer
b49e97c944 Actually commit the new files ommitted before. 2002-04-04 07:10:00 +00:00
Thiemo Seufer
c6e90b027b * Makefile.am: Add elfxx-mips.c to the known backends.
(elf32-mips.lo): remove dependency to coff/external.h.
	* Makefile.in: Regenerate.
	* configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
	Remove elf32-mips.lo from 64 bit vectors. Update dependencies
	accordingly.
	* configure: Regenerate.
	* elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
	(irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
	(elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
	MIPS specific backend functions.
	* elf32-mips.c: Moved most code to elfxx-mips.c.
	(mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
	static.
	(mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
	(mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
	(mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
	(mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
	interface to allow selection of the right REL or RELA howto table.
	(mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
	static. Let it refuse n32 objects.
	(elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
	(elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
	(elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
	(elf32_mips_ignore_discarded_relocs): Rename from
	_bfd_elf32_mips_ignore_discarded_relocs.
	(elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
	(elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
	(elf_mips_howto_table_rela): Remove.
	* elf64-mips.c: Moved most code to elfxx-mips.c.
	(bfd_elf64_bfd_reloc_type_lookup): Make static.
	(mips_elf64_rtype_to_howto): New function.
	(mips_elf64_object_p): Likewise.
	(elf64_mips_irix_compat): Likewise.
	* elfxx-mips.c: New file containing common code merged together from
	elf32-mips.c and elf64-mips.c.
	* elfxx-mips.h: New file containing MIPS specific prototypes from
	elf-bfd.h.
	* elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
	elf_backend_mips_rtype_to_howto.
2002-04-04 07:01:27 +00:00
Alan Modra
d8dce6926a * srec.c (MAXCHUNK, Chunk): Revise comments.
(srec_write_record): Correct buffer size.
	(srec_write_header): Do without intermediate buffer.
	(srec_write_section): Validate Chunk.
	(srec_write_terminator): Pass NULL instead of dummy buffer.
	(srec_write_symbols): Pass file and symbol names directly to
	bfd_bwrite so sprintf won't overflow buffer.
2002-04-04 03:05:51 +00:00
Alan Modra
f7e6cf1d80 daily update 2002-04-04 00:00:04 +00:00
Jakub Jelinek
b88a866a5a * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
PC relative relocs against hidden symbols.
	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2002-04-03 17:42:39 +00:00
Alan Modra
d7866f0459 * elf.c (_bfd_elf_make_section_from_shdr): When setting section
LMAs, loop over segments until p_vaddr and p_memsz specify an
	extent enclosing the section.
2002-04-03 13:26:34 +00:00
Alan Modra
88eaec8b86 daily update 2002-04-03 00:00:05 +00:00
Nick Clifton
9e81ee6719 Do not allow records to cross a 64K boundary - wrap if necessary. 2002-04-02 14:08:51 +00:00
Alan Modra
d24bbf0666 daily update 2002-04-02 00:00:07 +00:00
Jason Thorpe
d2b645005b 2002-04-01 Nathan Williams <nathanw@wasabisystems.com>
* elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one erro
which caused the returned LWP ID to always be 0.
2002-04-01 18:31:46 +00:00
Richard Henderson
e36f7d5326 * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
(elf32_sparc_relocate_section): Use it to figure out when to
        initialize .got entries.
        * elf64-sparc.c: Similarly.
2002-04-01 10:00:49 +00:00
Alan Modra
74ebceb12b daily update 2002-04-01 00:00:06 +00:00
Alan Modra
3b83b064b0 daily update 2002-03-31 00:00:09 +00:00
Alan Modra
f00ef9ead4 daily update 2002-03-29 23:00:07 +00:00
Alan Modra
3a0bd4a71b daily update 2002-03-28 23:00:05 +00:00
Alan Modra
e92d460e59 * linker.c (link_action): Ignore duplicate warning syms.
(_bfd_generic_link_write_global_symbol): Follow warning symbol link.
	* elflink.h (elf_adjust_dynstr_offsets): Likewise.
	(elf_adjust_dynamic_symbol): Likewise.
	(elf_export_symbol): Likewise.
	(elf_link_find_version_dependencies): Likewise.
	(elf_link_assign_sym_version): Likewise.
	(elf_link_sec_merge_syms): Likewise.
	(elf_link_output_extsym): Likewise.
	(elf_gc_sweep_symbol): Likewise.
	(elf_gc_propagate_vtable_entries_used): Likewise.
	(elf_gc_smash_unused_vtentry_relocs): Likewise.
	(elf_gc_allocate_got_offsets): Likewise.
	(elf_collect_hash_codes): Likewise.
	* elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
	* elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
	(elf_hppa_remark_useless_dynamic_symbols): Likewise.
	* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
	* elf32-arm.h (elf32_arm_discard_copies): Likewise.
	* elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
	(elf_cris_discard_excess_dso_dynamics): Likewise.
	* elf32-hppa.c (clobber_millicode_symbols): Likewise.
	(mark_PIC_calls): Likewise.
	(allocate_plt_static): Likewise.
	(allocate_dynrelocs): Likewise.
	(readonly_dynrelocs): Likewise.
	* elf32-i386.c (allocate_dynrelocs): Likewise.
	(readonly_dynrelocs): Likewise.
	* elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
	* elf32-m68k.c (elf_m68k_discard_copies): Likewise.
	* elf32-mips.c (mips_elf_output_extsym): Likewise.
	(mips_elf_sort_hash_table_f): Likewise.
	(mips_elf_check_mips16_stubs): Likewise.
	* elf32-s390.c (allocate_dynrelocs): Likewise.
	(readonly_dynrelocs): Likewise.
	* elf32-sh.c (sh_elf_discard_copies): Likewise.
	* elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
	(xstormy16_relax_plt_realloc): Likewise.
	* elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
	(elf64_alpha_output_extsym): Likewise.
	* elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
	* elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
	(mips_elf64_check_mips16_stubs): Likewise.
	(mips_elf64_output_extsym): Likewise.
	* elf64-ppc.c (func_desc_adjust): Likewise.
	(allocate_dynrelocs): Likewise.
	(readonly_dynrelocs): Likewise.
	* elf64-s390.c (allocate_dynrelocs): Likewise.
	(readonly_dynrelocs): Likewise.
	* elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
	* elf64-x86-64.c (allocate_dynrelocs): Likewise.
	(readonly_dynrelocs): Likewise.
	* elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
	* aoutx.h (aout_link_write_other_symbol): Likewise.
	* cofflink.c (_bfd_coff_write_task_globals): Likewise.
	(_bfd_coff_write_global_sym): Likewise.
	* i386linux.c (linux_tally_symbols): Likewise.
	* m68klinux.c (linux_tally_symbols): Likewise.
	* sparclinux.c (linux_tally_symbols): Likewise.
	* pdp11.c (aout_link_write_other_symbol): Likewise.
	* sunos.c (sunos_scan_dynamic_symbol): Likewise.
	* xcofflink.c (xcoff_build_ldsyms): Likewise.
	(xcoff_write_global_symbol): Likewise.

	* cofflink.c (_bfd_coff_final_link): Formatting.
	* cpu-mips.c (mips_compatible): Make static, prototype.
	* elf32-i386.c (elf_i386_check_relocs): Formatting.
	* elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
	* elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
	* elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
	(mips_elf64_final_link): Likewise.
	* elflink.h (elf_link_find_version_dependencies): Remove duplicate
	prototype.
2002-03-28 03:27:46 +00:00
Alan Modra
fd74cc6bd4 daily update 2002-03-27 23:00:01 +00:00
Nick Clifton
2106126f87 Copy the r_offset field into and out of the internal reloc strcuture. 2002-03-27 11:28:19 +00:00
Alan Modra
b99d18333d * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
terminating NULL if empty symbol table.
	(_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
2002-03-27 00:16:54 +00:00
Alan Modra
3cd4963f28 daily update 2002-03-26 23:00:01 +00:00
H.J. Lu
ad43ed4ce4 2002-03-26 H.J. Lu (hjl@gnu.org)
* elflink.h (elf_link_input_bfd): Revert the last change since
	the gcc exception handling isn't fixed yet.
2002-03-26 18:13:54 +00:00
H.J. Lu
3851fca49e 2002-03-26 H.J. Lu (hjl@gnu.org)
* elflink.h (elf_link_input_bfd): Complain about relocations
	against local symbols in discarded sections.
2002-03-26 16:01:04 +00:00
Alan Modra
b91afed73b * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections. 2002-03-26 11:54:12 +00:00
Alan Modra
ea65073a11 daily update 2002-03-25 23:00:02 +00:00
Alan Modra
d1e228db53 daily update 2002-03-24 23:00:04 +00:00
Alan Modra
ab783794ec daily update 2002-03-23 23:00:03 +00:00
Alan Modra
dba143efb3 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
section file offset for !SEC_LOAD sections.
2002-03-23 13:14:33 +00:00
Alan Modra
f16a318880 daily update 2002-03-22 23:00:03 +00:00
Alan Modra
b0c9d9c269 daily update 2002-03-21 23:01:32 +00:00
Richard Earnshaw
ee29b9fb00 * elf32-arm.h (elf32_arm_final_link_relocate case R_ARM_GOTOFF)
(case R_ARM_GOT): Handle relocations to Thumb functions.
2002-03-21 15:26:03 +00:00
Alan Modra
54327882f0 * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
Whitespace changes.
	* archive.c: Update copyright date.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
	* Makefile.am: Run "make dep-am"
	* Makefile.in: Regenerate.
	* po/SRC-POTFILES.in: Regenerate.
2002-03-21 09:15:18 +00:00
Alan Modra
aba34ed49d daily update 2002-03-20 23:00:04 +00:00
Daniel Jacobowitz
1ee24f278e 2002-03-20 Daniel Jacobowitz <drow@mvista.com>
* dwarf2.c (struct funcinfo): Move up.
        (lookup_address_in_function_table): New argument function_ptr.
        Set it.
        (lookup_address_in_line_table): New argument function.  If function
        is non-NULL, use it to handle ``addr'' before the first line note of
        the function.
        (comp_unit_find_nearest_line): Update and swap calls to
        lookup_address_in_function_table and lookup_address_in_line_table.
        * syms.c (_bfd_stab_section_find_nearest_line): Use the first
        N_SLINE encountered if we see an N_FUN before any N_SLINE.
2002-03-20 19:15:30 +00:00
Tom Rix
51b9608c3a Fix extracting from AIX big archives. 2002-03-20 16:49:10 +00:00
Tom Rix
789c90aa81 Fix problem with linking shared libstdc++-v3 on AIX. 2002-03-20 12:03:27 +00:00
Alan Modra
b233223b80 daily update 2002-03-19 23:00:01 +00:00
Hans-Peter Nilsson
1da54d81fd * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
STT_NOTYPE symbols to STT_OBJECT.
2002-03-19 20:21:54 +00:00
Alan Modra
d276d7a1a5 daily update 2002-03-18 23:00:03 +00:00
Jan Hubicka
beb43bb9f4 * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
* configure.tgt (x86_64-*-linux-gnu*): Configure i386 as native.

	* elf_x86_64.sh (ARCH): Set to i386:x86-64
	set libraries to default to lib64 paths.
2002-03-18 16:42:43 +00:00
Nick Clifton
eb1e0e807a Add AIX 64 shared library support and emulation layer for binutils 2002-03-18 12:46:27 +00:00
Nick Clifton
a1c259a138 Updated French translations 2002-03-18 09:44:22 +00:00
Alan Modra
4dae1ae748 * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
* libbfd.h: Regenerate.
	* archive.c (coff_write_armap): Pass on failures from
	bfd_write_bigendian_4byte_int.
2002-03-18 01:26:57 +00:00
Alan Modra
a183c50e83 daily update 2002-03-17 23:00:01 +00:00
Alan Modra
d4427da1d0 daily update 2002-03-14 23:00:05 +00:00
H.J. Lu
36b4f6e725 2002-03-14 H.J. Lu <hjl@gnu.org>
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
	error to bfd_error_nonrepresentable_section for reinit_array
	section in DSO.
2002-03-14 19:06:16 +00:00
Nick Clifton
a181be0ade When adding BSF_WEAK flag, OR it in rather than replacing previously selected
flags.
2002-03-14 18:30:40 +00:00
Nick Clifton
a1aefc7694 Set ar_max_namelen to 15 2002-03-14 10:57:52 +00:00
Alan Modra
c119f9b800 * cpu-mips.c (mips_compatible): New. Don't check bits_per_word.
(N): Use the above.
	* elflink.h (elf_bfd_final_link): Revert last change.  Instead,
	ensure reloc size matches before calling elf_link_input_bfd.
	Add an assert to check reloc size when counting output relocs.
2002-03-14 10:38:31 +00:00
Nick Clifton
c295a5111b Fix compile time failure 2002-03-14 09:41:54 +00:00
Alan Modra
a2d0318987 daily update 2002-03-13 23:00:06 +00:00
Nick Clifton
9ce88e60f3 Updated French translations 2002-03-13 10:35:17 +00:00
Alan Modra
b74fa2cd15 * archures.c (bfd_default_compatible): Test bits_per_word.
* cpu-i386.c (i386_compatible): Remove.  Replace occurrences with
	bfd_default_compatible.
	* cpu-i370.c (i370_compatible): Likewise.
	* cpu-sparc.c (sparc_compatible): Likewise.
	* cpu-h8300.c (compatible): Test in->arch == out->arch.
2002-03-13 07:30:45 +00:00
Alan Modra
fa7ea4d864 Revert last change. 2002-03-13 07:26:24 +00:00
Alan Modra
60166579ed * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Use ELF section
types instead of section names to determine whether init/fini array
	dynamic tags are needed.
2002-03-13 04:04:49 +00:00