Commit Graph

1041 Commits

Author SHA1 Message Date
Hans-Peter Nilsson 2f484710e6 * section.c (_bfd_strip_section_from_output): Handle NULL
output_section.
2001-06-02 19:05:34 +00:00
H.J. Lu a5ac692bb5 2001-06-02 H.J. Lu <hjl@gnu.org>
* config.bfd (powerpc-*-aix*, powerpc-*-beos*, rs6000-*-*): Add
	rs6000coff64_vec only if BFD64 is defined.
	(powerpc64-*-aix*): Enable only if BFD64 is defined.
2001-06-02 17:32:09 +00:00
H.J. Lu 27e530993c 2001-06-02 H.J. Lu <hjl@gnu.org>
* coff-ia64.c (ia64coff_object_p): Rewrite with
	external_PEI_DOS_hdr and external_PEI_IMAGE_hdr.
2001-06-02 15:46:43 +00:00
Andreas Jaeger 80643fbcda * elf64-x86-64.c (elf64_x86_64_relocate_section): Add PC8
relocation, small reformatting.
2001-06-01 11:52:11 +00:00
Andreas Jaeger 6b3db54654 * elf64-x86-64.c (elf64_x86_64_check_relocs): Handle R_X86_64_64.
(elf64_x86_64_relocate_section): Likewise.
2001-05-30 18:44:46 +00:00
Alan Modra 4dc8668677 * elf32-hppa.c (elf32_hppa_check_relocs): Don't NEED_PLT for
millicode.  Don't allocate .got and .rela.got space here..
	(elf32_hppa_gc_sweep_hook): ..and no need to deallocate here..
	(elf32_hppa_adjust_dynamic_symbol): ..and don't allocate .plt and
	.rela.plt here..
	(hppa_handle_PIC_calls): ..nor here..
	(allocate_plt_and_got): ..instead do it all here.  New function.
	(elf32_hppa_size_dynamic_sections): Allocate local .got space and
	call allocate_plt_and_got.  No need to zap .got if not dynamic.
	(elf32_hppa_final_link): Call regular bfd_final_link instead of
	gc_common_final_link.
	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
	(elf32_hppa_relocate_section): Use it here.
	(elf32_hppa_finish_dynamic_symbol): Remove superfluous test of
	dynamic_sections_created.
	(hppa_type_of_stub): Don't LONG_BRANCH_VIA_PLT if millicode sym.
2001-05-30 14:30:33 +00:00
Andreas Jaeger de41dcd889 * elf64-x86-64.c (elf64_86_64_size_info): Remove, we can use the
generic version since we want a hashsize of 4.
	(elf_backend_size_info): Likewise.
2001-05-28 15:45:47 +00:00
Nick Clifton 209f668ef2 Handle MIPS64 relocs which use a non-1 valued int_rels_per_ext_rel 2001-05-28 11:57:54 +00:00
Nick Clifton f7a74f8c82 Support big endian PLT entries. 2001-05-28 10:50:31 +00:00
Alan Modra 8dea12685e * elf32-hppa.c (elf32_hppa_relocate_section): Set up .plt entries
for symbols forced local that need plabels.
	(elf32_hppa_adjust_dynamic_symbol): Don't allocate space in
	.plt.rela for local syms if non-shared.
	(hppa_build_one_stub): Mask lsb of plt.offset.
	(elf32_hppa_finish_dynamic_symbol): Abort if lsb of plt.offset set.
	(clobber_millicode_symbols): Correct comment.
	(elf32_hppa_relocate_section): Likewise.
	(elf32_hppa_finish_dynamic_symbol): Likewise.
2001-05-28 10:12:04 +00:00
Nick Clifton 0f2712edc9 Add support for .uahword, .uaword and .uaxword pseudo ops 2001-05-28 09:23:54 +00:00
H.J. Lu 6768c14a4f 2001-05-25 H.J. Lu <hjl@gnu.org>
* Makefile.am (BFD32_BACKENDS): Remove coff-pmac.lo.
	(BFD32_BACKENDS_CFILES): Remove coff-pmac.c.
	(coff-rs6000.lo): Remove the old dependency.
	* Makefile.in: Rebuild.

	* configure.in (pmac_xcoff_vec): Replace coff-pmac.lo with
	coff-rs6000.lo.
