Age | Commit message (Collapse) | Author | Files | Lines |
|
* coff-arm.c (deletemeacoff_arm_reloc): Deleted.
(arm26): Not partial inplace.
* coffcode.h (coff_compute_section_file_positions): Don't
do page aligning if COFF_PAGE_SIZE isn't defined.
* coffswap.h (coff_swap_scnhdr_in): Update image base correctly.
|
|
Swap in PE header.
* coffcode.h (coff_write_object_contents): Remove #if0ed code
Only remove empty sections in PE inmage files.
|
|
* coffcode.h (coff_write_object_contents): Remove #if0ed code
Only remove empty sections in PE inmage files.
|
|
* libbfd.h, bfd-in2.h: regenerated.
* coff-arm.c (aoutarm_std_relo): New entry at 11.
(arm_reloc_type_lookup) : Understand type 11.
* coff-i386.c (howto_table): fix name of rva type.
(coff-i386_rtype_to_howto): Understand R_IMAGEBASE type.
* coffcode.h (sec_to_styp_flags): .edata is data.
(coff_compute_section_file_positions): Get page size right for PE.
(fill_pe_header_info): Fix fields.
(coff_write_object_contents): Remove end_of_image calc.
(_bfd_coff_generate_reloc_section): Remove orphaned comment.
* coffswap.h (coff_swap_scnhdr_in): Don't always add IMAGE_BASE.
(coff_swap_scnhdr_out): Setup PE flags correctly.
* reloc.c (BFD_RELOC_RVA): New field.
|
|
expression to avoid compiler bug on HP-UX 9.01.
|
|
|
|
|
|
|
|
* bfd-in.h (bfd_link_subsystem): Turn enum into #defines.
(bfd_link_pe_info_dval): New
(bfd_link_stack_heap): Renamed and massaged into bfd_link_pe_info.
* bfd-in2.h: rebuilt.
* bfd.c (NT_subsystem, NT_stack_heap): Deleted.
* coffcode.h (pe_value): New function.
(fill_pe_header_info): New function.
(coff_write_object_contents): Use new function.
* cofflink.c (coff_final_link_info): Remove pe randomness.
(dores_com): Update info in bfd_link_pe_info_dval.
(process_embedded_commands): Use the bfd_link_pe_info_dval.
(_bfd_coff_final_link): Remove PE stuff, initialize
coff_data->link_info.
* coffswap.h (coff_swap_[aout|filehdr]_out): Use indirect PE pointer.
(coff_swap_scnhdr_out): Use real imagebase.
* libcoff (coff_data_type.link_info): New field.
|
|
undefined weak reference, change the type to undefined.
* elflink.h (elf_link_add_archive_symbols): Don't record an
undefined weak reference as defined, in case it turns into a real
undefined reference later in the same archive.
|
|
coff_section_tdata pointer, since PTR is the real type of the field.
* cofflink.c (_bfd_coff_read_internal_relocs): Ditto.
|
|
* sunos.c (SPARC_PLT_PIC_WORD0): Define.
(SPARC_PLT_PIC_WORD1, SPARC_PLT_PIC_WORD2): Define.
(struct sunos_link_hash_entry): Add got_offset and plt_offset
fields.
(struct sunos_link_hash_table): Add dynamic_sections_created and
dynamic_sections_needed fields.
(sunos_link_hash_newfunc): Initialize new fields.
(sunos_link_hash_table_create): Initialize new fields.
(sunos_create_dynamic_sections): New static function, broken out
of sunos_add_dynamic_symbols.
(sunos_add_dynamic_symbols): Call sunos_create_dynamic_sections.
(sunos_add_one_symbol): Call sunos_create_dynamic_sections.
(bfd_sunos_size_dynamic_sections): Call sunos_scan_relocs before
checking whether we need to set up the dynamic link information.
Define __GLOBAL_OFFSET_TABLE if anything referred to it.
(sunos_scan_std_relocs): Call sunos_create_dynamic_sections. Use
plt_offset field; only put symbol in .plt if it is not defined by
a regular object.
(sunos_scan_ext_relocs): Likewise. Handle base relative relocs.
(sunos_scan_dynamic_symbol): Store dynobj in local variable.
(sunos_write_dynamic_symbol): Check plt_offset rather than
checking whether symbol is in .plt section. If symbol is defined
in a regular object file, use SPARC_PLT_PIC_WORD[012], and don't
add a JMP_TBL reloc.
(sunos_check_dynamic_reloc): Add contents and relocationp fields.
If plt_offset is set, redirect relocation to PLT. If this is a
base relative reloc, redirect relocation to GOT. Check
dynamic_sections_needed field rather than whether dynobj is set.
(sunos_finish_dynamic_link): Check dynamic_sections_needed field
rather than whether dynobj is set. Don't die if .need and .rules
sections were not created.
* aoutx.h (howto_table_ext): Mark PC10, PC22, and JMP_TBL entries
PC relative. Mark PC10 complain_overflow_dont. Mark PC22 and
JMP_TBL complain_overflow_signed.
(NAME(aout,final_link)): If info->shared is set, set DYNAMIC.
(aout_link_input_section_std): Call check_dynamic_reloc for all
relocs. Pass contents and &relocation. Don't warn about an
undefined symbol until check_dynamic_reloc has been called. Don't
warn about an undefined symbol for a base relative reloc.
(aout_link_input_section_ext): Likewise. For a base relative
reloc, always treat r_index as an index into the symbol table.
* libaout.h (struct aout_backend_data): Add contents and
relocation argument to check_dynamic_reloc entry point.
(struct aoutdata): Add local_got_offsets field.
|
|
bfd_mach_sparc or bfd_mach_sparc64.
|
|
definition, add it to the dynamic symbol table if any dynamic
object mentions it. If we do add it, make sure we add the
corresponding real symbol.
(elf_adjust_dynamic_symbol): Adjust a weak defined symbol which we
put in the dynamic symbol table, even if no regular object refers
to it.
* elf32-i386.c (elf_i386_check_relocs): When creating a shared
library, don't allocate space for a PC relative reloc against a
local symbol.
* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Change assertion
to accept symbol with weakdef set.
* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
* elf32-m68k.c (elf_m68k_relocate_section): When creating a shared
libary, don't copy over a PC relative reloc against a local
symbol.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
PR 7711.
|
|
(R_HPPA_END_BRTAB): Likewise.
* som.c (som_write_fixups): Handle R_BEGIN_BRTAB and R_END_BRTAB.
More PA optimization infrastructure.
|
|
whenever x_fcnary is not being used for something else, rather
than only for an array.
(coff_swap_aux_out): Likewise.
PR 7373.
|
|
* cofflink.c (_bfd_coff_generic_relocate_section): Remove most
of special case stuff for PE. Now handled by relocs.
* coff-i386.c (coff_i386_reloc): Special case of PE type 7s.
(howto_table): Type 7 is dir32-rva.
|
|
* rs6000-core.c (CORE_DATA_SIZE_FIELD): New macro to get a the size
of a core dump's data section. Provide alternate definition for aix4.
(SAVE_FIELD): Similarly for save state field (register info).
(STACK_END_ADDR): Provide definition suitable for aix4.
* config/{aix4.mh,aix4.mt}: New configuration files.
* hosts/aix4.h: Likewise.
Mike's aix4 changes, slightly modified.
|
|
to avoid warnings.
|
|
the SOM type (since they will rarely if ever be in the absolute
section).
Something Ian noticed.
|
|
return value with sizeof (arelent *), not sizeof (arelent).
Net bug and something I noticed while fixing it.
|
|
|
|
correct setting of sym_ptr_end to consider symbols skipped when
setting sym_ptr; don't leave loop early unless an N_FUN is found
with a larger value.
|
|
_bfd_coff_get_external_symbols, not coff_link_get_symbols. Call
_bfd_coff_free_symbols, not coff_link_free_symbols. Call
_bfd_coff_read_string_table, not coff_read_string_table.
(coff_link_check_archive_element): Likewise.
(coff_link_input_bfd): Likewise.
(coff_link_get_symbols): Move to coffgen.c.
(coff_read_string_table): Likewise.
(coff_link_free_symbols): Likewise.
(_bfd_coff_internal_syment_name): New static function.
(coff_link_check_ar_symbols): Use _bfd_coff_internal_syment_name.
(coff_link_add_symbols): Likewise.
(coff_link_input_bfd): Likewise.
(_bfd_coff_generic_relocate_section): Likewise.
(_bfd_coff_read_internal_relocs): New function.
(coff_link_input_bfd): Use cached section contents if available.
Use _bfd_coff_read_internal_relocs.
* coffcode.h (coff_slurp_symbol_table): Don't call bfd_seek.
(coff_bfd_get_relocated_section_contents): Only define if not
already defined.
(coff_bfd_relax_section): Likewise.
* coffgen.c (build_string_table): Remove.
(_bfd_coff_get_external_symbols): New function, moved in from old
coff_link_get_symbols in cofflink.c.
(_bfd_coff_read_string_table): New function, moved in from old
coff_read_string_table in cofflink.c.
(_bfd_coff_free_symbols): New function, moved in frmo old
coff_link_free_symbols in cofflink.c.
(coff_get_normalized_symtab): Use _bfd_coff_get_external_symbols
rather than reading the symbols directly. To free them, call
_bfd_coff_free_symbols. Use _bfd_coff_read_string_table rather
than build_string_table.
* libcoff-in.h (obj_coff_keep_syms): Define.
(obj_coff_keep_strings): Define.
(coff_data_type): Add fields keep_syms and keep_strings.
(coff_section_tdata): Define new structure.
(coff_section_data): Define.
(_bfd_coff_get_external_symbols): Declare.
(_bfd_coff_read_string_table): Declare.
(_bfd_coff_free_symbols): Declare.
(_bfd_coff_read_internal_relocs): Declare.
* libcoff.h: Rebuild.
|
|
as PC relative. Describe R_SH_IMM16. Add entries for
R_SH_SWITCH16, R_SH_SWITCH32, R_SH_USES, R_SH_COUNT, and
R_SH_ALIGN.
(SWAP_IN_RELOC_OFFSET): Define.
(SWAP_OUT_RELOC_OFFSET): Define.
(CALC_ADDEND): Define.
(sh_reloc): Change sym_value and addr to type bfd_vma. Skip reloc
types other than R_SH_IMM32 and R_SH_PCDISP on an external symbol.
(coff_bfd_relax_section): Define.
(coff_bfd_get_relocated_section_contents): Define.
(sh_relax_section): New static function.
(sh_relax_delete_bytes): New static function.
(sh_relocate_section): Handle R_SH_PCDISP on an external symbol.
(sh_coff_get_relocated_section_contents): New static function.
|
|
argument.
* elf32-hppa.h: Corresponding change.
|
|
|
|
compatible with Unixware 1.x and Unixware 2.x, and probably other
i386 svr4 versions as well.
|
|
big- and little-endian variants, list all of them, instead of the
now-nonexistant armpe[i]_vec.
|
|
(elf_fake_sections): Set sh_addr based on lma, not vma.
PR 7478.
|
|
* configure.in (armpe_vec, armpei_vec): Add bi-endian support.
* configure: "regenerated".
* pe-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
(TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME.
* pei-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
(TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME.
* targets.c (armpe_vec, armpei_vec): Deleted.
(armpe_little_vec, armpe_big_vec, armpei_little_vec, armpei_big_vec):
Added.
* config/arm-pe.mt (DEFAULT_VECTOR): Default is armpe_little_vec.
(SELECT_VECS): Add bi-endian support.
|
|
(KEEPITTYPE): Remove.
(NAME(aout,reloc_type_lookup)): Add cases to the
extended reloc type switch: SPARC_GOT10, SPARC_GOT13, SPARC_GOT22,
SPARC_PC10, SPARC_PC22, SPARC_WPLT30.
(NAME(aout,swap_std_reloc_out)): Don't bother to use stoi when
retrieving KEEPIT value.
(NAME(aout,swap_ext_reloc_out)): Likewise. Also, only add in
output section VMA for section symbols, and check BSF_SECTION_SYM
to control whether to set r_extern to 1.
|
|
|
|
in .mdebug section, in case backend linker has cleared it.
|
|
|
|
selector relocation for the difference of two symbols.
|
|
for malloc.
* coff-mips.c (mips_relocate_section): Likewise, for memmove.
(mips_relax_section): Likewise, for malloc.
* cofflink.c (process_embedded_commands): Likewise.
(_bfd_coff_final_link): Likewise.
* ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
(ecoff_final_link_debug_accumulate): Likewise.
(ecoff_indirect_link_order): Likewise, for memcpy and malloc.
(ecoff_reloc_link_order): Likewise, for malloc.
* ecofflink.c (ecoff_align_debug): Likewise, for memset.
(ecoff_write_symhdr): Likewise, for malloc.
* elf32-hppa.c (elf32_hppa_read_symext_info): Likewise.
* elf.c (assign_file_positions_except_relocs): Likewise, for
qsort.
* elf32-mips.c (mips_elf_read_ecoff_info): Likewise, for malloc.
* elfcode.h (elf_slurp_reloc_table): Likewise.
* elfcore.h (elf_corefile_note): Likewise.
* elflink.h (elf_link_add_object_symbols): Likewise.
(elf_link_read_relocs): Likewise.
(NAME(bfd_elf,size_dynamic_sections)): Likewise, for memset.
* i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
* ieee.c (do_with_relocs): Likewise.
* linker.c (default_indirect_link_order): Likewise, for malloc.
* nlmcode.h (nlm_object_p): Likewise.
(nlm_write_object_contents): Likewise.
* oasys.c (oasys_set_section_contents): Likewise, for memcpy.
* reloc.c (bfd_generic_get_relocated_section_contents): Likewise,
for malloc.
* section.c (bfd_get_section_contents): Likewise, for memcpy.
* srec.c (srec_get_section_contents): Likewise.
(srec_set_section_contents): Likewise.
* sunos.c (bfd_sunos_size_dynamic_sections): Likewise, for
realloc and memset.
(sunos_scan_relocs): Likewise, for malloc.
(sunos_scan_dynamic_symbol): Likewise, for realloc.
* syms.c (_bfd_generic_read_minisymbols): Likewise, for malloc.
* versados.c (versados_get_section_contents): Likewise, for
memcpy.
|
|
_minisymbol_to_symbol.
(BFD_JUMP_TABLE_SYMBOLS): Add _read_minisymbols and
_minisymbol_to_symbol.
(bfd_read_minisymbols): Define.
(bfd_minisymbol_to_symbol): Define.
* syms.c (_bfd_generic_read_minisymbols): Define.
(_bfd_generic_minisymbol_to_symbol): Define.
* libbfd-in.h (_bfd_nosymbols_read_minisymbols): Define.
(_bfd_nosymbols_minisymbol_to_symbol): Define.
(_bfd_generic_read_minisymbols): Declare.
(_bfd_generic_minisymbol_to_symbol): Declare.
* bfd-in2.h: Rebuild.
* libbfd.h: Rebuild.
* aoutx.h (MINISYM_THRESHOLD): Define.
(NAME(aout,read_minisymbols)): New function.
(NAME(aout,minisymbol_to_symbol)): New function.
* libaout.h (NAME(aout,read_minisymbols)): Declare.
(NAME(aout,minisymbol_to_symbol)): Declare.
* aout-target.h (MY_read_minisymbols): Define.
(MY_minisymbol_to_symbol): Define.
* All targets: Define read_minisymbols and minisymbol_to_symbol.
PR 5332.
|
|
|
|
|
|
BFD section for the sh_link section if it is a SYMTAB section.
PR 7392.
|
|
that archives hold a.out objects.
* cf-i386lynx.c (coff_bfd_link_add_symbols): Don't define.
(lynx_link_add_symbols): Remove.
* cf-m68klynx.c (coff_bfd_link_add_symbols): Don't define.
(lynx_link_add_symbols): Remove.
* elflink.h (elf_bfd_link_add_symbols): Don't bother to check that
archives hold ELF objects.
|
|
the target was defaulted, but the first object in the archive can
not be matched with that target, then return a bad format error.
|
|
elf64_wdisp16_reloc.
(elf64_wdisp16_reloc): New static function.
(elf64_sparc_relocate_section): New static function.
(elf_backend_relocate_section): Define.
PR 7333.
|
|
swap_symbol_out from char * to PTR.
(bfd_elf32_swap_symbol_out): Update declaration.
(bfd_elf64_swap_symbol_out): Likewise.
* elfcode.h (elf_swap_symbol_out): Change type of cdst from char *
to PTR.
* elf.c (swap_out_syms): Cast to PTR, not char *, when calling
swap_symbol_out routine.
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Likewise.
(elf_link_output_sym): Likewise.
(elf_link_output_extsym): Likewise.
* elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Likewise.
|
|
* elf.c (_bfd_elf_find_nearest_line): Handle the simple case where
there is no debugging information.
|
|
* Makefile.in: Rebuild dependencies.
(BFD32_BACKENDS): Add coff-arm.o
(CFILES): Add coff-arm.c, pe-arm.c, pei-arm.c.
|
|
local i.
* coff-arm.c (coff_arm_rtype_to_howto): Don't declare.
|
|
not on string.
|
|
using bfd_alloc, not malloc.
* cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
* ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
* i386linux.c (linux_link_hash_table_create): Likewise.
* linker.c (_bfd_generic_link_hash_table_create): Likewise.
* sunos.c (sunos_link_hash_table_create): Likewise.
|