Age | Commit message (Collapse) | Author | Files | Lines |
|
DT_TEXTREL to a shared object.
|
|
|
|
|
|
2004-10-04 H.J. Lu <hongjiu.lu@intel.com>
* NEWS: Mention SORT_BY_NAME, SORT_BY_ALIGNMENT and
--sort-section name|alignment.
* ld.texinfo: Document SORT_BY_NAME, SORT_BY_ALIGNMENT and
--sort-section name|alignment.
* ld.h (sort_type): New enum.
(wildcard_spec): Change the type of `sorted' to sort_type.
* ldgram.y (SORT): Removed.
(SORT_BY_NAME): Added.
(SORT_BY_ALIGNMENT): Added.
(wildcard_spec): Updated `sorted'. Handle SORT_BY_NAME and
SORT_BY_ALIGNMENT.
(input_section_spec_no_keep): Updated `sorted'.
(statement): Replace SORT with SORT_BY_NAME.
* ldlang.c (compare_section): New function to compare 2
sections with different sorting schemes.
(wild_sort): Updated. Use compare_section.
(update_wild_statements): New function.
(lang_process): Call update_wild_statements before
map_input_to_output_sections.
* ldlex.l (SORT_BY_NAME): New.
(SORT_BY_ALIGNMENT): New.
(SORT): Return SORT_BY_NAME.
* ldmain.c (sort_section): New. Defined.
(main): Initialize it to none.
* lexsup.c (option_values): Add OPTION_SORT_SECTION.
(ld_options): Add an entry for OPTION_SORT_SECTION.
(parse_args): Handle OPTION_SORT_SECTION.
* mri.c (mri_draw_tree): Updated `sorted'.
ld/testsuite/
2004-10-04 H.J. Lu <hongjiu.lu@intel.com>
* ld-scripts/sort.exp: New file for section sorting tests.
* ld-scripts/sort_b_a.d: Likewise
* ld-scripts/sort_b_a.s: Likewise
* ld-scripts/sort_b_a.t: Likewise
* ld-scripts/sort_b_a_a-1.d: Likewise
* ld-scripts/sort_b_a_a-2.d: Likewise
* ld-scripts/sort_b_a_a-3.d: Likewise
* ld-scripts/sort_b_a_a.t: Likewise
* ld-scripts/sort_b_a_n-1.d: Likewise
* ld-scripts/sort_b_a_n-2.d: Likewise
* ld-scripts/sort_b_a_n-3.d: Likewise
* ld-scripts/sort_b_a_n.t: Likewise
* ld-scripts/sort_b_n.d: Likewise
* ld-scripts/sort_b_n.s: Likewise
* ld-scripts/sort_b_n.t: Likewise
* ld-scripts/sort_b_n_a-1.d: Likewise
* ld-scripts/sort_b_n_a-2.d: Likewise
* ld-scripts/sort_b_n_a-3.d: Likewise
* ld-scripts/sort_b_n_a.t: Likewise
* ld-scripts/sort_b_n_n-1.d: Likewise
* ld-scripts/sort_b_n_n-2.d: Likewise
* ld-scripts/sort_b_n_n-3.d: Likewise
* ld-scripts/sort_b_n_n.t: Likewise
* ld-scripts/sort_n_a-a.s: Likewise
* ld-scripts/sort_n_a-b.s: Likewise
* ld-scripts/sort_no-1.d: Likewise
* ld-scripts/sort_no-2.d: Likewise
* ld-scripts/sort_no.t: Likewise
|
|
* scripttempl/elf.sc (DATA_SEGMENT_RELRO_END): Add 0 as first
argument.
(DATA_SEGMENT_RELRO_GOTPLT_END): Pass $SEPARATE_GOTPLT as first
and . as second argument.
(GOTPLT): Move $DATA_SEGMENT_RELRO_GOTPLT_END before the section.
* ldexp.c (fold_unary): Remove DATA_SEGMENT_RELRO_END handling here.
(fold_binary): Add it here. Insert padding to make relro_end
COMMONPAGESIZE bytes aligned. For DATA_SEGMENT_ALIGN in
exp_dataseg_relro_adjust phase just use previously computed
exp_data_seg.base.
* ldlang.c (lang_size_sections): Set exp_data_seg.base for
relro_adjust here. Call lang_size_sections_1 once more if there
was too big padding at DATA_SEGMENT_RELRO_END.
* ld.texinfo (DATA_SEGMENT_RELRO_END): Add documentation.
|
|
* ld-powerpc/tls.s: Don't set tls type for undefined syms.
* ld-powerpc/tls32.s: Likewise.
* ld-powerpc/tlstoc.s: Likewise.
* ld-s390/tlsbin.s: Likewise.
* ld-s390/tlsbin_64.s: Likewise.
* ld-s390/tlsbinpic.s: Likewise.
* ld-s390/tlsbinpic_64.s: Likewise.
* ld-s390/tlspic1.s: Likewise.
* ld-s390/tlspic1_64.s: Likewise.
* ld-sparc/tlssunbin32.s: Likewise.
* ld-sparc/tlssunbinpic32.s: Likewise.
* ld-sparc/tlssunnopic32.s: Likewise.
* ld-sparc/tlssunpic32.s: Likewise.
|
|
the ARM EABI.
|
|
* ld-s390/tlsbin_64.s: Likewise.
* ld-s390/tlsbinpic.s: Likewise.
* ld-s390/tlsbinpic_64.s: Likewise.
* ld-s390/tlspic1.s: Likewise.
* ld-s390/tlspic1_64.s: Likewise.
* ld-sparc/tlssunbin32.s: Likewise.
* ld-sparc/tlssunbinpic32.s: Likewise.
* ld-sparc/tlssunnopic32.s: Likewise.
* ld-sparc/tlssunpic32.s: Likewise.
|
|
|
|
* ld-undefined/undefined.exp: Remove redundant XPASS specifications.
|
|
* ld-powerpc/tls32.s (gd, ld): Likewise.
* ld-powerpc/tlstoc.s (gd, ld): Likewise.
* ld-powerpc/tlsso.r: Update.
* ld-powerpc/tlsso32.r: Update.
* ld-powerpc/tlstocso.r: Update.
|
|
address for position independant executables.
pe-dll.c (pe_dll_fill_sections): Don't mark position independant executables
as DLLs.
|
|
* elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
target2 relocation type.
ld/
* ld.texinfo: Document --target2=abs.
* emulparms/armsymbian.sh (TARGET2_TYPE): Set.
ld/testsuite/
* ld-arm/arm-elf.exp: Add test for --target2=abs.
* ld-arm/arm-target2-abs.d: New file.
|
|
a relocatable link. The ROM region does not start at address 0, but the
sections will.
Makefile.am: Fix linker script dependency for the generation of eelf32xstormy16.c.
|
|
* gas/i386/secrel.s: Pad .rdata out to 16 byte boundary.
* gas/i386/secrel.d: Adjust to suit.
ld/testsuite/
* ld-pe/secrel1.s: Pad .rdata out to 16 byte boundary.
* ld-pe/secrel.d: Adjust to suit.
|
|
emulparams/i386pe_posix.sh, emulparams/mcorepe.sh, emulparams/mipspe.sh,
emulparams/ppcpe.sh, scripttempl/pe.sc: Define TARGET_PAGE_SIZE.
* scripttempl/pe.sc: Make the virtual address and file offset synced if the
alignment is lower than the target page size.
|
|
def_file_parse to handle pe_def_file if NULL and prevent crash with invalid
.def files.
|
|
--emit-stub-syms automatically when --emit-relocs.
|
|
.fini_array sections.
|
|
* dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section
vma and output offset to address.
* simple.c (simple_save_output_info): Only set output section
and offset for debug sections, or those not already set up by
the linker.
(bfd_simple_get_relocated_section_contents): Update comment.
ld/testsuite/
* ld-elfvsb/elfvsb.exp: Remove file name from "undefined ref" string.
|
|
* readelf.c (process_program_headers): Don't include .tbss in non-TLS
segments.
ld/testsuite/
* ld-i386/tlsbin.rd: Update for changed segment map.
* ld-i386/tlsnopic.rd: Likewise.
* ld-i386/tlspic.rd: Likewise.
* ld-powerpc/tlsexe.r: Likewise.
* ld-powerpc/tlsexe32.r: Likewise.
* ld-powerpc/tlsexetoc.r: Likewise.
* ld-powerpc/tlsso.r: Likewise.
* ld-powerpc/tlsso32.r: Likewise.
* ld-powerpc/tlstocso.r: Likewise.
* ld-s390/tlsbin.rd: Likewise.
* ld-s390/tlsbin_64.rd: Likewise.
* ld-s390/tlspic.rd: Likewise.
* ld-s390/tlspic_64.rd: Likewise.
* ld-sh/tlsbin-2.d: Likewise.
* ld-sh/tlspic-2.d: Likewise.
* ld-x86-64/tlsbin.rd: Likewise.
* ld-x86-64/tlspic.rd: Likewise.
|
|
* elf.c (IS_LOADED): Define.
(assign_file_positions_for_segments): Don't round up file offset of
PT_LOAD segments containing no SEC_LOAD sections, instead round down.
Delete code handling link script adjustment of lma. Do the adjust
in later code handling similar ajustments. Remove dead code error
check. Warn if section lma would require a negative offset
adjustment. Tweak lma adjustment to use p_filesz rather than p_memsz.
Use p_vaddr + p_memsz inside section loop in place of voff. Don't
update voff in section loop. Change voff in segment loop to be an
adjustment on top of "off". Set sec->filepos and update "off" later.
Test for loadable sections consistently using IS_LOADED. Similarly,
test for alloc-only sections other than .tbss consistently.
Don't bother checking SEC_ALLOC in PT_LOAD segments. Remove FIXME.
Tidy PT_NOTE handling. Use %B and %A in error messages.
(assign_file_positions_except_relocs): Use %B in error message.
ld/testsuite/
* ld-scripts/overlay-size.d: Don't check .mbss lma.
* ld-sh/sh64/mix1.xd: Update for changed .bss file offset.
* ld-sh/sh64/shdl32.xd: Likewise.
* ld-sh/sh64/shdl64.xd: Likewise.
|
|
base so that relro end is suitably aligned.
|
|
* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
(bfd_elf32_arm_process_before_allocation): Update prototype.
* bfd-in2.h: Regenerate.
* bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
(elf32_arm_link_hash_table_create): Set it.
(bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
(bfd_elf32_arm_set_target_relocs): New function.
(arm_real_reloc_type): New function.
(elf32_arm_final_link_relocate): Use it. Handle R_ARM_PREL31 and
R_ARM_GOT_PREL. Remove R_ARM_TARGET1.
(elf32_arm_gc_sweep_hook): Ditto.
(elf32_arm_check_relocs): Ditto.
(elf32_arm_relocate_section): Handle R_ARM_GOT_PREL.
* elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and
R_ARM_GOT_TARGET2.
(elf32_arm_got_prel): New variable.
(elf32_arm_howto_from_type): New function.
(elf32_arm_info_to_howto): Use it.
(elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and
BFD_RELOC_ARM_TARGET2.
* libbfd.h: Regenerate.
* reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31.
gas/
* config/tc-arm.c (s_arm_rel31): New funciton.
(md_pseudo_table): Add .rel31.
(md_apply_fix3): Handle BFD_RELOC_ARM_TARGET2,
BFD_RELOC_32_PCREL and BFD_RELOC_ARM_PREL31.
(tc_gen_reloc): Handle BFD_RELOC_ARM_PREL31 and BFD_RELOC_ARM_TARGET2.
(arm_fix_adjustable): Return 0 for BFD_RELOC_ARM_TARGET2.
(arm_parse_reloc): Add (target2).
gas/testsuite/
* gas/arm/pic.s: Add (target2).
* gas/arm/pic.d: Ditto.
include/
* elf/arm.h: Remove R_ARM_STKCHK and R_ARM_THM_STKCHK.
Add R_ARM_TARGET2, R_ARM_PREL31, R_ARM_GOT_ABS, R_ARM_GOT_PREL,
R_ARM_GOT_BREL12, R_ARM_GOTOFF12 and R_ARM_GOTRELAX.
ld/
* ld.texinfo: Rename arm-specific section. Document --target*
* emulparams/armelf_fbsd.sh: Set TARGET2_TYPE.
* emulparams/armelf_linux.sh: Ditto.
* emulparams/armelf_nbsd.sh: Ditto.
* emultempl/armelf.em: Set default for TARGET2_TYPE.
(target2_type): New variable.
(arm_elf_before_allocation): Don't pass target1_type.
(arm_elf_create_output_section_statements): New function.
(PARSE_AND_LIST_PROLOGUE): Add OPTION_TARGET2.
(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --target=.
(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_TARGET2.
(LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Set.
* emultempl/armelf_oabi.em (_before_allocation): Remove extra
argument to bfd_elf32_arm_process_before_allocation.
ld/testsuite/
* ld-arm/arm-target1-{abs,rel}.d}: New files.
* ld-arm/arm-target1.s: New file.
* ld-arm/arm-target2-{,got-}rel.d: New files.
* ld-arm/arm-target2.s: New file.
* ld-arm/arm-rel31.d: New files.
* ld-arm/arm-rel31.s: New files.
* ld-arm/arm.ld: New file.
* ld-arm/arm-elf.exp: Add new tests.
|
|
* bfdlink.h (struct bfd_link_hash_entry): Move und_next into elements
of union.
bfd/
* ecoff.c: Update u.undef.next refs.
* elf64-ppc.c: Likewise.
* elflink.c: Likewise.
* linker.c: Likewise.
* xcofflink.c: Likewise.
ld/
* ldexp.c (fold_name): Update u.undef.next refs.
* emultempl/pe.em: Likewise.
* emultempl/sunos.em: Likewise.
bfd/
* elf-bfd.h (struct elf_link_hash_entry): Rearrange. Add FIXME to
dynamic_def. Combine weakdef and elf_hash_value. Move vtable
fields to indirect struct.
* elf-m10300.c: Update u.weakdef refs.
* elf32-arm.h: Likewise.
* elf32-cris.c: Likewise.
* elf32-frv.c: Likewise.
* elf32-hppa.c: Likewise.
* elf32-i370.c: Likewise.
* elf32-i386.c: Likewise.
* elf32-m32r.c: Likewise.
* elf32-m68k.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-s390.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-sparc.c: Likewise.
* elf32-vax.c: Likewise.
* elf32-xtensa.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-hppa.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-s390.c: Likewise.
* elf64-sh64.c: Likewise.
* elf64-sparc.c: Likewise.
* elf64-x86-64.c: Likewise.
* elfxx-ia64.c: Likewise.
* elfxx-mips.c: Likewise.
* elflink.c: Likewise. Also u.elf_hash_value.
(elf_gc_propagate_vtable_entries_used): Update for h->vtable
indirection.
(elf_gc_smash_unused_vtentry_relocs): Likewise.
(bfd_elf_gc_record_vtinherit): Alloc vtable.
(bfd_elf_gc_record_vtentry): Likewise.
* elf.c (_bfd_elf_link_hash_newfunc): Use memset.
|
|
* Makefile.in: Regenerate.
* config.in: Regenerate.
* configure: Regenerate.
* aclocal.m4: Regenerate.
* po/ld.pot: Regenerate.
|
|
|
|
* elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI
around uses of R_ARM_TARGET1.
(elf32_arm_check_relocs): Likewise.
ld/
* emultempl/armelf_oabi.em (before_allocation): Add extra zero param
to bfd_elf32_arm_process_before_allocation call.
|
|
* bfd-in.h (bfd_elf32_arm_process_before_allocation): Update
prototype.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel.
(elf32_arm_link_hash_table_create): Set target1_is_rel.
(bfd_elf32_arm_process_before_allocation): Ditto.
(elf32_arm_final_link_relocate): Handle R_ARM_TARGET1.
(elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto.
* elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1.
* reloc.c: Ditto.
gas/
* config/tc-arm.c: Rename RELABS to TARGET1.
gas/testsuite/
* gas/arm/pic.d: Rename RELABS to TARGET1.
* gas/arm/pic.s: Ditto.
include/
* elf/arm.h: Rename RELABS to TARGET1.
ld/
* emulparams/armsymbian.sh: Set TARGET1_IS_REL.
* emultempl/armelf.em: Use TARGET1_IS_REL. Add --target1-{rel,abs}.
|
|
|
|
New test.
|
|
2004-09-07 H.J. Lu <hongjiu.lu@intel.com>
* configure: Regenerated with autconfig 2.13.
ld/
2004-09-07 H.J. Lu <hongjiu.lu@intel.com>
* configure: Regenerated with autconfig 2.13.
|
|
alignment before adjusting DATA_SEGMENT_RELRO_END.
|
|
* elf.c (_bfd_elf_make_dynamic_segment): New function, split out
from ...
(map_sections_to_segments): ... here. Use it. Assign a file
position to the .dynamic section if it is not loadable, but part
of the PT_DYNAMIC segment.
* elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file
offsets, not VMAs, for the BPABI. Do not fill in the header in
the .got.plt section for the BPABI.
* elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a
PT_DYNAMIC segment.
(elf_backend_want_got_plt): Define to zero for Symbian OS.
* emulparams/armsymbian.sh: Use armbpabi script.
* scripttempl/armbpabi.sc: New script.
|
|
* configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
(bfd_elf32_littlearm_symbian_vec): Likewise.
* configure: Regenerated.
* elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
* elf32-arm.h (PLT_HEADER_SIZE): Do not define.
(PLT_ENTRY_SIZE): Likewise.
(bfd_vma_elf32_arm_symbian_plt_entry): New
variable.
(elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
and symbian_p.
(create_got_section): Don't create sections when generating BPABI
objects.
(elf32_arm_create_dynamic_sections): Tidy.
(elf32_arm_link_hash_table_create): Set plt_header_size,
plt_entry_size, and symbian_p.
(elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
generating BPABI objects.
(allocate_dynrelocs): Use htab->plt_header_size, not
PLT_HEADER_SIZE. Do not add to .got.plt when
generating BPABI objects.
(elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
* elfarm-nabi.c: Add SymbianOS target vectors.
* elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
(_bfd_elf_link_create_dynamic_sections): Likewise.
* elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
(elfNN_bed): Use it.
* targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
(bfd_elf32_littlearm_symbian_vec): Likewise.
(_bfd_target_vector): Add them.
* Makefile.am (TARG_ENV_HFILES): Add te-symbian.h.
* Makefile.in: Regenerated.
* configure.in: Set em for arm*-*-symbianelf*.
* configure: Regenerated.
* config/tc-arm.c (elf32_arm_target_format): Use Symbian target
vectors when appropriate.
* config/te-symbian.h: New file.
* Makefile.am (ALL_EMULATIONS): Add earmsymbian.o.
(earmsymbian.c): New target.
* configure.tgt: Use armsymbian emulation for arm*-*-symbianelf*.
* Makefile.in: Regenerated.
* aclocal.m4: Likewise.
* configure: Likewise.
* emulparams/armsymbian.sh: New file.
|
|
Fix several crx bugs.
|
|
|
|
* elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
TRUE or FALSE.
ld/
* ldlang.c (lang_init): Don't compare with TRUE.
|
|
|
|
* ldlang.c (wildcardp): Defined as a macro with strpbrk.
|
|
ld-cris/expdyn7.d, ld-cris/gotplt2.d, ld-cris/gotplt3.d,
ld-cris/libdso-1.d, ld-cris/libdso-2.d, ld-cris/locref1.d,
ld-cris/nodyn4.d, ld-cris/nodyn5.d: Adjust for reordered
sections.
|
|
(arm*-*-eabi*): Likewise.
|
|
entries (where fd_aux overlaps next entry's fd_func).
Add non_overlapping argument, use it.
(ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms,
ppc64_elf_size_stubs, ppc64_elf_relocate_section,
ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24
as indexes into opd_sym_map/opd_adjust array.
* elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype.
* emultempl/ppc64elf.em (non_overlapping_opd): New variable.
(ppc_before_allocation): Pass it to ppc64_elf_edit_opd).
(OPTION_NON_OVERLAPPING_OPD): Define.
(PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Add
--non-overlapping-opd option.
|
|
* elflink.c (bfd_elf_record_link_assignment): Add comment about
changing bfd_link_hash_undefined to bfd_link_hash_new.
* ldexp.c (fold_name): Don't call bfd_link_add_undef if the symbol
was already on the undefs list.
|
|
prefix the symbol field too.
|
|
|
|
|
|
* bfd.c (_bfd_default_error_handler): Handle %A and %B.
(bfd_archive_filename, bfd_get_section_ident): Delete.
* ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call
bfd_archive_filename.
* elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler
to warn about symbols in discarded sections. Use _bfd_error_handler.
* aout-adobe.c (aout_adobe_callback): See below.
* aout-cris.c (swap_ext_reloc_in): ..
* coff-arm.c (find_thumb_glue, find_arm_glue,
coff_arm_relocate_section, bfd_arm_process_before_allocation,
coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags,
coff_arm_copy_private_bfd_data): ..
* coff-i860.c (i860_reloc_processing): ..
* coff-mcore.c (mcore_coff_unsupported_reloc,
coff_mcore_relocate_section): ..
* coff-ppc.c (coff_ppc_relocate_section): ..
* coff-rs6000.c (xcoff_create_csect_from_smclas
* coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
sh_swap_insns, sh_relocate_section): ..
* coff-tic54x.c (tic54x_reloc_processing): ..
* coff-tic80.c (coff_tic80_relocate_section): ..
* coff64-rs6000.c (xcoff64_create_csect_from_smclas): ..
* coffcode.h (styp_to_sec_flags, coff_slurp_line_table,
coff_slurp_symbol_table, coff_classify_symbol,
coff_slurp_reloc_table): ..
* coffgen.c (_bfd_coff_read_string_table): ..
* cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd,
_bfd_coff_generic_relocate_section): ..
* cpu-arm.c (bfd_arm_merge_machines): ..
* cpu-sh.c (sh_merge_bfd_arch): ..
* elf-hppa.h (elf_hppa_relocate_section): ..
* elf.c (bfd_elf_string_from_elf_section, setup_group,
_bfd_elf_setup_group_pointers, bfd_section_from_shdr,
assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol,
copy_private_bfd_data, _bfd_elf_validate_reloc): ..
* elf32-arm.h (find_thumb_glue, find_arm_glue,
bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub,
elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate,
elf32_arm_relocate_section, elf32_arm_set_private_flags,
elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): ..
* elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs,
cris_elf_merge_private_bfd_data
* elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): ..
* elf32-gen.c (elf32_generic_link_add_symbols): ..
* elf32-hppa.c (hppa_add_stub, hppa_build_one_stub,
elf32_hppa_check_relocs, get_local_syms, final_link_relocate,
elf32_hppa_relocate_section): ..
* elf32-i370.c (i370_elf_merge_private_bfd_data,
i370_elf_check_relocs, i370_elf_relocate_section): ..
* elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs,
elf_i386_relocate_section): ..
* elf32-m32r.c (m32r_elf_relocate_section,
m32r_elf_merge_private_bfd_data): ..
* elf32-m68hc1x.c (m68hc12_add_stub,
_bfd_m68hc11_elf_merge_private_bfd_data): ..
* elf32-m68k.c (elf_m68k_relocate_section): ..
* elf32-mcore.c (mcore_elf_unsupported_reloc,
mcore_elf_relocate_section): ..
* elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc,
ppc_elf_check_relocs, ppc_elf_relocate_section,
ppc_elf_begin_write_processing): ..
* elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn,
elf_s390_relocate_section): ..
* elf32-sh-symbian.c (sh_symbian_import_as,
sh_symbian_process_embedded_commands,
sh_symbian_relocate_section): ..
* elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes,
sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs,
sh_elf_merge_private_data): ..
* elf32-sparc.c (elf32_sparc_check_relocs,
elf32_sparc_relocate_section,
elf32_sparc_merge_private_bfd_data): ..
* elf32-v850.c (v850_elf_check_relocs,
v850_elf_merge_private_bfd_data): ..
* elf32-xtensa.c (elf_xtensa_check_relocs,
elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): ..
* elf64-alpha.c (elf64_alpha_relax_with_lituse,
elf64_alpha_relax_got_load, elf64_alpha_size_got_sections,
elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): ..
* elf64-gen.c (elf64_generic_link_add_symbols): ..
* elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub,
ppc64_elf_check_relocs, ppc64_elf_edit_opd,
ppc64_elf_relocate_section): ..
* elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn,
elf_s390_relocate_section): ..
* elf64-sh64.c (sh_elf64_relocate_section): ..
* elf64-sparc.c (sparc64_elf_check_relocs,
sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section,
sparc64_elf_merge_private_bfd_data): ..
* elf64-x86-64.c (elf64_x86_64_check_relocs,
elf64_x86_64_relocate_section): ..
* elflink.c (_bfd_elf_add_default_symbol,
_bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section,
_bfd_elf_link_output_relocs, elf_link_add_object_symbols,
bfd_elf_size_dynamic_sections, elf_link_output_extsym,
elf_get_linked_section_vma, elf_fixup_link_order,
bfd_elf_final_link, bfd_elf_gc_record_vtinherit,
bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): ..
* elfxx-ia64.c (elfNN_ia64_relax_section,
elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): ..
* elfxx-mips.c (mips_elf_perform_relocation,
_bfd_mips_elf_check_relocs,
_bfd_mips_elf_merge_private_bfd_data): ..
* ieee.c (ieee_slurp_external_symbols): ..
* ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): ..
* libbfd.c (_bfd_generic_verify_endian_match): ..
* linker.c (_bfd_generic_link_add_one_symbol,
_bfd_generic_section_already_linked): ..
* pdp11.c (translate_to_native_sym_flags): ..
* pe-mips.c (coff_pe_mips_relocate_section): ..
* peicode.h (pe_ILF_build_a_bfd): ..
* srec.c (srec_bad_byte): ..
* stabs.c (_bfd_link_section_stabs): ..
* xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): ..
Replace all uses of bfd_archive_filename and bfd_get_section_ident
with corresponding %B and %A in _bfd_error_handler format string.
Replace occurrences of "fprintf (stderr," with _bfd_error_handler
calls to use %A and %B. Fix "against symbol .. from section" and
similar error messages. Combine multiple _bfd_error_handler calls
where they were separated due to bfd_archive_filename deficiencies.
* bfd-in2.h: Regenerate.
include/
* bfdlink.h (struct bfd_link_callbacks): Remove "error_handler".
(LD_DEFINITION_IN_DISCARDED_SECTION): Delete.
ld/
* ldmain.c (link_callbacks): Remove "error_handler".
* ldmisc.c: Include elf-bfd.h.
(vfinfo): Sort comment. Handle %A. Use %A instead of
bfd_get_section_indent.
(error_handler): Delete.
* ldmisc.h (error_handler): Delete declaration.
|
|
* elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined.
(struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed.
Make emit_stub_syms, stub_error and has_14bit_branch bit-fields.
Add twiddled_syms.
(link_hash_newfunc): Init was_undefined.
(add_symbol_adjust): Don't set undefined dot symbols to defweak;
Use undefweak instead.
(ppc64_elf_check_directives): Fix undefs chain.
(ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed
references.
(ppc64_elf_size_stubs): Adjust for add_symbol_adjust change.
(undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions.
* elf64-ppc.h (ppc64_elf_restore_symbols): Declare.
ld/
* emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Call
ppc64_elf_restore_symbols.
|
|
.toc is too large on relocatable linking.
|