2001-05-25 22:50:27 +00:00
H.J. Lu b55039f458 2001-05-25 H.J. Lu <hjl@gnu.org>
* coff-rs6000.c (rs6000coff_vec): Use rs6000coff_core_p,
	rs6000coff_core_file_matches_executable_p,
	rs6000coff_core_file_failing_command and
	rs6000coff_core_file_failing_signal only if AIX_CORE is
	defined.
	(pmac_xcoff_vec): Likewise.
	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
2001-05-25 21:23:48 +00:00
Timothy Wall 64e9ece0ca monterey updates 2001-05-25 12:42:28 +00:00
H.J. Lu f34d8777dd 2001-05-25 H.J. Lu <hjl@gnu.org>
* bfd-in2.h: Regenerated.
	* libcoff.h: Likewise.
2001-05-25 06:29:21 +00:00
Alan Modra 49e9d0d3b6 * elf32-hppa.c (elf32_hppa_relocate_section): Don't allow
undefined millicode syms in shared libs.
	(hppa_build_one_stub): Turn BFD_ASSERTs into aborts.
	(elf32_hppa_check_relocs): Likewise.
	(elf32_hppa_adjust_dynamic_symbol): Likewise.
	(elf32_hppa_size_dynamic_sections): Likewise.
	(elf32_hppa_relocate_section): Likewise.
	(elf32_hppa_finish_dynamic_symbol): Likewise.
	(elf32_hppa_finish_dynamic_sections): Likewise.
2001-05-25 03:46:49 +00:00
Tom Rix beb1bf64d0 Support for xcoff64 2001-05-24 20:50:50 +00:00
Alexandre Oliva e90fdc1abd * elf64-sparc.c (sparc64_elf_slurp_reloc_table): Fix typo
s/ENTIRES/ENTRIES/.
2001-05-23 23:56:22 +00:00
Nick Clifton c2feb66418 Add MIPS ELF64 relocs 2001-05-23 17:36:38 +00:00
Nick Clifton d1cf510e5e Add MIPS r12k support 2001-05-23 17:26:40 +00:00
Nick Clifton 6c426cf36e Change PLT code to avoid using r2 - it used by GCC to return large startures 2001-05-23 16:38:36 +00:00
Nick Clifton d9bc7a4499 Replace sh_size/sh_entsize with NUM_SHDR_ENTRIES 2001-05-23 08:23:27 +00:00
Andreas Jaeger f5198f610d * dwarf2.c (decode_line_info): Fix error message.
(read_abbrevs): Fix test for offset as suggested by Alan Modra and
	adjust error message.
2001-05-21 11:52:42 +00:00
Alexandre Oliva 6be7c12c05 * ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh,
ltcf-gcj.sh: Upgraded to libtool 1.4a 1.641.2.254.  Rebuilt a number
of subdir/configure scripts to use the new libtool.m4.
2001-05-20 19:02:56 +00:00
H.J. Lu 7913c838b3 2001-05-18 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_link_add_object_symbols): Revert the last
	change.
2001-05-18 16:06:43 +00:00
Alan Modra e0522e891a * elf32-hppa.c (clobber_millicode_symbols): Temporarily set
ELF_LINK_FORCED_LOCAL to suit 2001-04-30 change.
	(hppa_build_one_stub): Add an assert to check plt.offset.
2001-05-18 03:11:13 +00:00
H.J. Lu 96fd004e0e 2001-05-17 H.J. Lu <hjl@gnu.org>
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the
	version definition to basename of the output filename.
2001-05-18 01:20:02 +00:00
H.J. Lu f3876d8bc6 2001-05-17 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_link_add_object_symbols): Set DT_NEEDED to
	basename of the bfd filename.
