Age | Commit message (Collapse) | Author | Files | Lines |
|
keep relocs for undefined syms if there are no dynamic sections in
executable.
* elf32-hppa.c (allocate_plt_and_got_and_discard_relocs): Likewise.
|
|
* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Check if
hplink->sgot is NULL before filling GOT. Checck if hplink->splt
is NULL before filling PLT.
|
|
* elf32-hppa.c (elf32_hppa_check_relocs): Don't make syms dynamic
here..
(elf32_hppa_adjust_dynamic_symbol): ..nor here..
(allocate_plt_and_got_and_discard_relocs): .. instead do so here
after gc has run.
* elf32-hppa.c (RELATIVE_DYNAMIC_RELOCS): Delete.
(IS_ABSOLUTE_RELOC): Define.
(elf32_hppa_link_hash_entry): Always include reloc_entries field.
(hppa_link_hash_newfunc): Always init it.
(elf32_hppa_check_relocs): Mark symbols as ELF_LINK_NON_GOT_REF to
create COPY relocs only when the reloc is in a read-only section.
Instead, allocate space for a dynamic reloc to reference the
library symbol directly. Keep track of space we allocate using
relocs_entries.
(hppa_discard_copies): Delete, and move code to..
(allocate_plt_and_got): ..here. Rename to
allocate_plt_and_got_and_discard_relocs. Remove unneeded dynamic
relocs for non-shared link.
(elf32_hppa_size_dynamic_sections): Update calls to above.
(elf32_hppa_relocate_section): Write out the dynamic relocs used
in lieu of COPY relocs.
|
|
allocate local .got space. Use shortcuts from hash table for .got
and .plt rather than comparing section names.
(elf32_hppa_check_relocs): Use local_plt_refcounts var rather than
adjusting index into local_got_refcounts to document what we are
really doing.
(elf32_hppa_relocate_section): Similarly for local_plt_offsets.
Tidy .got and .plt error checking.
|
|
|
|
* elf32-hppa.c (elf32_hppa_object_p): Check ELFOSABI_LINUX
and ELFOSABI_HPUX.
* elf64-hppa.c (elf64_hppa_object_p): Likewise.
|
|
millicode. Don't allocate .got and .rela.got space here..
(elf32_hppa_gc_sweep_hook): ..and no need to deallocate here..
(elf32_hppa_adjust_dynamic_symbol): ..and don't allocate .plt and
.rela.plt here..
(hppa_handle_PIC_calls): ..nor here..
(allocate_plt_and_got): ..instead do it all here. New function.
(elf32_hppa_size_dynamic_sections): Allocate local .got space and
call allocate_plt_and_got. No need to zap .got if not dynamic.
(elf32_hppa_final_link): Call regular bfd_final_link instead of
gc_common_final_link.
(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
(elf32_hppa_relocate_section): Use it here.
(elf32_hppa_finish_dynamic_symbol): Remove superfluous test of
dynamic_sections_created.
(hppa_type_of_stub): Don't LONG_BRANCH_VIA_PLT if millicode sym.
|
|
for symbols forced local that need plabels.
(elf32_hppa_adjust_dynamic_symbol): Don't allocate space in
.plt.rela for local syms if non-shared.
(hppa_build_one_stub): Mask lsb of plt.offset.
(elf32_hppa_finish_dynamic_symbol): Abort if lsb of plt.offset set.
(clobber_millicode_symbols): Correct comment.
(elf32_hppa_relocate_section): Likewise.
(elf32_hppa_finish_dynamic_symbol): Likewise.
|
|
undefined millicode syms in shared libs.
(hppa_build_one_stub): Turn BFD_ASSERTs into aborts.
(elf32_hppa_check_relocs): Likewise.
(elf32_hppa_adjust_dynamic_symbol): Likewise.
(elf32_hppa_size_dynamic_sections): Likewise.
(elf32_hppa_relocate_section): Likewise.
(elf32_hppa_finish_dynamic_symbol): Likewise.
(elf32_hppa_finish_dynamic_sections): Likewise.
|
|
ELF_LINK_FORCED_LOCAL to suit 2001-04-30 change.
(hppa_build_one_stub): Add an assert to check plt.offset.
|
|
* elf.c (_bfd_elf_link_hash_hide_symbol): Set dynindx to -1
only for ELF_LINK_FORCED_LOCAL.
* elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
* elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise.
* elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
* elflink.h (elf_fix_symbol_flags): Set ELF_LINK_FORCED_LOCAL
if the symbol has hidden or internal visibility.
|
|
calls to undefined weak symbols.
|
|
|
|
the function happens to have a plabel.
|
|
|
|
|
|
If $global$ referenced but not defined, set its value here.
|
|
|
|
|
|
|
|
* elf32-fr30.c: Fix formatting.
* elf32-hppa.c: Likewise.
* elf32-i370.c: Likewise.
* elf32-i386.c: Likewise.
* elf32-i860.c: Likewise.
* elf32-i960.c: Likewise.
|
|
|
|
import stub fix, extra DIR14F reloc to fix abort in tc_gen_reloc
|
|
grouping. (In the process, partly revert and fix bugs introduced
with the last change. Oops.)
|
|
|
|
|
|
Clobber millicode syms via a hash traversal here. elf_adjust_dynamic_symbol
really ought to let us look at all dynamic symbols, but it doesn't.
|
|
local function that has a plabel. Size the stub reloc sections
as we size the stubs.
|
|
|
|
|
|
it now compiles even if it doesn't work too well.
|
|
|
|
* aoutx.h (aout_link_input_section_std): Pass "true" to
the undefined_symbol callback.
(aout_link_input_section_ext): Likewise.
* bout.c (get_value): Likewise.
* coff-a29k.c (coff_a29k_relocate_section): Likewise.
* coff-alpha.c (alpha_ecoff_get_relocated_section_conten):
Likewise.
(alpha_relocate_section): Likewise.
* coff-arm.c (coff_arm_relocate_section): Likewise.
* coff-i960.c (coff_i960_relocate_section): Likewise.
* coff-mcore.c (coff_mcore_relocate_section): Likewise.
* coff-mips.c (mips_relocate_section): Likewise.
* coff-ppc.c (coff_ppc_relocate_section): Likewise.
* coff-sh.c (sh_relocate_section): Likewise.
* coff-tic80.c (coff_tic80_relocate_section): Likewise.
* cofflink.c (_bfd_coff_generic_relocate_section): Likewise.
* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
* elf32-i370.c (i370_elf_relocate_section): Likewise.
* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
* elf32-sh.c (sh_elf_relocate_section): Likewise.
* elf32-v850.c (v850_elf_relocate_section): Likewise.
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
* elflink.h (elf_link_output_extsym): Likewise.
* pe-mips.c (coff_pe_mips_relocate_section): Likewise.
* reloc.c (bfd_generic_get_relocated_section_conten): Likewise.
* reloc16.c (_bfd_ppc_xcoff_relocate_section): Likewise.
* elf-hppa.h (elf_hppa_relocate_section): Pass "false" to the
undefined_symbol callback when building shared library with
-Bsymbolic and undefined symbols are allowed. Otherwise, pass
"true".
* elf32-arm.h (elf32_arm_relocate_section): Likewise.
* elf32-i386.c (elf_i386_relocate_section): Likewise.
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
* elf32-mips.c (mips_elf_calculate_relocation): Likewise.
(elf32_mips_get_relocated_section_content): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
|
* elf32-hppa.c (bfd_elf32_bfd_is_local_label_name): Fix typo in
macro definition.
|
|
* elf32-hppa.c (elf_backend_fake_sections): Define.
|
|
64bit mode, generate a section relative relocation for a 32bit
wide relocation.
(elf_hppa_is_local_label_name): New function.
* elf32-hppa.c (elf_hppa_is_local_label_name): Deleted. To be
shared between 32bit and 64bit port.
|
|
as appropriate. Use EMPTY_HOWTO as appropriate. Fill in
structure initializations. Add casts.
* reloc.c (EMPTY_HOWTO): Define.
* bfd-in2.h: Rebuild.
* coff-h8300.c (h8300_reloc16_extra_cases): Remove useless
comparisons against 0.
* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Change
previous_ibfd_e_flags to unsigned long.
* vms.h (struct vms_private_data_struct): Change section_count to
unsigned.
* vms-gsd.c (_bfd_vms_slurp_gsd): Change psect_idx to unsigned.
(_bfd_vms_write_gsd): Change symnum to unsigned.
* vms-hdr.c (_bfd_vms_write_hdr): Change symnum to unsigned.
* vms-tir.c (etir_sta): Change psect to unsigned.
(alloc_section): Change idx to unsigned.
(tir_sta, tir_ctl): Change psect to unsigned.
(_bfd_vms_write_tir): Change len and before to bfd_size_type.
* vms.c (priv_section_count): Change to unsigned.
|
|
variables. Add default case to enum switches.
* coff-arm.c (bfd_arm_allocate_interworking_sections): Only
compile if not COFF_IMAGE_WITH_PE.
(record_arm_to_thumb_glue, record_thumb_to_arm_glue): Likewise.
(bfd_arm_get_bfd_for_interworking): Likewise.
(bfd_arm_process_before_allocation): Likewise.
* epoc-pei-arm.c: Don't rename bfd_arm functions.
* pei-arm.c: Likewise.
* elf32-mips.c (mips_elf_link_hash_table_create): Don't declare.
(MIPS_ELF_ADD_DYNAMIC_ENTRY): Correct last change.
(mips_elf_got16_entry): Put parens around & in body of ==.
(mips_elf_calculate_relocation): Correct test for empty string.
* vms-gsd.c: Use _bfd_error_handler rather than fprintf to
stderr.
* vms-misc.c (_bfd_vms_length_hash_symbol): Correct sprintf
format.
|
|
* elf-hppa.c (elf_hppa_howto_table): Use bfd_elf_generic_reloc as
relocation function.
* elf32-hppa.c (hppa_elf_reloc): Kill unused/unwanted function.
|
|
* elf-hppa.c (elf_hppa_final_write_processing): New function.
* elf32-hppa.c: Remove everything related to symbol extension
sections & records. Use the common elf_hppa_final_write_processing.
|
|
support.
* elf32-hppa.c: Include elf-hppa.h.
(ARCH_SIZE): Define.
(elf_hppa_reloc_type_lookup): Delete. Found in the common code
now.
(elf32_hppa_info_to_howto): Similarly.
(elf_hppa_howto_table): Similarly.
(elf_hppa_reloc_type_lookup): Similarly.
(hppa_elf_gen_reloc_type): Similarly.
* elf32-hppa.h (ELF_HOWTO_TALBE, N_PARISC_RELOCS): Delete.
|
|
|