Richard Henderson
3765b1be13
include/elf/
...
* alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64,
R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI,
R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64,
R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New.
bfd/
* elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
(ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
(ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
(struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
(struct alpha_elf_obj_tdata): Rename total_got_entries and
n_local_got_entries to total_got_size and local_got_size.
(elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
(alpha_got_entry_size): New.
(elf64_alpha_relax_with_lituse): Use it.
(elf64_alpha_relax_without_lituse): Likewise.
(MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
(get_got_entry): New.
(elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
(elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
(elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
(elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
(elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
(elf64_alpha_calc_got_offsets): Likewise.
(alpha_dynamic_entries_for_reloc): New.
(elf64_alpha_calc_dynrel_sizes): Use it.
(elf64_alpha_size_dynamic_sections): Likewise.
(elf64_alpha_relocate_section): Handle TLS relocations.
* reloc.c: Add Alpha TLS relocations.
* bfd-in2.h, libbfd.h: Rebuild.
gas/
* expr.h (operatorT): Add O_md17..O_md32.
* config/tc-alpha.c (O_lituse_tlsgd, O_lituse_tlsldm, O_tlsgd,
O_tlsldm, O_gotdtprel, O_dtprelhi, O_dtprello, O_dtprel, O_gottprel,
O_tprelhi, O_tprello, O_tprel): New.
(USER_RELOC_P, alpha_reloc_op_tag, debug_exp): Include them.
(DUMMY_RELOC_LITUSE_TLSGD, DUMMY_RELOC_LITUSE_TLSLDM): New.
(LITUSE_TLSGD, LITUSE_TLSLDM): New.
(struct alpha_reloc_tag): Add master, saw_tlsgd, saw_tlsld,
saw_lu_tlsgd, saw_lu_tlsldm. Make multi_section_p a bit field.
(md_apply_fix3): Handle TLS relocations.
(alpha_force_relocation, alpha_fix_adjustable): Likewise.
(alpha_adjust_symtab_relocs): Sort LITERAL relocs after the
associated TLS reloc. Check lituse_tls relocs match up.
(emit_insn): Handle TLS relocations.
(ldX_op): Remove.
gas/testsuite/
* gas/alpha/elf-tls-1.s, gas/alpha/elf-tls-1.d: New.
* gas/alpha/elf-tls-2.s, gas/alpha/elf-tls-1.l: New.
* gas/alpha/elf-tls-3.s, gas/alpha/elf-tls-1.l: New.
* gas/alpha/alpha.exp: Run them.
2002-05-30 22:01:38 +00:00
Nick Clifton
5e226794ca
Remove double printed import table lines; add Bound-To comment.
2002-05-30 11:06:10 +00:00
Jason Thorpe
90ace9e95d
2002-05-29 Matt Thomas <matt@3am-software.com>
...
* Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
(BFD32_BACKENDS_CFILES): Add elf32-vax.c.
(elf32-vax.lo): New rule.
* Makefile.in: Regenerate.
* configure.in (bfd_elf32_vax_vec)
(vaxnetbsd_vec): New vectors.
* configure: Regenerate.
* config.bfd (vax-*-netbsdelf*)
(vax-*-netbsdaout*)
(vax-*-netbsd*): New targets.
* elf32-vax.c: New file.
* reloc.c: Add VAX relocations.
* bfd-in2.h: Regenerate.
* targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
2002-05-30 02:14:13 +00:00
Jason Thorpe
4a253e8176
* config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
...
and bfd_elf32_bigarm_vec to targ_selvecs.
2002-05-29 21:10:18 +00:00
Christopher Faylor
6e7c73dd85
* peXXigen.c (pe_print_idata): Fix seg faults on printing import tables with
...
auto-imported symbols.
2002-05-29 20:06:28 +00:00
Nick Clifton
8afb0e028c
Fix genreation of arm <->thumb glue stubs by ensuring that they are in the last section linked.
2002-05-29 16:03:04 +00:00
Nick Clifton
a95653f53e
Move declaration and initialisation of saw_line and saw_func out of for loop.
...
(Actual patch accidentally checked in yesterday!)
2002-05-29 08:46:58 +00:00
Alan Modra
7cdc5bba78
* elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
...
(bfd_elf64_get_symbol_info): Define.
* elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
2002-05-29 05:00:01 +00:00
Alan Modra
4c7aad1c75
* cpu-h8300.c: Make default h8300 machine first in machine list.
2002-05-29 00:58:46 +00:00
Nick Clifton
d172d4ba03
Add DLX target
2002-05-28 14:08:47 +00:00
Alan Modra
428d0de365
* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
2002-05-25 13:09:37 +00:00
Alan Modra
d1329ca363
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
...
(ppc64_elf_check_relocs): Don't set up function descriptor symbol
strings to point inside function code sym string.
(func_desc_adjust): Likewise.
(ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
2002-05-25 10:13:23 +00:00
Michal Ludvig
3bab7989f4
2002-05-24 Michal Ludvig <mludvig@suse.cz>
...
* elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
(elf64_x86_64_grok_psinfo): Added.
2002-05-24 14:25:08 +00:00
Nick Clifton
436e8db0b7
Add a target for i386-netbsdpe.
2002-05-24 09:26:58 +00:00
Alan Modra
ea1e4b0d54
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
...
and is_func_descriptor.
(func_desc_adjust): Hide function code sym in shared libs unless
there is a matching exported function descriptor sym.
2002-05-24 04:07:38 +00:00
Jakub Jelinek
13ae64f3c7
* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
...
for symbols from SHF_TLS section.
(_bfd_elf_print_private_bfd_data): Add PT_TLS.
(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
(map_sections_to_segments): Build PT_TLS segment if necessary.
(assign_file_positions_for_segments): Likewise.
(get_program_header_size): Account for PT_TLS segment.
(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
SEC_THREAD_LOCAL sections to STT_TLS.
* reloc.c: Add 386 and IA-64 TLS relocs.
* section.c (SEC_THREAD_LOCAL): Define.
(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
Remove.
* elflink.h (elf_link_add_object_symbols): Support .tcommon.
(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
unconditionally.
(struct elf_final_link_info): Add first_tls_sec.
(elf_bfd_final_link): Set first_tls_sec.
Compute elf_hash_table (info)->tls_segment.
(elf_link_output_extsym): Handle STT_TLS symbols.
(elf_link_input_bfd): Likewise.
* syms.c (BSF_THREAD_LOCAL): Define.
* bfd-in2.h: Rebuilt.
* libbfd.h: Rebuilt.
* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
elf_i386_mkobject, elf_i386_object_p): New functions.
(elf_howto_table): Add TLS relocs.
(elf_i386_reloc_type_lookup): Support TLS relocs.
(elf_i386_info_to_howto_rel): Likewise.
(struct elf_i386_link_hash_entry): Add tls_type.
(struct elf_i386_obj_tdata): New.
(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
New macros.
(struct elf_i386_link_hash_table): Add tls_ldm_got.
(link_hash_newfunc): Clear tls_type.
(elf_i386_check_relocs): Support TLS relocs.
(elf_i386_gc_sweep_hook): Likewise.
(allocate_dynrelocs): Likewise.
(elf_i386_size_dynamic_sections): Likewise.
(elf_i386_relocate_section): Likewise.
(elf_i386_finish_dynamic_symbol): Likewise.
(bfd_elf32_mkobject, elf_backend_object_p): Define.
* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
want_tprel, want_dtpmod, want_dtprel.
(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
R_IA64_LTOFF_TPREL22.
(elf_code_to_howto_index): Add TLS relocs.
(elfNN_ia64_check_relocs): Support TLS relocs.
(allocate_global_data_got): Account for TLS .got data.
(allocate_dynrel_entries): Account for TLS dynamic relocations.
(elfNN_ia64_install_value): Supprt TLS relocs.
(set_got_entry): Support TLS relocs.
(elfNN_ia64_relocate_section): Likewise.
* config/obj-elf.c (elf_common): Renamed from obj_elf_common.
(obj_elf_common): Call elf_common.
(obj_elf_tls_common): New function.
(elf_pseudo_tab): Support .tls_common.
(special_sections): Add .tdata and .tbss.
(obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS
sections.
(obj_elf_parse_section_letters): Support T in section flags (SHF_TLS).
(obj_elf_parse_section_letters): Include T in error message.
* config/tc-ppc.c (ppc_section_letter): Likewise.
* config/tc-alpha.c (alpha_elf_section_letter): Likewise.
(tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as
SEC_MERGE.
* config/tc-sparc.c (md_apply_fix3): Likewise.
* config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs.
Define them if not BFD_ASSEMBLER.
(lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF
and @NTPOFF.
(md_apply_fix3): Add TLS relocs.
* config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE,
FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE,
FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE.
(pseudo_func): Support @dtpmod(), @dtprel() and @tprel().
(ia64_elf_section_letter): Include T in error message.
(md_begin): Support TLS operators.
(md_operand): Likewise.
(ia64_gen_real_reloc_type): Support TLS relocs.
* testsuite/gas/i386/tlspic.s: New file.
* testsuite/gas/i386/tlsd.s: New file.
* testsuite/gas/i386/tlsnopic.s: New file.
* testsuite/gas/i386/tlsd.d: New file.
* testsuite/gas/i386/tlsnopic.d: New file.
* testsuite/gas/i386/tlspic.d: New file.
* testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests.
* testsuite/gas/ia64/tls.s: New file.
* testsuite/gas/ia64/tls.d: New file.
* testsuite/gas/ia64/ia64.exp: Add tls test.
* write.c (adjust_reloc_syms): Don't change symbols in
SEC_THREAD_LOCAL sections to STT_SECTION + addend.
* elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
* elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
* elf/i386.h: Add TLS relocs.
* scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
* ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
output section if necessary. Handle .tbss.
(lang_size_sections): Clear _raw_size for .tbss section
(it allocates space in PT_TLS segment only).
* ldwrite.c (build_link_order): Build link order for .tbss too.
* readelf.c (get_segment_type): Add PT_TLS.
(get_elf_section_flags): Add SHF_TLS.
(get_dynamic_flags): Optimize. Add DF_STATIC_TLS.
(process_dynamic_segment): Use puts instead of printf.
(get_symbol_type): Support STT_TLS.
* objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT,
SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS.
Add SEC_THREAD_LOCAL.
2002-05-23 13:12:53 +00:00
Nick Clifton
c62e1cc30f
For the Thumb BLX reloc round the relocation up rather than down.
2002-05-23 12:37:57 +00:00
H.J. Lu
c5a43a5dc5
2002-05-21 H.J. Lu (hjl@gnu.org)
...
* linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
definition.
2002-05-22 05:06:18 +00:00
Alan Modra
afbe61cf19
* elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
...
(ppc64_elf_relocate_section): Handle unresolved relocs in opd.
2002-05-22 04:22:08 +00:00
Alan Modra
9c07fe7cfa
* elf64-ppc.c (ppc64_elf_relocate_section): Return false for
...
unresolved relocs.
(ppc64_elf_size_dynamic_sections): Check for splt NULL.
2002-05-22 00:04:40 +00:00
Thiemo Seufer
21611032e1
* objdump.c (dump_headers): Fix output formatting for ELF32
...
architectures in a BFD64 enabled toolchain.
* bfd/bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
non-ELF targets.
2002-05-21 16:21:18 +00:00
Thiemo Seufer
41241523bf
* elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
...
an error value.
* elflink.h (elf_link_output_relocs): Likewise. Improve error message.
return with false on error.
(elf_link_input_bfd): Check reloc_emitter return value.
2002-05-21 16:03:46 +00:00
Jason Thorpe
658f25883a
bfd:
...
* config.bfd (armeb-*-netbsdelf*): New target.
ld:
* Makefile.am (ALL_EMULATIONS): Add earmelfb_nbsd.o.
(earmelfb_nbsd.c): New rule.
* Makefile.in: Regenerate.
* configure.tgt (armeb-*-netbsdelf*): New target.
(arm-*-netbsdelf*): Add armelfb_nbsd to targ_extra_emuls.
(arm-*-netbsd*): Likewise.
* emulparams/armelfb_nbsd.sh: New file.
2002-05-21 15:11:04 +00:00
Alan Modra
c862ae314d
* elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
...
at the plt call stub.
2002-05-20 13:12:41 +00:00
Thiemo Seufer
6dd1484515
* cpu-mips.c (mips_compatible): Don't try to check machine
...
compatibility.
2002-05-19 21:06:34 +00:00
Tom Rix
a58d9c34ef
Fix C_FILE auxent.
2002-05-18 13:13:12 +00:00
Alan Modra
ef60b7ff0e
* elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
...
(ppc64_elf_relocate_section): Don't warn about reloc overflow when
we've already warned about an undefined symbol. Report more
detail on reloc errors.
2002-05-17 13:25:04 +00:00
Alan Modra
a703a6ea4e
* acinclude.m4 (AM_INSTALL_LIBBFD): New.
...
* configure.in: Invoke AM_INSTALL_LIBBFD.
* Makefile.am (install-data-local): Revert 2002-05-13. Move to..
(install_libbfd): .. New target.
(uninstall_libbfd): Likewise.
(install-bfdlibLTLIBRARIES): Likewise.
(uninstall-bfdlibLTLIBRARIES): Likewise.
(bfdlibdir): New.
(bfdincludedir): New.
(lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
2002-05-17 10:34:03 +00:00
Nick Clifton
2c13d98be1
Remove computation of len from inside hash loop.
2002-05-17 09:52:04 +00:00
Nick Clifton
629936c5b1
Add targets for sh64-linux (little endian and big endian).
2002-05-16 08:19:19 +00:00
Nick Clifton
e4cf60a822
Do not assume that the first thunk is located in the same section as the
...
import table. Instead check, and if necessary load the section containing
the thunk.
2002-05-15 15:28:12 +00:00
Nick Clifton
d1e66cd4a4
Replace bfd_read with bfd_bread.
2002-05-15 13:47:12 +00:00
Alan Modra
2d653fc760
Fix ld --just-symbols
...
* aix5ppc-core.c: Warning fixes.
* aout-adobe.c (aout_32_bfd_link_just_syms): Define.
* aout-target.h (MY_bfd_link_just_syms): Define.
* aout-tic30.c (MY_bfd_link_just_syms): Define.
* bfd.c (bfd_link_just_syms): Define.
* binary.c (binary_bfd_link_just_syms): Define.
* bout.c (b_out_bfd_link_just_syms): Define.
* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
* coffcode.h (coff_bfd_link_just_syms): Define.
* elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
(elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
(_bfd_elf_link_just_syms): Declare.
* elf.c (_bfd_elf_link_just_syms): New function.
* elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
sections haven't already been discarded by the linker.
* elflink.h (elf_link_add_object_symbols): Likewise for stab
sections and SEC_MERGE sections.
(elf_bfd_discard_info): Similarly here.
* elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
* i386msdos.c (msdos_bfd_link_just_syms): Define.
* i386os9k.c (os9k_bfd_link_just_syms): Define.
* ieee.c (ieee_bfd_link_just_syms): Define.
* ihex.c (ihex_bfd_link_just_syms): Define.
* libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
(_bfd_generic_link_just_syms): Declare.
* libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
* linker.c (_bfd_generic_link_just_syms): New function.
* mmo.c (mmo_bfd_link_just_syms): Define.
* nlm-target.h (nlm_bfd_link_just_syms): Define.
* oasys.c (oasys_bfd_link_just_syms): Define.
* ppcboot.c (ppcboot_bfd_link_just_syms): Define.
* som.c (som_bfd_link_just_syms): Define.
* srec.c (srec_bfd_link_just_syms): Define.
* targets.c (struct bfd_target): Add _bfd_link_just_syms.
(BFD_JUMP_TABLE_LINK): And here.
* tekhex.c (tekhex_bfd_link_just_syms): Define.
* versados.c (versados_bfd_link_just_syms): Define.
* vms.c (vms_bfd_link_just_syms): Define.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
2002-05-15 00:18:58 +00:00
Thiemo Seufer
cb7394f2b6
* elf32-mips.c: Remove superfluous definitions copied from
...
elfxx-mips.c.
(bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
SGIish vectors to check the special case.
(mips_elf_hi16_reloc): Fix comment.
(mips_elf_got16_reloc): Likewise.
(_bfd_mips_elf32_gprel16_reloc): Likewise.
(elf_reloc_map): Code cleanup.
(mips_reloc_map): Add comment.
(bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
(mips_elf32_rtype_to_howto): Likewise.
(mips_elf32_discard_info): Likewise.
(elf32_mips_irix_compat): Invert logic: Only SGIish vectors
lead to IRIX compatibility now.
2002-05-14 23:37:52 +00:00
Thiemo Seufer
8dc1a139e1
* elfxx-mips.c: Call it IRIX, not Irix in comments.
2002-05-14 23:23:59 +00:00
Jason Thorpe
2051e1b512
* config.bfd (shle-*-netbsdelf*): Add target which includes
...
sh64 support.
2002-05-13 18:35:55 +00:00
Alan Modra
8395426148
* configure.in: Revert 2002-04-07. Instead, auto-configure
...
HAVE_ST_C_IMPL.
* configure: Regenerate.
* config.in: Regenerate.
* rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
or AIX_5_CORE.
2002-05-13 13:33:30 +00:00
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
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
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
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
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
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
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