aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2003-11-14 * elfxx-mips.c (mips_elf_merge_gots): Weaken assert for localDaniel Jacobowitz2-2/+7
GOT entries.
2003-11-14Fix typo in ChangeLog entry: s/R_390_RELAVITE/R_390_RELATIVE/.Martin Schwidefsky1-2/+2
2003-11-13 * elf32-s390.c (elf_s390_relocate_section): Only convert R_390_32Martin Schwidefsky3-6/+83
to R_390_RELAVITE. Convert the other relocations against local symbols to relocations against the start of the section. * elf64-s390.c (elf_s390_relocate_section): Only convert R_390_64 to R_390_RELAVITE. Convert the other relocations against local symbols to relocations against the start of the section.
2003-11-11daily updateAlan Modra1-1/+1
2003-11-11Fix decision about when a .interp section should existNick Clifton12-11/+27
2003-11-10daily updateAlan Modra1-1/+1
2003-11-10Add initial support for TLS sections in PE format files.Nick Clifton2-3/+22
2003-11-09daily updateAlan Modra1-1/+1
2003-11-08daily updateAlan Modra1-1/+1
2003-11-07daily updateAlan Modra1-1/+1
2003-11-06daily updateAlan Modra1-1/+1
2003-11-06 * elf32-ppc.c (ppc_elf_install_value): Delete.Alan Modra2-197/+187
(shared_stub_entry, stub_entry): Make them arrays of ints. Remove initial branch. (ppc_elf_relax_section): Write one branch around all trampolines instead. Correct bogus R_PPC_PLTREL24 handling. Correct branch range check. Only use shared_stub_entry when shared. Test that branches can reach stubs. Write trampolines out at end so that just one realloc is used. Handle little-endian mode. Move relevant code from ppc_elf_install_value to here. (ppc_elf_relocate_section): Move code handling RELAX32 from ppc_elf_install_value to here.
2003-11-06 * elf32-ppc.c (ppc_elf_howto_raw); Add entry for R_PPC_RELAX32PC.Alan Modra2-20/+50
(ppc_elf_install_value): Handle R_PPC_RELAX32PC. Merge duplicate cases. (shared_stub_entry): Correct opcode. (ppc_elf_relax_section): Generate R_PPC_RELAX32PC relocs. (ppc_elf_relocate_section): Handle them.
2003-11-05daily updateAlan Modra1-1/+1
2003-11-05 * elf.c (_bfd_elf_rela_local_sym): Accept asection **, and returnAlan Modra36-153/+114
updated section in case of merged section. * elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration. * elf-hppa.h (elf_hppa_relocate_section): Adjust call. * elf-m10200.c (mn10200_elf_relocate_section): Likewise. * elf-m10300.c (mn10300_elf_relocate_section): Likewise. * elf32-arm.h (elf32_arm_relocate_section): Likewise. * elf32-avr.c (elf32_avr_relocate_section): Likewise. * elf32-cris.c (cris_elf_relocate_section): Likewise. * elf32-fr30.c (fr30_elf_relocate_section): Likewise. * elf32-frv.c (elf32_frv_relocate_section): Likewise. * elf32-h8300.c (elf32_h8_relocate_section): Likewise. * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. * elf32-i370.c (i370_elf_relocate_section): Likewise. * elf32-i860.c (elf32_i860_relocate_section): Likewise. * elf32-m32r.c (m32r_elf_relocate_section): Likewise. * elf32-m68k.c (elf_m68k_relocate_section): Likewise. * elf32-mcore.c (mcore_elf_relocate_section): Likewise. * elf32-msp430.c (elf32_msp430_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-sh.c (sh_elf_relocate_section): Likewise. * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. * elf32-v850.c (v850_elf_relocate_section) Likewise. * elf32-vax.c (elf_vax_relocate_section): Likewise. * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. * elf64-mmix.c (mmix_elf_relocate_section): Likewise. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. * elf64-s390.c (elf_s390_relocate_section): Likewise. * elf64-sh64.c (sh_elf64_relocate_section): Likewise. * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. * elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol section for reloc output. * elf32-i370.c (i370_elf_relocate_section): Likewise. * elf32-m68k.c (elf_m68k_relocate_section): Likewise. * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. * elf32-vax.c (elf_vax_relocate_section): Likewise. * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. * elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything for R_PPC_RELAX32 reloc. Don't bother checking ppc_elf_install_value return value. * elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check sec->id.
2003-11-05 * elf32-d10v.c (extract_rel_addend, insert_rel_addend): New functions.Alan Modra2-11/+112
(elf32_d10v_relocate_section): Use them to handle -r reloc adjustments, and in place of _bfd_elf_rela_local_sym.
2003-11-04 * cpu-iq2000.c (arch_info_struct): Warning fix.Alan Modra2-15/+18
2003-11-04 * elf32-hppa.c (ELIMINATE_COPY_RELOCS): Define.Alan Modra2-36/+81
(elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on weakdefs. (elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS. (elf32_hppa_adjust_dynamic_symbol): Likewise. Copy weakdef NON_GOT_REF. (allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and SYMBOL_CALLS_LOCAL. Discard relocs for undef weak syms with non-default visibility. (elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and SYMBOL_CALLS_LOCAL.
2003-11-04daily updateAlan Modra1-1/+1
2003-11-04 * aout-target.h, aoutf1.h, bfdio.c, bfdwin.c: Update copyright date.Alan Modra33-34/+44
* coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto. * coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto. * cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto. * cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto. * gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto. * nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto.
2003-11-04 * elf-m10300.c (_bfd_mn10300_elf_create_got_section): FixAlan Modra2-9/+14
"dereferencing type-punned pointer" warnings.
2003-11-04 * aout-adobe.c (aout_adobe_set_section_contents): Constify location.Alan Modra38-85/+129
* aoutx.h (NAME(aout,set_section_contents)): Ditto. * bfd-in2.h: Regenerate. * binary.c (binary_set_section_contents): Ditto. * bout.c (b_out_set_section_contents): Ditto. * coff-tic54x.c (tic54x_set_section_contents): Ditto. * coffcode.h (coff_set_section_contents): Ditto. * ecoff.c (_bfd_ecoff_set_section_contents): Ditto. * elf-bfd.h (_bfd_elf_set_section_contents): Ditto. * elf.c (_bfd_elf_set_section_contents): Ditto. * elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto. * elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto. * i386msdos.c (msdos_set_section_contents): Ditto. * ieee.c (ieee_set_section_contents): Ditto. * ihex.c (ihex_set_section_contents): Ditto. * libaout.h (NAME(aout,set_section_contents)): Ditto. * libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto. (_bfd_generic_set_section_contents): Ditto. * libbfd.h: Regenerate. * libbfd.c (_bfd_generic_set_section_contents): Ditto. * libecoff.h (_bfd_ecoff_set_section_contents): Ditto. * libnlm.h (nlmNAME(set_section_contents)): Ditto. (struct nlm_backend_data <nlm_mangle_relocs>): Ditto. * mmo.c (mmo_set_section_contents): Ditto. * nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto. * nlm32-i386.c (nlm_i386_mangle_relocs): Ditto. * nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto. * nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto. * nlmcode.h (nlm_set_section_contents): Ditto. * oasys.c (oasys_set_section_contents): Ditto. * pdp11.c (NAME(aout,set_section_contents)): Ditto. * ppcboot.c (ppcboot_set_section_contents): Ditto. * srec.c (srec_set_section_contents): Ditto. * targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto. * tekhex.c (tekhex_set_section_contents): Ditto. (move_section_contents): Ditto. * versados.c (versados_set_section_contents): Ditto. * vms-misc.c (_bfd_save_vms_section): Ditto. * vms.c (vms_set_section_contents): Ditto. * vms.h (_bfd_save_vms_section): Ditto.
2003-11-04 * elf64-ppc.c (ppc_size_one_stub): Size relbrlt. Accept info argAlan Modra2-2/+28
rather than htab. (ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal. Zero relbrlt size. (ppc64_elf_build_stubs): Allocate space for relbrlt.
2003-11-04 * bfd-in.h (_bfd_elf_tls_setup): Declare.Alan Modra19-222/+185
* bfd-in2.h: Regenerate. * elf-bfd.h (struct elf_link_tls_segment): Delete. (struct elf_link_hash_table): Add tls_sec and tls_size. * elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size. * elflink.c (_bfd_elf_tls_setup): New function. * elflink.h (struct elf_final_link_info): Remove first_tls_sec. (elf_bfd_final_link): Don't set first_tls_sec here. Update code saving tls segment info, round segment size up. (elf_link_output_extsym): Adjust code using tls segment info. (elf_link_input_bfd): Likewise. * elf32-i386.c (dtpoff_base, tpoff): Likewise. * elf32-s390.c (dtpoff_base, tpoff): Likewise. * elf32-sh.c (dtpoff_base, tpoff): Likewise. * elf32-sparc.c (dtpoff_base, tpoff): Likewise. * elf64-s390.c (dtpoff_base, tpoff): Likewise. * elf64-x86-64.c (dtpoff_base, tpoff): Likewise. * elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise. (elfNN_ia64_dtprel_base): Likewise. * elf64-alpha.c (alpha_get_dtprel_base): Likewise. (alpha_get_tprel_base): Likewise. (struct alpha_relax_info): Remove tls_segment. (elf64_alpha_relax_got_load): Adjust invocation of alpha_get_dtprel_base and alpha_get_tprel_base. (elf64_alpha_relax_tls_get_addr): Likewise. (elf64_alpha_relax_section): Likewise. (elf64_alpha_relocate_section): Likewise. (elf64_alpha_relax_find_tls_segment): Delete. * elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec. (ppc_elf_tls_setup): Call _bfd_elf_tls_setup. Return section. (ppc_elf_relocate_section): Adjust to use elf.tls_sec. * elf32-ppc.h (ppc_elf_tls_setup): Update. * elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec. (ppc64_elf_tls_setup): Call _bfd_elf_tls_setup. Return section. (ppc64_elf_tls_optimize): Adjust to use elf.tls_sec. (ppc64_elf_relocate_section): Likewise. * elf64-ppc.h (ppc64_elf_tls_setup): Update. * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Call _bfd_elf_tls_setup.
2003-11-03daily updateAlan Modra1-1/+1
2003-11-03 * elf-bfd.h (struct elf_backend_data): Remove plt_header_size.Daniel Jacobowitz22-26/+27
* elf-m10300.c (elf_backend_plt_header_size): Don't define. * elf32-arm.h (elf_backend_plt_header_size): Don't define. * elf32-cris.c (elf_backend_plt_header_size): Don't define. * elf32-i386.c (elf_backend_plt_header_size): Don't define. * elf32-mips.c (elf_backend_plt_header_size): Don't define. * elf32-ppc.c (elf_backend_plt_header_size): Don't define. * elf32-s390.c (elf_backend_plt_header_size): Don't define. * elf32-sh.c (elf_backend_plt_header_size): Don't define. * elf32-sparc.c (elf_backend_plt_header_size): Don't define. * elf64-alpha.c (elf_backend_plt_header_size): Don't define. * elf64-hppa.c (elf_backend_plt_header_size): Don't define. * elf64-mips.c (elf_backend_plt_header_size): Don't define. * elf64-ppc.c (elf_backend_plt_header_size): Don't define. * elf64-s390.c (elf_backend_plt_header_size): Don't define. * elf64-sh64.c (elf_backend_plt_header_size): Don't define. * elf64-sparc.c (elf_backend_plt_header_size): Don't define. * elf64-x86-64.c (elf_backend_plt_header_size): Don't define. * elfn32-mips.c (elf_backend_plt_header_size): Don't define. * elfxx-ia64.c (elf_backend_plt_header_size): Don't define. * elfxx-target.h (elf_backend_plt_header_size): Don't define or include in target initializer.
2003-11-032003-11-03 Andrew Cagney <cagney@redhat.com>Andrew Cagney3-5/+11
* section.c (bfd_set_section_contents): Make the "location" buffer constant. * bfd-in2.h: Re-generate. Index: gdb/ChangeLog 2003-11-03 Andrew Cagney <cagney@redhat.com> * exec.c (xfer_memory): Eliminate xfer_fn.
2003-11-02daily updateAlan Modra1-1/+1
2003-11-01daily updateAlan Modra1-1/+1
2003-10-31daily updateAlan Modra1-1/+1
2003-10-31Index: sim/frv/ChangeLogAndrew Cagney18-83/+92
2003-10-30 Andrew Cagney <cagney@redhat.com> * traps.c: Replace "struct symbol_cache_entry" with "struct bfd_symbol". Index: sim/d10v/ChangeLog 2003-10-30 Andrew Cagney <cagney@redhat.com> * simops.c: Replace "struct symbol_cache_entry" with "struct bfd_symbol". Index: sim/common/ChangeLog 2003-10-30 Andrew Cagney <cagney@redhat.com> * sim-trace.c, sim-base.h: Replace "struct symbol_cache_entry" with "struct bfd_symbol". Index: ld/ChangeLog 2003-10-30 Andrew Cagney <cagney@redhat.com> * emultempl/pe.em, pe-dll.c: Replace "struct symbol_cache_entry" with "struct bfd_symbol". Index: bfd/ChangeLog 2003-10-30 Andrew Cagney <cagney@redhat.com> * syms.c: Replace "struct symbol_cache_entry" with "struct bfd_symbol". * vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto. * mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto. * cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto. * bfd-in2.h: Re-generate.
2003-10-30daily updateAlan Modra1-1/+1
2003-10-30 * elfxx-ia64.c: Include objalloc.h, hashtab.h.Jakub Jelinek2-85/+108
(struct elfNN_ia64_local_hash_entry): Remove root. Add id and r_sym fields. (struct elfNN_ia64_local_hash_table): Remove. (struct elfNN_ia64_link_hash_table): Change loc_hash_table's type to htab_t. Add loc_hash_memory field. (elfNN_ia64_local_hash_table_init, elfNN_ia64_new_loc_hash_entry): Removed. (elfNN_ia64_local_htab_hash, elfNN_ia64_local_htab_eq): New functions. (elfNN_ia64_hash_table_create): Use hashtab.h hashtable for loc_hash_table. Initialize loc_hash_memory. (elfNN_ia64_hash_table_free): New function. (elfNN_ia64_local_hash_lookup): Remove. (elfNN_ia64_local_dyn_sym_thunk): Change into htab_traverse callback. (elfNN_ia64_dyn_sym_traverse): Use htab_traverse. (get_local_sym_hash): Use hashtab.h hashtable for loc_hash_table. (bfd_elfNN_bfd_link_hash_table_free): Define.
2003-10-30 * elflink.c (_bfd_elf_link_record_dynamic_symbol): Modify versionedAlan Modra2-24/+18
symbol string in place.
2003-10-30Check the correct arch_info object's mach field: all PowerPC machines areNick Clifton2-1/+7
supersets of the original rs6000, but not later rs6000 machines.
2003-10-30 * dwarf2.c (struct attribute): Delete "unsnd", "snd" and "addr".Alan Modra2-41/+40
Add "val" and "sval" fields. (DW_STRING, DW_UNSND, DW_BLOCK, DW_SND, DW_ADDR): Delete. (read_attribute_value): Expand and adjust DW_* occurrences. (scan_unit_for_functions, parse_comp_unit): Likewise.
2003-10-30Remove separate vxworks stanza; merge withother common ELF triples.Nick Clifton2-10/+21
2003-10-29daily updateAlan Modra1-1/+1
2003-10-29 * merge.c (struct sec_merge_sec_info): Update comment.Alan Modra3-263/+199
(struct sec_merge_hash_entry): Remove entsize. (sec_merge_hash_lookup): Only adjust alignment when creating. (sec_merge_emit): Remove register keyword. (cmplengthentry, last4_eq, last_eq): Delete. (strrevcmp, strrevcmp_align, is_suffix): New. (merge_strings): Use them to implement fast suffix merging. * elf-strtab.c (struct elf_strtab_hash_entry): Update comments. Make "len" signed. (_bfd_elf_strtab_add): Lose on >2G strings. (_bfd_elf_strtab_emit): Don't emit strings with len < 0. (cmplengthentry, last4_eq): Delete. (strrevcmp, is_suffix): New. (_bfd_elf_strtab_finalize): Rework to implement fast suffix merging.
2003-10-292003-10-29 Daniel Jacobowitz <drow@mvista.com>Phil Blundell2-319/+765
* elf32-arm.h (elf32_arm_final_link_relocate): Move check for SEC_ALLOC. 2003-10-29 Philip Blundell <philb@gnu.org> * elf32-arm.h (elf32_arm_plt0_entry, elf32_arm_plt_entry): New code sequence. (PLT_HEADER_SIZE): New. (struct elf32_arm_pcrel_relocs_copied): Rename to ... (struct elf32_arm_relocs_copied): ... this. Count both pcrel and non-pcrel relocs. All uses updated. (struct elf32_arm_link_hash_table): Add pointers to dynamic linker sections and symbol/section mapping cache. (create_got_section): New. (elf32_arm_create_dynamic_sections): New. (elf_backend_create_dynamic_sections): Use it. (elf32_arm_final_link_relocate): Support garbage collection of relocs. (elf32_arm_check_relocs): Likewise. (elf32_arm_adjust_dynamic_symbol): Likewise. (elf32_arm_copy_indirect_symbol): New. (elf32_arm_link_hash_table_create): Initialise new fields. (elf32_arm_gc_sweep_hook): Implement. (elf32_arm_discard_copies): Delete. (elf32_arm_finish_dynamic_symbol): Use new PLT code. (elf32_arm_finish_dynamic_sections): Likewise. (elf_backend_can_refcount): Define. (elf_backend_copy_indirect_symbol): Likewise. (elf_backend_plt_header_size): Set to PLT_HEADER_SIZE.
2003-10-29 * elf64-ppc.c (elf_backend_grok_prstatus): Define.Alan Modra2-2/+48
(elf_backend_grok_psinfo): Define. (ppc64_elf_grok_prstatus, ppc64_elf_grok_psinfo): New functions.
2003-10-29 * elf.c (_bfd_elfcore_make_pseudosection): Allow multipleAlan Modra2-15/+25
sections with the same name. (elfcore_grok_lwpstatus): Likewise. (elfcore_grok_win32pstatus): Likewise. (elfcore_grok_note): Likewise. (elfcore_grok_nto_status): Likewise. (elfcore_grok_nto_gregs): Likewise.
2003-10-28daily updateAlan Modra1-1/+1
2003-10-27daily updateAlan Modra1-1/+1
2003-10-27 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamicDaniel Jacobowitz2-12/+24
objects.
2003-10-26daily updateAlan Modra1-1/+1
2003-10-25daily updateAlan Modra1-1/+1
2003-10-25daily updateAlan Modra1-1/+1
2003-10-24 * elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.Richard Sandiford2-0/+5
2003-10-24bfd/H.J. Lu2-4/+7
2003-10-24 H.J. Lu <hongjiu.lu@intel.com> * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Look up hash table for real symbols. include/ 2003-10-24 H.J. Lu <hongjiu.lu@intel.com> * bfdlink.h (bfd_elf_version_expr): Add "symbol" and remove "wildcard". ld/ 2003-10-24 H.J. Lu <hongjiu.lu@intel.com> * ldlang.c (lang_vers_match): Check "symbol" instead of "wildcard" and "pattern". Fix a typo. (lang_finalize_version_expr_head): Likewise. (lang_register_vers_node): Likewise. (realsymbol): New function. (lang_new_vers_pattern): Set "symbol" and remove "wildcard". * ldlex.l (V_IDENTIFIER): Allow '\\'.