
1: 2001-12-31 Jakub Jelinek <jakub@redhat.com> 2: 3: * elflink.h (elf_bfd_final_link): Check if dynobj is not NULL 4: before looking for .eh_frame_hdr section. 5: * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): If 6: .eh_frame_hdr section is being stripped from output, don't do 7: anything. 8: 9: 2001-12-27 Tom Rix <trix@redhat.com> 10: 11: * coff-rs6000.c (xcoff_generate_rtinit): Clean data_buffer alloc/free. 12: * coff64-rs6000.c (xcoff64_generate_rtinit): Same. 13: (xcoff_write_archive_contents_big): Rewrite. 14: (xcoff_write_armap_big): Rewrite. 15: (xcoff_write_one_armap_big): Delete. 16: * libxcoff.h : Clean up. 17: 18: 2001-12-21 Tom Rix <trix@redhat.com> 19: 20: * xcofflink.c (bfd_xcoff_link_generate_rtinit): New function. 21: Interface to linker for generation of __rtinit. 22: * libxcoff.h (struct xcoff_backend_data_rec): Add new ops to xcoff 23: backend to generate special linker symbol __rtinit. 24: * coff-rs6000.c (bfd_xcoff_backend_data, bfd_pmac_xcoff_backend_data) 25: : Add new rtinit ops 26: * coff64-rs6000.c (bfd_xcoff_aix5_backend_data, 27: bfd_xcoff_backend_data): Same. 28: * bfd-in.h: Add bfd_xcoff_link_generate_rtinit. 29: * bfd-in2.h : Regenerate. 30: 31: 2001-12-21 Jakub Jelinek <jakub@redhat.com> 32: 33: * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix dst_mask for 34: R_SPARC_DISP32. Support R_SPARC_PLT32. 35: (sparc_reloc_map): Add BFD_RELOC_16_PCREL and BFD_RELOC_SPARC_PLT32. 36: (elf32_sparc_check_relocs): Handle R_SPARC_PLT32. 37: (elf32_sparc_relocate_section): Likewise. 38: * elf64-sparc.c (sparc64_elf_howto_table): Fix dst_mask for 39: R_SPARC_DISP32. Support R_SPARC_PLT32 and R_SPARC_PLT64. 40: (sparc_reloc_map): Add BFD_RELOC_16_PCREL, BFD_RELOC_64_PCREL 41: and BFD_RELOC_SPARC_PLT32. 42: (sparc64_elf_check_relocs): Handle R_SPARC_PLT32 and R_SPARC_PLT64. 43: (sparc64_elf_relocate_section): Likewise. 44: * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SPARC_PLT32. 45: * bfd-in2.h, libbfd.h: Rebuilt. 46: 47: 2001-12-20 Tom Rix <trix@redhat.com> 48: 49: * coffcode.h (coff_compute_section_file_positions): Add special AIX 50: loader alignment of text section. 51: 52: 2001-12-20 Jason Thorpe <thorpej@wasabisystems.com> 53: 54: * config.bfd (mips-dec-netbsd*): Delete alias for mips*el-*-netbsd*. 55: 56: * config.bfd (arm-*-netbsdelf*): Add target. 57: * configure.in: Include netbsd-core.lo for native arm-*-netbsd*. 58: * configure: Regenerate. 59: 60: 2001-12-20 Alan Modra <amodra@bigpond.net.au> 61: 62: * elfcode.h (elf_slurp_symbol_table): Test elf_elfsections for NULL, 63: as can happen with a core file, before dereferencing. 64: 65: 2001-12-19 Michael Snyder <msnyder@redhat.com> 66: 67: * elf32-i386.c (elf_i386_grok_psinfo): Fix copy-and-paste error: 68: target is i386 (not mips), and size of descdata is 124 (not 128). 69: 70: 2001-12-19 Jakub Jelinek <jakub@redhat.com> 71: 72: * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): If new_size 73: is 0, temporarily grow it to minimal CIE size. 74: (_bfd_elf_write_section_eh_frame): If input .eh_frame section would 75: end up empty, build a fake minimal CIE. 76: 77: 2001-12-19 Steve Ellcey <sje@cup.hp.com> 78: 79: * config.bfd (bfd_elf32_ia64_hpux_big_vec): New vector for 80: ia64*-*-hpux* target. 81: (bfd_elf64_ia64_hpux_big_vec): Likewise. 82: * targets.c: Ditto. 83: * configure.in: Ditto. 84: * configure: Regenerate 85: * elfxx-ia64.c (elfNN_ia64_final_write_processing): Replace use of 86: alloca with bfd_malloc. 87: (get_local_sym_hash): Likewise. 88: (elfNN_hpux_post_process_headers): New function. 89: #include elfNN-target.h again with values for IA64 HP-UX vector. 90: 91: 2001-12-18 Michael Snyder <msnyder@redhat.com> 92: 93: * elf.c (assign_file_positions_for_segments): Don't sort PT_NOTE 94: sections of corefiles. Also it makes no sense to sort if count == 1. 95: 96: 2001-12-18 H.J. Lu <hjl@gnu.org> 97: 98: * elf.c (_bfd_elf_copy_private_bfd_data): Also copy GP. 99: 100: 2001-12-18 H.J. Lu <hjl@gnu.org> 101: 102: * elf.c (_bfd_elf_copy_private_bfd_data): Update comments. 103: 104: 2001-12-18 H.J. Lu <hjl@gnu.org> 105: 106: * elf-bfd.h (_bfd_elf_copy_private_bfd_data): New. Prototype. 107: (_bfd_mips_elf_copy_private_bfd_data): Removed. 108: 109: * elf.c (_bfd_elf_copy_private_bfd_data): New. Copy e_flags in 110: the ELF header. 111: 112: * elf32-i370.c (??_elf_copy_private_bfd_data): Removed. 113: (bfd_elf??_bfd_copy_private_bfd_data): Removed. 114: * elf32-m32r.c: Likewise. 115: * elf32-m68k.c: Likewise. 116: * elf32-mcore.c: Likewise. 117: * elf32-mips.c: Likewise. 118: * elf32-ppc.c: Likewise. 119: * elf32-v850.c: Likewise. 120: * elf64-ppc.c: Likewise. 121: * elf64-sparc.c: Likewise. 122: * elfxx-ia64.c: Likewise. 123: 124: * elf64-mips.c (bfd_elf64_bfd_copy_private_bfd_data): Removed. 125: 126: * elfxx-target.h (bfd_elfNN_bfd_copy_private_bfd_data): Defined 127: to _bfd_elf_copy_private_bfd_data. 128: 129: 2001-12-18 Martin Schwidefsky <schwidefsky@de.ibm.com> 130: 131: * elf32-s390 (elf_s390_check_relocs): Pass addend to 132: gc_record_vtentry. 133: * elf64-s390 (elf_s390_check_relocs): Likewise. 134: Fix by Andreas Jaeger <aj@suse.de>. 135: 136: 2001-12-18 Jason Thorpe <thorpej@wasabisystems.com> 137: 138: * configure.host: Correctly match all NetBSD/mips 139: hosts. 140: 141: 2001-12-18 matthew green <mrg@eterna.com.au> 142: 143: * config.bfd (m68*-*-netbsdelf*): New target. 144: (m68*-*-netbsd): Also include bfd_elf32_m68k_vec. 145: (m68*-*-netbsdaout*): New alias for m68*-*-netbsd. 146: 147: 2001-12-18 Jakub Jelinek <jakub@redhat.com> 148: 149: * elflink.h (size_dynamic_sections): Skip anonymous version tag. 150: (elf_link_assign_sym_version): Don't count anonymous version tag. 151: 152: 2001-12-18 Jakub Jelinek <jakub@redhat.com> 153: 154: * elf-eh-frame.c (struct cie): Add make_lsda_relative. 155: (struct eh_cie_fde): Add lsda_encoding, lsda_offset, 156: make_lsda_relative. 157: (read_value, write_value): New. 158: (_bfd_elf_discard_section_eh_frame): Inicialize 159: lsda_encoding, lsda_offset and make_lsda_relative. 160: (_bfd_elf_eh_frame_section_offset): If make_lsda_relative, 161: request no dynamic reloc for LSDA field of FDE. 162: (_bfd_elf_write_section_eh_frame): Handle make_lsda_relative. 163: If a non-DW_EH_PE_absptr value is 0, don't adjust it by base 164: or pcrel. Fix address computation for DW_EH_PE_pcrel relocs. 165: Update LSDA field if LSDA encoding is DW_EH_PE_pcrel, because 166: . might have changed due to deleted FDE or CIEs. 167: 168: 2001-12-18 Jakub Jelinek <jakub@redhat.com> 169: 170: * elf-strtab.c (struct elf_strtab_hash_entry): Add u.next. 171: (last_eq): Remove. 172: (_bfd_elf_strtab_finalize): Don't use a hash table for last 173: character chains, instead use an array. 174: 175: 2001-12-18 Jason Thorpe <thorpej@wasabisystems.com> 176: 177: * elf.c (elfcore_netbsd_get_lwpid): New function. 178: (elfcore_grok_netbsd_procinfo): New function. 179: (elfcore_grok_netbsd_note): New function. 180: (elfcore_read_notes): Call elfcore_grok_netbsd_note to process 181: NetBSD ELF core file notes. 182: 183: 2001-12-18 Alan Modra <amodra@bigpond.net.au> 184: 185: * elfcode.h (struct bfd_preserve): New. 186: (elf_object_p): Replace preserved_* vars with instance of above. 187: Save and restore arch_info pointer rather than arch, mach so that 188: more cases can be restored. Save and restore new section_tail, 189: section_htab structure, and init appropriately. Move "rest of 190: section header" code so that i_shdrp needs no NULL initialisation. 191: Free old section_htab on success. 192: * elfcore.h (elf_core_file_p): Likewise. 193: 194: 2001-12-17 Tom Rix <trix@redhat.com> 195: 196: * coffcode.h (sec_to_styp_flags): Add STYP_EXCEPT and STYP_TYPCHK for 197: xcoff. 198: 199: 2001-12-17 Jakub Jelinek <jakub@redhat.com> 200: 201: * elf-bfd.h (elf_discarded_section): Define. 202: * elflink.h (elf_link_input_bfd): Use it. 203: (elf_reloc_symbol_deleted_p): Likewise. 204: 205: * elf64-alpha.c (elf64_alpha_relocate_section): Don't warn about 206: overflows for pc relative relocs against discarded sections. 207: 208: 2001-12-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 209: 210: * elf32-mips.c (_bfd_mips_elf_relocate_section): Formatting. 211: * elf64-mips.c: Add most of the fixes and tweaks done in elf32-mips.c 212: over the last months. Add some code for mips16 handling. 213: (mips_elf64_check_mips16_stubs): New function. 214: (mips_elf64_stub_section_p): Likewise. 215: (mips_elf64_calculate_relocation): Change interface to support mips16. 216: (mips_elf64_perform_relocation): Likewise. 217: 218: 2001-12-17 Alan Modra <amodra@bigpond.net.au> 219: 220: Support for more than 64k ELF sections. 221: * elf-bfd.h (elf_size_info <swap_symbol_out>): Add shndx param. 222: (bfd_elf32_swap_symbol_in): Likewise. 223: (bfd_elf32_swap_symbol_out): Likewise. 224: (bfd_elf64_swap_symbol_in): Likewise. 225: (bfd_elf64_swap_symbol_out): Likewise. 226: (elf_reloc_cookie): Add locsym_shndx field. Make locsyms a PTR. 227: (elf_obj_tdata): Add num_elf_sections, symtab_shndx_hdr and 228: symtab_shndx_section. 229: (elf_numsections): Define. 230: (elf_symtab_shndx): Define. 231: * elf.c (setup_group): Use elf_numsections rather than header e_shnum. 232: (bfd_elf_find_section): Likewise. 233: (bfd_section_from_elf_index): Likewise. 234: (bfd_section_from_shdr): Likewise. Handle SHT_SYMTAB_SHNDX. 235: (bfd_section_from_r_symndx): Read symbol shndx extension, and 236: translate st_shndx for > SHN_HIRESERVE. 237: (assign_section_numbers): Skip reserved sections. Assign 238: symtab_shndx_section and elf_numsections. Exclude reserved 239: sections from e_shnum. Set up symtab_shndx_hdr. 240: (_bfd_elf_compute_section_file_positions): Handle symtab_shndx_hdr. 241: (map_sections_to_segments): Don't map eh_frame_hdr unless required. 242: (assign_file_positions_except_relocs): Use elf_numsections rather 243: than header e_shnum. Skip reserved sections and symtab_shndx_section. 244: (prep_headers): Set name for symtab_shndx_hdr. 245: (_bfd_elf_assign_file_positions_for_relocs): Use elf_numsections. 246: (_bfd_elf_write_object_contents): Likewise. Skip reserved sections. 247: (_bfd_elf_section_from_bfd_section): Check bfd_{abs,com,und}_section 248: first. Use elf_section_data if available. Use elf_numsections. 249: Start scan at index 1. 250: (copy_private_bfd_data ): Comment fixes. 251: (MAP_ONESYMTAB): Define above SHN_HIOS. 252: (MAP_DYNSYMTAB): Likewise. 253: (MAP_STRTAB): Likewise. 254: (MAP_SHSTRTAB): Likewise. 255: (MAP_SYM_SHNDX): New define. 256: (_bfd_elf_copy_private_symbol_data): Handle symtab_shndx_section. 257: (swap_out_syms): Swap out SHT_SYMTAB_SHNDX section too. 258: * elfcode.h (elf_swap_symbol_in): Add shndx param, and handle shndx 259: extension. 260: (elf_swap_symbol_out): Likewise. 261: (elf_object_p): Set elf_numsections, and use instead of e_shnum. 262: Initialialise reserved elf_elfsections to point at shdr[0]. Remove 263: redundant bfd_release calls. 264: (elf_slurp_symbol_table): Read symbol shndx extension, and use with 265: elf_swap_symbol_in. Translate st_shndx for > SHN_HIRESERVE too. 266: * elflink.h (elf_link_is_defined_archive_symbol): Read symbol shndx 267: extension, and use with elf_swap_symbol_in. 268: (elf_link_record_local_dynamic_symbol): Likewise. 269: (elf_link_add_object_symbols): Likewise. Also translate st_shndx 270: for elf sections > SHN_HIRESERVE. 271: (NAME(bfd_elf,size_dynamic_sections)): Adjust elf_swap_symbol_out 272: call. 273: (struct elf_final_link_info): Add locsym_shndx and symshndxbuf. 274: (elf_bfd_final_link): Allocate the above, and tidy code allocating 275: other buffers. Use elf_numsections instead of e_shnum. Adjust 276: elf_swap_symbol_out calls. 277: (elf_link_output_sym): Swap out symbol shndx extension too. 278: (elf_link_flush_output_syms): And flush them to disk. 279: (elf_link_output_extsym): Use SHN_BAD. Adjust elf_swap_symbol_out 280: calls. 281: (elf_gc_mark): Read symbol shndx extension, and use with 282: elf_swap_symbol_in. 283: (elf_link_input_bfd): Likewise, Translate st_shndx for elf sections 284: > SHN_HIRESERVE too. Use SHN_BAD. 285: (elf_reloc_symbol_deleted_p): Use symbol shndx extensions with 286: elf_swap_symbol_in. Translate st_shndx > SHN_HIRESERVE too. 287: (elf_bfd_discard_info): Read symbol shndx extension. Don't attempt 288: to continue after a bfd error. 289: * elf-m10200.c (mn10200_elf_relax_section): Only read local syms. 290: Stash them immediately to symtab_hdr->contents rather than later 291: in multiple places. Clean up afterwards. Read symbol shndx 292: extension, and use with swap_symbol_in. Translate SHN_UNDEF, 293: SHN_ABS, SHN_COMMON and elf sections > SHN_HIRESERVE to bfd 294: sections too. Remove dead code. 295: (mn10200_elf_relax_delete_bytes): Use symbol shndx extension 296: when swapping in symbols. Tidy code adjusting global syms. 297: Don't swap in global syms. 298: (mn10200_elf_symbol_address_p): Likewise. Remove extsyms param. 299: (mn10200_elf_get_relocated_section_contents): Read symbol shndx 300: extension, and use with swap_symbol_in. Rename "size" -> "amt" 301: to maximize code in common with other files. Translate st_shndx 302: for > SHN_HIRESERVE too. Remove dead code. 303: * elf-m10300.c (mn10300_elf_relax_section): Only read local syms. 304: Stash them immediately to symtab_hdr->contents rather than later 305: in multiple places. Clean up afterwards. Read symbol shndx 306: extension, and use with swap_symbol_in. Remove dead code. 307: (mn10300_elf_relax_delete_bytes): As for elf-m10200.c. 308: (mn10300_elf_symbol_address_p): Likewise. 309: (mn10300_elf_get_relocated_section_contents): Likewise. 310: * elf32-h8300.c (elf32_h8_relax_section): As for elf-m10300.c. 311: (elf32_h8_relax_delete_bytes): Likewise. 312: (elf32_h8_symbol_address_p): Likewise. 313: (elf32_h8_get_relocated_section_contents): Likewise. 314: * elf32-hppa.c (elf32_hppa_size_stubs): Read symbol shndx 315: extension, and use with swap_symbol_in. 316: * elf64-hppa.c (elf64_hppa_check_relocs): Likewise. 317: * elf32-i370.c (i370_elf_finish_dynamic_sections): Adjust call to 318: bfd_elf32_swap_symbol_out. 319: * elf32-m32r.c (m32r_elf_get_relocated_section_contents): Translate 320: elf sections > SHN_HIRESERVE too. 321: * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Only read 322: local syms. Read symbol shndx extension, and use with swap_symbol_in. 323: * elf32-mips.c (_bfd_mips_elf_final_write_processing): Use 324: elf_numsections rather than header e_shnum. 325: * elf32-sh.c (sh_elf_relax_section): As for elf-m10300.c. 326: (sh_elf_relax_delete_bytes): Likewise. 327: (sh_elf_get_relocated_section_contents): Likewise. Only read local 328: symbols. 329: * elf32-v850.c (v850_elf_symbol_processing): Use an unsigned int to 330: hold section index. Use elf_numsections rather than e_shnum. 331: Rename "index" -> "indx" to avoid shadowing warning. 332: (v850_elf_add_symbol_hook): Likewise. 333: * elf64-alpha.c (elf64_alpha_relax_section): Only read local syms. 334: Read symbol shndx extension, and use with swap_symbol_in. 335: * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise. 336: Translate SHN_COMMON and elf sections > SHN_HIRESERVE too. 337: * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise. 338: (elfNN_ia64_aix_add_symbol_hook): Use elf_numsections. 339: 340: * elf-m10300.c (mn10300_elf_gc_mark_hook): Remove unnecessary checks 341: before calling bfd_section_from_elf_index on local syms. 342: * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise. 343: * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise. 344: * elf32-cris.c (cris_elf_gc_mark_hook): Likewise. 345: * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise. 346: * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise. 347: * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise. 348: * elf32-i386.c (elf_i386_gc_mark_hook): Likewise. 349: * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise. 350: * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise. 351: * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise. 352: * elf32-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise. 353: * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise. 354: * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise. 355: * elf32-s390.c (elf_s390_gc_mark_hook): Likewise. 356: * elf32-sh.c (sh_elf_gc_mark_hook): Likewise. 357: * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise. 358: * elf32-v850.c (v850_elf_gc_mark_hook): Likewise. 359: * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise. 360: * elf64-mips.c (mips_elf64_gc_mark_hook): Likewise. 361: * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise. 362: * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise. 363: * elf64-s390.c (elf_s390_gc_mark_hook): Likewise. 364: * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise. 365: 366: 2001-12-17 Alan Modra <amodra@bigpond.net.au> 367: 368: Hash bfd sections for fast lookup and create. 369: * bfd.c (struct _bfd): Add section_htab, section_tail. 370: * libbfd-in.h (_bfd_delete_bfd): Declare. 371: (bfd_section_hash_newfunc): Declare. 372: * opncls.c (_bfd_new_bfd): Free memory on failure. Init 373: section_htab and section_tail. 374: (_bfd_delete_bfd): New function. 375: (bfd_openr): Use it. 376: (bfd_fdopenr): Likewise. 377: (bfd_openstreamr): Likewise. 378: (bfd_openw): Likewise. 379: (bfd_close): Likewise. 380: (bfd_close_all_done): Likewise. 381: (bfd_release): Comment. 382: * section.c (struct section_hash_entry): New. 383: (bfd_section_hash_newfunc): New function. 384: (section_hash_lookup): Define. 385: (bfd_section_init): New function, split out from 386: bfd_make_section_anyway. 387: (bfd_get_section_by_name): Lookup via hash table. 388: (bfd_get_unique_section_name): Likewise. 389: (bfd_make_section_old_way): Rewrite to use hash table. 390: (bfd_make_section_anyway): Likewise. 391: (bfd_make_section): Likewise. Return NULL for attempts to make 392: BFD_{ABS,COM,UND,IND}_SECTION_NAME. 393: (_bfd_strip_section_from_output): Adjust section_tail if needed. 394: * configure.in: Bump bfd version. 395: * configure: Regenerate. 396: * libbfd.h: Regenerate. 397: * bfd-in2.h: Regenerate. 398: 399: 2001-12-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 400: 401: * elf64-mips.c (mips_elf64_link_hash_entry): New link hash. 402: (mips_elf64_high): New Function. 403: (mips_elf64_higher): Likewise. 404: (mips_elf64_highest): Likewise. 405: (mips_elf64_info_to_howto_rel): Likewise. 406: (mips_elf64_info_to_howto_rela): Likewise. 407: (mips_elf64_write_rel): Likewise. 408: (mips_elf64_write_rela): Likewise. 409: (mips_elf64_link_hash_newfunc): Likewise. 410: (mips_elf64_hi16_reloc): Likewise. 411: (mips_elf64_higher_reloc): Likewise. 412: (mips_elf64_highest_reloc): Likewise. 413: (mips_elf64_gprel16_reloc): Likewise. 414: (mips_elf64_gprel16_reloca): Likewise. 415: (mips_elf64_literal_reloc): Likewise. 416: (mips_elf64_gprel32_reloc): Likewise. 417: (mips_elf64_shift6_reloc): Likewise. 418: (mips_elf64_got16_reloc): Likewise. 419: (mips_elf64_assign_gp): Likewise. 420: (mips_elf64_final_gp): Likewise. 421: (gprel16_with_gp): Likewise. 422: (mips_elf64_additional_program_headers): Likewise. 423: (mips_elf64_link_hash_table_create): Likewise. 424: (mips_elf64_got_offset_from_index): Likewise. 425: (_mips_elf64_got_info): Likewise. 426: (mips_elf64_sign_extend): Likewise. 427: (mips_elf64_overflow_p): Likewise. 428: (mips_elf64_global_got_index): Likewise. 429: (mips_elf64_sort_hash_table_f): Likewise. 430: (mips_elf64_sort_hash_table): Likewise. 431: (mips_elf64_swap_msym_out): Likewise. 432: (mips_elf64_create_local_got_entry): Likewise. 433: (mips_elf64_local_got_index): Likewise. 434: (mips_elf64_got_page): Likewise. 435: (mips_elf64_got16_entry): Likewise. 436: (mips_elf64_local_relocation_p): Likewise. 437: (mips_elf64_next_relocation): Likewise. 438: (mips_elf64_create_dynamic_relocation): Likewise. 439: (mips_elf64_calculate_relocation): Likewise. 440: (mips_elf64_obtain_contents): Likewise. 441: (mips_elf64_perform_relocation): Likewise. 442: (mips_elf64_relocate_section): Likewise. 443: (mips_elf64_create_dynamic_sections): Likewise. 444: (mips_elf64_adjust_dynamic_symbol): Likewise. 445: (mips_elf64_always_size_sections): Likewise. 446: (mips_elf64_size_dynamic_sections): Likewise. 447: (mips_elf64_finish_dynamic_symbol): Likewise. 448: (mips_elf64_finish_dynamic_sections): Likewise. 449: (mips_elf64_gc_mark_hook): Likewise. 450: (mips_elf64_gc_sweep_hook): Likewise. 451: (mips_elf64_create_got_section): Likewise. 452: (mips_elf64_record_global_got_symbol): Likewise. 453: (mips_elf64_create_msym_section): Likewise. 454: (mips_elf64_allocate_dynamic_relocations): Likewise. 455: (mips_elf64_check_relocs): Likewise. 456: (mips_elf64_output_extsym): Likewise. 457: (mips_elf64_swap_gptab_in): Likewise. 458: (mips_elf64_swap_gptab_out): Likewise. 459: (gptab_compare): Likewise. 460: (mips_elf64_final_link): Likewise. 461: (prev_reloc_addend): Remenber addend of previous parts of a combined 462: reloc. 463: (ELF_MIPS_GP_OFFSET): New define. 464: (STUB_LW,STUB_MOVE,STUB_JALR,STUB_LI16): Likewise. 465: (MIPS_FUNCTION_STUB_SIZE): Likewise. 466: (mips_elf64_howto_rel): Fix HOWTO defines. 467: (mips_elf64_howto_rela): Likewise. 468: (mips_elf64_swap_reloca_out): Fix signedness. 469: (mips_elf64_be_swap_reloc_in): Use ELF64* instead of ELF32*. 470: (mips_elf64_be_swap_reloca_in): Likewise. 471: (mips_elf64_be_swap_reloc_out): Likewise. Preserve extended type info. 472: (mips_elf64_be_swap_reloca_out): Likewise. 473: 474: 2001-12-15 Jakub Jelinek <jakub@redhat.com> 475: 476: * elf-bfd.h (_bfd_elf_maybe_strip_eh_frame_hdr): New prototype. 477: * elf-eh-frame.c (struct eh_frame_hdr_info): Add strip. 478: (_bfd_elf_discard_section_eh_frame): Don't create .eh_frame_hdr 479: sec_info here. Free ehbuf. 480: (_bfd_elf_discard_section_eh_frame_hdr): Don't size the section 481: if hdr_info->strip. 482: (_bfd_elf_maybe_strip_eh_frame_hdr): New. 483: * elflink.h (size_dynamic_sections): Call it. 484: 485: 2001-12-14 Alan Modra <amodra@bigpond.net.au> 486: 487: * elflink.h (elf_bfd_discard_info): Fix segfault when dynobj NULL. 488: 489: 2001-12-13 Jakub Jelinek <jakub@redhat.com> 490: 491: * elf-bfd.h (enum elf_link_info_type): New. 492: (struct bfd_elf_section_data): Remove stab_info and merge_info 493: fields, add sec_info and sec_info_type. 494: (struct elf_obj_tdata): Add eh_frame_hdr field. 495: (_bfd_elf_discard_section_eh_frame): New prototype. 496: (_bfd_elf_discard_section_eh_frame_hdr): Likewise. 497: (_bfd_elf_eh_frame_section_offset): Likewise. 498: (_bfd_elf_write_section_eh_frame): Likewise. 499: (_bfd_elf_write_section_eh_frame_hdr): Likewise. 500: * Makefile.am (BFD32_BACKENDS): Add elf-eh-frame.lo. 501: (BFD32_BACKENDS_CFILES): Add elf-eh-frame.c. 502: (elf-eh-frame.lo): New. 503: * Makefile.in: Rebuilt. 504: * configure.in (elf): Add elf-eh-frame.lo. 505: * configure: Rebuilt. 506: * elf.c (_bfd_elf_print_private_bfd_data): Support PT_GNU_EH_FRAME. 507: (map_sections_to_segments): Create PT_GNU_EH_FRAME if requested. 508: (get_program_header_size): Take into account PT_GNU_EH_FRAME 509: segment. 510: (_bfd_elf_rela_local_sym): Use sec_info_type and sec_info. 511: (_bfd_elf_rel_local_sym): Likewise. 512: (_bfd_elf_section_offset): Likewise. Call 513: _bfd_elf_eh_frame_section_offset too. 514: * elfxx-ia64.c (elfNN_ia64_relocate_section): Use sec_info_type and 515: sec_info. 516: * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. 517: * elf-eh-frame.c: New file. 518: * elflink.h (elf_link_add_object_symbols): Don't optimize SHF_MERGE 519: .stab sections. Set sec_info_type, use sec_info instead 520: of merge_info and stab_info. 521: (elf_link_create_dynamic_sections): Create .eh_frame_hdr section 522: if --eh-frame-hdr. 523: (elf_bfd_final_link): Write .eh_frame_hdr section. 524: (elf_link_sec_merge_syms): Use sec_info_type and sec_info. 525: (elf_link_input_bfd): Likewise. 526: Call _bfd_elf_write_section_eh_frame to write .eh_frame sections. 527: (elf_bfd_discard_info): Add output_bfd argument. 528: Call _bfd_elf_discard_section_eh_frame and 529: _bfd_elf_discard_section_eh_frame_hdr. 530: (elf_section_ignore_discarded_relocs): Use sec_info_type, not section 531: names. 532: * bfd-in.h (bfd_elf32_discard_info, bfd_elf64_discard_info): Adjust 533: prototypes. 534: * bfd-in2.h (bfd_elf32_discard_info, bfd_elf64_discard_info): Likewise. 535: 536: 2001-12-12 Richard Henderson <rth@redhat.com> 537: 538: * syms.c (_bfd_generic_read_minisymbols): Early return for 539: no symbols. Patch from FreeBSD folk; exact origin unknown. 540: 541: 2001-12-11 Alan Modra <amodra@bigpond.net.au> 542: 543: * elfcode.h (elf_swap_ehdr_out): Adjust value written for e_shnum 544: and e_shstrndx if out of range. 545: (elf_object_p): Read extended values for e_shnum and e_shstrndx 546: from the first section header. Allocate space in elf_elfsections 547: for reserved sections and set to NULLs. 548: (elf_write_shdrs_and_ehdr): Set overflow fields in first section 549: header. Skip reserved sections in elf_elfsections. Remove 550: duplicate size calculation. 551: 552: 2001-12-07 Geoffrey Keating <geoffk@redhat.com> 553: Richard Henderson <rth@redhat.com> 554: Corinna Vinschen <vinschen@redhat.com> 555: 556: * Makefile.am: Add support for xstormy16. 557: * archures.c: Add support for xstormy16. 558: * config.bfd: Add support for xstormy16. 559: * configure.in: Add support for xstormy16. 560: * reloc.c: Add support for xstormy16. 561: * targets.c: Add support for xstormy16. 562: * cpu-xstormy16.c: New file. 563: * elf32-xstormy16.c: New file. 564: * Makefile.in: Regenerated. 565: * bfd-in2.h: Regenerated. 566: * configure: Regenerated. 567: * libbfd.h: Regenerated. 568: 569: 2001-12-07 Nick Clifton <nickc@cambridge.redhat.com> 570: 571: * elf.c (assign_file_positions_for_segments): Combine sentance 572: fragments into a single sentance in order to permit better 573: translation into foreign languages. 574: 575: 2001-12-07 Jim Blandy <jimb@redhat.com> 576: 577: * elf32-s390.c (elf32_s390_grok_prstatus): New function. 578: (elf_backend_grok_prstatus): Define. 579: 580: 2001-12-07 Jakub Jelinek <jakub@redhat.com> 581: 582: * elf32-sparc.c (elf32_sparc_relocate_section): Revert 583: 2001-09-14 change. 584: 585: 2001-12-07 Jakub Jelinek <jakub@redhat.com> 586: 587: * elf.c (_bfd_elf_rela_local_sym): Only call 588: _bfd_merged_section_offset if merge_info is non-NULL. 589: (_bfd_elf_rel_local_sym, _bfd_elf_section_offset): New. 590: * elf-bfd.h (_bfd_elf_rel_local_sym, _bfd_elf_section_offset): New 591: prototypes. 592: * elf32-arm.h (elf32_arm_final_link_relocate): Use 593: _bfd_elf_section_offset. 594: (elf32_arm_relocate_section): Use _bfd_elf_rel_local_sym. 595: * elf32-i386.c (elf_i386_relocate_section): Use 596: _bfd_elf_section_offset and _bfd_elf_rel_local_sym. 597: * elf32-sh.c (sh_elf_relocate_section): Likewise. 598: * elf32-sparc.c (elf32_sparc_relocate_section): Use 599: _bfd_elf_section_offset. 600: * elf32-cris.c (cris_elf_relocate_section): Likewise. 601: * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. 602: * elf32-i370.c (i370_elf_relocate_section): Likewise. 603: * elf32-m68k.c (elf_m68k_relocate_section): Likewise. 604: * elf32-mips.c (mips_elf_create_dynamic_relocation): Likewise. 605: * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 606: * elf32-s390.c (elf_s390_relocate_section): Likewise. 607: * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. 608: * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 609: * elf64-s390.c (elf_s390_relocate_section): Likewise. 610: * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. 611: * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. 612: * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise. 613: 614: 2001-12-07 Alan Modra <amodra@bigpond.net.au> 615: 616: * elf32-hppa.c (clobber_millicode_symbols): Don't do anything if 617: already forced local. 618: 619: 2001-12-05 Nick Clifton <nickc@cambridge.redhat.com> 620: 621: * elf32-arm.h (elf32_arm_merge_private_bfd_data): Combine 622: fragmented sentence parts into a whole sentence to permit 623: better translation into foreign languages. 624: 625: 2001-12-06 Hans-Peter Nilsson <hp@bitrange.com> 626: 627: * configure: Regenerate. 628: * Makefile.in: Regenerate. 629: 630: 2001-12-05 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 631: 632: * Makefile.am: split up BFD_LIBS like statements in BFD32_LIBS and 633: BFD64_LIBS, make the latter depending on the availability of BFD64. 634: Add archive64.c source file. 635: * archive64.c: New file implementing bfd_elf64_archive_slurp_armap 636: and bfd_elf64_archive_write_armap, code from elf64-mips.c 637: * archive.c (bfd_slurp_armap): Add ELF64 archive support. 638: * config.bfd (mips*-*-irix6*): Allow with BFD64 only. 639: (mips64*el-*-linux*): Likewise. 640: (mips*el-*-linux*): Likewise. Reorder entries. 641: * configure.in (bfd_libs): Define in dependency of BFD64 and 642: AC_SUBST it. 643: * elf64-mips.c (mips_elf64_slurp_armap): Remove, use 644: bfd_elf64_archive_slurp_armap instead. 645: (mips_elf64_write_armap): Remove, use bfd_elf64_archive_write_armap 646: instead. 647: 648: 2001-12-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 649: 650: * config.bfd: Remove trailing blanks. 651: * elf32-mips.c (gprel16_with_gp): Remove superfluous casts. 652: 653: 2001-12-04 Alexandre Oliva <aoliva@redhat.com> 654: 655: * elf32-d10v.c (elf_d10v_howto_table): Adjust bit-size of 656: R_D10V_10_PCREL_L, R_D10V_10_PCREL_R, R_D10V_18, 657: R_D10V_18_PCREL. Check 10_PCREL relocations as signed. 658: Disable pointless overflow checking of NONE and 32. 659: 660: 2001-12-04 Alan Modra <amodra@bigpond.net.au> 661: 662: * reloc.c (bfd_install_relocation): Correct reloc address test. 663: (bfd_perform_relocation): Formatting fix. 664: * bfd-in2.h: Regenerate for 2001-12-02 reloc.c change. 665: 666: 2001-12-03 Nick Clifton <nickc@cambridge.redhat.com> 667: 668: * configure.in (LINGUAS): Add tr. 669: * configure: Regenerate. 670: * po/tr.po: Import from translation project's web site. 671: 672: 2001-12-03 Alan Modra <amodra@bigpond.net.au> 673: 674: * elf32-hppa.c (hppa_get_stub_entry): Remove debug message that 675: happens to trigger on undefined symbols. 676: (final_link_relocate): Return bfd_reloc_undefined for undefined 677: stubs. 678: (elf32_hppa_relocate_section): Don't say we can't handle a reloc 679: if we have already warned about an undefined symbol. 680: 681: 2001-12-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 682: 683: * elf32-mips.c (NEWABI_P): New define. 684: (USE_REL): Remove, replaced by 685: (elf_backend_may_use_rel_p): New define. 686: (elf_backend_may_use_rela_p): Likewise. 687: (elf_backend_default_use_rela_p): Likewise. 688: (elf_mips_howto_table): Rename to elf_mips_howto_table_rel. 689: Fix some relocation definitions. 690: (elf_mips_howto_table_rela): New RELA relocation definitions for 691: NewABI support. 692: (mips32_64bit_reloc): Use the renamed elf_mips_howto_table_rel. 693: (bfd_elf32_bfd_reloc_type_lookup): Likewise. 694: (mips_rtype_to_howto): Likewise. 695: (_bfd_mips_elf_relocate_section): Likewise. 696: (_bfd_mips_elf_object_p): Typo. 697: (elf_backend_sign_extend_vma): Reordered together with many other 698: defines nearby to resemble the order of declaration in the header 699: file. 700: 701: 2001-12-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 702: 703: * coff-mips.c (mips_bfd_reloc_type_lookup): Replace 704: BFD_RELOC_MIPS_GPREL by BFD_RELOC_GPREL16. 705: