Age | Commit message (Collapse) | Author | Files | Lines |
|
GOT entries.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(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.
|
|
(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.
|
|
|
|
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.
|
|
(elf32_d10v_relocate_section): Use them to handle -r reloc
adjustments, and in place of _bfd_elf_rela_local_sym.
|
|
|
|
(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.
|
|
|
|
* 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.
|
|
"dereferencing type-punned pointer" warnings.
|
|
* 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.
|
|
rather than htab.
(ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal. Zero
relbrlt size.
(ppc64_elf_build_stubs): Allocate space for relbrlt.
|
|
* 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.
|
|
|
|
* 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.
|
|
* 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-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.
|
|
|
|
(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.
|
|
symbol string in place.
|
|
supersets of the original rs6000, but not later rs6000 machines.
|
|
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.
|
|
|
|
|
|
(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.
|
|
* 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.
|
|
(elf_backend_grok_psinfo): Define.
(ppc64_elf_grok_prstatus, ppc64_elf_grok_psinfo): New functions.
|
|
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.
|
|
|
|
|
|
objects.
|
|
|
|
|
|
|
|
|
|
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 '\\'.
|