Nick Clifton
d172d4ba03
Add DLX target
2002-05-28 14:08:47 +00:00
Alan Modra
8cf23aec33
daily update
2002-05-28 00:26:27 +00:00
Alan Modra
b9d2bdcb04
daily update
2002-05-27 00:00:06 +00:00
Alan Modra
c2f89d5dd7
daily update
2002-05-26 00:00:05 +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
f742faa65b
* chew.c: Use #include "" instead of <> for local header files.
2002-05-25 12:50:18 +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
Alan Modra
43f8ec3896
daily update
2002-05-25 00:00:06 +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
Alan Modra
8a18e99d4c
daily update
2002-05-24 00:00:06 +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
Alan Modra
9ee0b326c9
daily update
2002-05-23 00:00:04 +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
Alan Modra
c7a4707351
daily update
2002-05-22 00:00:05 +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
dd45e91811
daily update
2002-05-21 00:00:06 +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
Alan Modra
7a4f993ee5
daily update
2002-05-20 00:00:07 +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
Alan Modra
1a89f665fc
daily update
2002-05-19 00:00:06 +00:00
Tom Rix
a58d9c34ef
Fix C_FILE auxent.
2002-05-18 13:13:12 +00:00
Alan Modra
6e3d2bb55f
daily update
2002-05-18 00:00:05 +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
Alan Modra
ed2368c9a8
daily update
2002-05-17 00:00:04 +00:00
Nick Clifton
629936c5b1
Add targets for sh64-linux (little endian and big endian).
2002-05-16 08:19:19 +00:00
Alan Modra
51db274664
daily update
2002-05-16 00:00:06 +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
Alan Modra
879d6525f7
daily update
2002-05-15 00:00:05 +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
Alan Modra
a8a1dd9966
daily update
2002-05-14 00:00:05 +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
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