aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
1995-08-31Wed Aug 30 20:41:27 1995 steve chamberlain <sac@slash.cygnus.com>Steve Chamberlain3-114/+91
* 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.
1995-08-29 * coffswap.h (coff_swap_scnhdr_in): Don't always add IMAGE_BASE.Steve Chamberlain2-6/+13
Swap in PE header. * coffcode.h (coff_write_object_contents): Remove #if0ed code Only remove empty sections in PE inmage files.
1995-08-29 * coff-arm.c (coff_rtype_to_howto): Deal with reloc 11.Steve Chamberlain2-106/+100
* coffcode.h (coff_write_object_contents): Remove #if0ed code Only remove empty sections in PE inmage files.
1995-08-29Tue Aug 29 13:50:21 1995 steve chamberlain <sac@slash.cygnus.com>Steve Chamberlain5-238/+550
* 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.
1995-08-23 * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Add parentheses to FIXIan Lance Taylor1-0/+5
expression to avoid compiler bug on HP-UX 9.01.
1995-08-23 * coffcode.h (pe_value): Unansify.Steve Chamberlain1-0/+4
1995-08-22 (coff_write_object_contents): Initialze link_data if not set.Steve Chamberlain2-3/+14
1995-08-22 * libcoff-in.h (coff_data_type.link_info): New field.Steve Chamberlain1-1/+1
1995-08-22Mon Aug 21 17:49:28 1995 steve chamberlain <sac@slash.cygnus.com>Steve Chamberlain5-215/+366
* 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.
1995-08-21 * linker.c (link_action): If an undefined reference follows anIan Lance Taylor2-1/+10
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.
1995-08-17* coff-sh.c (sh_relax_section): Cast value for used_by_bfd field to PTR, notKen Raeburn2-368/+198
coff_section_tdata pointer, since PTR is the real type of the field. * cofflink.c (_bfd_coff_read_internal_relocs): Ditto.
1995-08-17 Add support for linking SPARC SunOS PIC compiled code.Ian Lance Taylor1-0/+52
* 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.
1995-08-14 * aoutx.h (NAME(aout,machine_type)): Handle a machine ofIan Lance Taylor1-0/+3
bfd_mach_sparc or bfd_mach_sparc64.
1995-08-14 * elflink.h (elf_link_add_object_symbols): If a symbol is a weakIan Lance Taylor3-19/+84
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.
1995-08-13 * som.h (R_HPPA_BEGIN_BRTAB): Define.Jeff Law1-0/+6
(R_HPPA_END_BRTAB): Likewise. * som.c (som_write_fixups): Handle R_BEGIN_BRTAB and R_END_BRTAB. More PA optimization infrastructure.
1995-08-10 * coffswap.h (coff_swap_aux_in): Swap the array dimensionsIan Lance Taylor1-0/+7
whenever x_fcnary is not being used for something else, rather than only for an array. (coff_swap_aux_out): Likewise. PR 7373.
1995-08-08Tue Aug 8 16:34:57 1995 steve chamberlain <sac@slash.cygnus.com>Steve Chamberlain1-0/+7
* 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.
1995-08-08 * configure.host: Recognize aix4 explicitly.Jeff Law3-0/+34
* 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.
1995-08-08 * som.c (som_bfd_copy_private_symbol_data): Cast initializationsIan Lance Taylor2-2/+7
to avoid warnings.
1995-08-07 * som.c (som_decode_symclass): Handle absolute symbols by checkingJeff Law2-5/+35
the SOM type (since they will rarely if ever be in the absolute section). Something Ian noticed.
1995-08-05 * som (som_get_reloc_upper_bound): Return -1 on error. ComputeJeff Law1-0/+22
return value with sizeof (arelent *), not sizeof (arelent). Net bug and something I noticed while fixing it.
1995-08-03Remove reference to config/.SanitizeFred Fish1-1/+0
1995-07-24 * ecofflink.c (_bfd_ecoff_locate_line): When handling stabs:Ian Lance Taylor1-0/+5
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.
1995-07-24 * cofflink.c (coff_link_add_object_symbols): CallIan Lance Taylor1-0/+69
_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.
1995-07-24 * coff-sh.c (sh_coff_howtos): Mark R_SH_PCDISP8BY2 and R_SH_PCDISPIan Lance Taylor1-159/+1351
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.
1995-07-21 * elf32-hppa.c (hppa_elf_gen_reloc_type): Add new (ignored)Jeff Law1-0/+6
argument. * elf32-hppa.h: Corresponding change.
1995-07-20fix some compilation problemsKen Raeburn1-0/+8
1995-07-20 * hosts/i386v4.h (getgid, getuid): Change prototypes to beFred Fish2-2/+8
compatible with Unixware 1.x and Unixware 2.x, and probably other i386 svr4 versions as well.
1995-07-20* targets.c (bfd_target_vector): Since armpe and armpei have been split intoKen Raeburn1-0/+6
big- and little-endian variants, list all of them, instead of the now-nonexistant armpe[i]_vec.
1995-07-20 * elf.c (bfd_section_from_phdr): Set lma based on p_paddr.Ian Lance Taylor1-0/+5
(elf_fake_sections): Set sh_addr based on lma, not vma. PR 7478.
1995-07-19 * coff-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.David Edelsohn2-5/+47
* 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.
1995-07-14 * aoutx.h (KEEPIT): Change definition to udata.i.Ian Lance Taylor1-0/+11
(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.
1995-07-14 * syms.c: Fix comments so that `make info' works.Ian Lance Taylor1-0/+2
1995-07-14 * elf32-mips.c (mips_elf_find_nearest_line): Set SEC_HAS_CONTENTSIan Lance Taylor1-0/+5
in .mdebug section, in case backend linker has cleared it.
1995-07-14Fix PPC_ADDR16_HA relocationsMichael Meissner1-0/+7
1995-07-14 * som.c (hppa_som_gen_reloc_type): Choose a reasonable fieldJeff Law1-0/+5
selector relocation for the difference of two symbols.
1995-07-13 * aoutx.h (NAME(aout,slurp_reloc_table)): Cast argument to size_tIan Lance Taylor5-8/+61
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.
1995-07-13 * targets.c (bfd_target): Add fields _read_minisymbols andIan Lance Taylor9-171/+421
_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.
1995-07-12fix some compilation warnings from sun ccKen Raeburn3-10/+23
1995-07-12* libelf.h (elf_backend_data): Use unsigned, not unsigned char, for bitfields.Ken Raeburn1-3/+3
1995-07-12 * elf.c (bfd_section_from_shdr): In case SHT_REL[A], only get theIan Lance Taylor1-1/+4
BFD section for the sh_link section if it is a SYMTAB section. PR 7392.
1995-07-11 * aoutx.h (NAME(aout,link_add_symbols)): Don't bother to checkIan Lance Taylor3-51/+9
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.
1995-07-11 * archive.c (bfd_generic_archive_p): If the archive has a map, andIan Lance Taylor1-0/+4
the target was defaulted, but the first object in the archive can not be matched with that target, then return a bad format error.
1995-07-11 * elf64-sparc.c (elf_sparc_howto_table): Set howto for WDISP16 toIan Lance Taylor1-0/+6
elf64_wdisp16_reloc. (elf64_wdisp16_reloc): New static function. (elf64_sparc_relocate_section): New static function. (elf_backend_relocate_section): Define. PR 7333.
1995-07-11 * libelf.h (struct elf_size_info): Change type of last argument toIan Lance Taylor4-9/+25
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.
1995-07-11Tue Jul 11 12:29:49 1995 Rick Sladkey <jrs@world.std.com>Ian Lance Taylor2-8/+60
* elf.c (_bfd_elf_find_nearest_line): Handle the simple case where there is no debugging information.
1995-07-10 * coff-arm.c (PCRELOFFSET): Define if not already defined.Ian Lance Taylor1-1/+5
* Makefile.in: Rebuild dependencies. (BFD32_BACKENDS): Add coff-arm.o (CFILES): Add coff-arm.c, pe-arm.c, pei-arm.c.
1995-07-10 * cofflink.c (_bfd_coff_generic_relocate_section): Remove unusedIan Lance Taylor2-6/+3
local i. * coff-arm.c (coff_arm_rtype_to_howto): Don't declare.
1995-07-10 * coff-i960.c (coff_i960_relocate): Correct typo: use ! on strcmp,Ian Lance Taylor1-0/+3
not on string.
1995-07-10 * aoutx.h (NAME(aout,link_hash_table_create)): Allocate hash tableIan Lance Taylor3-7/+15
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.