aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2002-05-29Fix genreation of arm <->thumb glue stubs by ensuring that they are in the ↵Nick Clifton4-39/+70
last section linked.
2002-05-29Move declaration and initialisation of saw_line and saw_func out of for loop.Nick Clifton1-0/+6
(Actual patch accidentally checked in yesterday!)
2002-05-29 * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.Alan Modra3-0/+27
(bfd_elf64_get_symbol_info): Define. * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
2002-05-29 * cpu-h8300.c: Make default h8300 machine first in machine list.Alan Modra2-25/+20
2002-05-29daily updateAlan Modra1-1/+1
2002-05-28Add DLX targetNick Clifton15-20/+791
2002-05-28daily updateAlan Modra1-1/+1
2002-05-27daily updateAlan Modra1-1/+1
2002-05-26daily updateAlan Modra1-1/+1
2002-05-25 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.Alan Modra2-1/+3
2002-05-25 * chew.c: Use #include "" instead of <> for local header files.Alan Modra2-1/+5
2002-05-25 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.Alan Modra2-16/+49
(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-25daily updateAlan Modra1-1/+1
2002-05-242002-05-24 Michal Ludvig <mludvig@suse.cz>Michal Ludvig2-0/+78
* elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added. (elf64_x86_64_grok_psinfo): Added.
2002-05-24Add a target for i386-netbsdpe.Nick Clifton2-0/+8
2002-05-24 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_funcAlan Modra2-27/+43
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-24daily updateAlan Modra1-1/+1
2002-05-23 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCALJakub Jelinek11-85/+1261
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-23For the Thumb BLX reloc round the relocation up rather than down.Nick Clifton3-25/+30
2002-05-23daily updateAlan Modra1-1/+1
2002-05-222002-05-21 H.J. Lu (hjl@gnu.org)H.J. Lu2-28/+34
* linker.c (_bfd_generic_link_add_one_symbol): Allow multiple definition.
2002-05-22 * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.Alan Modra2-6/+19
(ppc64_elf_relocate_section): Handle unresolved relocs in opd.
2002-05-22 * elf64-ppc.c (ppc64_elf_relocate_section): Return false forAlan Modra2-7/+16
unresolved relocs. (ppc64_elf_size_dynamic_sections): Check for splt NULL.
2002-05-22daily updateAlan Modra1-1/+1
2002-05-21 * objdump.c (dump_headers): Fix output formatting for ELF32Thiemo Seufer2-1/+5
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 * elf-bfd.h (elf_backend_emit_relocs): Change prototype to returnThiemo Seufer3-11/+32
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-21bfd:Jason Thorpe2-0/+8
* 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-21daily updateAlan Modra1-1/+1
2002-05-20 * elf64-ppc.c (ppc_build_one_stub): Point undefined function symsAlan Modra2-0/+19
at the plt call stub.
2002-05-20daily updateAlan Modra1-1/+1
2002-05-19 * cpu-mips.c (mips_compatible): Don't try to check machineThiemo Seufer2-5/+7
compatibility.
2002-05-19daily updateAlan Modra1-1/+1
2002-05-18Fix C_FILE auxent.Tom Rix2-1/+5
2002-05-18daily updateAlan Modra1-1/+1
2002-05-17 * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.Alan Modra2-10/+30
(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 * acinclude.m4 (AM_INSTALL_LIBBFD): New.Alan Modra7-336/+473
* 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-17Remove computation of len from inside hash loop.Nick Clifton2-1/+6
2002-05-17daily updateAlan Modra1-1/+1
2002-05-16Add targets for sh64-linux (little endian and big endian).Nick Clifton2-0/+13
2002-05-16daily updateAlan Modra1-1/+1
2002-05-15Do not assume that the first thunk is located in the same section as theNick Clifton2-3/+60
import table. Instead check, and if necessary load the section containing the thunk.
2002-05-15Replace bfd_read with bfd_bread.Nick Clifton2-5/+12
2002-05-15Fix ld --just-symbolsAlan Modra35-22/+160
* 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-15daily updateAlan Modra1-1/+1
2002-05-14 * elf32-mips.c: Remove superfluous definitions copied fromThiemo Seufer2-173/+37
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 * elfxx-mips.c: Call it IRIX, not Irix in comments.Thiemo Seufer2-13/+17
2002-05-14daily updateAlan Modra1-1/+1
2002-05-13* config.bfd (shle-*-netbsdelf*): Add target which includesJason Thorpe2-0/+12
sh64 support.
2002-05-13 * configure.in: Revert 2002-04-07. Instead, auto-configureAlan Modra5-70/+114
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-13Support sparc64-openbsd corefiles as well.Nick Clifton3-2/+8