2001-05-17 19:08:46 +00:00
Alan Modra d1778b88f8 Add a flag to asection, linker_has_input, and use it to reliably
determine whether an input section is the first one assigned to
an output section.
2001-05-17 03:58:45 +00:00
Alexandre Oliva 2a0fa9433c * elf-m10300.c (mn10300_elf_relax_section): Don't relax
negative 32-bit operands to 16 operands when the operand is
going to be zero-extended by the modified opcode.
2001-05-16 01:48:13 +00:00
Alan Modra bcee8eb8ca Peter Targett's backwards compatibility and other arc fixes. 2001-05-12 15:14:53 +00:00
Jakub Jelinek 579f31ac74 * elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwind
sections as well.
	(elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO
	to .gnu.linkonce.t.FOO text section.

	* readelf.c (process_unwind): Print all unwind sections, not just
	one.

	* config/tc-ia64.c (special_linkonce_name): New.
	(make_unw_section): Map .gnu.linkonce.t.FOO text section into
	.gnu.linkonce.ia64unw{,i}.FOO.
	(ia64_elf_section_type): Handle .gnu.linkonce.ia64unw{,i}.FOO.
	(dot_endp): Add comment about it.

	* elf/ia64.h (ELF_STRING_ia64_unwind_once): Define.
	(ELF_STRING_ia64_unwind_info_once): Define.

	* emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Put
	.gnu.linkonce.ia64unw{,i} sections into corresponding .IA_64.unwind*
	output sections.
	* emulparams/elf64_aix.sh (OTHER_READONLY_SECTIONS): Likewise.
2001-05-11 12:36:47 +00:00
Jakub Jelinek 8550eb6e64 * merge.c (struct sec_merge_hash_entry): Add u.entsize and u.suffix
fields, change sec into secinfo.
	(struct sec_merge_info): Add chain, remove last fields.
	(struct sec_merge_sec_info): Add next, sec, psecinfo fields.
	(sec_merge_hash_lookup): If lookup could not use a string only
	because it has bad alignment, mark the old string for deletion.
	(sec_merge_add): Add secinfo argument. Don't compute entry's
	position, instead record the section.
	(sec_merge_emit): Update for the sec into secinfo change in
	struct sec_merge_hash_entry.
	(_bfd_merge_section): Only record the section for merging, defer
	putting strings into the hash table.
	(cmplengthentry, last4_eq, last_eq, record_section, merge_strings,
	_bfd_merge_sections): New functions.
	(_bfd_merged_section_offset): Update for the sec_merge_hash_entry
	changes.
	* libbfd-in.h (_bfd_merge_sections): Add prototype.
	(_bfd_nolink_bfd_merge_sections): Define.
	* libbfd.h: Likewise.
	(bfd_generic_merge_sections): Add prototype.
	* targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_merge_sections.
	(struct bfd_target): Likewise.
	* bfd.c (bfd_merge_sections): Define.
	* bfd-in2.h: Rebuilt.
	* elf.c (_bfd_elf_merge_sections): New function.
	* elf-bfd.h (_bfd_elf_merge_sections): Add prototype.
	* elfxx-target.h (bfd_elfNN_bfd_merge_sections): Define.
	* reloc.c (bfd_generic_merge_sections): New function.
	* vms.c (vms_bfd_merge_sections): New function.
	* aout-adobe.c (aout_32_bfd_merge_sections): Define.
	* aout-target.h (MY_bfd_merge_sections): Define.
	* aout-tic30.c (MY_bfd_merge_sections): Define.
	* binary.c (binary_bfd_merge_sections): Define.
	* bout.c (b_out_bfd_merge_sections): Define.
	* coff-alpha.c (_bfd_ecoff_bfd_merge_sections): Define.
	* coffcode.c (coff_bfd_merge_sections): Define.
	* coff-mips.c (_bfd_ecoff_bfd_merge_sections): Define.
	* i386msdos.c (msdos_bfd_merge_sections): Define.
	* i386os9k.c (os9k_bfd_merge_sections): Define.
	* ieee.c (ieee_bfd_merge_sections): Define.
	* ihex.c (ihex_bfd_merge_sections): Define.
	* nlm-target.h (nlm_bfd_merge_sections): Define.
	* oasys.c (oasys_bfd_merge_sections): Define.
	* ppcboot.c (ppcboot_bfd_merge_sections): Define.
	* som.c (som_bfd_merge_sections): Define.
	* srec.c (srec_bfd_merge_sections): Define.
	* tekhex.c (tekhex_bfd_merge_sections): Define.
	* versados.c (versados_bfd_merge_sections): Define.
	* xcoff-target.h (_bfd_xcoff_bfd_merge_sections): Define.

	* ldlang.c (lang_process): Call bfd_merge_sections.
2001-05-11 12:23:48 +00:00
Nick Clifton 1548c54f2e Change type of 'addr' to be unsigned long, in order to match its use. 2001-05-11 09:55:02 +00:00
H.J. Lu 689effed70 2001-05-10 H.J. Lu <hjl@gnu.org>
* linker.c (_bfd_generic_link_add_one_symbol): Check loop on
	indirect symbols.
2001-05-10 22:59:29 +00:00
H.J. Lu 6e5222be78 2001-05-09 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_link_add_object_symbols): Fix a typo. Allocate
	versymhdr->sh_size bytes for extversym instead of hdr->sh_size.
	Remove the unused veriable `dynver'.
2001-05-09 22:34:30 +00:00
Ian Lance Taylor 8e191bd38c * coff-i386.c (coff_i386_reloc): Don't dump core if output_bfd is
NULL or is not COFF.
	(coff_i386_rtype_to_howto): Don't dump core if output section
	owner is not COFF.
2001-05-08 17:44:00 +00:00
Ian Lance Taylor efcbd82c36 Remove extraneous character in first line. 2001-05-08 17:14:35 +00:00
Alan Modra 062e23589d * ecoff.c (bfd_debug_section): Fix initialization.
* elf.c (_bfd_elf_slurp_version_tables): Change maxidx to unsigned, it
	is always a positive integer. Cast away sign mismatch.
	* elf32-mips.c: Fix misleading comment and typo.
	(_bfd_mips_elf_section_from_bfd_section): Remove unused attribute, use
	correct data type.
	* elflink.c: Fix typo.
	(_bfd_elf_create_dynamic_sections): Remove superfluous initialization.
	* ecoffswap.h (ecoff_swap_fdr_in): Cast away sign mismatch.
2001-05-07 09:15:26 +00:00
Richard Henderson 16b65e4ea2 * elf64-alpha.c (SREL16, SREL32, SREL64): Set pcrel_offset true. 2001-05-04 23:22:31 +00:00
Nick Clifton cac1532771 Set EF_ARM_HASENTRY if the start address is set. 2001-05-04 08:32:21 +00:00
Nick Clifton 966b3e0b90 Compute value of _bfd_target_vector_entries based on the size of
_bfd_target_vector and not bfd_target_vector.
2001-05-03 17:49:49 +00:00
H.J. Lu 210ba1e83d 2001-05-03 H.J. Lu <hjl@gnu.org>
* elfcode.h: Include "libiberty.h".

	* elflink.h (elf_link_add_object_symbols): Set
	elf_dt_name (abfd) to basename of the bfd filename.
	(NAME(bfd_elf,size_dynamic_sections)): Set vn_file to basename
	of the bfd filename.
2001-05-03 06:18:09 +00:00
Andreas Jaeger b274749094 * coff-alpha.c (reloc_nil): Likewise.
(alpha_ecoff_bad_format_hook): Likewise.
        (alpha_adjust_reloc_out): Likewise.
        (alpha_bfd_reloc_type_lookup): Likewise.
        (alpha_convert_external_reloc): Likewise.
2001-05-03 05:08:17 +00:00
Andreas Jaeger 56fc028eb1 * elf64-gen.c (elf_generic_info_to_howto): Add unused attribute.
(elf_generic_info_to_howto_rel): Likewise.
	* coff-alpha.c (reloc_nil): Likewise.
	(alpha_ecoff_bad_format_hook): Likewise.
	(alpha_adjust_reloc_out): Likewise.
	(alpha_bfd_reloc_type_lookup): Likewise.
	(alpha_convert_external_reloc): Likewise.
	* elf64-alpha.c (elf64_alpha_reloc_nil): Likewise.
	(elf64_alpha_reloc_bad): Likewise.
	(elf64_alpha_reloc_gpdisp): Likewise.
	(elf64_alpha_bfd_reloc_type_lookup): Likewise.
	(elf64_alpha_info_to_howto): Likewise.
	(elf64_alpha_add_symbol_hook): Likewise.
	(elf64_alpha_create_got_section): Likewise.
	(elf64_alpha_is_local_label_name): Likewise.
	(elf64_alpha_merge_ind_symbols): Likewise.
	* elf64-mips.c (mips_elf64_reloc_type_lookup): Likewise.
	(mips_elf64_get_reloc_upper_bound): Likewise.
	* nlm32-alpha.c (nlm_alpha_mangle_relocs): Likewise.
	(nlm_alpha_get_public_offset): Likewise.
2001-05-03 04:46:27 +00:00
Nick Clifton c7e4034828 Add gas and ld support for openrisc 2001-05-02 18:14:31 +00:00
H.J. Lu 5fba655aed 2000-04-27 H.J. Lu <hjl@gnu.org>
* elf.c (_bfd_elf_link_hash_hide_symbol): Set dynindx to -1
	only for ELF_LINK_FORCED_LOCAL.
	* elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
	* elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise.
	* elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.

	* elflink.h (elf_fix_symbol_flags): Set ELF_LINK_FORCED_LOCAL
	if the symbol has hidden or internal visibility.
2001-04-30 16:13:26 +00:00
Alan Modra db20fd7654 * elf32-hppa.c (final_link_relocate): Branch to .+8 for
calls to undefined weak symbols.
2001-04-30 13:34:41 +00:00
Andreas Jaeger 6a2bda3fa0 * elf64-x86-64.c (elf64_x86_64_relocate_section): Correct test for
R_X86_64_GOTPCREL, don't use assignments instead of comparisons.
2001-04-30 10:30:05 +00:00
Andreas Jaeger 053579d754 * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Only swap
out handled entries.
	(elf64_x86_64_finish_dynamic_symbol): Set up GOT entries.
	(elf64_x86_64_relocate_section): Fix GOTPCREL calculation.
	(elf64_x86_64_relocate_section): Merge entries for GOTPCREL and
	GOT32.
2001-04-29 13:42:45 +00:00
H.J. Lu 37c9e45c89 Revert the last change on aclocal.m4. 2001-04-27 21:25:04 +00:00
Nick Clifton 87748b3227 Add support for arm-vxworks target 2001-04-27 17:12:18 +00:00
H.J. Lu f5f31454c5 2001-04-26 H.J. Lu <hjl@gnu.org>
* elf32-i386.c (elf_i386_check_relocs): Verify if r_symndx is
	valid.
2001-04-26 19:09:20 +00:00
Frank Ch. Eigler d436a9b307 * externalize a function
2001-04-25  Frank Ch. Eigler  <fche@redhat.com>

	* bfd-in.h (bfd_cache_close): Declare newly exported function.
	* bfd-in2.h: Regenerated.
2001-04-25 21:08:02 +00:00
Nick Clifton 5a0a214415 Fix autoconf breakage + commit target.c, omitted in previous delta 2001-04-25 19:09:30 +00:00
Jakub Jelinek a531bbd206 * merge.c (struct sec_merge_hash_entry): Add alignment field.
(struct sec_merge_hash): Remove alignment_power.
	(sec_merge_hash_newfunc): Clear alignment.
	(sec_merge_hash_lookup): Pass alignment as argument.
	Use hashp->root.next, not hashp->next to walk the hash chain.
	If a string already in the hashtable does not have required
	alignment, create a new hashtable entry.
	(sec_merge_init): Remove alignment_power argument.
	(sec_merge_add): Add alignment argument.
	(sec_merge_emit): Alignment is now a per-entity thing, not per
	section.
	(_bfd_merge_section): Sanity check even non-SEC_STRINGS sections
	for proper alignment.
	Pass alignment information to sec_merge_add.
2001-04-24 17:55:57 +00:00
Nick Clifton 6840198f93 z8k fixes 2001-04-24 15:22:25 +00:00
Nick Clifton b3baf5d0a8 Add OpenRISC support 2001-04-24 15:08:16 +00:00
Andreas Jaeger fe4770f478 2001-04-23 Bo Thorsen <bo@suse.de>
* x86-64.h: Add vtable support.

2001-04-23  Bo Thorsen  <bo@suse.de>

	* elf64-x86-64.c: Add c++ vtable hack.
	Small whitespace and comment changes.
2001-04-23 08:00:14 +00:00
Andreas Jaeger 653165cc0d 2001-04-19 Andreas Jaeger <aj@suse.de>
* elf64-x86-64.c (elf64_x86_64_plt0_entry): Fix instructions.
	(elf64_x86_64_plt_entry): Likewise.
	(elf64_x86_64_finish_dynamic_sections): Fix PLT0 generation.
	(elf64_x86_64_finish_dynamic_symbol): Fix PLT generation.
2001-04-19 09:39:28 +00:00
Hans-Peter Nilsson 4d96d12825 * elf32-cris.c: Tweak comments related to dynamic linking.
(cris_elf_relocate_section): When not creating shared object, fill
	in the .got table for any symbol not in the dynamic symbol table.
	(elf_cris_finish_dynamic_symbol): When not creating shared object,
	only emit a .got.rela reloc if the symbol is in the dynamic symbol
	table.
	(cris_elf_check_relocs): Use variable r_type in all places rather
	than the original expression.  Add default case in switch for
	reloc types.
	(elf_cris_size_dynamic_sections): Iterate over
	elf_cris_discard_excess_program_dynamics when not creating shared
	library.
 	(elf_cris_discard_excess_dso_dynamics): Renamed from
	elf_cris_discard_copies.  Correct typo, s/Rel/Rela/.
	(elf_cris_discard_excess_program_dynamics): New.
2001-04-17 12:32:30 +00:00
DJ Delorie 3ed30d29c6 * coffcode.h (coff_write_object_contents): Use
bfd_coff_swap_filehdr_out instead of coff_swap_filehdr_out.
2001-04-15 04:23:46 +00:00
H.J. Lu a80f694198 2001-04-14 H.J. Lu <hjl@gnu.org>
* bfd-in2.h: Regenerate.
2001-04-15 01:02:54 +00:00
Jakub Jelinek 767e4b0d59 * section.c (STD_SECTION): Add entsize. 2001-04-14 14:23:31 +00:00
H.J. Lu 2dd439c54e 2001-04-13 H.J. Lu <hjl@gnu.org>
* section.c (SEC_MERGE): Define new flag for merging.
	(SEC_STRINGS): Likewise.
	(entsize): New field.
2001-04-14 04:13:00 +00:00
DJ Delorie baf80c32ae * coff-i386.c (TARGET_SYM): SEC_READONLY is an applicable section
flag on pe-i386 targets.
2001-04-13 22:42:48 +00:00
Jakub Jelinek f5fa8ca231 bfd/
* libbfd-in.h (_bfd_merge_section): New.
	(_bfd_write_merged_section): New.
	(_bfd_merged_section_offset): New.
	* libbfd.h: Rebuilt.
	* linker.c (_bfd_generic_link_output_symbols): Handle
	discard_sec_merge.
	* aoutx.h (aout_link_write_symbols): Likewise.
	* pdp11.c (aout_link_write_symbols): Likewise.
	* elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section.
	(elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE
	sections.
	(elf_link_sec_merge_syms): New.
	(elf_link_input_bfd): Call _bfd_merged_section_offset
	and _bfd_write_merged_section.
	Handle discard_sec_merge.
	* elf-bfd.h (struct elf_link_hash_table): Add merge_info
	field.
	(struct bfd_elf_section_data): Likewise.
	* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and
	SEC_STRINGS section flags and entsize from their ELF counterparts.
	(_bfd_elf_link_hash_table_init): Initialize merge_info.
	(elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize
	from their BFD counterparts.
	* merge.c: New file.
	* Makefile.am: Add strtab.lo.
	* Makefile.in: Rebuilt.
include/
	* bfdlink.h (bfd_link_discard): Add discard_sec_merge.
gas/
	* config/obj-elf.c (obj_elf_change_section): Add entsize argument,
	handle SHF_MERGE and SHF_STRINGS.
	(obj_elf_parse_section_letters): Set SHF_MERGE and SHF_STRINGS.
	(obj_elf_section): Allow additional argument specifying entity size.
	* write.c (adjust_reloc_syms): Keep relocations against local symbols
	in SEC_MERGE sections.
ld/
	* ldmain.c (main): Default to discard_sec_merge.
	* lexsup.c (OPTION_DISCARD_NONE): Define.
	(ld_options): Add --discard-none.
	(parse_args): Handle OPTION_DISCARD_NONE.
	* ldlang.c (wild_doit): SEC_MERGE should be set in the output
	section only if SEC_MERGE and SEC_STRINGS flags and entsize of
	all its input sections match.
2001-04-13 00:34:36 +00:00
Hans-Peter Nilsson d954b04094 * elflink.h (elf_fix_symbol_flags): For non-default visibilities,
only hide symbols marked STV_INTERNAL or STV_HIDDEN.
2001-04-09 03:24:32 +00:00
H.J. Lu fdbafa100f 2001-04-05 Steven J. Hill <sjhill@cotw.com>
* config.bfd (mips*el*-*-linux-gnu*): Use traditional little
	endian MIPS ELF target.
	* config.bfd (mips*-*-linux-gnu*): Use traditional big endian
	MIPS ELF target.

	* configure.in (bfd_elf64_tradbigmips_vec): New. Traditional
	64bit big endian MIPS ELF target.
	(bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little
	endian MIPS ELF target.
	* configure: Regenerated.

	* elf32-mips.c (IRIX_COMPAT): Handle traditional 64bit and
	little endian targets.
	(mips_elf_sym_is_global): Handle traditional targets.

	* elf64-mips.c (bfd_elf64_tradbigmips_vec): New. Traditional
	64bit big endian MIPS ELF target.
	(bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little
	endian MIPS ELF target.

	* targets.c: (_bfd_target_vector): Add bfd_elf64_tradbigmips_vec
	and bfd_elf64_tradlittlemips_vec.
2001-04-08 05:11:49 +00:00
H.J. Lu dd484e5c56 2001-04-05 David Mosberger <davidm@hpl.hp.com>
* elf32-i386.c (elf_i386_fake_sections): Treat ".reloc" as an
	ordinary "progbits" section.
2001-04-06 00:37:30 +00:00
Alan Modra 391a809a0a * elflink.h (elf_fix_symbol_flags): Call elf_backend_hide_symbol
when -Bsymbolic causes a symbol to no longer need a .plt entry.
2001-04-04 00:31:37 +00:00
H.J. Lu 5854c6337e 2001-04-03 David Mosberger <davidm@hpl.hp.com>
* efi-app-ia32.c (ALIGN_SECTIONS_IN_FILE): Deleted.
2001-04-03 14:45:43 +00:00
H.J. Lu 8b4b0fac4b 2001-03-30 H.J. Lu <hjl@gnu.org>
* efi-app-ia32.c (PEI_TARGET_SUBSYSTEM): Rename from ...
	(PEI_DEFAULT_TARGET_SUBSYSTEM): This.
2001-03-30 16:08:34 +00:00
H.J. Lu b9d8899626 Remove ATTRIBUTE_UNUSED in the last patch. 2001-03-27 02:05:18 +00:00
H.J. Lu eb4a6e4f4b 2001-03-26 H.J. Lu <hjl@gnu.org>
* elf32-gen.c (elf32_generic_link_add_symbols): New. Check
	if there are any relocations for generic ELF.
	(bfd_elf32_bfd_link_add_symbols): Defined to
	elf32_generic_link_add_symbols.
	* elf64-gen.c (elf64_generic_link_add_symbols): New. Check
	if there are any relocations for generic ELF.
	(bfd_elf64_bfd_link_add_symbols): Defined to
	elf64_generic_link_add_symbols.
2001-03-27 02:00:34 +00:00
Nick Clifton 55c80943b8 Fix building bfd.pot in maintainer mode 2001-03-23 18:05:30 +00:00
Hans-Peter Nilsson 915e51468a * elf32-cris.c: Shlib and PIC support. PCREL tweaks. 2001-03-22 14:56:06 +00:00
Hans-Peter Nilsson 58d29fc398 * reloc.c: (BFD_RELOC_CRIS_COPY, BFD_RELOC_CRIS_GLOB_DAT,
BFD_RELOC_CRIS_JUMP_SLOT, BFD_RELOC_CRIS_RELATIVE,
	BFD_RELOC_CRIS_32_GOT, BFD_RELOC_CRIS_16_GOT,
	BFD_RELOC_CRIS_32_GOTPLT, BFD_RELOC_CRIS_16_GOTPLT,
	BFD_RELOC_CRIS_32_GOTREL, BFD_RELOC_CRIS_32_PLT_GOTREL,
	BFD_RELOC_CRIS_32_PLT_PCREL): New relocs.
	* bfd-in2.h, libbfd.h: Regenerate.
2001-03-22 11:17:16 +00:00
Diego Novillo 7a65545dc5 2001-03-21 Diego Novillo <dnovillo@redhat.com>
(_bfd_mips_elf_relocate_section): Give a better error message when
	a relocation is not recognized.
2001-03-22 00:29:15 +00:00
Alan Modra b32b5d6e64 Prevent NULL pointer dereference. 2001-03-21 08:09:25 +00:00
H.J. Lu f4fbb4a3d1 2001-03-20 H.J. Lu <hjl@gnu.org>
* configure.in: Remove the redundent AC_ARG_PROGRAM.
	* configure: Rebuild.
2001-03-20 18:24:30 +00:00
Andreas Schwab 95fc45e66f * elf32-m68k.c (elf_m68k_relocate_section): Don't need the
relocation value when resolving a reference from a debugging
	section.
2001-03-20 10:11:07 +00:00
Nick Clifton 03d411a927 Fix syntax errors. 2001-03-16 18:49:32 +00:00
Nick Clifton d165939296 Fix warning message 2001-03-16 17:34:31 +00:00
Hans-Peter Nilsson 0dc1fa070b Fix accidental loss of bit 7 in peoples names 2001-03-16 03:00:24 +00:00
Alan Modra 12cca0d293 Don't assume non-PIC to PIC call stubs are unneeded just because
the function happens to have a plabel.
2001-03-15 13:47:56 +00:00
DJ Delorie cd6ec716b6 * elf32-sh.c (sh_elf_relocate_section): Only relocation
R_SH_DIR8WP* relocs if they're against external symbols, else
they're just for relaxing.  Validate the reloc values.
2001-03-13 04:43:40 +00:00
Nick Clifton 43a0748c78 Add --binary-architecture switch to objcopy to allow the output architecture
to be set when the input file type is binary.
2001-03-13 00:08:35 +00:00
Phil Blundell d982ba7301 2001-03-11 Philip Blundell <philb@gnu.org>
* elf32-arm.h (elf32_arm_finish_dynamic_symbol): Don't make PLT
	entries that could serve as a definition for a weak symbol.
2001-03-11 13:10:51 +00:00
Nick Clifton 7898dedac0 Update copyright notices 2001-03-08 21:04:02 +00:00
Nick Clifton df425bc0dd Conditionalize prevbious pathc on ! defined OLD_ARM_ABI. 2001-03-07 23:52:58 +00:00
Andreas Jaeger bcdd92f3e0 2001-03-07 Andreas Jaeger <aj@suse.de>
* elf64-x86-64.c (elf64_x86_64_relocate_section): Fix handling of
	some relocation values.
2001-03-07 13:49:11 +00:00
Nick Clifton 4f3c3dbb37 Fix BLX(1) for Thumb 2001-03-06 22:33:47 +00:00
Nick Clifton f8f3c6cc37 Add BFD_RELOC_THUMB_PCREL_BLX. 2001-03-06 20:27:50 +00:00
Nick Clifton 3cac17aec8 Rest of the changes for Coldfire V4. 2001-03-06 20:15:27 +00:00
Nick Clifton d1b17ab0f3 Add s390 target 2001-03-01 18:48:14 +00:00
Andreas Jaeger 5608e05bb4 2001-02-28 Andreas Jaeger <aj@suse.de>
* elf64-x86-64.c (elf64_x86_64_relocate_section): Add relocation
	to addend.
2001-02-28 12:32:10 +00:00
Phil Blundell fd2ec33034 2001-02-28 Philip Blundell <pb@futuretv.com>
* elf32-arm.h: Update mentions of renamed EF_xx constants.
 	(elf32_arm_print_private_bfd_data): Handle ARM EABI version 2.
2001-02-28 10:13:20 +00:00
H.J. Lu 920581c57e 2001-02-27 H.J. Lu <hjl@gnu.org>
* aoutx.h (NAME(aout,bfd_free_cached_info)): Return true if
	abfd->tdata.aout_data == NULL.
2001-02-27 18:45:45 +00:00
Alan Modra 3ee1d8549f Fix some comments, and a formatting error. 2001-02-27 07:11:41 +00:00