X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=f850718221191b97294502683bc7085e44b0eb44;hb=61228e36e8de60e3941ffe44539bea369e5f48ac;hp=e2df00cbdaa029ea64aab6a9bdb15187996c30cb;hpb=dfdcff13c0df6370c4432d7230e4d63c8950484f;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index e2df00cbda..f850718221 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,342 @@ +Thu Aug 31 11:49:21 1995 Ian Lance Taylor + + * coff-mips.c (mips_relocate_section): Don't convert a reloc + against an absolute symbol into a reloc against a section. + +Thu Aug 31 08:00:14 1995 steve chamberlain + + * coff-arm.c (coff_arm_reloc): Fix common size problem. + (i3coff_object_p): Delete. + +Wed Aug 30 20:41:27 1995 steve chamberlain + + * 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. + +Tue Aug 29 13:50:21 1995 steve chamberlain + + * coffcode.h (coff_compute_section_file_positions): + Compile even if COFF_PAGE_SIZE isn't defined. + * cofflink.c (_bfd_coff_generate_reloc_section): Write + base file info as rvas. + * coff-arm.c (coff_rtype_to_howto): Deal with reloc 11. + * 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. + Pagesize info is only valid in PE image files. + (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. + Swap in PE header. + (coff_swap_scnhdr_out): Setup PE flags correctly. + * reloc.c (BFD_RELOC_RVA): New field. + +Thu Aug 24 17:49:59 1995 Ian Lance Taylor (ian@cygnus.com) + + * cofflink.c (coff_link_input_bfd): Don't include line numbers for + a section if its output section has no contents. + +Wed Aug 23 16:48:52 1995 Ian Lance Taylor (ian@cygnus.com) + + * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Add parentheses to FIX + expression to avoid compiler bug on HP-UX 9.01. + +Wed Aug 23 09:49:39 1995 Steve Chamberlain + + * coffcode.h (pe_value): Unansify. + +Mon Aug 21 17:49:28 1995 steve chamberlain + + * 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. + (coff_write_object_contents): Initialze link_data if not set. + * 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-in.h (coff_data_type.link_info): New field. + +Mon Aug 21 11:10:32 1995 Ian Lance Taylor + + * linker.c (link_action): If an undefined reference follows an + 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. + +Thu Aug 17 16:29:09 1995 Ken Raeburn + + * coff-sh.c (sh_relax_section): Cast value for used_by_bfd field + to PTR, not coff_section_tdata pointer, since PTR is the real type + of the field. + * cofflink.c (_bfd_coff_read_internal_relocs): Ditto. + +Thu Aug 17 14:44:26 1995 Ian Lance Taylor + + Add support for linking SPARC SunOS PIC compiled code. + * 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. + +Wed Aug 16 01:03:07 1995 Ian Lance Taylor + + * elf32-i386.c (elf_i386_check_relocs): Fix bug in last change. + +Mon Aug 14 11:39:24 1995 Ian Lance Taylor + + * aoutx.h (NAME(aout,machine_type)): Handle a machine of + bfd_mach_sparc or bfd_mach_sparc64. + + * elflink.h (elf_link_add_object_symbols): If a symbol is a weak + 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. + +Sun Aug 13 00:40:58 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.h (R_HPPA_BEGIN_BRTAB): Define. + (R_HPPA_END_BRTAB): Likewise. + * som.c (som_write_fixups): Handle R_BEGIN_BRTAB and R_END_BRTAB. + +Thu Aug 10 15:53:29 1995 Ian Lance Taylor + + * coffswap.h (coff_swap_aux_in): Swap the array dimensions + whenever x_fcnary is not being used for something else, rather + than only for an array. + (coff_swap_aux_out): Likewise. + +Tue Aug 8 16:34:57 1995 steve chamberlain + + * 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. + +Tue Aug 8 10:15:43 1995 Jeffrey A. Law + + * configure.host: Recognize aix4 explicitly. + * 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. + +Mon Aug 7 23:03:21 1995 Ian Lance Taylor + + * som.c (som_bfd_copy_private_symbol_data): Cast initializations + to avoid warnings. + +Mon Aug 7 14:51:08 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_decode_symclass): Handle absolute symbols by checking + the SOM type (since they will rarely if ever be in the absolute + section). + +Wed Aug 6 09:12:50 1995 Doug Evans + + * archures.c (bfd_mach_sparc, bfd_mach_sparc64): Define. + * bfd-in2.h: Regenerated. + * cpu-sparc.c (sparc_arch_info): Renamed from arch_info_struct. + (sparc64_arch_info): New static variable. + (bfd_sparc_arch): Link in sparc64_arch_info. + * elf64-sparc.c (sparc64_elf_xxx): Renamed from elf64_xxx. + (sparc64_elf_object_p): New static function. + (elf_backend_object_p): Define. + * config/sparc64-elf.mt (SELECT_VECS): Add bfd_elf32_sparc_vec. + +Sat Aug 5 00:04:08 1995 Jeff Law (law@snake.cs.utah.edu) + + * som (som_get_reloc_upper_bound): Return -1 on error. Compute + return value with sizeof (arelent *), not sizeof (arelent). + +Wed Aug 2 12:32:21 1995 Ian Lance Taylor + + * elf.c (bfd_section_from_shdr): If the section pointed to by the + sh_link field of a reloc section is not a symbol table, and the + file contains a single symbol table, clobber the sh_link field of + the reloc section to point to the symbol table. + +Tue Aug 1 10:09:01 1995 Doug Evans + + * coff-arm.c (howto reloc ARM26): Change size from 3 to 2. + (howto reloc ARM26D): Likewise. + +Mon Jul 24 14:17:50 1995 Ian Lance Taylor + + * aoutx.h (NAME(aout,find_nearest_line)): Use the line just before + the offset, not the one just after. Break out of the loop after + finding a function past the offset, not merely when finding a + function with a line defined. + + * ecofflink.c (_bfd_ecoff_locate_line): When handling stabs: + 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. + + * coff-sh.c (sh_coff_howtos): Mark R_SH_PCDISP8BY2 and R_SH_PCDISP + 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. + + * cofflink.c (coff_link_add_object_symbols): Call + _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. + +Fri Jul 21 22:32:54 1995 Michael Meissner + + * elf32-ppc.c (ppc_elf_howto_raw): Add support for R_PPC_SDAREL + relocation. + (ppc_elf_reloc_type_lookup): Ditto. + (ppc_elf_got16_inner): Ditto. + (ppc_elf_relocate_section): Ditto. + +Thu Jul 20 19:19:06 1995 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (hppa_elf_gen_reloc_type): Add new (ignored) + argument. + * elf32-hppa.h: Corresponding change. + +Thu Jul 20 19:01:07 1995 Ken Raeburn + + * libaout.h (set_aout_section_data): New macro. + * sunos.c (sunos_scan_relocs): Use it. + + * aout-ns32k.c (MY_swap_std_reloc_out): Undef KEEPIT before + defining it. + +Thu Jul 20 13:48:00 1995 Fred Fish + + * hosts/i386v4.h (getgid, getuid): Change prototypes to be + compatible with Unixware 1.x and Unixware 2.x, and probably other + i386 svr4 versions as well. + Thu Jul 20 13:41:21 1995 Ken Raeburn * targets.c (bfd_target_vector): Since armpe and armpei have been