X-Git-Url: https://repo.jachan.dev/binutils.git/blobdiff_plain/a02716671a11c6dd811094e4a0625383056042b3..3b3753b874c1af8b5f24183294720a79b056bfcb:/bfd/ChangeLog diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 202a4e06a8..d41085c992 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,221 @@ +Mon Jan 22 11:21:51 1996 Michael Meissner + + * elf-bfd.h (struct elf_link_hash_entry): Add + linker_section_pointer field. + (enum elf_linker_section_enum): Enumeration for new way of + creating linker dynamic sections and symbols. + (elf_linker_section{,_pointers}): New structures for creating + dynamic sections and symbols. + (elf_obj_tdata): Add linker_section_pointers and linker_section + fields. + (elf_local_ptr_offsets,elf_linker_section): New accessor macros. + (_bfd_elf_create_linker_section): New declarations. + (_bfd_elf_find_pointer_linker_section): Ditto. + (bfd_elf{32,64}_{create,finish}_pointer_linker_section): Ditto. + (_bfd_elf_make_linker_section_rela): Ditto. + + * elf.c (_bfd_elf_link_hash_newfunc): Initialize new fields. + + * elf32-ppc.c (ppc_elf_create_dynamic_sections): Delete. + (ppc_elf_create_linker_section): New function to create the + sections .got, .sdata, and .sdata2. + (ppc_elf_size_dynamic_sections): Zap .rela.{sdata,sdata2} if + needed. + (ppc_elf_check_relocs): Support more of the eabi relocations. + (ppc_elf_relocate_section): Ditto. + (ppc_elf_finish_dynamic_symbols): Adjust _SDA{,2}_BASE_ by 32768 + if the .sdata{,2} + .sbss{,2} section size is > 32k. + + * elflink.h (elf_create_pointer_linker_section): New function to + create initialized pointers in dynamic linker sections. + (elf_finish_pointer_linker_section): Actually intialize the + pointers created above. + + * elfcode.h (bfd_elf{32,64}_create_pointer_linker_section): New + macros to provide both 32 and 64 bit versions of + elf_create_pointer_linker_section. + (bfd_elf{32,64}_finish_pointer_linker_section): New macros to + provide both 32 and 64 bit versions of + elf_finish_pointer_linker_section. + + * elflink.c (_bfd_elf_create_linker_section): New function to + create a linker section. + (_bfd_elf_find_pointer_linker_section): Find a unique pointer to a + given address in the linker pointer offsets created for a given + symbol. + (_bfd_elf_make_linker_section_rela): Make a RELA section + corresponding to the generated linker section. + +start-sanitize-v8plus +Sat Jan 20 08:36:10 1996 Doug Evans + + * elf32-sparc.c (ELF_MACHINE_ALT1): Define. +end-sanitize-v8plus + +Thu Jan 18 18:25:34 1996 Kim Knuttila + + * coff-ppc.c (coff_ppc_relocate_section): changed TOCDEFN relocs. + (coff_ppc_relocate_section): Handle special values for gcc built dlls. + (dump_toc): fix diagnosing code to identify out-of-toc-bounds entries. + Also begin the toc at 4 as an eye catcher ('31313131' marks the first + toc entry in an objdump) for now. + (ppc_do_last, ppc_get_last): New function - needed to save processing + the toc owner to the end. + (ppc_coff_swap_sym_in_hook): Removed an incorrect hack for doing the + toc owner last. + + * cofflink.c (_bfd_coff_final_link): Added a new hack to keep the + toc owner from being done till last. Must define POWERPC_LE_PC + to enable it. + + * coffcode.h (coff_set_alignment_hook): alignment setting for .stab + + * peicode.h (coff_swap_scnhdr_out): set section flags for stab/str + to INFO. + (coff_swap_aouthdr_out): Removed a non-working hack for computing the + SizeOfImage for PowerPC. Ignore the size of the .junk section. + +Thu Jan 18 17:42:12 1996 Ian Lance Taylor + + * elfcore.h: Include before . + +Wed Jan 17 12:40:14 1996 Ian Lance Taylor + + * cpu-powerpc.c (arch_info_struct): Change last entry to not point + back to first. + (bfd_powerpc_arch): Point at first entry in arch_info_struct. + +Tue Jan 16 15:10:49 1996 Ian Lance Taylor + + * elf.c (assign_file_positions_for_segments): Don't increment file + offset for a segment which contains no loadable sections. + +Mon Jan 15 17:46:27 1996 Michael Meissner + + * reloc.c: Add new PowerPC relocations. + * {bfd-in2,libbfd}.h: Regenerate. + + * elf32-ppc.c (ppc_elf_howto_raw): Add more PPC relocations. + (ppc_elf_reloc_type_lookup): Lookup new relocations. + +Mon Jan 15 14:29:44 1996 Ian Lance Taylor + + * aoutx.h (howto_table_ext): Fix RELOC_BASE10 and RELOC_BASE22 + entries. + + * sunos.c (sunos_scan_ext_relocs): Don't fail assert if + info->shared. + + * coffgen.c (coff_find_nearest_line): Don't try to cache + information in sections that are not owned by a BFD. From Richard + Henderson . + + * elf32-mips.c: Numerous changes to dynamic linking code, mostly + from Kazumoto Kojima . + * elflink.h (elf_link_output_extsym): Remove special check for + _rld_new_interface. + + * ecoffswap.h: Add prototypes for static functions. + +Sun Jan 14 21:36:08 1996 Michael Meissner + + * elf32-ppc.c (ppc_elf_{unsupported,std}_reloc): Remove functions. + (ppc_elf_howto_raw): Remove ppc_elf_{unsupported,std}_reloc + references. + (ppc_elf_relocate_section): No longer allow .sdata/.sbss sections + to satisfy a TOC16 relocation. Rewrite unsupported relocation + support. Begin support for R_PPC_SDA{2,}REL. + +Sat Jan 13 09:36:52 1996 Michael Meissner + + * elf32-ppc.c (ppc_elf_create_dynamic_sections): New function to + create the .got and .got.neg sections. + (ppc_elf_size_dynamic_sections): Call it. + (ppc_elf_check_relocs): Call it. + (ppc_elf_size_dynamic_sections): Support .got.neg, just like .got. + (ppc_elf_check_relocs): Add error messages for relocations we + don't yet support. Do not include R_PPC_SDAREL16 like a GOT + relocation. + +Fri Jan 12 15:27:59 1996 Michael Meissner + + * elf32-ppc.c (ppc_elf_fake_sections): Define, and handle the new + section flags for V.4 and eabi. + +Fri Jan 12 13:59:16 1996 Ian Lance Taylor + + * elf.c (assign_file_positions_for_segments): If a segment + contains no sections, don't mark it as readable. + + * elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare. + * elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare. + + * elf.c (_bfd_elf_print_private_bfd_data): Dump contents of + dynamic section, if there is one. + * elf-bfd.h (struct elf_size_info): Add swap_dyn_in field. + (bfd_elf32_swap_dyn_in): Change type of second parameter to PTR. + (bfd_elf64_swap_dyn_in): Likewise. + * elfcode.h (elf_swap_dyn_in): Change type of second parameter to + PTR. + (NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field. + + * elf32-i386.c (elf_i386_size_dynamic_sections): Don't create a + DT_TEXTREL entry because of .rel.plt. From Martin Pirker + . + +Thu Jan 11 17:06:14 1996 Michael Meissner + + * section.c (SEC_{EXCLUDE,SORT_ENTRIES}): New section flags for + PowerPC V.4 and eabi. + * bfd-in2.h: Regenerate. + * libfd.h: Regenerate. + + * elfxx-target.h (TARGET_{BIG,LITTLE}_SYM): Add new flags. + + * elf32-ppc.c (ppc_elf_section_from_shdr): Support SHT_ORDERED + section type and SHF_EXCLUDE section flag, turning them into the + appropriate bfd section flag. + Thu Jan 11 11:23:30 1996 Ian Lance Taylor + * xcofflink.c (xcoff_link_add_symbols): Create the special + sections if we see a DYNAMIC object, in case that is the only + XCOFF input object we see. + + * elf32-mips.c: Extensive changes for a start at dynamic linking + support, from Kazumoto Kojima . + + * elf-bfd.h (struct elf_backend_data): Add type_change_ok field. + (struct elf_backend_data): Remove + elf_backend_create_program_headers field. Add + elf_backend_additional_program_headers and + elf_backend_modify_segment_map fields. + * elfxx-target.h (elf_backend_type_change_ok): Define if not + defined. + (elf_backend_additional_program_headers): Likewise. + (elf_backend_modify_segment_map): Likewise. + (elf_backend_create_program_headers): Don't define. + (elfNN_bed): Change to account for field changes. + * elf.c (assign_file_positions_for_segments): Call new + modify_segment_map backend function. Don't call old + create_program_headers backend function. + (get_program_header_size): Call additional_program_headers rather + than create_program_headers. + * elflink.h (elf_link_add_object_symbols): Initialize + type_change_ok from new backend field. + (elf_link_output_extsym): Don't warn if _rld_new_interface is + defined. + (elf_reloc_link_order): Treat a reloc against a defined symbol as + a reloc against the appropriate section. + + * elf-bfd.h (struct bfd_elf_section_data): Add tdata field. + (struct elf_obj_tdata): Rename ppc_flags_init field to flags_init. + (elf_flags_init): Rename from elf_ppc_flags_init. + * elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not + elf_ppc_flags_init. + (ppc_elf_copy_private_bfd_data): Likewise. + (ppc_elf_merge_private_bfd_data): Likewise. + * elf32-m68k.c (howto_table): Change src_mask to 0 for all relocation entries.