Commit graph

25506 commits

Author SHA1 Message Date
Andreas Schwab
a9602746fa * elflink.h (elf_bfd_final_link): Remove unused variables rel_hash
and rel_hdr.
1999-07-19 09:11:14 +00:00
Mark Mitchell
31367b81b7 * elflink.h (elf_link_adjust_relocs): New function.
(elf_bfd_final_link): Use it.
	(elf_link_input_bfd): Deal with the fact that there can be
	two relocation sections for a single section.
	(elf_reloc_link_order): Likewise.

	* elf32-mips.c (_bfd_mips_elf_final_link): Don't set GP for
	a relocateable object.
	(_bfd_mips_elf_relocate_section): Handle relocateable links.
1999-07-18 06:31:29 +00:00
Nick Clifton
c2c594b87d Rename F_SOFTFLOAt to F_SOFT_FLOAT for compatability with include/elf/arm.h 1999-07-17 15:40:17 +00:00
Richard Henderson
e76d716a43 * emulparams/elf64_sparc.sh: Add 64-bit directories to native LIB_PATH. 1999-07-16 21:43:43 +00:00
Richard Henderson
d07faca298 Jakub Jelinek <jj@ultra.linux.cz>
* readelf.c (get_machine_flags): Print EF_SPARC_SUN_US3.
1999-07-16 21:38:16 +00:00
Richard Henderson
97272b323d Jakub Jelinek <jj@ultra.linux.cz>
* sparc.h (EF_SPARC_SUN_US3): Define in Cheetah extensions
        flag (as per SCD2.4.1).
1999-07-16 21:36:38 +00:00
Richard Henderson
e06510e6e7 Jakub Jelinek <jj@ultra.linux.cz>
* doc/c-sparc.texi: Document .register and .nword pseudo-ops.
1999-07-16 21:32:18 +00:00
Richard Henderson
dabe3bbc57 Jakub Jelinek <jj@ultra.linux.cz>
* config/tc-sparc.c (sparc_ip): Allow OLO10 relocations
        on -64 and not pic.
        (output_insn): Put OLO10's secondary addend into tc_fix_data.
        (md_apply_fix3): Handle BFD_RELOC_SPARC_OLO10.
        (tc_gen_reloc): Return two relocs for OLO10, LO10 and SPARC13.
        * config/tc-sparc.h (RELOC_EXPANSION_POSSIBLE,
        MAX_RELOC_EXPANSION): Define.
        (TC_FIX_TYPE, TC_INIT_FIX_DATA, TC_FIX_DATA_PRINT): Likewise.
1999-07-16 21:30:35 +00:00
Richard Henderson
f65054f7be Jakub Jelinek <jj@ultra.linux.cz>
* elf64-sparc.c (sparc64_elf_info_to_howto): Use ELF64_R_TYPE_ID.
        (sparc64_elf_get_reloc_upper_bound,
        sparc64_elf_get_dynamic_reloc_upper_bound,
        sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
        sparc64_elf_canonicalize_dynamic_reloc, sparc64_elf_write_relocs):
        New functions.
        (sparc64_elf_check_relocs, sparc64_elf_relocate_section): Use
        ELF64_R_TYPE_ID/DATA where appropriate.
1999-07-16 21:28:40 +00:00
Richard Henderson
437d5cf011 Jakub Jelinek <jj@ultra.linux.cz>
* sparc.h (ELF64_R_TYPE_DATA): Only use ELF64_R_TYPE bits, not
        ELF64_R_SYM bits.
1999-07-16 21:26:39 +00:00
Richard Henderson
d6bcbdc1fe Jakub Jelinek <jj@ultra.linux.cz>
* elf64-sparc.c (sparc64_elf_size_dynamic_sections): Remove
        DT_SPARC_PLTFMT.
1999-07-16 21:25:28 +00:00
Ian Lance Taylor
6387d6028b * elf32-mips.c (mips_elf_local_relocation_p): New static
function.
	(mips_elf_next_lo16_addend): Call bfd_set_error on failure.
	(mips_elf_calculate_relocation): Use mips_elf_local_relocation_p.
	Always set *require_jalxp.
	(mips_elf_stub_section_p): Mark abfd parameter as unused.
	(_bfd_mips_elf_relocate_section): Only look for LO16 following
	GOT16 if the GOT16 is against a local symbol.  Don't return false
	for an undefined symbol.  If there is an overflow, assert that we
	have a name.
1999-07-16 19:09:22 +00:00
Alan Modra
b4cac588ae * gas/config/tc-i386.c: Fix for immediates and displacements in 16-bit
mode when no insn suffix present, eg. push $0x12345678.  Fix some
compiler warnings.  Disallow immediate jump absolute.
1999-07-16 11:09:15 +00:00
Andreas Schwab
318da145ed * elflink.h (elf_link_record_local_dynamic_symbol): Remove unused
variables `link' and `elfsec'.
	(elf_bfd_final_link): Remove unused variable `os'.
1999-07-16 08:10:27 +00:00
Mark Mitchell
d49560a9c3 * ld-undefined/undefined.exp: XFAIL on IRIX6 for the usual as
with other DWARF2 targets.
1999-07-15 17:02:34 +00:00
Mark Mitchell
435394bff7 * elf32-mips.c (_bfd_mips_elf_modify_segment_map): Don't require
a PT_PHDR program headers.
	(_bfd_mips_elf_final_link): Don't assume there are going to be
	section symbols when we're not building a shared object.
	(_bfd_mips_elf_check_relocs): Make sure we have a GOT when
	we need one.
1999-07-15 16:57:57 +00:00
Mark Mitchell
88659ef5b6 * configure.host: Set up HOSTING_CRT0 and HOSTING_LIBS for IRIX6. 1999-07-15 14:57:35 +00:00
Ian Lance Taylor
ac352105e1 1999-07-15 J.T. Conklin <jtc@redback.com>
* config.bfd (i[3456]86-*-vxworks*): New target.
1999-07-15 14:38:23 +00:00
Mark Mitchell
197b9ca0f9 * elf32-mips.c (mips_elf_stub_section_p): New function.
(mips_elf_calculate_relocation): Handle MIPS16 stub functions.
	(mips_elf_relocate_section): Adjust calling sequence for
	mips_elf_calculate_relocation and mips_elf_perform_relocation.
	(mips_elf_perform_relocation): Turn `jal' into `jalx' where
	required.
1999-07-15 13:12:02 +00:00
Ian Lance Taylor
fb57846b1e * configure.in: Bump version number to 2.9.5.
* configure: Rebuild.
1999-07-15 12:15:17 +00:00
Ian Lance Taylor
2844ed430f * configure.in: Bump version number to 2.9.5.
* configure: Rebuild.
1999-07-15 12:09:55 +00:00
Ian Lance Taylor
0ed1584392 * configure.in: Bump version number to 2.9.5.
* configure: Rebuild.
1999-07-15 11:58:23 +00:00
Ian Lance Taylor
3a6ae6163b * configure.in: Bump version number to 2.9.5.
* configure: Rebuild.
1999-07-15 11:48:14 +00:00
Ian Lance Taylor
966ed0b4d8 * dwarf2dbg.c (dwarf2_gen_line_info): Don't assume that long long
or %llx work.
1999-07-15 11:27:08 +00:00
Jeff Law
6e2bf930a0 è
* elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case R_HPPA): Handle
        64bit format.
        (_bfd_elf_hppa_gen_reloc_type, case R_GOTOFF): Use base reloc type
        to derive final type instead of hardwiring a selection.
1999-07-15 02:06:03 +00:00
Jeff Law
1b83fcb388 * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case R_HPPA): Handle
64bit format.
        (_bfd_elf_hppa_gen_reloc_type, case R_GOTOFF): Use base reloc type
        to derive final type instead of hardwiring a selection.
1999-07-15 02:06:02 +00:00
Jeff Law
077db52a1e d
* config/tc-hppa.c (md_pseudo_table): Add ".dword" pseudo-op.
        (cons_fix_new_hppa): Derive size of fixup from size of the object.
1999-07-15 01:49:48 +00:00
Jeff Law
67f1cff00c * config/tc-hppa.c (md_pseudo_table): Add ".dword" pseudo-op.
(cons_fix_new_hppa): Derive size of fixup from size of the object.
1999-07-15 01:49:45 +00:00
Nick Clifton
ab02a59986 1999-06-21 Philip Blundell <pb@nexus.co.uk>
* arm.h (EF_SOFT_FLOAT, F_SOFT_FLOAT): Define.
1999-07-15 01:35:40 +00:00
Nick Clifton
db688e87e2 1999-06-21 Philip Blundell <pb@nexus.co.uk>
* arm.h (F_SOFTFLOAT): Define.
1999-07-15 01:34:30 +00:00
Nick Clifton
f84dd1f035 oops - omitted from previous delta 1999-07-15 01:33:35 +00:00
Nick Clifton
2f992c04c2 Apply patch from Philip Blundell <pb@nexus.co.uk>
Prepend LOCAL_LABEL_PREFIX (if defined) to local symbols.
  ARM: Set F_SOFTFLOAT in the output file if -mno-fpu was given.
1999-07-15 01:33:07 +00:00
Mark Mitchell
6296902ea5 * elf32-mips.c (mips_elf_obtain_contents): Swap 16-bit halves of
things relocated by R_MIPS16_GPREL.
	(mips_elf_perform_relocation): Likewise.
1999-07-14 19:00:32 +00:00
Richard Henderson
35ca97eacf * argv.c: Include stdlib.h and string.h instead of
prototyping directly.
        * choose-temp.c: Conditionally include string.h.
1999-07-14 17:32:02 +00:00
Richard Henderson
c235b8f824 * objdump.c (dump_section_header): Print SEC_SHORT. 1999-07-14 17:24:46 +00:00
Richard Henderson
0eaf982050 Update 1999-07-14 16:46:20 +00:00
Richard Henderson
9e4141bc7b * scripttempl/elf.sc: Re-order .rel[a].foo outputs to the
same order seen for the main sections.  Add
        OTHER_READONLY_RELOC_SECTIONS and OTHER_GOT_RELOC_SECTIONS.
1999-07-14 16:45:54 +00:00
Richard Henderson
9e41f97317 * ldlang.c (wild_doit): Copy SEC_SHORT to output section. 1999-07-14 16:45:13 +00:00
Richard Henderson
2ac8ce5fe0 * elfxx-target.h (elfNN_bed): Add elf_backend_want_dynbss. 1999-07-14 16:14:49 +00:00
Richard Henderson
b3be9b46c2 * elf32-mips.c (struct mips_got_info): Add global_gotno.
(_bfd_mips_elf_size_dynamic_sections): Set it.
        (_bfd_mips_elf_final_link): Re-sort; verify the got did not grow.
        (mips_elf_sort_hash_table): Set max_non_got_dynindex based off
        new argument max_local.
1999-07-14 14:23:13 +00:00
Ian Lance Taylor
14ad458a39 * write.c (cvt_frag_to_fill): Use frag file and line in rs_org
error message.
	(relax_segment): Likewise.  After giving a rs_org error, convert
	the frag to rs_align to avoid cascading errors.
1999-07-14 14:02:33 +00:00
Mark Mitchell
1e52e2ee34 * elf32-mips.c (mips_elf_obtain_contents): Swap the 16-bit
subwords when handling an R_MIPS16_26 relocation.
	(mips_elf_perform_relocation): Don't be paranoid abour right-shift
	semantics.
1999-07-14 11:46:04 +00:00
Mark Mitchell
b7233c24e1 * elf32-mips.c (elf_mips16_gprel_howto): Adjust src_mask and
dst_mask to match reality.
	(_bfd_mips_elf_calculate_relocation): Handle R_MIPS16_GPREL.
	(mips_elf_obtain_contents): Use bfd_get.
	(mips_elf_perform_relocation): Handle R_MIPS16_GPREL.
	(mips_elf_relocate_section): Likewise.
1999-07-14 09:45:46 +00:00
Mark Mitchell
81edd86dd1 * dwarf2.c (read_attribute): Support DW_FORM_ref8.
* elf32-mips.c (mips_elf_link_hash_entry): Change mips_32_relocs
	to possibly_dynamic_relocs.  Adjust usage throughout code.
	(elf_mips_howto_table): Handle R_MIPS_64 correctly.
	(elf_mips_ctor64_howto): Likewise.
	(mips_elf_calculate_relocation): Handle R_MIPS_64 like R_MIPS_32.
	Adjust indentation.
	(mips_elf_relocate_section): Handle R_MIPS_64 in 32-bit mode.
	(_bfd_mips_elf_check_relocs): Handle R_MIPS_64 like R_MIPS_32.
	Use MIPS_ELF_GOT_SIZE to calculate the size of GOT entries.
	* elf64-mips.c (elf_backend_may_use_rel_p): Define.
1999-07-14 08:49:40 +00:00
Mark Mitchell
e53bd91b0f * elf32-mips.c (mips_elf_calculate_relocation): Handle R_MIPS16_26.
(mips_elf_relocate_section): Adjust calling sequence for
	mips_elf_perform_relocation.
	(mips_elf_perform_relocation): Take additional argument.  Handle
	R_MIPS16_26.  Use bfd_put for convenience.
1999-07-13 23:55:08 +00:00
Richard Henderson
28a7f3e70d * elf.c (assign_file_positions_for_segments): Thinko last change.
Always overwrite p_flags.
1999-07-13 20:10:26 +00:00
Richard Henderson
3018b44153 * elf-bfd.h (struct elf_backend_data): Add want_dynbss.
* elflink.c (_bfd_elf_create_dynamic_sections): Only create
        .dynbss and .rel[a].bss if want_dynbss.
        * elfxx-target.h (elf_backend_want_dynbss): Provide default.
1999-07-13 18:31:17 +00:00
Richard Henderson
30b30c2181 * elf-bfd.h (struct elf_link_local_dynamic_entry): New.
(struct elf_link_hash_table): Add dynlocal.
	(_bfd_elf_link_lookup_local_dynindx): Prototype.
	(_bfd_elf_link_adjust_dynindx): Delete.
	(_bfd_elf_link_renumber_dynsyms): Prototype.
	(_bfd_elf,link_record_local_dynamic_symbol): Prototype.
	* elfcode.h (elf_link_record_local_dynamic_symbol): New alias.
	* elflink.c (_bfd_elf_link_adjust_dynindx): Delete.
	(_bfd_elf_link_lookup_local_dynindx): New function.
	(elf_link_renumber_hash_table_dynsyms): New function.
	(_bfd_elf_link_renumber_dynsyms): New function.
	* elflink.h (elf_link_record_local_dynamic_symbol): New function.
	(struct elf_assign_sym_version_info): Delete removed_dynamic.
	(bfd_elf,size_dynamic_sections): Use _bfd_strip_section_from_output
	instead of elf_link_remove_section_and_adjust_dynindices.
	Remove removed_dynamic code.  Use _bfd_elf_link_renumber_dynsyms.
	(elf_link_assign_sym_version): Remove removed_dynamic code.
	(elf_link_renumber_dynsyms): Delete.
	(elf_bfd_final_link): Install section and local symbols into .dynsym.
	* elf32-m68k.c (elf_m68k_adjust_dynindx): Delete.
	(elf_m68k_size_dynamic_sections): Don't set section dynindicies.
	(elf_m68k_finish_dynamic_sections): Don't write section dynsyms.
	* elf32-mips.c: Similarly.
	* elf32-ppc.c: Similarly.
	* elf32-sparc.c: Similarly.
	* elf64-alpha.c: Similarly.
	* elf64-sparc.c: Similarly.
1999-07-13 18:21:29 +00:00
Richard Henderson
e1ee1229a2 * elf.c (assign_file_positions_for_segments): Don't overwrite p_flags. 1999-07-13 17:30:21 +00:00
Mark Mitchell
97a4bb053f * elf32-mips.c (mips_elf_calculate_relocation): Do not complain
when _gp_disp is undefined.  Do not check R_MIPS_LO16 for overflow
	when the relocation is against _gp_disp.
1999-07-13 15:23:22 +00:00