1*75fd0b74Schristos2004-12-31 Paul Brook <paul@copdesourcery.com> 2*75fd0b74Schristos 3*75fd0b74Schristos * elf32-arm.c (elf32_arm_symbian_plt_entry): Fix comment typo. 4*75fd0b74Schristos 5*75fd0b74Schristos2004-12-31 Alan Modra <amodra@bigpond.net.au> 6*75fd0b74Schristos 7*75fd0b74Schristos * reloc.c (BFD_RELOC_AVR_LDI, BFD_RELOC_AVR_6, BFD_RELOC_AVR_6_ADIW): 8*75fd0b74Schristos Commit missing changes from 2004-12-22. 9*75fd0b74Schristos * bfd-in2.h: Regenerate. 10*75fd0b74Schristos 11*75fd0b74Schristos2004-12-23 Tomer Levi <Tomer.Levi@nsc.com> 12*75fd0b74Schristos 13*75fd0b74Schristos * elf32-crx.c (elf32_crx_relax_section): Support 'bcop' relaxation. 14*75fd0b74Schristos 15*75fd0b74Schristos2004-12-21 Kris Warkentin <kewarken@qnx.com> 16*75fd0b74Schristos 17*75fd0b74Schristos * elf.c (elfcore_grok_nto_gregs): Change name to elfcore_grok_nto_regs. 18*75fd0b74Schristos Add 'base' argument for constructing register sections. Reformat. 19*75fd0b74Schristos (elfcore_grok_nto_note): Call elfcore_grok_nto_regs for both 20*75fd0b74Schristos gp and fp regs. Reformat. 21*75fd0b74Schristos 22*75fd0b74Schristos2004-12-22 Klaus Rudolph <lts-rudolph@gmx.de> 23*75fd0b74Schristos 24*75fd0b74Schristos * reloc.c: Add new relocs R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW. 25*75fd0b74Schristos * bfd-in2.h: Regenerate. 26*75fd0b74Schristos * elf32-avr.c (elf_avr_nowto_table): Add the new relocs. 27*75fd0b74Schristos (avr_reloc_map): Likewise. 28*75fd0b74Schristos (avr_final_link_relocate): Likewise. 29*75fd0b74Schristos 30*75fd0b74Schristos2004-12-22 Alan Modra <amodra@bigpond.net.au> 31*75fd0b74Schristos 32*75fd0b74Schristos * elflink.c (_bfd_elf_merge_symbol): Treat old definitions from 33*75fd0b74Schristos as-needed dynamic libs as undefined. 34*75fd0b74Schristos (elf_link_add_object_symbols): Remove DYN_AS_NEEDED from as-needed 35*75fd0b74Schristos libs when finding they are needed. 36*75fd0b74Schristos 37*75fd0b74Schristos2004-12-20 Alan Modra <amodra@bigpond.net.au> 38*75fd0b74Schristos 39*75fd0b74Schristos * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add opd_relocs. 40*75fd0b74Schristos (opd_entry_value): Use opd_relocs if available. 41*75fd0b74Schristos (ppc64_elf_relocate_section): Don't set reloc_done. Instead 42*75fd0b74Schristos copy .opd relocations to opd_relocs. 43*75fd0b74Schristos (ppc64_elf_edit_toc): Set rel_hdr.sh_size after editing relocs. 44*75fd0b74Schristos 45*75fd0b74Schristos2004-12-16 Richard Sandiford <rsandifo@redhat.com> 46*75fd0b74Schristos 47*75fd0b74Schristos * reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type. 48*75fd0b74Schristos * elf32-v850.c (v850_elf_howto_table): Add entry for 49*75fd0b74Schristos R_V850_LO16_SPLIT_OFFSET. 50*75fd0b74Schristos (v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET. 51*75fd0b74Schristos (v850_elf_perform_lo16_relocation): New function, extracted from... 52*75fd0b74Schristos (v850_elf_perform_relocation): ...here. Use it to handle 53*75fd0b74Schristos R_V850_LO16_SPLIT_OFFSET. 54*75fd0b74Schristos (v850_elf_check_relocs, v850_elf_final_link_relocate): Handle 55*75fd0b74Schristos R_V850_LO16_SPLIT_OFFSET. 56*75fd0b74Schristos * libbfd.h, bfd-in2.h: Regenerate. 57*75fd0b74Schristos 58*75fd0b74Schristos2004-12-14 P.J. Darcy <darcypj@us.ibm.com> 59*75fd0b74Schristos 60*75fd0b74Schristos * config.bfd: Add s390x-ibm-tpf support. 61*75fd0b74Schristos 62*75fd0b74Schristos2004-12-14 Tomer Levi <Tomer.Levi@nsc.com> 63*75fd0b74Schristos 64*75fd0b74Schristos * elf32-crx.c (elf32_crx_relax_delete_bytes): Add 'struct bfd_link_info *' 65*75fd0b74Schristos to prototype, to make hash info available. 66*75fd0b74Schristos Prevent wrapped symbols from being adjusted twice. 67*75fd0b74Schristos 68*75fd0b74Schristos2004-12-14 Richard Sandiford <rsandifo@redhat.com> 69*75fd0b74Schristos 70*75fd0b74Schristos * elfxx-mips.c (mips_elf_calculate_relocation): Don't report an 71*75fd0b74Schristos overflow for calls to undefined weak symbols. 72*75fd0b74Schristos 73*75fd0b74Schristos2004-12-11 Alan Modra <amodra@bigpond.net.au> 74*75fd0b74Schristos 75*75fd0b74Schristos * elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that 76*75fd0b74Schristos canonical sections syms have a name. 77*75fd0b74Schristos 78*75fd0b74Schristos2004-12-11 Alan Modra <amodra@bigpond.net.au> 79*75fd0b74Schristos 80*75fd0b74Schristos * elf64-ppc.c (opd_entry_value): Don't use cached relocs if they 81*75fd0b74Schristos have been adjusted for output. 82*75fd0b74Schristos (ppc64_elf_relocate_section): Mark sections with reloc_done. 83*75fd0b74Schristos 84*75fd0b74Schristos2004-12-10 Alan Modra <amodra@bigpond.net.au> 85*75fd0b74Schristos 86*75fd0b74Schristos * elf.c (bfd_elf_sym_name): Rename from bfd_elf_local_sym_name and 87*75fd0b74Schristos add symtab_hdr param. 88*75fd0b74Schristos (group_signature): Update calls. 89*75fd0b74Schristos * elf-bfd.h (bfd_elf_sym_name): Update. 90*75fd0b74Schristos * elf32-ppc.c (ppc_elf_relocate_section): Update. 91*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_edit_opd, ppc64_elf_edit_toc): Update. 92*75fd0b74Schristos (ppc64_elf_relocate_section): Update. 93*75fd0b74Schristos * elflink.c (elf_link_input_bfd): Update. 94*75fd0b74Schristos 95*75fd0b74Schristos2004-12-10 Jakub Jelinek <jakub@redhat.com> 96*75fd0b74Schristos 97*75fd0b74Schristos * elf.c (bfd_elf_local_sym_name): Avoid crashes with invalid 98*75fd0b74Schristos st_shndx on STT_SECTION sections. 99*75fd0b74Schristos 100*75fd0b74Schristos2004-12-09 Daniel Jacobowitz <dan@codesourcery.com> 101*75fd0b74Schristos 102*75fd0b74Schristos * elfcode.h (elf_slurp_reloc_table_from_section): Don't canonicalize 103*75fd0b74Schristos ELF section symbols. 104*75fd0b74Schristos 105*75fd0b74Schristos2004-12-09 Ian Lance Taylor <ian@wasabisystems.com> 106*75fd0b74Schristos 107*75fd0b74Schristos * elfxx-mips.c (mips_elf_calculate_relocation): For R_MIPS_JALR, 108*75fd0b74Schristos return a real value, unless it is a PLT symbol. 109*75fd0b74Schristos (mips_elf_perform_relocation): On the RM9000, turn a jal into a 110*75fd0b74Schristos bal if possible. 111*75fd0b74Schristos 112*75fd0b74Schristos * elfn32-mips.c (elf_mips_howto_table_rela): Change dst_mask of 113*75fd0b74Schristos R_MIPS_JALR entry to 0. 114*75fd0b74Schristos 115*75fd0b74Schristos * archures.c: Define bfd_mach_mips9000. 116*75fd0b74Schristos * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_9000. 117*75fd0b74Schristos (mips_set_isa_flags): Handle bfd_mach_mips9000. 118*75fd0b74Schristos * cpu-mips.c (I_mips9000): Define. 119*75fd0b74Schristos (arch_info_struct): Add case for bfd_mach_mips9000. 120*75fd0b74Schristos * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mips9000. 121*75fd0b74Schristos * bfd-in2.h: Regenerate. 122*75fd0b74Schristos 123*75fd0b74Schristos2004-12-08 Ian Lance Taylor <ian@wasabisystems.com> 124*75fd0b74Schristos 125*75fd0b74Schristos * elfxx-mips.c (mips_elf_calculate_relocation): Test for R_MIPS_26 126*75fd0b74Schristos overflow. 127*75fd0b74Schristos 128*75fd0b74Schristos2004-12-07 Ben Elliston <bje@gnu.org> 129*75fd0b74Schristos 130*75fd0b74Schristos * netbsd-core.c (netbsd_core_file_p): Make `i' unsigned. 131*75fd0b74Schristos 132*75fd0b74Schristos2004-12-06 Daniel Jacobowitz <dan@debian.org> 133*75fd0b74Schristos 134*75fd0b74Schristos Suggested by Fergal Daly <fergal@esatclear.ie>: 135*75fd0b74Schristos * simple.c (simple_dummy_multiple_definition): New function. 136*75fd0b74Schristos (bfd_simple_get_relocated_section_contents): Use it. 137*75fd0b74Schristos 138*75fd0b74Schristos2004-12-03 Jan Beulich <jbeulich@novell.com> 139*75fd0b74Schristos 140*75fd0b74Schristos * elf.c (elf_find_function): Don't use the last file symbol ever, 141*75fd0b74Schristos seen, but the last one seen prior to the symbol being reported. 142*75fd0b74Schristos Don't report a filename at all for global symbols when that might 143*75fd0b74Schristos be ambiguous/wrong. 144*75fd0b74Schristos 145*75fd0b74Schristos2004-12-01 Paul Brook <paul@codesourcery.com> 146*75fd0b74Schristos 147*75fd0b74Schristos * elf32-arm.c (elf32_arm_copy_private_bfd_data): Set EI_OSABI. 148*75fd0b74Schristos (elf32_arm_post_process_headers): Set EI_OSABI depending on ABI 149*75fd0b74Schristos version. 150*75fd0b74Schristos 151*75fd0b74Schristos2004-12-01 Paul Brook <paul@codesourcery.com> 152*75fd0b74Schristos 153*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Make symbols from discarded 154*75fd0b74Schristos sections undefined. 155*75fd0b74Schristos 156*75fd0b74Schristos2004-11-30 Paul Brook <paul@codesourcery.com> 157*75fd0b74Schristos 158*75fd0b74Schristos * elf32-arm.c (struct elf32_arm_link_hash_table): Remove 159*75fd0b74Schristos no_pipeline_knowledge 160*75fd0b74Schristos (elf32_arm_link_hash_table_create): Ditto. 161*75fd0b74Schristos (bfd_elf32_arm_process_before_allocation): Ditto. 162*75fd0b74Schristos (elf32_arm_final_link_relocate): Ditto. Remove oabi relocation 163*75fd0b74Schristos handling. 164*75fd0b74Schristos * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update 165*75fd0b74Schristos prototype. 166*75fd0b74Schristos * bfd-in2.h: Regenerate. 167*75fd0b74Schristos 168*75fd0b74Schristos2004-11-30 Randolph Chung <tausq@debian.org> 169*75fd0b74Schristos 170*75fd0b74Schristos * elf32-hppa.c (elf32_hppa_grok_prstatus): New function. 171*75fd0b74Schristos (elf32_hppa_grok_psinfo): New function. 172*75fd0b74Schristos (elf_backend_grok_prstatus): Define. 173*75fd0b74Schristos (elf_backend_grok_psinfo): Define. 174*75fd0b74Schristos 175*75fd0b74Schristos2004-11-24 H.J. Lu <hongjiu.lu@intel.com> 176*75fd0b74Schristos 177*75fd0b74Schristos PR 574: 178*75fd0b74Schristos * elfcode.h (elf_slurp_symbol_table): Handle STT_TLS. 179*75fd0b74Schristos 180*75fd0b74Schristos2004-11-24 Paul Brook <paul@codesourcery.com> 181*75fd0b74Schristos 182*75fd0b74Schristos * elf.c (assign_section_numbers): Number SHT_GROUP sections first. 183*75fd0b74Schristos 184*75fd0b74Schristos2004-11-24 Paul Brook <paul@codesourcery.com> 185*75fd0b74Schristos 186*75fd0b74Schristos * elf32-arm.c (elf32_arm_swap_symbol_in): New function. 187*75fd0b74Schristos (elf32_arm_swap_symbol_out): New function. 188*75fd0b74Schristos (elf32_arm_size_info): Add. 189*75fd0b74Schristos (elf_backend_size_info): Define. 190*75fd0b74Schristos 191*75fd0b74Schristos2004-11-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 192*75fd0b74Schristos 193*75fd0b74Schristos * hpux-core.c (hpux_core_core_file_p): Use offsetof macro in calls to 194*75fd0b74Schristos make_bfd_asection. 195*75fd0b74Schristos 196*75fd0b74Schristos2004-11-19 Alan Modra <amodra@bigpond.net.au> 197*75fd0b74Schristos 198*75fd0b74Schristos * elf32-arm.c (elf32_arm_finish_dynamic_sections): Warning fix. 199*75fd0b74Schristos * elf32-iq2000.c (iq2000_reloc_type_lookup): C90 function decl. 200*75fd0b74Schristos * nlmcode.h (nlm_write_object_contents): Warning fix. 201*75fd0b74Schristos 202*75fd0b74Schristos2004-11-18 Bob Wilson <bob.wilson@acm.org> 203*75fd0b74Schristos 204*75fd0b74Schristos * elf32-xtensa.c (ebb_propose_action): Fix argument order. 205*75fd0b74Schristos 206*75fd0b74Schristos2004-11-17 Daniel Jacobowitz <dan@codesourcery.com> 207*75fd0b74Schristos 208*75fd0b74Schristos * elf32-arm.c (PLT_THUMB_STUB_SIZE): Define. 209*75fd0b74Schristos (elf32_arm_plt_thumb_stub): New. 210*75fd0b74Schristos (struct elf32_arm_link_hash_entry): Add plt_thumb_refcount 211*75fd0b74Schristos and plt_got_offset. 212*75fd0b74Schristos (elf32_arm_link_hash_traverse): Fix typo. 213*75fd0b74Schristos (elf32_arm_link_hash_table): Add obfd. 214*75fd0b74Schristos (elf32_arm_link_hash_newfunc): Initialize new fields. 215*75fd0b74Schristos (elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount. 216*75fd0b74Schristos (elf32_arm_link_hash_table_create): Initialize obfd. 217*75fd0b74Schristos (record_arm_to_thumb_glue): Mark the glue as a local ARM function. 218*75fd0b74Schristos (record_thumb_to_arm_glue): Mark the glue as a local Thumb function. 219*75fd0b74Schristos (bfd_elf32_arm_get_bfd_for_interworking): Verify that the 220*75fd0b74Schristos interworking BFD is not dynamic. 221*75fd0b74Schristos (bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32. Do 222*75fd0b74Schristos not emit glue for PLT references. 223*75fd0b74Schristos (elf32_arm_final_link_relocate): Handle Thumb functions. Do not 224*75fd0b74Schristos emit glue for PLT references. Support the Thumb PLT prefix. 225*75fd0b74Schristos (elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and 226*75fd0b74Schristos plt_thumb_refcount. 227*75fd0b74Schristos (elf32_arm_check_relocs): Likewise. 228*75fd0b74Schristos (elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and 229*75fd0b74Schristos plt_thumb_refcount. 230*75fd0b74Schristos (allocate_dynrelocs): Handle Thumb PLT references. 231*75fd0b74Schristos (elf32_arm_finish_dynamic_symbol): Likewise. 232*75fd0b74Schristos (elf32_arm_symbol_processing): New function. 233*75fd0b74Schristos (elf_backend_symbol_processing): Define. 234*75fd0b74Schristos 235*75fd0b74Schristos2004-11-16 Richard Sandiford <rsandifo@redhat.com> 236*75fd0b74Schristos 237*75fd0b74Schristos * elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and 238*75fd0b74Schristos add_fde_encoding. Remove need_relative. 239*75fd0b74Schristos * elf-eh-frame.c (extra_augmentation_string_bytes) 240*75fd0b74Schristos (extra_augmentation_data_bytes, size_of_output_cie_fde): New functions. 241*75fd0b74Schristos (_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding 242*75fd0b74Schristos in cases where the CIE has no existing 'R' augmentation. Use 243*75fd0b74Schristos size_of_output_cie_fde when assigning offsets. Use the final offset 244*75fd0b74Schristos as the new section size. 245*75fd0b74Schristos (_bfd_elf_eh_frame_section_offset): Remove need_relative handling. 246*75fd0b74Schristos Account for any extra augmentation bytes in the returned offset. 247*75fd0b74Schristos (_bfd_elf_write_section_eh_frame): Rework so that the entries are 248*75fd0b74Schristos moved before being modified. Pad growing entries with DW_CFA_nops. 249*75fd0b74Schristos Add 'z' and 'R' augmentations as directed by add_augmentation_size 250*75fd0b74Schristos and add_fde_encoding. 251*75fd0b74Schristos 252*75fd0b74Schristos2004-11-15 Mark Mitchell <mark@codesourcery.com> 253*75fd0b74Schristos 254*75fd0b74Schristos * elf32-arm.c (elf32_arm_relocate_section): Use 255*75fd0b74Schristos arm_real_reloc_type. 256*75fd0b74Schristos 257*75fd0b74Schristos2004-11-16 Richard Sandiford <rsandifo@redhat.com> 258*75fd0b74Schristos 259*75fd0b74Schristos * elfxx-mips.c (mips_elf_create_dynamic_relocation): Return early 260*75fd0b74Schristos for discard relocations; don't add an R_MIPS_NONE to the main body 261*75fd0b74Schristos of .rel.dyn. 262*75fd0b74Schristos 263*75fd0b74Schristos2004-11-04 Paul Brook <paul@codesourcery.com> 264*75fd0b74Schristos 265*75fd0b74Schristos * elf-bfd.h (_bfd_elf_slurp_version_tables): Update prototype. 266*75fd0b74Schristos * elf.c (_bfd_elf_print_private_bfd_data): Pass extra argument. 267*75fd0b74Schristos (_bfd_elf_slurp_version_tables): Add extra argument. Create extra 268*75fd0b74Schristos default version definition for unversioned symbols. 269*75fd0b74Schristos * elfcode.h (elf_slurp_symbol_table): Pass extra argument. 270*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Pass extra argument to 271*75fd0b74Schristos _bfd_elf_slurp_version_tables. Set default version for unversioned 272*75fd0b74Schristos imported symbols. 273*75fd0b74Schristos 274*75fd0b74Schristos2004-11-15 Paul Brook <paul@codesourcery.com> 275*75fd0b74Schristos 276*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Don't assume version 277*75fd0b74Schristos indices are consecutive. 278*75fd0b74Schristos 279*75fd0b74Schristos2004-11-14 Richard Sandiford <rsandifo@redhat.com> 280*75fd0b74Schristos 281*75fd0b74Schristos * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Deal with 282*75fd0b74Schristos composite relocations against the personality data. 283*75fd0b74Schristos 284*75fd0b74Schristos2004-11-13 Paul Brook <paul@codesourcery.com> 285*75fd0b74Schristos 286*75fd0b74Schristos * elf32-arm.c (elf32_arm_final_link_relocate): Resolve 287*75fd0b74Schristos R_ARM_PREL31 relocations to PLT entries. 288*75fd0b74Schristos (elf32_arm_relocate_section, elf32_arm_gc_sweep_hook): Ditto. 289*75fd0b74Schristos (elf32_arm_check_relocs): Ditto. 290*75fd0b74Schristos 291*75fd0b74Schristos2004-11-12 Bob Wilson <bob.wilson@acm.org> 292*75fd0b74Schristos 293*75fd0b74Schristos * xtensa-isa.c (xtensa_interface_class_id): New. 294*75fd0b74Schristos 295*75fd0b74Schristos2004-11-11 Bob Wilson <bob.wilson@acm.org> 296*75fd0b74Schristos 297*75fd0b74Schristos * elf32-xtensa.c (property_table_compare): Remove assertion about 298*75fd0b74Schristos entries with the same address and non-zero size. 299*75fd0b74Schristos (xtensa_read_table_entries): Report such entries as errors. 300*75fd0b74Schristos 301*75fd0b74Schristos2004-11-11 Mark Mitchell <mark@codesourcery.com> 302*75fd0b74Schristos 303*75fd0b74Schristos * elf32-arm.c (elf32_arm_final_link_relocate): Correct logic for 304*75fd0b74Schristos R_ARM_RELATIVE on Symbian OS. 305*75fd0b74Schristos 306*75fd0b74Schristos2004-11-09 Mark Mitchell <mark@codesourcery.com> 307*75fd0b74Schristos 308*75fd0b74Schristos * som.c (som_bfd_print_private_bfd_data): New function. 309*75fd0b74Schristos (som_object_setup): Save the auxiliary header. Don't assume that 310*75fd0b74Schristos zero is an invalid entry point for a shared library. 311*75fd0b74Schristos (som_object_p): Allocate the auxiliary header on the heap. 312*75fd0b74Schristos 313*75fd0b74Schristos * elf32-arm.c (elf32_arm_begin_write_processing): Do not use a K&R 314*75fd0b74Schristos declaration. 315*75fd0b74Schristos (elf32_arm_symbian_modify_segment_map): Likewise. 316*75fd0b74Schristos 317*75fd0b74Schristos2004-11-09 Daniel Jacobowitz <dan@debian.org> 318*75fd0b74Schristos 319*75fd0b74Schristos From David Poole <daveml@mbuf.com>: 320*75fd0b74Schristos * elf32-arm.c (elf32_arm_readonly_dynrelocs): New function. 321*75fd0b74Schristos (elf32_arm_size_dynamic_sections): Call it. 322*75fd0b74Schristos 323*75fd0b74Schristos2004-11-09 Alan Modra <amodra@bigpond.net.au> 324*75fd0b74Schristos 325*75fd0b74Schristos * Makefile.am (SOURCE_HFILES): Remove elf32-arm.h. 326*75fd0b74Schristos (ALL_MACHINES_CFILES): Fix typo. 327*75fd0b74Schristos * Makefile.in: Regenerate. 328*75fd0b74Schristos * po/SRC-POTFILES.in: Regenerate. 329*75fd0b74Schristos 330*75fd0b74Schristos2004-11-08 Mark Mitchell <mark@codesourcery.com> 331*75fd0b74Schristos 332*75fd0b74Schristos * elf32-arm.c (elf32_arm_final_link_relocate): When generating an 333*75fd0b74Schristos R_ARM_RELATIVE relocation for Symbian OS, mention the section 334*75fd0b74Schristos symbol in the relocation. 335*75fd0b74Schristos 336*75fd0b74Schristos2004-11-08 Inderpreet Singh <inderpreetb@nioda.hcltech.com> 337*75fd0b74Schristos Vineet Sharma <vineets@noida.hcltech.com> 338*75fd0b74Schristos 339*75fd0b74Schristos * coff-maxq.c: New File. 340*75fd0b74Schristos * cpu-maxq.c: New File. 341*75fd0b74Schristos * coffcode.h: Likewise. 342*75fd0b74Schristos * config.bfd: Likewise. 343*75fd0b74Schristos * configure.in (maxqcoff_vec): New target vector. 344*75fd0b74Schristos * Makefile.am: Add support for maxq target. 345*75fd0b74Schristos * configure.in: Likewise. 346*75fd0b74Schristos * archures.c:. Likewise. 347*75fd0b74Schristos * targets.c: Likewise. 348*75fd0b74Schristos * bfd_in2.h : Regenerated. 349*75fd0b74Schristos * Makefile.in: Regenerated. 350*75fd0b74Schristos * configure: Regenerated. 351*75fd0b74Schristos * doc/Makefile.in: Regenerated. 352*75fd0b74Schristos 353*75fd0b74Schristos2004-11-08 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com> 354*75fd0b74Schristos 355*75fd0b74Schristos * coff-i386.c (coff_i386_reloc): Fix weak symbols. 356*75fd0b74Schristos * cofflink.c (_bfd_coff_link_input_bfd): Don't process 357*75fd0b74Schristos C_NT_WEAK aux entries. 358*75fd0b74Schristos (_bfd_coff_generic_relocate_section): Handle undefined 359*75fd0b74Schristos aliases. 360*75fd0b74Schristos 361*75fd0b74Schristos2004-11-07 Andreas Schwab <schwab@suse.de> 362*75fd0b74Schristos 363*75fd0b74Schristos * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Use 364*75fd0b74Schristos SYMBOL_CALLS_LOCAL and check for undefweak symbols with 365*75fd0b74Schristos non-default visibility. 366*75fd0b74Schristos 367*75fd0b74Schristos2004-11-01 Mark Mitchell <mark@codesourcery.com> 368*75fd0b74Schristos 369*75fd0b74Schristos * elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear 370*75fd0b74Schristos D_PAGED. 371*75fd0b74Schristos (elf32_arm_symbian_modify_segment_map): Don't 372*75fd0b74Schristos reset includes_filehdr and includes_phdrs here. 373*75fd0b74Schristos 374*75fd0b74Schristos2004-11-04 Daniel Jacobowitz <dan@debian.org> 375*75fd0b74Schristos 376*75fd0b74Schristos * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Replace 377*75fd0b74Schristos elfarm-nabi with elf32-arm. Remove elfarm-oabi. 378*75fd0b74Schristos (elf32-arm.lo): Replace elfarm-nabi.lo rule. Remove elf32-arm.h 379*75fd0b74Schristos dependency. 380*75fd0b74Schristos * config.bfd: Move arm-*-oabi* and thumb-*-oabi* from obsolete list 381*75fd0b74Schristos to a new removed list. Remove normal configuration stanzas. 382*75fd0b74Schristos * configure.in: (bfd_elf32_bigarm_vec, bfd_elf32_bigarm_symbian_vec) 383*75fd0b74Schristos (bfd_elf32_littlearm_symbian_vec, bfd_elf32_littlearm_vec): Replace 384*75fd0b74Schristos elfarm-nabi.lo with elf32-arm.lo. 385*75fd0b74Schristos (bfd_elf32_bigarm_oabi_vec, bfd_elf32_littlearm_oabi_vec): Remove. 386*75fd0b74Schristos * elf32-arm.c: Renamed from elfarm-nabi.c. Inline elf32-arm.h. 387*75fd0b74Schristos * elf32-arm.h: Remove. 388*75fd0b74Schristos * elfarm-oabi.c: Remove. 389*75fd0b74Schristos * targets.c (_bfd_target_vector): Remove bfd_elf32_bigarm_oabi_vec 390*75fd0b74Schristos and bfd_elf32_littlearm_oabi_vec. 391*75fd0b74Schristos * aclocal.m4, Makefile.in, configure, doc/Makefile.in: Regenerated. 392*75fd0b74Schristos 393*75fd0b74Schristos2004-11-04 Hans-Peter Nilsson <hp@axis.com> 394*75fd0b74Schristos 395*75fd0b74Schristos * config.bfd: Support crisv32-*-* like cris-*-*. 396*75fd0b74Schristos * archures.c (bfd_mach_cris_v0_v10, bfd_mach_cris_v32) 397*75fd0b74Schristos (bfd_mach_cris_v10_v32): New macros. 398*75fd0b74Schristos * cpu-cris.c: Tweak formatting. 399*75fd0b74Schristos (get_compatible): New function. 400*75fd0b74Schristos (N): New macro. 401*75fd0b74Schristos (bfd_cris_arch_compat_v10_v32, bfd_cris_arch_v32): New 402*75fd0b74Schristos bfd_arch_info_type:s. 403*75fd0b74Schristos (bfd_cris_arch): Use bfd_mach_cris_v0_v10 for member mach, 404*75fd0b74Schristos get_compatible for member compatible and link bfd_cris_arch_v32 as 405*75fd0b74Schristos next. 406*75fd0b74Schristos * elf32-cris.c (cris_elf_pcrel_reloc) 407*75fd0b74Schristos (cris_elf_set_mach_from_flags): New functions. 408*75fd0b74Schristos (cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL> 409*75fd0b74Schristos <R_CRIS_32_PCREL>: Use cris_elf_pcrel_reloc. 410*75fd0b74Schristos (cris_elf_grok_prstatus, cris_elf_grok_psinfo): Give correct 411*75fd0b74Schristos numbers for bfd_mach_cris_v32. 412*75fd0b74Schristos (PLT_ENTRY_SIZE_V32): New macro. 413*75fd0b74Schristos (elf_cris_plt0_entry): Drop last comma in initializer. 414*75fd0b74Schristos (elf_cris_plt0_entry_v32, elf_cris_plt_entry_v32) 415*75fd0b74Schristos (elf_cris_pic_plt0_entry_v32, elf_cris_pic_plt_entry_v32): New 416*75fd0b74Schristos PLT initializers. 417*75fd0b74Schristos (cris_elf_relocate_section): Change all "%B(%A)" messages to 418*75fd0b74Schristos "%B, section %A". 419*75fd0b74Schristos (elf_cris_finish_dynamic_symbol): Do V32-specific PLT entries. 420*75fd0b74Schristos (elf_cris_finish_dynamic_sections): Similar. 421*75fd0b74Schristos (elf_cris_adjust_dynamic_symbol): Similar. 422*75fd0b74Schristos (cris_elf_check_relocs): Change all "%B(%A)" messages to "%B, 423*75fd0b74Schristos section %A". 424*75fd0b74Schristos <switch with PIC relocs>: Emit error and return FALSE for 425*75fd0b74Schristos bfd_mach_cris_v10_v32. 426*75fd0b74Schristos <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>: 427*75fd0b74Schristos Emit warning when generating textrel reloc. 428*75fd0b74Schristos (cris_elf_object_p): Call cris_elf_set_mach_from_flags. 429*75fd0b74Schristos (cris_elf_final_write_processing): Set flags according to mach. 430*75fd0b74Schristos (cris_elf_print_private_bfd_data): Display 431*75fd0b74Schristos EF_CRIS_VARIANT_COMMON_V10_V32 and EF_CRIS_VARIANT_V32. 432*75fd0b74Schristos (cris_elf_merge_private_bfd_data): Drop variables old_flags, 433*75fd0b74Schristos new_flags. Don't call cris_elf_final_write_processing. Don't 434*75fd0b74Schristos look at the actual elf header flags at all; use 435*75fd0b74Schristos bfd_get_symbol_leading_char to check ibfd, obfd. Trap difference 436*75fd0b74Schristos in bfd_get_mach for ibfd and obfd and handle merging of compatible 437*75fd0b74Schristos objects. 438*75fd0b74Schristos (bfd_elf32_bfd_copy_private_bfd_data): Define. 439*75fd0b74Schristos * reloc.c (BFD_RELOC_CRIS_SIGNED_8, BFD_RELOC_CRIS_UNSIGNED_8) 440*75fd0b74Schristos (BFD_RELOC_CRIS_SIGNED_16, BFD_RELOC_CRIS_UNSIGNED_16) 441*75fd0b74Schristos (BFD_RELOC_CRIS_LAPCQ_OFFSET): New relocs. 442*75fd0b74Schristos * bfd-in2.h, libbfd.h: Regenerate. 443*75fd0b74Schristos 444*75fd0b74Schristos2004-11-04 Alan Modra <amodra@bigpond.net.au> 445*75fd0b74Schristos 446*75fd0b74Schristos * elf64-ppc.h (ppc64_elf_edit_toc): Declare. 447*75fd0b74Schristos * elf64-ppc.c (struct ppc_link_hash_entry <adjust_done>): Update 448*75fd0b74Schristos comment. 449*75fd0b74Schristos (struct adjust_toc_info): New. 450*75fd0b74Schristos (adjust_toc_syms, ppc64_elf_edit_toc): New functions. 451*75fd0b74Schristos 452*75fd0b74Schristos2004-11-03 Bob Wilson <bob.wilson@acm.org> 453*75fd0b74Schristos 454*75fd0b74Schristos * elf.c (assign_file_positions_for_segments): Set next_file_pos even 455*75fd0b74Schristos if there are no segments. 456*75fd0b74Schristos 457*75fd0b74Schristos2004-11-02 Daniel Jacobowitz <dan@debian.org> 458*75fd0b74Schristos 459*75fd0b74Schristos * config.bfd: Mark arm-*-oabi and thumb-*-oabi as obsolete. 460*75fd0b74Schristos 461*75fd0b74Schristos2004-11-02 Nick Clifton <nickc@redhat.com> 462*75fd0b74Schristos 463*75fd0b74Schristos * elf32-iq2000.c: Convert to ISO C90 formatting. 464*75fd0b74Schristos 465*75fd0b74Schristos2004-11-02 Hans-Peter Nilsson <hp@axis.com> 466*75fd0b74Schristos 467*75fd0b74Schristos * elflink.c (_bfd_elf_create_got_section): Hide _GLOBAL_OFFSET_TABLE_. 468*75fd0b74Schristos 469*75fd0b74Schristos2004-10-28 H.J. Lu <hongjiu.lu@intel.com> 470*75fd0b74Schristos 471*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle weak 472*75fd0b74Schristos undefined symbols for R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, 473*75fd0b74Schristos R_IA64_SECREL64MSB and R_IA64_SECREL64LSB. 474*75fd0b74Schristos 475*75fd0b74Schristos2004-10-28 Kaz Kojima <kkojima@rr.iij4u.or.jp> 476*75fd0b74Schristos 477*75fd0b74Schristos * elf32-sh.c (tpoff): Take alignment into account. 478*75fd0b74Schristos 479*75fd0b74Schristos2004-10-28 Nick Clifton <nickc@redhat.com> 480*75fd0b74Schristos 481*75fd0b74Schristos * elf32-iq2000.c (iq2000_elf_relocate_section): Do nothing when 482*75fd0b74Schristos performing a relocatable link. 483*75fd0b74Schristos (iq2000_elf_object_p): Do not set elf_bad_symtab. This is only 484*75fd0b74Schristos for MIPS ports under Irix. 485*75fd0b74Schristos 486*75fd0b74Schristos2004-10-27 Richard Earnshaw <rearnsha@arm.com> 487*75fd0b74Schristos 488*75fd0b74Schristos * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Handle 489*75fd0b74Schristos R_ARM_CALL and R_ARM_JUMP24 as aliases of R_ARM_PC24. 490*75fd0b74Schristos (elf32_arm_final_link_relocate): Ditto. 491*75fd0b74Schristos (arm_add_to_rel, elf32_arm_relocate_section): Ditto. 492*75fd0b74Schristos (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto 493*75fd0b74Schristos (elf32_arm_adjust_dynamic_symbol): Ditto. 494*75fd0b74Schristos * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_CALL and 495*75fd0b74Schristos R_ARM_JUMP32. Move R_ARM_R{REL32,ABS32,PC24,BASE}... 496*75fd0b74Schristos (elf32_arm_r_howto): ... To here. 497*75fd0b74Schristos (elf32_arm_howto_from_type): Use elf32_arm_r_howto. 498*75fd0b74Schristos 499*75fd0b74Schristos2004-10-26 H.J. Lu <hongjiu.lu@intel.com> 500*75fd0b74Schristos 501*75fd0b74Schristos PR 475 502*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relocate_section): Correct 503*75fd0b74Schristos R_IA64_SECREL32MSB, R_IA64_SECREL32LSB, R_IA64_SECREL64MSB 504*75fd0b74Schristos and R_IA64_SECREL64LSB. 505*75fd0b74Schristos 506*75fd0b74Schristos2004-10-26 Paul Brook <paul@codesourcery.com> 507*75fd0b74Schristos 508*75fd0b74Schristos * elflink.c (elf_finalize_dynstr): Skip shared aux structure. 509*75fd0b74Schristos (bfd_elf_size_dynamic_sections): Create default version definition. 510*75fd0b74Schristos (elf_link_output_extsym): Adjust for default symbol version. 511*75fd0b74Schristos 512*75fd0b74Schristos2004-10-24 Hans-Peter Nilsson <hp@bitrange.com> 513*75fd0b74Schristos 514*75fd0b74Schristos * mmo.c: Adjust to ISO C. 515*75fd0b74Schristos 516*75fd0b74Schristos * mmo.c (mmo_write_section_description): New function broken out 517*75fd0b74Schristos of mmo_internal_write_section. 518*75fd0b74Schristos (mmo_internal_write_section): For each of .text and .data, call 519*75fd0b74Schristos mmo_write_section_description before outputting contents if it has 520*75fd0b74Schristos nontrivially deducible vma or contents. 521*75fd0b74Schristos (mmo_has_leading_or_trailing_zero_tetra_p): New function. 522*75fd0b74Schristos (mmo_canonicalize_symtab): Adjust absolute symbols to .data 523*75fd0b74Schristos symbols if found within the .data address range. 524*75fd0b74Schristos 525*75fd0b74Schristos2004-10-24 Daniel Jacobowitz <dan@debian.org> 526*75fd0b74Schristos 527*75fd0b74Schristos * opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY. 528*75fd0b74Schristos 529*75fd0b74Schristos2004-10-24 Hans-Peter Nilsson <hp@bitrange.com> 530*75fd0b74Schristos 531*75fd0b74Schristos * mmo.c (File Layout): Correct place of misplaced blurb about 532*75fd0b74Schristos special data. 533*75fd0b74Schristos 534*75fd0b74Schristos2004-10-22 Mark Kettenis <kettenis@gnu.org> 535*75fd0b74Schristos 536*75fd0b74Schristos * config.bfd: Add mips64*-*-openbsd. 537*75fd0b74Schristos 538*75fd0b74Schristos2004-10-21 Bob Wilson <bob.wilson@acm.org> 539*75fd0b74Schristos 540*75fd0b74Schristos * elf32-xtensa.c (ebb_propose_action): Put declarations before 541*75fd0b74Schristos statements. 542*75fd0b74Schristos 543*75fd0b74Schristos2004-10-21 H.J. Lu <hongjiu.lu@intel.com> 544*75fd0b74Schristos 545*75fd0b74Schristos * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.94. 546*75fd0b74Schristos * configure: Regenerate. 547*75fd0b74Schristos 548*75fd0b74Schristos2004-10-21 H.J. Lu <hongjiu.lu@intel.com> 549*75fd0b74Schristos 550*75fd0b74Schristos PR 463 551*75fd0b74Schristos * aoutx.h (aout_link_input_section_std): Pass proper hash entry 552*75fd0b74Schristos to linker reloc_overflow callback. 553*75fd0b74Schristos (aout_link_input_section_ext): Likewise. 554*75fd0b74Schristos (aout_link_reloc_link_order): Likewise. 555*75fd0b74Schristos * coff-a29k.c (coff_a29k_relocate_section): Likewise. 556*75fd0b74Schristos * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): 557*75fd0b74Schristos Likewise. 558*75fd0b74Schristos (alpha_relocate_section): Likewise. 559*75fd0b74Schristos * coff-arm.c (coff_arm_relocate_section): Likewise. 560*75fd0b74Schristos * coff-h8300.c (h8300_reloc16_extra_cases): Likewise. 561*75fd0b74Schristos * coff-h8500.c (extra_case): Likewise. 562*75fd0b74Schristos * coff-i960.c (coff_i960_relocate_section): Likewise. 563*75fd0b74Schristos * coff-mcore.c (coff_mcore_relocate_section): Likewise. 564*75fd0b74Schristos * coff-mips.c (mips_relocate_section): Likewise. 565*75fd0b74Schristos * coff-or32.c (coff_or32_relocate_section): Likewise. 566*75fd0b74Schristos * coff-ppc.c (coff_ppc_relocate_section): Likewise. 567*75fd0b74Schristos * coff-rs6000.c (xcoff_ppc_relocate_section): Likewise. 568*75fd0b74Schristos * coff-sh.c (sh_relocate_section): Likewise. 569*75fd0b74Schristos * coff-tic80.c (coff_tic80_relocate_section): Likewise. 570*75fd0b74Schristos * coff-w65.c (w65_reloc16_extra_cases): Likewise. 571*75fd0b74Schristos * coff-z8k.c (extra_case): Likewise. 572*75fd0b74Schristos * coff64-rs6000.c (xcoff64_ppc_relocate_section): Likewise. 573*75fd0b74Schristos * cofflink.c (_bfd_coff_reloc_link_order): Likewise. 574*75fd0b74Schristos (_bfd_coff_generic_relocate_section): Likewise. 575*75fd0b74Schristos * ecoff.c (ecoff_reloc_link_order): Likewise. 576*75fd0b74Schristos * elf-hppa.h (elf_hppa_relocate_section): Likewise. 577*75fd0b74Schristos * elf-m10200.c (mn10200_elf_relocate_section): Likewise. 578*75fd0b74Schristos * elf-m10300.c (mn10300_elf_relocate_section): Likewise. 579*75fd0b74Schristos * elf32-arm.h (elf32_arm_relocate_section): Likewise. 580*75fd0b74Schristos * elf32-avr.c (elf32_avr_relocate_section): Likewise. 581*75fd0b74Schristos * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise. 582*75fd0b74Schristos * elf32-cris.c (cris_elf_relocate_section): Likewise. 583*75fd0b74Schristos * elf32-crx.c (elf32_crx_relocate_section): Likewise. 584*75fd0b74Schristos * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. 585*75fd0b74Schristos * elf32-fr30.c (fr30_elf_relocate_section): Likewise. 586*75fd0b74Schristos * elf32-frv.c (elf32_frv_relocate_section): Likewise. 587*75fd0b74Schristos * elf32-h8300.c (elf32_h8_relocate_section): Likewise. 588*75fd0b74Schristos * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. 589*75fd0b74Schristos * elf32-i370.c (i370_elf_relocate_section): Likewise. 590*75fd0b74Schristos * elf32-i386.c (elf_i386_relocate_section): Likewise. 591*75fd0b74Schristos * elf32-i860.c (elf32_i860_relocate_section): Likewise. 592*75fd0b74Schristos * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise. 593*75fd0b74Schristos * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise. 594*75fd0b74Schristos * elf32-m32r.c (m32r_elf_relocate_section): Likewise. 595*75fd0b74Schristos * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise. 596*75fd0b74Schristos * elf32-m68k.c (elf_m68k_relocate_section): Likewise. 597*75fd0b74Schristos * elf32-mcore.c (mcore_elf_relocate_section): Likewise. 598*75fd0b74Schristos * elf32-msp430.c (elf32_msp430_relocate_section): Likewise. 599*75fd0b74Schristos * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise. 600*75fd0b74Schristos * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 601*75fd0b74Schristos * elf32-s390.c (elf_s390_relocate_section): Likewise. 602*75fd0b74Schristos * elf32-sh.c (sh_elf_relocate_section): Likewise. 603*75fd0b74Schristos * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. 604*75fd0b74Schristos * elf32-v850.c (v850_elf_relocate_section): Likewise. 605*75fd0b74Schristos * elf32-vax.c (elf_vax_relocate_section): Likewise. 606*75fd0b74Schristos * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. 607*75fd0b74Schristos * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. 608*75fd0b74Schristos * elf64-mmix.c (mmix_elf_relocate_section): Likewise. 609*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 610*75fd0b74Schristos * elf64-s390.c (elf_s390_relocate_section): Likewise. 611*75fd0b74Schristos * elf64-sh64.c (sh_elf64_relocate_section): Likewise. 612*75fd0b74Schristos * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. 613*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. 614*75fd0b74Schristos * elflink.c (elf_reloc_link_order): Likewise. 615*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise. 616*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise. 617*75fd0b74Schristos (_bfd_elf_mips_get_relocated_section_contents): Likewise. 618*75fd0b74Schristos * linker.c (_bfd_generic_reloc_link_order): Likewise. 619*75fd0b74Schristos * pdp11.c (pdp11_aout_link_input_section): Likewise. 620*75fd0b74Schristos (aout_link_reloc_link_order): Likewise. 621*75fd0b74Schristos * reloc.c (bfd_generic_get_relocated_section_contents): 622*75fd0b74Schristos Likewise. 623*75fd0b74Schristos * xcofflink.c (xcoff_reloc_link_order): Likewise. 624*75fd0b74Schristos * simple.c (simple_dummy_reloc_overflow): Updated. 625*75fd0b74Schristos 626*75fd0b74Schristos2004-10-20 Andreas Schwab <schwab@suse.de> 627*75fd0b74Schristos 628*75fd0b74Schristos * elf32-m68k.c (elf_m68k_plt_sym_val): New function. 629*75fd0b74Schristos (elf_backend_plt_sym_val): Define. 630*75fd0b74Schristos 631*75fd0b74Schristos2004-10-19 Danny Smith <dannysmith@users.sourceforege.net> 632*75fd0b74Schristos 633*75fd0b74Schristos * config.bfd: Set targ_underscore=yes for PE COFF targets 634*75fd0b74Schristos 635*75fd0b74Schristos2004-10-19 Alan Modra <amodra@bigpond.net.au> 636*75fd0b74Schristos 637*75fd0b74Schristos * elf64-ppc.c (opd_entry_value): Handle --just-symbols objects. 638*75fd0b74Schristos (ppc64_elf_edit_opd): Likewise. 639*75fd0b74Schristos 640*75fd0b74Schristos2004-10-18 Mark Mitchell <mark@codesourcery.com> 641*75fd0b74Schristos 642*75fd0b74Schristos * elfarm-nabi.c (ELF_DYNAMIC_SEC_FLAGS): Add comment. 643*75fd0b74Schristos * elflink.c (_bfd_elf_create_dynamic_sections): For a loaded PLT, 644*75fd0b74Schristos set SEC_ALLOC and SEC_LOAD. 645*75fd0b74Schristos 646*75fd0b74Schristos2004-10-18 Nick Clifton <nickc@redhat.com> 647*75fd0b74Schristos 648*75fd0b74Schristos * elf32-xstormy16.c (xstormy16_elf_relocate_section): Compute 649*75fd0b74Schristos 'name' for relocs against both local and global symbols. 650*75fd0b74Schristos 651*75fd0b74Schristos2004-10-16 Daniel Jacobowitz <dan@debian.org> 652*75fd0b74Schristos 653*75fd0b74Schristos * bfd-in2.h: Regenerate. 654*75fd0b74Schristos * bfd.c (struct bfd): Add no_export. 655*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Handle no_export. 656*75fd0b74Schristos 657*75fd0b74Schristos2004-10-15 Alan Modra <amodra@bigpond.net.au> 658*75fd0b74Schristos 659*75fd0b74Schristos * config.bfd: Whitespace cleanup. 660*75fd0b74Schristos * Makefile.am: Run "make dep-am" 661*75fd0b74Schristos * Makefile.in: Regenerate. 662*75fd0b74Schristos 663*75fd0b74Schristos2004-10-15 Jakub Jelinek <jakub@redhat.com> 664*75fd0b74Schristos 665*75fd0b74Schristos * elflink.c (struct already_linked_section): Removed. 666*75fd0b74Schristos (try_match_symbols_in_sections, already_linked): Removed. 667*75fd0b74Schristos (_bfd_elf_section_already_linked): Skip ^\.gnu\.linkonce\.[^.]*\. 668*75fd0b74Schristos prefix of section names when finding already_linked_table 669*75fd0b74Schristos chain. Compare section names. Instead of calling already_linked, 670*75fd0b74Schristos do it inline and only for sections in the same already_linked_list. 671*75fd0b74Schristos 672*75fd0b74Schristos2004-10-15 Alan Modra <amodra@bigpond.net.au> 673*75fd0b74Schristos 674*75fd0b74Schristos * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Add "info" 675*75fd0b74Schristos parameter. If called after _bfd_elf_write_section_eh_frame, 676*75fd0b74Schristos don't allow a -2 return unless need_* bit is already set, and 677*75fd0b74Schristos handle offsets adjusted for output_offset. 678*75fd0b74Schristos * elf-bfd.h (_bfd_elf_eh_frame_section_offset): Update prototype. 679*75fd0b74Schristos * elf.c (_bfd_elf_section_offset): Update call. 680*75fd0b74Schristos 681*75fd0b74Schristos2004-10-13 H.J. Lu <hongjiu.lu@intel.com> 682*75fd0b74Schristos 683*75fd0b74Schristos PR 440 684*75fd0b74Schristos * coffcode.h (coff_compute_section_file_positions): Cast to 685*75fd0b74Schristos bfd_vma when computing page alignment. 686*75fd0b74Schristos 687*75fd0b74Schristos2004-10-13 Mark Mitchell <mark@codesourcery.com> 688*75fd0b74Schristos 689*75fd0b74Schristos * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file 690*75fd0b74Schristos offsets, not VMAs, for DT_VERSYM, DT_VERDEF, DT_VERNEED. 691*75fd0b74Schristos 692*75fd0b74Schristos2004-10-12 Mark Mitchell <mark@codesourcery.com> 693*75fd0b74Schristos 694*75fd0b74Schristos * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Make .rel.plt 695*75fd0b74Schristos relocations use a virtual address, not a section offset. 696*75fd0b74Schristos 697*75fd0b74Schristos2004-10-12 Bob Wilson <bob.wilson@acm.org> 698*75fd0b74Schristos 699*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_get_private_bfd_flags): Delete. 700*75fd0b74Schristos (narrow_instruction, widen_instruction): Remove unnecessary calls to 701*75fd0b74Schristos xtensa_format_encode. 702*75fd0b74Schristos (ebb_propose_action): Inline call to ebb_add_proposed_action. 703*75fd0b74Schristos (ebb_add_proposed_action): Delete. 704*75fd0b74Schristos 705*75fd0b74Schristos2004-10-12 Bob Wilson <bob.wilson@acm.org> 706*75fd0b74Schristos 707*75fd0b74Schristos * elf32-xtensa.c: Use ISO C90 formatting. 708*75fd0b74Schristos 709*75fd0b74Schristos2004-10-12 Paul Brook <paul@codesourcery.com> 710*75fd0b74Schristos 711*75fd0b74Schristos * elf32-arm.h (elf32_arm_merge_private_bfd_data): Rephrase error 712*75fd0b74Schristos message. 713*75fd0b74Schristos 714*75fd0b74Schristos2004-10-12 Paul Brook <paul@codesourcery.com> 715*75fd0b74Schristos 716*75fd0b74Schristos * elf32-arm.h: Support EABI version 4 objects. 717*75fd0b74Schristos 718*75fd0b74Schristos2004-10-12 Alan Modra <amodra@bigpond.net.au> 719*75fd0b74Schristos 720*75fd0b74Schristos PR 325 721*75fd0b74Schristos * cpu-i386.c (bfd_x86_64_arch_intel_syntax): Place last in chain. 722*75fd0b74Schristos Don't mark as default. 723*75fd0b74Schristos (bfd_x86_64_arch): Don't mark as default. 724*75fd0b74Schristos 725*75fd0b74Schristos2004-10-12 Alan Modra <amodra@bigpond.net.au> 726*75fd0b74Schristos 727*75fd0b74Schristos * elflink.c (enum action_discarded): New. 728*75fd0b74Schristos (elf_section_complain_discarded): Delete. 729*75fd0b74Schristos (elf_action_discarded): New function subsuming the above and also 730*75fd0b74Schristos controlling reloc behaviour. 731*75fd0b74Schristos (elf_link_input_bfd): Use it. 732*75fd0b74Schristos 733*75fd0b74Schristos2004-10-11 Jakub Jelinek <jakub@redhat.com> 734*75fd0b74Schristos 735*75fd0b74Schristos * elf.c (bfd_section_from_shdr): Handle SHT_GNU_LIBLIST. 736*75fd0b74Schristos (special_sections): Add .gnu.liblist and .gnu.conflict. 737*75fd0b74Schristos (assign_section_numbers): Handle SHT_GNU_LIBLIST. 738*75fd0b74Schristos 739*75fd0b74Schristos2004-10-11 Alan Modra <amodra@bigpond.net.au> 740*75fd0b74Schristos 741*75fd0b74Schristos PR 233 742*75fd0b74Schristos * elflink.c (elf_link_input_bfd): Try harder to support 743*75fd0b74Schristos relocations against symbols in removed linkonce sections. 744*75fd0b74Schristos 745*75fd0b74Schristos2004-10-11 Alan Modra <amodra@bigpond.net.au> 746*75fd0b74Schristos 747*75fd0b74Schristos * elflink.c (elf_link_input_bfd): Revert PR 354 change. 748*75fd0b74Schristos 749*75fd0b74Schristos PR 354 750*75fd0b74Schristos * elflink.c (elf_link_input_bfd): Check that relocs in SEC_ALLOC 751*75fd0b74Schristos sections do not reference symbols in non-SEC_ALLOC sections. 752*75fd0b74Schristos 753*75fd0b74Schristos2004-10-11 Alan Modra <amodra@bigpond.net.au> 754*75fd0b74Schristos 755*75fd0b74Schristos PR 437 756*75fd0b74Schristos * elflink.c (elf_link_sort_relocs): Don't bomb on unusual sections. 757*75fd0b74Schristos (_bfd_elf_link_omit_section_dynsym): Formatting. 758*75fd0b74Schristos 759*75fd0b74Schristos2004-10-10 Alan Modra <amodra@bigpond.net.au> 760*75fd0b74Schristos 761*75fd0b74Schristos * libbfd-in.h (BFD_ASSERT, BFD_FAIL): Wrap macro body in do while. 762*75fd0b74Schristos * libbfd.h: Regnerate. 763*75fd0b74Schristos * elf32-cris.c: Add missing semicolon to BFD_ASSERTs. 764*75fd0b74Schristos * elf32-frv.c: Likewise. 765*75fd0b74Schristos * elf32-m32r.c: Likewise. 766*75fd0b74Schristos * elf32-ppc.c: Likewise. 767*75fd0b74Schristos * elf64-hppa.c: Likewise. 768*75fd0b74Schristos * elfxx-ia64.c: Likewise. 769*75fd0b74Schristos * opncls.c: Likewise. 770*75fd0b74Schristos 771*75fd0b74Schristos2004-10-10 Alan Modra <amodra@bigpond.net.au> 772*75fd0b74Schristos 773*75fd0b74Schristos * elf-bfd.h (struct eh_frame_hdr_info): Add offsets_adjusted. 774*75fd0b74Schristos * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust 775*75fd0b74Schristos offsets stored in struct eh_cie_fde entries before doing other 776*75fd0b74Schristos work. 777*75fd0b74Schristos 778*75fd0b74Schristos * elf-bfd.h (struct eh_cie_fde): Add cie_inf, remove sec. 779*75fd0b74Schristos (struct eh_frame_hdr_info): Add last_cie_inf, remove last_cie_offset. 780*75fd0b74Schristos * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete code 781*75fd0b74Schristos setting offsets for removed CIEs. Don't set "sec", instead set 782*75fd0b74Schristos cie_inf for FDEs. Keep a pointer to last struct eh_cie_fde for a 783*75fd0b74Schristos CIE in hdr_info. Only set make_relative and make_lsda_relative 784*75fd0b74Schristos for CIEs. Use pointers rather than array indices. 785*75fd0b74Schristos (_bfd_elf_eh_frame_section_offset): Test/set make_relative, 786*75fd0b74Schristos make_lsda_relative, need_* on cie_inf for FDEs. 787*75fd0b74Schristos (_bfd_elf_write_section_eh_frame): Adjust offset and new_offset for 788*75fd0b74Schristos section output_offset. Delete cie_offset, instead use cie_inf 789*75fd0b74Schristos pointer to CIE entry. Use need_relative and need_lsda_relative on 790*75fd0b74Schristos CIE entry for FDEs. Use pointers rather than array indices. 791*75fd0b74Schristos 792*75fd0b74Schristos2004-10-09 Alan Modra <amodra@bigpond.net.au> 793*75fd0b74Schristos 794*75fd0b74Schristos * coff-rs6000.c (rs6000coff_vec): Add initializer for 795*75fd0b74Schristos bfd_is_target_special_symbol. 796*75fd0b74Schristos * coff64-rs6000.c (rs6000coff64_vec): Likewise. 797*75fd0b74Schristos * som.c (som_bfd_is_target_special_symbol): Define. 798*75fd0b74Schristos 799*75fd0b74Schristos2004-10-08 Nick Clifton <nickc@redhat.com> 800*75fd0b74Schristos 801*75fd0b74Schristos * configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.93. 802*75fd0b74Schristos * configure: Regenerate. 803*75fd0b74Schristos * bfd-in2.h: Regenerate. 804*75fd0b74Schristos * syms.c (bfd_is_target_special_symbol): New interface function. 805*75fd0b74Schristos Returns true when a symbol should be considered to be special. 806*75fd0b74Schristos * targets.c (bfd_target): Include bfd_is_target_special_symbol in 807*75fd0b74Schristos the symbol jump table. 808*75fd0b74Schristos * elf32-arm.h (elf32_arm_is_target_special_symbol): New function. 809*75fd0b74Schristos Return true iff the symbol is a mapping symbol. 810*75fd0b74Schristos (bfd_elf32_bfd_is_target_special_symbol): Define. 811*75fd0b74Schristos * elfxx-target.h: Provide a default definition for 812*75fd0b74Schristos bfd_is_target_special_symbol. 813*75fd0b74Schristos * aout-target.h: Likewise. 814*75fd0b74Schristos * aout-tic30.c: Likewise. 815*75fd0b74Schristos * binary.c: Likewise. 816*75fd0b74Schristos * coffcode.h: Likewise. 817*75fd0b74Schristos * i386msdos.c: Likewise. 818*75fd0b74Schristos * ieee.c: Likewise. 819*75fd0b74Schristos * ihex.c: Likewise. 820*75fd0b74Schristos * libaout.h: Likewise. 821*75fd0b74Schristos * libbfd-in.h: Likewise 822*75fd0b74Schristos * libecoff.h: Likewise. 823*75fd0b74Schristos * mach-o.c: Likewise. 824*75fd0b74Schristos * mmo.c: Likewise. 825*75fd0b74Schristos * nlm-target.h: Likewise. 826*75fd0b74Schristos * oasys.c: Likewise. 827*75fd0b74Schristos * pef.c: Likewise. 828*75fd0b74Schristos * ppcboot.c: Likewise. 829*75fd0b74Schristos * srec.c: Likewise. 830*75fd0b74Schristos * tekhex.c: Likewise. 831*75fd0b74Schristos * versados.c: Likewise. 832*75fd0b74Schristos * vms.c: Likewise. 833*75fd0b74Schristos * xcoff-target.h: Likewise. 834*75fd0b74Schristos * xsym.c: Likewise. 835*75fd0b74Schristos * libbfd.h: Regenerate. 836*75fd0b74Schristos 837*75fd0b74Schristos2004-10-08 Daniel Jacobowitz <dan@debian.org> 838*75fd0b74Schristos 839*75fd0b74Schristos * config.bfd: Include 64-bit support for i[3-7]86-*-solaris2*. 840*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_section_from_shdr): New function. 841*75fd0b74Schristos (elf_backend_section_from_shdr): Define. 842*75fd0b74Schristos 843*75fd0b74Schristos2004-10-08 Alan Modra <amodra@bigpond.net.au> 844*75fd0b74Schristos 845*75fd0b74Schristos * syms.c (bfd_is_local_label): Return false for file symbols. 846*75fd0b74Schristos 847*75fd0b74Schristos2004-10-07 Bob Wilson <bob.wilson@acm.org> 848*75fd0b74Schristos David Heine <dlheine@tensilica.com> 849*75fd0b74Schristos 850*75fd0b74Schristos * elf32-xtensa.c (elf32xtensa_size_opt): New global variable. 851*75fd0b74Schristos (xtensa_default_isa): Global variable moved here from xtensa-isa.c. 852*75fd0b74Schristos (elf32xtensa_no_literal_movement): New global variable. 853*75fd0b74Schristos (elf_howto_table): Add entries for new relocations. 854*75fd0b74Schristos (elf_xtensa_reloc_type_lookup): Handle new relocations. 855*75fd0b74Schristos (property_table_compare): When addresses are equal, compare sizes and 856*75fd0b74Schristos various property flags. 857*75fd0b74Schristos (property_table_matches): New. 858*75fd0b74Schristos (xtensa_read_table_entries): Extend to read new property tables. Add 859*75fd0b74Schristos output_addr parameter to indicate that output addresses should be used. 860*75fd0b74Schristos Use bfd_get_section_limit. 861*75fd0b74Schristos (elf_xtensa_find_property_entry): New. 862*75fd0b74Schristos (elf_xtensa_in_literal_pool): Use elf_xtensa_find_property_entry. 863*75fd0b74Schristos (elf_xtensa_check_relocs): Handle new relocations. 864*75fd0b74Schristos (elf_xtensa_do_reloc): Use bfd_get_section_limit. Handle new 865*75fd0b74Schristos relocations. Use new xtensa-isa.h functions. 866*75fd0b74Schristos (build_encoding_error_message): Remove encode_result parameter. Add 867*75fd0b74Schristos new target_address parameter used to detect alignment errors. 868*75fd0b74Schristos (elf_xtensa_relocate_section): Use bfd_get_section_limit. Clean up 869*75fd0b74Schristos error handling. Use new is_operand_relocation function. 870*75fd0b74Schristos (elf_xtensa_combine_prop_entries, elf_xtensa_merge_private_bfd_data): 871*75fd0b74Schristos Use underbar macro for error messages. Formatting. 872*75fd0b74Schristos (get_const16_opcode): New. 873*75fd0b74Schristos (get_l32r_opcode): Add a separate flag for initialization. 874*75fd0b74Schristos (get_relocation_opnd): Operand number is no longer explicit in the 875*75fd0b74Schristos relocation. Change to decode the opcode and analyze its operands. 876*75fd0b74Schristos (get_relocation_slot): New. 877*75fd0b74Schristos (get_relocation_opcode): Add bfd parameter. Use bfd_get_section_limit. 878*75fd0b74Schristos Use new xtensa-isa.h functions to handle multislot instructions. 879*75fd0b74Schristos (is_l32r_relocation): Add bfd parameter. Use is_operand_relocation. 880*75fd0b74Schristos (get_asm_simplify_size, is_alt_relocation, is_operand_relocation, 881*75fd0b74Schristos insn_decode_len, insn_decode_opcode, check_branch_target_aligned, 882*75fd0b74Schristos check_loop_aligned, check_branch_target_aligned_address, narrowable, 883*75fd0b74Schristos widenable, narrow_instruction, widen_instruction, op_single_fmt_table, 884*75fd0b74Schristos get_single_format, init_op_single_format_table): New. 885*75fd0b74Schristos (elf_xtensa_do_asm_simplify): Add error_message parameter and use it 886*75fd0b74Schristos instead of calling _bfd_error_handler. Use new xtensa-isa.h functions. 887*75fd0b74Schristos (contract_asm_expansion): Add error_message parameter and pass it to 888*75fd0b74Schristos elf_xtensa_do_asm_simplify. Replace use of R_XTENSA_OP0 relocation 889*75fd0b74Schristos with R_XTENSA_SLOT0_OP. 890*75fd0b74Schristos (get_expanded_call_opcode): Extend to handle either L32R or CONST16 891*75fd0b74Schristos instructions. Use new xtensa-isa.h functions. 892*75fd0b74Schristos (r_reloc struct): Add new virtual_offset field. 893*75fd0b74Schristos (r_reloc_init): Add contents and content_length parameters. Set 894*75fd0b74Schristos virtual_offset field to zero. Add contents to target_offset field for 895*75fd0b74Schristos partial_inplace relocations. 896*75fd0b74Schristos (r_reloc_is_defined): Check for null. 897*75fd0b74Schristos (print_r_reloc): New debug function. 898*75fd0b74Schristos (source_reloc struct): Replace xtensa_operand field with pair of the 899*75fd0b74Schristos opcode and the operand position. Add is_abs_literal field. 900*75fd0b74Schristos (init_source_reloc): Specify operand by opcode/position pair. Set 901*75fd0b74Schristos is_abs_literal field. 902*75fd0b74Schristos (source_reloc_compare): When target_offsets are equal, compare other 903*75fd0b74Schristos fields to make sorting predictable. 904*75fd0b74Schristos (literal_value struct): Add is_abs_literal field. 905*75fd0b74Schristos (value_map_hash_table struct): Add has_last_loc and last_loc fields. 906*75fd0b74Schristos (init_literal_value): New. 907*75fd0b74Schristos (is_same_value): Replace with ... 908*75fd0b74Schristos (literal_value_equal): ... this function. Add comparisons of 909*75fd0b74Schristos virtual_offset and is_abs_literal fields. 910*75fd0b74Schristos (value_map_hash_table_init): Use bfd_zmalloc. Check for allocation 911*75fd0b74Schristos failure. Initialize has_last_loc field. 912*75fd0b74Schristos (value_map_hash_table_delete): New. 913*75fd0b74Schristos (hash_literal_value): Rename to ... 914*75fd0b74Schristos (literal_value_hash): ... this. Include is_abs_literal flag and 915*75fd0b74Schristos virtual_offset field in the hash value. 916*75fd0b74Schristos (get_cached_value): Rename to ... 917*75fd0b74Schristos (value_map_get_cached_value): ... this. Update calls to 918*75fd0b74Schristos literal_value_hash and literal_value_equal. 919*75fd0b74Schristos (add_value_map): Check for allocation failure. Update calls to 920*75fd0b74Schristos value_map_get_cached_value and literal_value_hash. 921*75fd0b74Schristos (text_action, text_action_list, text_action_t): New types. 922*75fd0b74Schristos (find_fill_action, compute_removed_action_diff, adjust_fill_action, 923*75fd0b74Schristos text_action_add, text_action_add_literal, offset_with_removed_text, 924*75fd0b74Schristos offset_with_removed_text_before_fill, find_insn_action, 925*75fd0b74Schristos print_action_list, print_removed_literals): New. 926*75fd0b74Schristos (offset_with_removed_literals): Delete. 927*75fd0b74Schristos (xtensa_relax_info struct): Add is_relaxable_asm_section, action_list, 928*75fd0b74Schristos fix_array, fix_array_count, allocated_relocs, relocs_count, and 929*75fd0b74Schristos allocated_relocs_count fields. 930*75fd0b74Schristos (init_xtensa_relax_info): Initialize new fields. 931*75fd0b74Schristos (reloc_bfd_fix struct): Add new translated field. 932*75fd0b74Schristos (reloc_bfd_fix_init): Add translated parameter and use it to set the 933*75fd0b74Schristos translated field. 934*75fd0b74Schristos (fix_compare, cache_fix_array): New. 935*75fd0b74Schristos (get_bfd_fix): Remove fix_list parameter and get all relax_info for the 936*75fd0b74Schristos section via get_xtensa_relax_info. Use cache_fix_array to set up 937*75fd0b74Schristos sorted fix_array and use bsearch instead of linear search. 938*75fd0b74Schristos (section_cache_t): New struct. 939*75fd0b74Schristos (init_section_cache, section_cache_section, clear_section_cache): New. 940*75fd0b74Schristos (ebb_t, ebb_target_enum, proposed_action, ebb_constraint): New types. 941*75fd0b74Schristos (init_ebb_constraint, free_ebb_constraint, init_ebb, extend_ebb_bounds, 942*75fd0b74Schristos extend_ebb_bounds_forward, extend_ebb_bounds_backward, 943*75fd0b74Schristos insn_block_decodable_len, ebb_propose_action, ebb_add_proposed_action): 944*75fd0b74Schristos New. 945*75fd0b74Schristos (retrieve_contents): Use bfd_get_section_limit. 946*75fd0b74Schristos (elf_xtensa_relax_section): Add relocations_analyzed flag. Update call 947*75fd0b74Schristos to compute_removed_literals. Free value_map_hash_table when no longer 948*75fd0b74Schristos needed. 949*75fd0b74Schristos (analyze_relocations): Check is_relaxable_asm_section flag. Call 950*75fd0b74Schristos compute_text_actions for all sections. 951*75fd0b74Schristos (find_relaxable_sections): Mark sections as relaxable if they contain 952*75fd0b74Schristos ASM_EXPAND relocations that can be optimized. Adjust r_reloc_init 953*75fd0b74Schristos call. Increment relax_info src_count field only for appropriate 954*75fd0b74Schristos relocation types. Remove is_literal_section check. 955*75fd0b74Schristos (collect_source_relocs): Use bfd_get_section_limit. Adjust calls to 956*75fd0b74Schristos r_reloc_init and find_associated_l32r_irel. Check 957*75fd0b74Schristos is_relaxable_asm_section flag. Handle L32R instructions with absolute 958*75fd0b74Schristos literals. Pass is_abs_literal flag to init_source_reloc. 959*75fd0b74Schristos (is_resolvable_asm_expansion): Use bfd_get_section_limit. Check for 960*75fd0b74Schristos CONST16 instructions. Adjust calls to r_reloc_init and 961*75fd0b74Schristos pcrel_reloc_fits. Handle weak symbols conservatively. 962*75fd0b74Schristos (find_associated_l32r_irel): Add bfd parameter and pass it to 963*75fd0b74Schristos is_l32r_relocation. 964*75fd0b74Schristos (compute_text_actions, compute_ebb_proposed_actions, 965*75fd0b74Schristos compute_ebb_actions, check_section_ebb_pcrels_fit, 966*75fd0b74Schristos check_section_ebb_reduces, text_action_add_proposed, 967*75fd0b74Schristos compute_fill_extra_space): New. 968*75fd0b74Schristos (remove_literals): Replace with ... 969*75fd0b74Schristos (compute_removed_literals): ... this function. Call 970*75fd0b74Schristos init_section_cache. Use bfd_get_section_limit. Sort internal_relocs. 971*75fd0b74Schristos Call xtensa_read_table_entries to get the property table. Skip 972*75fd0b74Schristos relocations other than R_XTENSA_32 and R_XTENSA_PLT. Use new 973*75fd0b74Schristos is_removable_literal, remove_dead_literal, and 974*75fd0b74Schristos identify_literal_placement functions. 975*75fd0b74Schristos (get_irel_at_offset): Rewrite to use bsearch on sorted relocations 976*75fd0b74Schristos instead of linear search. 977*75fd0b74Schristos (is_removable_literal, remove_dead_literal, 978*75fd0b74Schristos identify_literal_placement): New. 979*75fd0b74Schristos (relocations_reach): Update check for literal not referenced by any 980*75fd0b74Schristos PC-relative relocations. Adjust call to pcrel_reloc_fits. 981*75fd0b74Schristos (coalesce_shared_literal, move_shared_literal): New. 982*75fd0b74Schristos (relax_section): Use bfd_get_section_limit. Call 983*75fd0b74Schristos translate_section_fixes. Update calls to r_reloc_init and 984*75fd0b74Schristos offset_with_removed_text. Check new is_relaxable_asm_section flag. 985*75fd0b74Schristos Add call to pin_internal_relocs. Add special handling for 986*75fd0b74Schristos R_XTENSA_ASM_SIMPLIFY and R_XTENSA_DIFF* relocs. Use virtual_offset 987*75fd0b74Schristos info to calculate new addend_displacement variable. Replace code for 988*75fd0b74Schristos deleting literals with more general code to perform the actions 989*75fd0b74Schristos determined by the action_list for the section. 990*75fd0b74Schristos (translate_section_fixes, translate_reloc_bfd_fix): New. 991*75fd0b74Schristos (translate_reloc): Check new is_relaxable_asm_section flag. Call 992*75fd0b74Schristos find_removed_literal only if is_operand_relocation. Update call to 993*75fd0b74Schristos offset_with_removed_text. Use new target_offset and removed_bytes 994*75fd0b74Schristos variables. 995*75fd0b74Schristos (move_literal): New. 996*75fd0b74Schristos (relax_property_section): Use bfd_get_section_limit. Set new 997*75fd0b74Schristos is_full_prop_section flag and handle new property tables. Update calls 998*75fd0b74Schristos to r_reloc_init and offset_with_removed_text. Check 999*75fd0b74Schristos is_relaxable_asm_section flag. Handle expansion of zero-sized 1000*75fd0b74Schristos unreachable entries, with use of offset_with_removed_text_before_fill. 1001*75fd0b74Schristos For relocatable links, combine entries only for literal tables. 1002*75fd0b74Schristos (relax_section_symbols): Check is_relaxable_asm_section flag. Update 1003*75fd0b74Schristos calls to offset_with_removed_text. Translate st_size field for 1004*75fd0b74Schristos function symbols. 1005*75fd0b74Schristos (do_fix_for_relocatable_link): Change to return bfd_boolean to indicate 1006*75fd0b74Schristos failure. Add contents parameter. Update call to get_bfd_fix. Update 1007*75fd0b74Schristos call to r_reloc_init. Call _bfd_error_handler and return FALSE for 1008*75fd0b74Schristos R_XTENSA_ASM_EXPAND relocs. 1009*75fd0b74Schristos (do_fix_for_final_link): Add input_bfd and contents parameters. Update 1010*75fd0b74Schristos call to get_bfd_fix. Include offset from contents for partial_inplace 1011*75fd0b74Schristos relocations. 1012*75fd0b74Schristos (is_reloc_sym_weak): New. 1013*75fd0b74Schristos (pcrel_reloc_fits): Use new xtensa-isa.h functions. 1014*75fd0b74Schristos (prop_sec_len): New. 1015*75fd0b74Schristos (xtensa_is_property_section): Handle new property sections. 1016*75fd0b74Schristos (is_literal_section): Delete. 1017*75fd0b74Schristos (internal_reloc_compare): When r_offset matches, compare r_info and 1018*75fd0b74Schristos r_addend to make sorting predictable. 1019*75fd0b74Schristos (internal_reloc_matches): New. 1020*75fd0b74Schristos (xtensa_get_property_section_name): Handle new property sections. 1021*75fd0b74Schristos (xtensa_get_property_predef_flags): New. 1022*75fd0b74Schristos (xtensa_callback_required_dependence): Use bfd_get_section_limit. 1023*75fd0b74Schristos Update calls to xtensa_isa_init, is_l32r_relocation, and r_reloc_init. 1024*75fd0b74Schristos * xtensa-isa.c (xtensa_default_isa): Moved to elf32-xtensa.c. 1025*75fd0b74Schristos (xtisa_errno, xtisa_error_msg): New variables. 1026*75fd0b74Schristos (xtensa_isa_errno, xtensa_isa_error_msg): New. 1027*75fd0b74Schristos (xtensa_insnbuf_alloc): Add error handling. 1028*75fd0b74Schristos (xtensa_insnbuf_to_chars): Add num_chars parameter. Update to 1029*75fd0b74Schristos use xtensa_format_decode. Add error handling. 1030*75fd0b74Schristos (xtensa_insnbuf_from_chars): Add num_chars parameter. Decode the 1031*75fd0b74Schristos instruction length to find the number of bytes to copy. 1032*75fd0b74Schristos (xtensa_isa_init): Add error handling. Replace calls to 1033*75fd0b74Schristos xtensa_load_isa and xtensa_extend_isa with code to initialize lookup 1034*75fd0b74Schristos tables in the xtensa_modules structure. 1035*75fd0b74Schristos (xtensa_check_isa_config, xtensa_add_isa, xtensa_load_isa, 1036*75fd0b74Schristos xtensa_extend_isa): Delete. 1037*75fd0b74Schristos (xtensa_isa_free): Change to only free lookup tables. 1038*75fd0b74Schristos (opname_lookup_compare): Replace with ... 1039*75fd0b74Schristos (xtensa_isa_name_compare): ... this function. Use strcasecmp. 1040*75fd0b74Schristos (xtensa_insn_maxlength): Rename to ... 1041*75fd0b74Schristos (xtensa_isa_maxlength): ... this. 1042*75fd0b74Schristos (xtensa_insn_length): Delete. 1043*75fd0b74Schristos (xtensa_insn_length_from_first_byte): Replace with ... 1044*75fd0b74Schristos (xtensa_isa_length_from_chars): ... this function. 1045*75fd0b74Schristos (xtensa_num_opcodes): Rename to ... 1046*75fd0b74Schristos (xtensa_isa_num_opcodes): ... this. 1047*75fd0b74Schristos (xtensa_isa_num_pipe_stages, xtensa_isa_num_formats, 1048*75fd0b74Schristos xtensa_isa_num_regfiles, xtensa_isa_num_stages, 1049*75fd0b74Schristos xtensa_isa_num_sysregs, xtensa_isa_num_interfaces, 1050*75fd0b74Schristos xtensa_isa_num_funcUnits, xtensa_format_name, xtensa_format_lookup, 1051*75fd0b74Schristos xtensa_format_decode, xtensa_format_encode, xtensa_format_length, 1052*75fd0b74Schristos xtensa_format_num_slots, xtensa_format_slot_nop_opcode, 1053*75fd0b74Schristos xtensa_format_get_slot, xtensa_format_set_slot): New functions. 1054*75fd0b74Schristos (xtensa_opcode_lookup): Add error handling. 1055*75fd0b74Schristos (xtensa_decode_insn): Replace with ... 1056*75fd0b74Schristos (xtensa_opcode_decode): ... this function, with new format and 1057*75fd0b74Schristos slot parameters. Add error handling. 1058*75fd0b74Schristos (xtensa_encode_insn): Replace with ... 1059*75fd0b74Schristos (xtensa_opcode_encode): ... this function, which does the encoding via 1060*75fd0b74Schristos one of the entries in the "encode_fns" array. Add error handling. 1061*75fd0b74Schristos (xtensa_opcode_name): Add error handling. 1062*75fd0b74Schristos (xtensa_opcode_is_branch, xtensa_opcode_is_jump, xtensa_opcode_is_loop, 1063*75fd0b74Schristos xtensa_opcode_is_call): New. 1064*75fd0b74Schristos (xtensa_num_operands): Replace with ... 1065*75fd0b74Schristos (xtensa_opcode_num_operands): ... this function. Add error handling. 1066*75fd0b74Schristos (xtensa_opcode_num_stateOperands, 1067*75fd0b74Schristos xtensa_opcode_num_interfaceOperands, xtensa_opcode_num_funcUnit_uses, 1068*75fd0b74Schristos xtensa_opcode_funcUnit_use, xtensa_operand_name, 1069*75fd0b74Schristos xtensa_operand_is_visible): New. 1070*75fd0b74Schristos (xtensa_get_operand, xtensa_operand_kind): Delete. 1071*75fd0b74Schristos (xtensa_operand_inout): Add error handling and special-case for 1072*75fd0b74Schristos "sout" operands. 1073*75fd0b74Schristos (xtensa_operand_get_field, xtensa_operand_set_field): Rewritten to 1074*75fd0b74Schristos operate on one slot of an instruction. Added error handling. 1075*75fd0b74Schristos (xtensa_operand_encode): Handle default operands with no encoding 1076*75fd0b74Schristos functions. Check for success by comparing against decoded value. 1077*75fd0b74Schristos Add error handling. 1078*75fd0b74Schristos (xtensa_operand_decode): Handle default operands. Return decoded value 1079*75fd0b74Schristos through argument pointer. Add error handling. 1080*75fd0b74Schristos (xtensa_operand_is_register, xtensa_operand_regfile, 1081*75fd0b74Schristos xtensa_operand_num_regs, xtensa_operand_is_known_reg): New. 1082*75fd0b74Schristos (xtensa_operand_isPCRelative): Rename to ... 1083*75fd0b74Schristos (xtensa_operand_is_PCrelative): ... this. Add error handling. 1084*75fd0b74Schristos (xtensa_operand_do_reloc, xtensa_operand_undo_reloc): Return value 1085*75fd0b74Schristos through argument pointer. Add error handling. 1086*75fd0b74Schristos (xtensa_stateOperand_state, xtensa_stateOperand_inout, 1087*75fd0b74Schristos xtensa_interfaceOperand_interface, xtensa_regfile_lookup, 1088*75fd0b74Schristos xtensa_regfile_lookup_shortname, xtensa_regfile_name, 1089*75fd0b74Schristos xtensa_regfile_shortname, xtensa_regfile_view_parent, 1090*75fd0b74Schristos xtensa_regfile_num_bits, xtensa_regfile_num_entries, 1091*75fd0b74Schristos xtensa_state_lookup, xtensa_state_name, xtensa_state_num_bits, 1092*75fd0b74Schristos xtensa_state_is_exported, xtensa_sysreg_lookup, 1093*75fd0b74Schristos xtensa_sysreg_lookup_name, xtensa_sysreg_name, xtensa_sysreg_number, 1094*75fd0b74Schristos xtensa_sysreg_is_user, xtensa_interface_lookup, xtensa_interface_name, 1095*75fd0b74Schristos xtensa_interface_num_bits, xtensa_interface_inout, 1096*75fd0b74Schristos xtensa_interface_has_side_effect, xtensa_funcUnit_lookup, 1097*75fd0b74Schristos xtensa_funcUnit_name, xtensa_funcUnit_num_copies): New. 1098*75fd0b74Schristos * xtensa-modules.c: Rewrite to use new data structures. 1099*75fd0b74Schristos * reloc.c (BFD_RELOC_XTENSA_DIFF8, BFD_RELOC_XTENSA_DIFF16, 1100*75fd0b74Schristos BFD_RELOC_XTENSA_DIFF32, BFD_RELOC_XTENSA_SLOT0_OP, 1101*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT1_OP, BFD_RELOC_XTENSA_SLOT2_OP, 1102*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT3_OP, BFD_RELOC_XTENSA_SLOT4_OP, 1103*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT5_OP, BFD_RELOC_XTENSA_SLOT6_OP, 1104*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT7_OP, BFD_RELOC_XTENSA_SLOT8_OP, 1105*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT9_OP, BFD_RELOC_XTENSA_SLOT10_OP, 1106*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT11_OP, BFD_RELOC_XTENSA_SLOT12_OP, 1107*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT13_OP, BFD_RELOC_XTENSA_SLOT14_OP, 1108*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT0_ALT, BFD_RELOC_XTENSA_SLOT1_ALT, 1109*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT2_ALT, BFD_RELOC_XTENSA_SLOT3_ALT, 1110*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT4_ALT, BFD_RELOC_XTENSA_SLOT5_ALT, 1111*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT6_ALT, BFD_RELOC_XTENSA_SLOT7_ALT, 1112*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT8_ALT, BFD_RELOC_XTENSA_SLOT9_ALT, 1113*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT10_ALT, BFD_RELOC_XTENSA_SLOT11_ALT, 1114*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT12_ALT, BFD_RELOC_XTENSA_SLOT13_ALT, 1115*75fd0b74Schristos BFD_RELOC_XTENSA_SLOT14_ALT): Add new relocations. 1116*75fd0b74Schristos * Makefile.am (xtensa-isa.lo, xtensa-modules.lo): Update dependencies. 1117*75fd0b74Schristos * Makefile.in: Regenerate. 1118*75fd0b74Schristos * bfd-in2.h: Likewise. 1119*75fd0b74Schristos * libbfd.h: Likewise. 1120*75fd0b74Schristos 1121*75fd0b74Schristos2004-10-07 Richard Sandiford <rsandifo@redhat.com> 1122*75fd0b74Schristos 1123*75fd0b74Schristos * elf64-mips.c (mips_elf64_write_rel): Use STN_UNDEF for relocs 1124*75fd0b74Schristos against the absolute section. 1125*75fd0b74Schristos (mips_elf64_write_rela): Likewise. 1126*75fd0b74Schristos 1127*75fd0b74Schristos2004-10-07 Jan Beulich <jbeulich@novell.com> 1128*75fd0b74Schristos 1129*75fd0b74Schristos * elf.c (elf_find_function): Don't generally check for matching 1130*75fd0b74Schristos section, just for non-file symbols. Remove redunant comparison 1131*75fd0b74Schristos for the latter. 1132*75fd0b74Schristos * elf32-arm.h (arm_elf_find_function): Likewise. 1133*75fd0b74Schristos 1134*75fd0b74Schristos2004-10-07 Jeff Baker <jbaker@qnx.com> 1135*75fd0b74Schristos 1136*75fd0b74Schristos * elflink.c (_bfd_elf_add_dynamic_entry): Add code to warn if 1137*75fd0b74Schristos adding a DT_TEXTREL to a shared object and --warn-shared-textrel 1138*75fd0b74Schristos was specified. 1139*75fd0b74Schristos 1140*75fd0b74Schristos2004-10-04 Roland McGrath <roland@redhat.com> 1141*75fd0b74Schristos 1142*75fd0b74Schristos * hash.c (bfd_hash_set_default_size): Use const for table. 1143*75fd0b74Schristos Use size_t instead of int for variable compared to sizeof results. 1144*75fd0b74Schristos 1145*75fd0b74Schristos2004-10-05 Alan Modra <amodra@bigpond.net.au> 1146*75fd0b74Schristos 1147*75fd0b74Schristos PR 425 1148*75fd0b74Schristos * syms.c (_bfd_stab_section_find_nearest_line): Ignore R_*_NONE relocs. 1149*75fd0b74Schristos 1150*75fd0b74Schristos2004-10-01 Paul Brook <paul@codesourcery.com> 1151*75fd0b74Schristos 1152*75fd0b74Schristos * elf32-arm.h (elf32_arm_fake_sections, 1153*75fd0b74Schristos is_arm_elf_unwind_section_name, elf32_arm_section_from_shdr): New 1154*75fd0b74Schristos functions. 1155*75fd0b74Schristos (elf_backend_fake_sections, elf_backend_section_from_shdr): Define. 1156*75fd0b74Schristos 1157*75fd0b74Schristos2004-10-01 Alan Modra <amodra@bigpond.net.au> 1158*75fd0b74Schristos 1159*75fd0b74Schristos * elf-bfd.h (struct eh_cie_fde): Add need_relative and 1160*75fd0b74Schristos need_lsda_relative. 1161*75fd0b74Schristos * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Set 1162*75fd0b74Schristos need_relative or need_lsda_relative if we are processing an 1163*75fd0b74Schristos offset for a reloc on a FDE initial loc or LSDA field 1164*75fd0b74Schristos respectively. 1165*75fd0b74Schristos (_bfd_elf_write_section_eh_frame): Test need_relative and 1166*75fd0b74Schristos need_lsda_relative in place of corresponding make_* field 1167*75fd0b74Schristos when deciding to use pc-relative encodings. 1168*75fd0b74Schristos 1169*75fd0b74Schristos2004-09-30 Paul Brook <paul@codesourcery.com> 1170*75fd0b74Schristos 1171*75fd0b74Schristos * elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs" 1172*75fd0b74Schristos target2 relocation type. 1173*75fd0b74Schristos 1174*75fd0b74Schristos2004-09-30 H.J. Lu <hongjiu.lu@intel.com> 1175*75fd0b74Schristos 1176*75fd0b74Schristos PR 414 1177*75fd0b74Schristos * elflink.c (_bfd_elf_merge_symbol): Check TLS symbol. 1178*75fd0b74Schristos 1179*75fd0b74Schristos2004-09-30 Paul Brook <paul@codesourcery.com> 1180*75fd0b74Schristos 1181*75fd0b74Schristos * reloc.c: Add BFD_RELOC_ARM_SMI. 1182*75fd0b74Schristos * bfd-in2.h: Regenerate. 1183*75fd0b74Schristos * libbfd.h: Ditto. 1184*75fd0b74Schristos 1185*75fd0b74Schristos2004-09-24 Alan Modra <amodra@bigpond.net.au> 1186*75fd0b74Schristos 1187*75fd0b74Schristos * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section 1188*75fd0b74Schristos vma and output offset to address. 1189*75fd0b74Schristos * simple.c (simple_save_output_info): Only set output section 1190*75fd0b74Schristos and offset for debug sections, or those not already set up by 1191*75fd0b74Schristos the linker. 1192*75fd0b74Schristos (bfd_simple_get_relocated_section_contents): Update comment. 1193*75fd0b74Schristos 1194*75fd0b74Schristos2004-09-24 Alan Modra <amodra@bigpond.net.au> 1195*75fd0b74Schristos 1196*75fd0b74Schristos * elf.c (IS_LOADED): Delete. 1197*75fd0b74Schristos (assign_file_positions_for_segments): Just test SEC_LOAD instead. 1198*75fd0b74Schristos Restore SEC_HAS_CONTENTS test to the one place it was used prior 1199*75fd0b74Schristos to 2004-09-22. 1200*75fd0b74Schristos 1201*75fd0b74Schristos2004-09-23 Alan Modra <amodra@bigpond.net.au> 1202*75fd0b74Schristos 1203*75fd0b74Schristos PR gas/396 1204*75fd0b74Schristos * elf32-sparc.c (elf32_sparc_final_write_processing): Handle 1205*75fd0b74Schristos bfd_mach_sparc_sparclet and bfd_mach_sparc_sparclite. Remove 1206*75fd0b74Schristos redundant assignment of EM_SPARC. 1207*75fd0b74Schristos 1208*75fd0b74Schristos2004-09-22 Brian Ford <ford@vss.fsi.com> 1209*75fd0b74Schristos 1210*75fd0b74Schristos * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte 1211*75fd0b74Schristos alignment for .rdata sections so sse[2] code works with gcc >= 3.3.3 1212*75fd0b74Schristos constants. 1213*75fd0b74Schristos * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise. 1214*75fd0b74Schristos 1215*75fd0b74Schristos2004-09-22 Alan Modra <amodra@bigpond.net.au> 1216*75fd0b74Schristos 1217*75fd0b74Schristos * elf32-ppc.c (ppc_elf_modify_segment_map): Delete. 1218*75fd0b74Schristos (elf_backend_modify_segment_map): Don't define. 1219*75fd0b74Schristos 1220*75fd0b74Schristos2004-09-22 Alan Modra <amodra@bigpond.net.au> 1221*75fd0b74Schristos 1222*75fd0b74Schristos * elf.c (IS_LOADED): Define. 1223*75fd0b74Schristos (assign_file_positions_for_segments): Don't round up file offset of 1224*75fd0b74Schristos PT_LOAD segments containing no SEC_LOAD sections, instead round down. 1225*75fd0b74Schristos Delete code handling link script adjustment of lma. Do the adjust 1226*75fd0b74Schristos in later code handling similar ajustments. Remove dead code error 1227*75fd0b74Schristos check. Warn if section lma would require a negative offset 1228*75fd0b74Schristos adjustment. Tweak lma adjustment to use p_filesz rather than p_memsz. 1229*75fd0b74Schristos Use p_vaddr + p_memsz inside section loop in place of voff. Don't 1230*75fd0b74Schristos update voff in section loop. Change voff in segment loop to be an 1231*75fd0b74Schristos adjustment on top of "off". Set sec->filepos and update "off" later. 1232*75fd0b74Schristos Test for loadable sections consistently using IS_LOADED. Similarly, 1233*75fd0b74Schristos test for alloc-only sections other than .tbss consistently. 1234*75fd0b74Schristos Don't bother checking SEC_ALLOC in PT_LOAD segments. Remove FIXME. 1235*75fd0b74Schristos Tidy PT_NOTE handling. Use %B and %A in error messages. 1236*75fd0b74Schristos (assign_file_positions_except_relocs): Use %B in error message. 1237*75fd0b74Schristos 1238*75fd0b74Schristos2004-09-17 H.J. Lu <hongjiu.lu@intel.com> 1239*75fd0b74Schristos 1240*75fd0b74Schristos * Makefile.am (AUTOMAKE_OPTIONS): Require 1.9. 1241*75fd0b74Schristos (CONFIG_STATUS_DEPENDENCIES): New. 1242*75fd0b74Schristos (Makefile): Removed. 1243*75fd0b74Schristos (config.status): Likewise. 1244*75fd0b74Schristos * Makefile.in: Regenerated. 1245*75fd0b74Schristos 1246*75fd0b74Schristos2004-09-17 Paul Brook <paul@codesourcery.com> 1247*75fd0b74Schristos 1248*75fd0b74Schristos * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype. 1249*75fd0b74Schristos (bfd_elf32_arm_process_before_allocation): Update prototype. 1250*75fd0b74Schristos * bfd-in2.h: Regenerate. 1251*75fd0b74Schristos * elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc. 1252*75fd0b74Schristos (elf32_arm_link_hash_table_create): Set it. 1253*75fd0b74Schristos (bfd_elf32_arm_process_before_allocation): Remove target1_is_rel. 1254*75fd0b74Schristos (bfd_elf32_arm_set_target_relocs): New function. 1255*75fd0b74Schristos (arm_real_reloc_type): New function. 1256*75fd0b74Schristos (elf32_arm_final_link_relocate): Use it. Handle R_ARM_PREL31 and 1257*75fd0b74Schristos R_ARM_GOT_PREL. Remove R_ARM_TARGET1. 1258*75fd0b74Schristos (elf32_arm_gc_sweep_hook): Ditto. 1259*75fd0b74Schristos (elf32_arm_check_relocs): Ditto. 1260*75fd0b74Schristos (elf32_arm_relocate_section): Handle R_ARM_GOT_PREL. 1261*75fd0b74Schristos * elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and 1262*75fd0b74Schristos R_ARM_GOT_TARGET2. 1263*75fd0b74Schristos (elf32_arm_got_prel): New variable. 1264*75fd0b74Schristos (elf32_arm_howto_from_type): New function. 1265*75fd0b74Schristos (elf32_arm_info_to_howto): Use it. 1266*75fd0b74Schristos (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and 1267*75fd0b74Schristos BFD_RELOC_ARM_TARGET2. 1268*75fd0b74Schristos * libbfd.h: Regenerate. 1269*75fd0b74Schristos * reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31. 1270*75fd0b74Schristos 1271*75fd0b74Schristos2004-09-17 Alan Modra <amodra@bigpond.net.au> 1272*75fd0b74Schristos 1273*75fd0b74Schristos * ecoff.c: Update u.undef.next refs. 1274*75fd0b74Schristos * elf64-ppc.c: Likewise. 1275*75fd0b74Schristos * elflink.c: Likewise. 1276*75fd0b74Schristos * linker.c: Likewise. 1277*75fd0b74Schristos * xcofflink.c: Likewise. 1278*75fd0b74Schristos 1279*75fd0b74Schristos * elf-bfd.h (struct elf_link_hash_entry): Rearrange. Add FIXME to 1280*75fd0b74Schristos dynamic_def. Combine weakdef and elf_hash_value. Move vtable 1281*75fd0b74Schristos fields to indirect struct. 1282*75fd0b74Schristos * elf-m10300.c: Update u.weakdef refs. 1283*75fd0b74Schristos * elf32-arm.h: Likewise. 1284*75fd0b74Schristos * elf32-cris.c: Likewise. 1285*75fd0b74Schristos * elf32-frv.c: Likewise. 1286*75fd0b74Schristos * elf32-hppa.c: Likewise. 1287*75fd0b74Schristos * elf32-i370.c: Likewise. 1288*75fd0b74Schristos * elf32-i386.c: Likewise. 1289*75fd0b74Schristos * elf32-m32r.c: Likewise. 1290*75fd0b74Schristos * elf32-m68k.c: Likewise. 1291*75fd0b74Schristos * elf32-ppc.c: Likewise. 1292*75fd0b74Schristos * elf32-s390.c: Likewise. 1293*75fd0b74Schristos * elf32-sh.c: Likewise. 1294*75fd0b74Schristos * elf32-sparc.c: Likewise. 1295*75fd0b74Schristos * elf32-vax.c: Likewise. 1296*75fd0b74Schristos * elf32-xtensa.c: Likewise. 1297*75fd0b74Schristos * elf64-alpha.c: Likewise. 1298*75fd0b74Schristos * elf64-hppa.c: Likewise. 1299*75fd0b74Schristos * elf64-ppc.c: Likewise. 1300*75fd0b74Schristos * elf64-s390.c: Likewise. 1301*75fd0b74Schristos * elf64-sh64.c: Likewise. 1302*75fd0b74Schristos * elf64-sparc.c: Likewise. 1303*75fd0b74Schristos * elf64-x86-64.c: Likewise. 1304*75fd0b74Schristos * elfxx-ia64.c: Likewise. 1305*75fd0b74Schristos * elfxx-mips.c: Likewise. 1306*75fd0b74Schristos * elflink.c: Likewise. Also u.elf_hash_value. 1307*75fd0b74Schristos (elf_gc_propagate_vtable_entries_used): Update for h->vtable 1308*75fd0b74Schristos indirection. 1309*75fd0b74Schristos (elf_gc_smash_unused_vtentry_relocs): Likewise. 1310*75fd0b74Schristos (bfd_elf_gc_record_vtinherit): Alloc vtable. 1311*75fd0b74Schristos (bfd_elf_gc_record_vtentry): Likewise. 1312*75fd0b74Schristos * elf.c (_bfd_elf_link_hash_newfunc): Use memset. 1313*75fd0b74Schristos 1314*75fd0b74Schristos2004-09-17 Alan Modra <amodra@bigpond.net.au> 1315*75fd0b74Schristos 1316*75fd0b74Schristos * Makefile.am: Run "make dep-am". 1317*75fd0b74Schristos * Makefile.in: Regenerate. 1318*75fd0b74Schristos * bfd-in2.h: Regenerate. 1319*75fd0b74Schristos * po/SRC-POTFILES.in: Regenerate. 1320*75fd0b74Schristos * po/bfd.pot: Regenerate. 1321*75fd0b74Schristos 1322*75fd0b74Schristos2004-09-16 Alan Modra <amodra@bigpond.net.au> 1323*75fd0b74Schristos 1324*75fd0b74Schristos * elf-bfd.h (struct elf_link_hash_entry): Replace elf_link_hash_flags 1325*75fd0b74Schristos with bitfields. Make "type" and "other" bitfields too. 1326*75fd0b74Schristos (ELF_LINK_HASH_REF_REGULAR, ELF_LINK_HASH_DEF_REGULAR, 1327*75fd0b74Schristos ELF_LINK_HASH_REF_DYNAMIC, ELF_LINK_HASH_DEF_DYNAMIC, 1328*75fd0b74Schristos ELF_LINK_HASH_REF_REGULAR_NONWEAK, ELF_LINK_HASH_DYNAMIC_ADJUSTED, 1329*75fd0b74Schristos ELF_LINK_HASH_NEEDS_COPY, ELF_LINK_HASH_NEEDS_PLT, ELF_LINK_NON_ELF, 1330*75fd0b74Schristos ELF_LINK_HIDDEN, ELF_LINK_FORCED_LOCAL, ELF_LINK_HASH_MARK, 1331*75fd0b74Schristos ELF_LINK_NON_GOT_REF, ELF_LINK_DYNAMIC_DEF, ELF_LINK_DYNAMIC_WEAK, 1332*75fd0b74Schristos ELF_LINK_POINTER_EQUALITY_NEEDED): Delete. 1333*75fd0b74Schristos (ELF_COMMON_DEF_P, WILL_CALL_FINISH_DYNAMIC_SYMBOL): Update. 1334*75fd0b74Schristos * elf-hppa.h: Update all uses of elf_link_hash_flags. 1335*75fd0b74Schristos * elf-m10300.c: Likewise. 1336*75fd0b74Schristos * elf.c: Likewise. 1337*75fd0b74Schristos * elf32-arm.h: Likewise. 1338*75fd0b74Schristos * elf32-cris.c: Likewise. 1339*75fd0b74Schristos * elf32-frv.c: Likewise. 1340*75fd0b74Schristos * elf32-hppa.c: Likewise. 1341*75fd0b74Schristos * elf32-i370.c: Likewise. 1342*75fd0b74Schristos * elf32-i386.c: Likewise. 1343*75fd0b74Schristos * elf32-m32r.c: Likewise. 1344*75fd0b74Schristos * elf32-m68k.c: Likewise. 1345*75fd0b74Schristos * elf32-ppc.c: Likewise. 1346*75fd0b74Schristos * elf32-s390.c: Likewise. 1347*75fd0b74Schristos * elf32-sh-symbian.c: Likewise. 1348*75fd0b74Schristos * elf32-sh.c: Likewise. 1349*75fd0b74Schristos * elf32-sh64.c: Likewise. 1350*75fd0b74Schristos * elf32-sparc.c: Likewise. 1351*75fd0b74Schristos * elf32-vax.c: Likewise. 1352*75fd0b74Schristos * elf32-xtensa.c: Likewise. 1353*75fd0b74Schristos * elf64-alpha.c: Likewise. 1354*75fd0b74Schristos * elf64-hppa.c: Likewise. 1355*75fd0b74Schristos * elf64-ppc.c: Likewise. 1356*75fd0b74Schristos * elf64-s390.c: Likewise. 1357*75fd0b74Schristos * elf64-sh64.c: Likewise. 1358*75fd0b74Schristos * elf64-sparc.c: Likewise. 1359*75fd0b74Schristos * elf64-x86-64.c: Likewise. 1360*75fd0b74Schristos * elflink.c: Likewise. 1361*75fd0b74Schristos * elfxx-ia64.c: Likewise. 1362*75fd0b74Schristos * elfxx-mips.c: Likewise. 1363*75fd0b74Schristos * configure.in (AM_INIT_AUTOMAKE): Set version to 2.15.92. 1364*75fd0b74Schristos * configure: Regenerate. 1365*75fd0b74Schristos * aclocal.m4: Regenerate. 1366*75fd0b74Schristos 1367*75fd0b74Schristos2004-09-16 Alan Modra <amodra@bigpond.net.au> 1368*75fd0b74Schristos 1369*75fd0b74Schristos * elf32-arm.h (elf32_arm_gc_sweep_hook): Add #ifndef OLD_ARM_ABI 1370*75fd0b74Schristos around uses of R_ARM_TARGET1. 1371*75fd0b74Schristos (elf32_arm_check_relocs): Likewise. 1372*75fd0b74Schristos 1373*75fd0b74Schristos2004-09-13 Paul Brook <paul@codesourcery.com> 1374*75fd0b74Schristos 1375*75fd0b74Schristos * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update 1376*75fd0b74Schristos prototype. 1377*75fd0b74Schristos * bfd-in2.h: Regenerate. 1378*75fd0b74Schristos * libbfd.h: Regenerate. 1379*75fd0b74Schristos * elf32-arm.h (elf32_arm_link_hash_table): Add target1_is_rel. 1380*75fd0b74Schristos (elf32_arm_link_hash_table_create): Set target1_is_rel. 1381*75fd0b74Schristos (bfd_elf32_arm_process_before_allocation): Ditto. 1382*75fd0b74Schristos (elf32_arm_final_link_relocate): Handle R_ARM_TARGET1. 1383*75fd0b74Schristos (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto. 1384*75fd0b74Schristos * elfarm-nabi.c (elf32_arm_howto_table): Rename RELABS to TARGET1. 1385*75fd0b74Schristos * reloc.c: Ditto. 1386*75fd0b74Schristos 1387*75fd0b74Schristos2004-09-10 Joel Brobecker <brobecker@gnat.com> 1388*75fd0b74Schristos 1389*75fd0b74Schristos * hpux-core.c (thread_section_p): New function. 1390*75fd0b74Schristos (hpux_core_core_file_p): Fix computation of offset in call 1391*75fd0b74Schristos to bfd_seek. Create a ".reg" section from an arbitrary 1392*75fd0b74Schristos ".reg/<id>" section if none was created after having read 1393*75fd0b74Schristos all sections. 1394*75fd0b74Schristos 1395*75fd0b74Schristos2004-09-11 Andreas Schwab <schwab@suse.de> 1396*75fd0b74Schristos 1397*75fd0b74Schristos * acinclude.m4: Fix spelling of ACX_NONCANONICAL_*. 1398*75fd0b74Schristos * aclocal.m4: Rebuild. 1399*75fd0b74Schristos * configure: Rebuild. 1400*75fd0b74Schristos 1401*75fd0b74Schristos2004-09-10 Joel Brobecker <brobecker@gnat.com> 1402*75fd0b74Schristos 1403*75fd0b74Schristos * section.c (bfd_sections_find_if): Fix parameter name in 1404*75fd0b74Schristos comment to match code. 1405*75fd0b74Schristos 1406*75fd0b74Schristos2004-09-10 Alan Modra <amodra@bigpond.net.au> 1407*75fd0b74Schristos 1408*75fd0b74Schristos * elf.c (assign_file_positions_except_relocs): Assign relocs 1409*75fd0b74Schristos stored in a bfd section. 1410*75fd0b74Schristos 1411*75fd0b74Schristos2004-09-08 Hans-Peter Nilsson <hp@axis.com> 1412*75fd0b74Schristos 1413*75fd0b74Schristos * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Reset 1414*75fd0b74Schristos h->gotplt_refcount to 0, not -1. 1415*75fd0b74Schristos 1416*75fd0b74Schristos2004-09-07 Hans-Peter Nilsson <hp@axis.com> 1417*75fd0b74Schristos 1418*75fd0b74Schristos * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT, 1419*75fd0b74Schristos case R_CRIS_32_GOTPLT>: For internal error message, handle NULL 1420*75fd0b74Schristos symname. 1421*75fd0b74Schristos (cris_elf_check_relocs) <case R_CRIS_32_PLT_PCREL>: Don't try to 1422*75fd0b74Schristos handle symbol visibility here. 1423*75fd0b74Schristos 1424*75fd0b74Schristos2004-09-07 Alan Modra <amodra@bigpond.net.au> 1425*75fd0b74Schristos 1426*75fd0b74Schristos * elf64-ppc.c (struct ppc_link_hash_table): Add stub_globals. 1427*75fd0b74Schristos (is_ppc64_elf_target): Rename from is_ppc64_target. Update all 1428*75fd0b74Schristos callers. 1429*75fd0b74Schristos (ppc_stub_name): Remove trailing "+0" on stub name. 1430*75fd0b74Schristos (create_linkage_sections): Create relocations for 1431*75fd0b74Schristos branch lookup table when --emit-relocs as well as when --shared. 1432*75fd0b74Schristos (ppc_build_one_stub): Emit relocs for long branch stubs. Adjust 1433*75fd0b74Schristos relbrlt test. For --emit-stub-syms, always output a sym even when 1434*75fd0b74Schristos one already exists on a plt call stub. Put stub type in the stub 1435*75fd0b74Schristos symbol name. 1436*75fd0b74Schristos (ppc_size_one_stub): Size long branch stub relocs. Adjust relbrlt 1437*75fd0b74Schristos test. 1438*75fd0b74Schristos (ppc64_elf_size_stubs): Count global sym stubs added. Zero 1439*75fd0b74Schristos reloc_count in stub sections. Adjust relbrlt test. 1440*75fd0b74Schristos (ppc64_elf_build_stubs): Adjust relbrlt test. Tweak stats output. 1441*75fd0b74Schristos * elflink.c (bfd_elf_size_dynamic_sections): Fix comment typo. 1442*75fd0b74Schristos (elf_link_input_bfd): Ignore symbol index zero relocs when checking 1443*75fd0b74Schristos for relocs against discarded symbols. Fix comments. 1444*75fd0b74Schristos 1445*75fd0b74Schristos2004-09-06 Mark Mitchell <mark@codesourcery.com> 1446*75fd0b74Schristos 1447*75fd0b74Schristos * elf-bfd.h (_bfd_elf_make_dynamic_segment): Declare it. 1448*75fd0b74Schristos * elf.c (_bfd_elf_make_dynamic_segment): New function, split out 1449*75fd0b74Schristos from ... 1450*75fd0b74Schristos (map_sections_to_segments): ... here. Use it. Assign a file 1451*75fd0b74Schristos position to the .dynamic section if it is not loadable, but part 1452*75fd0b74Schristos of the PT_DYNAMIC segment. 1453*75fd0b74Schristos * elf32-arm.h (elf32_arm_finish_dynamic_sections): Use file 1454*75fd0b74Schristos offsets, not VMAs, for the BPABI. Do not fill in the header in 1455*75fd0b74Schristos the .got.plt section for the BPABI. 1456*75fd0b74Schristos * elfarm-nabi.c (elf32_arm_symbian_modify_segment_map): Add a 1457*75fd0b74Schristos PT_DYNAMIC segment. 1458*75fd0b74Schristos (elf_backend_want_got_plt): Define to zero for Symbian OS. 1459*75fd0b74Schristos 1460*75fd0b74Schristos2004-09-06 Nick Clifton <nickc@redhat.com> 1461*75fd0b74Schristos 1462*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Set the error code to 1463*75fd0b74Schristos bfd_error_wrong_format when the input format does not match the 1464*75fd0b74Schristos output format. 1465*75fd0b74Schristos 1466*75fd0b74Schristos2004-09-06 Alan Modra <amodra@bigpond.net.au> 1467*75fd0b74Schristos 1468*75fd0b74Schristos * elf64-ppc.c (is_ppc64_target): New function, extracted from.. 1469*75fd0b74Schristos (ppc64_elf_check_directives): ..here. 1470*75fd0b74Schristos (ppc64_elf_size_dynamic_sections): Use it here to check bfd type 1471*75fd0b74Schristos before accessing ppc64_elf_tdata. 1472*75fd0b74Schristos (ppc64_elf_finish_dynamic_sections): And here too. 1473*75fd0b74Schristos 1474*75fd0b74Schristos2004-09-04 Alan Modra <amodra@bigpond.net.au> 1475*75fd0b74Schristos 1476*75fd0b74Schristos * bfd.c (_bfd_default_error_handler): Correct loop exit. 1477*75fd0b74Schristos 1478*75fd0b74Schristos2004-09-03 Mark Mitchell <mark@codesourcery.com> 1479*75fd0b74Schristos 1480*75fd0b74Schristos * config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors. 1481*75fd0b74Schristos * configure.in (bfd_elf32_bigarm_symbian_vec): Add it. 1482*75fd0b74Schristos (bfd_elf32_littlearm_symbian_vec): Likewise. 1483*75fd0b74Schristos * configure: Regenerated. 1484*75fd0b74Schristos * elf-bfd.h (elf_backend_data): Add dynamic_sec_flags. 1485*75fd0b74Schristos * elf32-arm.h (PLT_HEADER_SIZE): Do not define. 1486*75fd0b74Schristos (PLT_ENTRY_SIZE): Likewise. 1487*75fd0b74Schristos (bfd_vma_elf32_arm_symbian_plt_entry): New 1488*75fd0b74Schristos variable. 1489*75fd0b74Schristos (elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size, 1490*75fd0b74Schristos and symbian_p. 1491*75fd0b74Schristos (create_got_section): Don't create sections when generating BPABI 1492*75fd0b74Schristos objects. 1493*75fd0b74Schristos (elf32_arm_create_dynamic_sections): Tidy. 1494*75fd0b74Schristos (elf32_arm_link_hash_table_create): Set plt_header_size, 1495*75fd0b74Schristos plt_entry_size, and symbian_p. 1496*75fd0b74Schristos (elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when 1497*75fd0b74Schristos generating BPABI objects. 1498*75fd0b74Schristos (allocate_dynrelocs): Use htab->plt_header_size, not 1499*75fd0b74Schristos PLT_HEADER_SIZE. Do not add to .got.plt when 1500*75fd0b74Schristos generating BPABI objects. 1501*75fd0b74Schristos (elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs. 1502*75fd0b74Schristos * elfarm-nabi.c: Add SymbianOS target vectors. 1503*75fd0b74Schristos * elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags. 1504*75fd0b74Schristos (_bfd_elf_link_create_dynamic_sections): Likewise. 1505*75fd0b74Schristos * elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro. 1506*75fd0b74Schristos (elfNN_bed): Use it. 1507*75fd0b74Schristos * targets.c (bfd_elf32_bigarm_symbian_vec): New variable. 1508*75fd0b74Schristos (bfd_elf32_littlearm_symbian_vec): Likewise. 1509*75fd0b74Schristos (_bfd_target_vector): Add them. 1510*75fd0b74Schristos 1511*75fd0b74Schristos2004-09-03 Nick Clifton <nickc@redhat.com> 1512*75fd0b74Schristos 1513*75fd0b74Schristos PR 360 1514*75fd0b74Schristos * coffcode.h (handle_COMDAT): Replace abort with an warning 1515*75fd0b74Schristos message and allow the scan to continue. 1516*75fd0b74Schristos 1517*75fd0b74Schristos2004-09-02 Alan Modra <amodra@bigpond.net.au> 1518*75fd0b74Schristos 1519*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed 1520*75fd0b74Schristos in when reading relocs, not our sorted syms. Remove unnecessary 1521*75fd0b74Schristos var. 1522*75fd0b74Schristos 1523*75fd0b74Schristos2004-08-31 Eric Botcazou <ebotcazou@libertysurf.fr> 1524*75fd0b74Schristos 1525*75fd0b74Schristos * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss. 1526*75fd0b74Schristos 1527*75fd0b74Schristos2004-08-30 Nathanael Nerode <neroden@gcc.gnu.org> 1528*75fd0b74Schristos 1529*75fd0b74Schristos * acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM. 1530*75fd0b74Schristos Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate; 1531*75fd0b74Schristos replace uses of *_alias with *_noncanonical. 1532*75fd0b74Schristos * aclocal.m4: Rebuild with aclocal 1.4p6. 1533*75fd0b74Schristos * Makefile.in: Rebuild with automake 1.4p6. 1534*75fd0b74Schristos * doc/Makefile.in: Rebuild with automake 1.4p6. 1535*75fd0b74Schristos * configure.in: Autoupdate with autoupdate 2.59. 1536*75fd0b74Schristos * config.in: Regenerate with autoheader 2.59. 1537*75fd0b74Schristos * configure: Regnerate with autoconf 2.59. 1538*75fd0b74Schristos 1539*75fd0b74Schristos2004-08-28 Alan Modra <amodra@bigpond.net.au> 1540*75fd0b74Schristos 1541*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input 1542*75fd0b74Schristos symbol pointer arrays before modifying. 1543*75fd0b74Schristos 1544*75fd0b74Schristos2004-08-28 Alan Modra <amodra@bigpond.net.au> 1545*75fd0b74Schristos 1546*75fd0b74Schristos * bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables. 1547*75fd0b74Schristos * elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust. 1548*75fd0b74Schristos * elf.c (_bfd_elf_get_synthetic_symtab): Adjust. 1549*75fd0b74Schristos * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust. 1550*75fd0b74Schristos * targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust. 1551*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols. 1552*75fd0b74Schristos Use both symbol tables on non-relocatable objects. Use a common 1553*75fd0b74Schristos error exit. Fix "mid" warning. 1554*75fd0b74Schristos * libbfd.h: Regenerate. 1555*75fd0b74Schristos * bfd-in2.h: Regenerate. 1556*75fd0b74Schristos 1557*75fd0b74Schristos2004-08-28 Alan Modra <amodra@bigpond.net.au> 1558*75fd0b74Schristos 1559*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular 1560*75fd0b74Schristos object file. 1561*75fd0b74Schristos (struct sfpr_def_parms): Save some space. 1562*75fd0b74Schristos (sfpr_define): Here too. 1563*75fd0b74Schristos 1564*75fd0b74Schristos * elf64-ppc.c (compare_symbols): Put section syms first. 1565*75fd0b74Schristos (sym_exists_at): New function. 1566*75fd0b74Schristos (ppc64_elf_get_synthetic_symtab): Use relocs to find code entry 1567*75fd0b74Schristos points only for relocatable files. Use .opd section contents 1568*75fd0b74Schristos otherwise. Generally clean up the code. 1569*75fd0b74Schristos 1570*75fd0b74Schristos2004-08-27 Alan Modra <amodra@bigpond.net.au> 1571*75fd0b74Schristos 1572*75fd0b74Schristos * elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12, 1573*75fd0b74Schristos LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define. 1574*75fd0b74Schristos (struct sfpr_def_parms): New. 1575*75fd0b74Schristos (sfpr_define): New function. 1576*75fd0b74Schristos (savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions. 1577*75fd0b74Schristos (savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions. 1578*75fd0b74Schristos (savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions. 1579*75fd0b74Schristos (savefpr1_tail, restfpr1_tail): New functions. 1580*75fd0b74Schristos (savevr, savevr_tail, restvr, restvr_tail): New functions. 1581*75fd0b74Schristos (MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define. 1582*75fd0b74Schristos (ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing 1583*75fd0b74Schristos code. Define all ABI mandated _save and _rest functions. 1584*75fd0b74Schristos 1585*75fd0b74Schristos2004-08-26 Paul Brook <paul@codesourcery.com> 1586*75fd0b74Schristos 1587*75fd0b74Schristos * elf32-arm.h (INTERWORK_FLAG): Return true for EABIv3 objects. 1588*75fd0b74Schristos 1589*75fd0b74Schristos2004-08-26 Alan Modra <amodra@bigpond.net.au> 1590*75fd0b74Schristos 1591*75fd0b74Schristos * elf32-m32r.c (m32r_elf_relocate_section): Don't compare with 1592*75fd0b74Schristos TRUE or FALSE. 1593*75fd0b74Schristos 1594*75fd0b74Schristos2004-08-26 Alan Modra <amodra@bigpond.net.au> 1595*75fd0b74Schristos 1596*75fd0b74Schristos * elf32-i386.c (elf_i386_relocate_section): Tweak last change so 1597*75fd0b74Schristos that pcrel correction is applied for R_386_PC32. 1598*75fd0b74Schristos 1599*75fd0b74Schristos2004-08-25 Alan Modra <amodra@bigpond.net.au> 1600*75fd0b74Schristos 1601*75fd0b74Schristos * elf32-i386.c (elf_i386_relocate_section): Zero section contents 1602*75fd0b74Schristos for R_386_32 and R_386_PC32 relocs against symbols defined in 1603*75fd0b74Schristos discarded sections. 1604*75fd0b74Schristos 1605*75fd0b74Schristos2004-08-25 Dmitry Diky <diwil@spec.ru> 1606*75fd0b74Schristos 1607*75fd0b74Schristos * reloc.c (BFD_RELOC_MSP430_2X_PCREL,BFD_RELOC_MSP430_RL_PCREL): 1608*75fd0b74Schristos Add new relocations. 1609*75fd0b74Schristos * bfd-in2.h: Regenerate. 1610*75fd0b74Schristos * libbfd.h: Regenerate. 1611*75fd0b74Schristos * elf32-msp430.c: Clean-up code. 1612*75fd0b74Schristos (elf_msp430_howto_table): Add new relocation entries. 1613*75fd0b74Schristos (bfd_elf32_bfd_reloc_type_lookup): New relocation handlers. 1614*75fd0b74Schristos (msp430_elf_relax_section): New function. 1615*75fd0b74Schristos (msp430_elf_relax_delete_bytes): New function. 1616*75fd0b74Schristos (msp430_elf_symbol_address_p): New function. 1617*75fd0b74Schristos 1618*75fd0b74Schristos2004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> 1619*75fd0b74Schristos 1620*75fd0b74Schristos * elf32-m32r.c (m32r_elf_relocate_section): Handle 1621*75fd0b74Schristos R_M32R_SDA16_RELA in the same way as R_M32R_SDA16. 1622*75fd0b74Schristos 1623*75fd0b74Schristos2004-08-20 Daniel Jacobowitz <dan@debian.org> 1624*75fd0b74Schristos 1625*75fd0b74Schristos * elflink.c (_bfd_elf_section_already_linked): Handle 1626*75fd0b74Schristos SEC_LINK_DUPLICATES_SAME_CONTENTS. 1627*75fd0b74Schristos 1628*75fd0b74Schristos2004-08-19 Mark Mitchell <mark@codesourcery.com> 1629*75fd0b74Schristos 1630*75fd0b74Schristos * config.bfd (arm*-*-symbianelf*): New target. 1631*75fd0b74Schristos (arm*-*-eabi*): Likewise. 1632*75fd0b74Schristos 1633*75fd0b74Schristos2004-08-19 Alan Modra <amodra@bigpond.net.au> 1634*75fd0b74Schristos 1635*75fd0b74Schristos * elf64-ppc.c (ppc_get_stub_entry): Change third param to a 1636*75fd0b74Schristos "struct ppc_link_hash_entry *". 1637*75fd0b74Schristos (ppc64_elf_relocate_section): Ditto for type of h. Introduce h_elf 1638*75fd0b74Schristos to satisfy RELOC_FOR_GLOBAL_SYMBOL. 1639*75fd0b74Schristos 1640*75fd0b74Schristos2004-08-19 Jakub Jelinek <jakub@redhat.com> 1641*75fd0b74Schristos 1642*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd 1643*75fd0b74Schristos entries (where fd_aux overlaps next entry's fd_func). 1644*75fd0b74Schristos Add non_overlapping argument, use it. 1645*75fd0b74Schristos (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms, 1646*75fd0b74Schristos ppc64_elf_size_stubs, ppc64_elf_relocate_section, 1647*75fd0b74Schristos ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24 1648*75fd0b74Schristos as indexes into opd_sym_map/opd_adjust array. 1649*75fd0b74Schristos * elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype. 1650*75fd0b74Schristos 1651*75fd0b74Schristos2004-08-18 Alan Modra <amodra@bigpond.net.au> 1652*75fd0b74Schristos 1653*75fd0b74Schristos * elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value 1654*75fd0b74Schristos if we can look up their function descriptor in a regular file. 1655*75fd0b74Schristos 1656*75fd0b74Schristos2004-08-18 Nick Clifton <nickc@redhat.com> 1657*75fd0b74Schristos 1658*75fd0b74Schristos PR 324 1659*75fd0b74Schristos * cofflink.c (coff_link_add_symbols): Check that the comdat 1660*75fd0b74Schristos pointer in the coff_section_data structure has been initialised 1661*75fd0b74Schristos before using it. 1662*75fd0b74Schristos 1663*75fd0b74Schristos2004-08-18 Alan Modra <amodra@bigpond.net.au> 1664*75fd0b74Schristos 1665*75fd0b74Schristos PR 338 1666*75fd0b74Schristos * elflink.c (bfd_elf_record_link_assignment): Add comment about 1667*75fd0b74Schristos changing bfd_link_hash_undefined to bfd_link_hash_new. 1668*75fd0b74Schristos 1669*75fd0b74Schristos2004-08-17 Jakub Jelinek <jakub@redhat.com> 1670*75fd0b74Schristos 1671*75fd0b74Schristos * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define 1672*75fd0b74Schristos if not yet defined. 1673*75fd0b74Schristos * elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define. 1674*75fd0b74Schristos (synthetic_opd, synthetic_relocatable): New variables. 1675*75fd0b74Schristos (compare_symbols, compare_relocs): New helper routines. 1676*75fd0b74Schristos (ppc64_elf_get_synthetic_symtab): New function. 1677*75fd0b74Schristos * bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument 1678*75fd0b74Schristos to relsyms. 1679*75fd0b74Schristos * bfd-in2.h: Regenerated. 1680*75fd0b74Schristos * elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument 1681*75fd0b74Schristos to relsyms. Return 0 if abfd is relocatable. 1682*75fd0b74Schristos 1683*75fd0b74Schristos2004-08-17 Alan Modra <amodra@bigpond.net.au> 1684*75fd0b74Schristos 1685*75fd0b74Schristos * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections. 1686*75fd0b74Schristos 1687*75fd0b74Schristos2004-08-17 Nick Clifton <nickc@redhat.com> 1688*75fd0b74Schristos 1689*75fd0b74Schristos * (is_arm_mapping_symbol_name): New function - return true 1690*75fd0b74Schristos when a symbol name matches the requirements for an ARM mapping 1691*75fd0b74Schristos symbol name. 1692*75fd0b74Schristos (arm_elf_find_function): New function based on 1693*75fd0b74Schristos elf_find_function in elf.c but skipping ARM mapping symbols 1694*75fd0b74Schristos and including thumb function symbols. 1695*75fd0b74Schristos (elf32_arm_find_nearest_line): Use arm_elf_find_function. 1696*75fd0b74Schristos (elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name. 1697*75fd0b74Schristos 1698*75fd0b74Schristos2004-08-17 Alan Modra <amodra@bigpond.net.au> 1699*75fd0b74Schristos 1700*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_branch_reloc): New function. 1701*75fd0b74Schristos (ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc. 1702*75fd0b74Schristos (ppc64_elf_brtaken_reloc): Here too. 1703*75fd0b74Schristos 1704*75fd0b74Schristos2004-08-17 Alan Modra <amodra@bigpond.net.au> 1705*75fd0b74Schristos 1706*75fd0b74Schristos * elf64-ppc.c (add_symbol_adjust): Correct mismatched function 1707*75fd0b74Schristos symbol visibility. 1708*75fd0b74Schristos (ppc64_elf_check_directives): Check that we have the right hash 1709*75fd0b74Schristos table before proceeding. 1710*75fd0b74Schristos 1711*75fd0b74Schristos2004-08-17 Alan Modra <amodra@bigpond.net.au> 1712*75fd0b74Schristos 1713*75fd0b74Schristos * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section". 1714*75fd0b74Schristos (adjust_opd_syms): Attach opd syms for deleted entries to one of 1715*75fd0b74Schristos the sections that will be discarded. 1716*75fd0b74Schristos 1717*75fd0b74Schristos2004-08-16 Alan Modra <amodra@bigpond.net.au> 1718*75fd0b74Schristos 1719*75fd0b74Schristos * elflink.c (elf_section_complain_discarded): Ignore .fixup. 1720*75fd0b74Schristos 1721*75fd0b74Schristos2004-08-16 Alan Modra <amodra@bigpond.net.au> 1722*75fd0b74Schristos 1723*75fd0b74Schristos * bfd.c (_bfd_default_error_handler): Account for doubled '%' in 1724*75fd0b74Schristos free space available. 1725*75fd0b74Schristos 1726*75fd0b74Schristos2004-08-16 Alan Modra <amodra@bigpond.net.au> 1727*75fd0b74Schristos 1728*75fd0b74Schristos * pdp11.c (struct pdp11_aout_reloc_external): Delete. Replace 1729*75fd0b74Schristos occurrences with bfd_byte * thoughout file. 1730*75fd0b74Schristos 1731*75fd0b74Schristos * coff-rs6000.c (do_shared_object_padding): Warning fix. 1732*75fd0b74Schristos (xcoff_write_armap_big): Likewise. 1733*75fd0b74Schristos (xcoff_write_archive_contents_old): Likewise. 1734*75fd0b74Schristos (xcoff_write_archive_contents_big): Likewise. 1735*75fd0b74Schristos 1736*75fd0b74Schristos * elf64-mmix.c (mmix_elf_get_section_contents): Delete declaration. 1737*75fd0b74Schristos 1738*75fd0b74Schristos2004-08-13 Nick Clifton <nickc@redhat.com> 1739*75fd0b74Schristos 1740*75fd0b74Schristos * elf32-arm.h: Convert to ISO C90. 1741*75fd0b74Schristos 1742*75fd0b74Schristos2004-08-13 Alan Modra <amodra@bigpond.net.au> 1743*75fd0b74Schristos 1744*75fd0b74Schristos PR 293 1745*75fd0b74Schristos * elf32-hppa.c (elf32_hppa_hide_symbol): Use init_refcount to 1746*75fd0b74Schristos zero the plt field. 1747*75fd0b74Schristos 1748*75fd0b74Schristos2004-08-13 Alan Modra <amodra@bigpond.net.au> 1749*75fd0b74Schristos 1750*75fd0b74Schristos * bfd.c (_bfd_default_error_handler): Handle %A and %B. 1751*75fd0b74Schristos (bfd_archive_filename, bfd_get_section_ident): Delete. 1752*75fd0b74Schristos * ecofflink.c (bfd_ecoff_debug_accumulate_other): Don't call 1753*75fd0b74Schristos bfd_archive_filename. 1754*75fd0b74Schristos * elflink.c (elf_link_input_bfd): Don't use callbacks->error_handler 1755*75fd0b74Schristos to warn about symbols in discarded sections. Use _bfd_error_handler. 1756*75fd0b74Schristos * aout-adobe.c (aout_adobe_callback): See below. 1757*75fd0b74Schristos * aout-cris.c (swap_ext_reloc_in): .. 1758*75fd0b74Schristos * coff-arm.c (find_thumb_glue, find_arm_glue, 1759*75fd0b74Schristos coff_arm_relocate_section, bfd_arm_process_before_allocation, 1760*75fd0b74Schristos coff_arm_merge_private_bfd_data, _bfd_coff_arm_set_private_flags, 1761*75fd0b74Schristos coff_arm_copy_private_bfd_data): .. 1762*75fd0b74Schristos * coff-i860.c (i860_reloc_processing): .. 1763*75fd0b74Schristos * coff-mcore.c (mcore_coff_unsupported_reloc, 1764*75fd0b74Schristos coff_mcore_relocate_section): .. 1765*75fd0b74Schristos * coff-ppc.c (coff_ppc_relocate_section): .. 1766*75fd0b74Schristos * coff-rs6000.c (xcoff_create_csect_from_smclas 1767*75fd0b74Schristos * coff-sh.c (sh_relax_section, sh_relax_delete_bytes, 1768*75fd0b74Schristos sh_swap_insns, sh_relocate_section): .. 1769*75fd0b74Schristos * coff-tic54x.c (tic54x_reloc_processing): .. 1770*75fd0b74Schristos * coff-tic80.c (coff_tic80_relocate_section): .. 1771*75fd0b74Schristos * coff64-rs6000.c (xcoff64_create_csect_from_smclas): .. 1772*75fd0b74Schristos * coffcode.h (styp_to_sec_flags, coff_slurp_line_table, 1773*75fd0b74Schristos coff_slurp_symbol_table, coff_classify_symbol, 1774*75fd0b74Schristos coff_slurp_reloc_table): .. 1775*75fd0b74Schristos * coffgen.c (_bfd_coff_read_string_table): .. 1776*75fd0b74Schristos * cofflink.c (coff_link_add_symbols, _bfd_coff_link_input_bfd, 1777*75fd0b74Schristos _bfd_coff_generic_relocate_section): .. 1778*75fd0b74Schristos * cpu-arm.c (bfd_arm_merge_machines): .. 1779*75fd0b74Schristos * cpu-sh.c (sh_merge_bfd_arch): .. 1780*75fd0b74Schristos * elf-hppa.h (elf_hppa_relocate_section): .. 1781*75fd0b74Schristos * elf.c (bfd_elf_string_from_elf_section, setup_group, 1782*75fd0b74Schristos _bfd_elf_setup_group_pointers, bfd_section_from_shdr, 1783*75fd0b74Schristos assign_section_numbers, _bfd_elf_symbol_from_bfd_symbol, 1784*75fd0b74Schristos copy_private_bfd_data, _bfd_elf_validate_reloc): .. 1785*75fd0b74Schristos * elf32-arm.h (find_thumb_glue, find_arm_glue, 1786*75fd0b74Schristos bfd_elf32_arm_process_before_allocation, elf32_thumb_to_arm_stub, 1787*75fd0b74Schristos elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate, 1788*75fd0b74Schristos elf32_arm_relocate_section, elf32_arm_set_private_flags, 1789*75fd0b74Schristos elf32_arm_copy_private_bfd_data, elf32_arm_merge_private_bfd_data): .. 1790*75fd0b74Schristos * elf32-cris.c (cris_elf_relocate_section, cris_elf_check_relocs, 1791*75fd0b74Schristos cris_elf_merge_private_bfd_data 1792*75fd0b74Schristos * elf32-frv.c (elf32_frv_relocate_section, elf32_frv_check_relocs): .. 1793*75fd0b74Schristos * elf32-gen.c (elf32_generic_link_add_symbols): .. 1794*75fd0b74Schristos * elf32-hppa.c (hppa_add_stub, hppa_build_one_stub, 1795*75fd0b74Schristos elf32_hppa_check_relocs, get_local_syms, final_link_relocate, 1796*75fd0b74Schristos elf32_hppa_relocate_section): .. 1797*75fd0b74Schristos * elf32-i370.c (i370_elf_merge_private_bfd_data, 1798*75fd0b74Schristos i370_elf_check_relocs, i370_elf_relocate_section): .. 1799*75fd0b74Schristos * elf32-i386.c (elf_i386_info_to_howto_rel, elf_i386_check_relocs, 1800*75fd0b74Schristos elf_i386_relocate_section): .. 1801*75fd0b74Schristos * elf32-m32r.c (m32r_elf_relocate_section, 1802*75fd0b74Schristos m32r_elf_merge_private_bfd_data): .. 1803*75fd0b74Schristos * elf32-m68hc1x.c (m68hc12_add_stub, 1804*75fd0b74Schristos _bfd_m68hc11_elf_merge_private_bfd_data): .. 1805*75fd0b74Schristos * elf32-m68k.c (elf_m68k_relocate_section): .. 1806*75fd0b74Schristos * elf32-mcore.c (mcore_elf_unsupported_reloc, 1807*75fd0b74Schristos mcore_elf_relocate_section): .. 1808*75fd0b74Schristos * elf32-ppc.c (ppc_elf_merge_private_bfd_data, bad_shared_reloc, 1809*75fd0b74Schristos ppc_elf_check_relocs, ppc_elf_relocate_section, 1810*75fd0b74Schristos ppc_elf_begin_write_processing): .. 1811*75fd0b74Schristos * elf32-s390.c (elf_s390_check_relocs, invalid_tls_insn, 1812*75fd0b74Schristos elf_s390_relocate_section): .. 1813*75fd0b74Schristos * elf32-sh-symbian.c (sh_symbian_import_as, 1814*75fd0b74Schristos sh_symbian_process_embedded_commands, 1815*75fd0b74Schristos sh_symbian_relocate_section): .. 1816*75fd0b74Schristos * elf32-sh.c (sh_elf_relax_section, sh_elf_relax_delete_bytes, 1817*75fd0b74Schristos sh_elf_swap_insns, sh_elf_relocate_section, sh_elf_check_relocs, 1818*75fd0b74Schristos sh_elf_merge_private_data): .. 1819*75fd0b74Schristos * elf32-sparc.c (elf32_sparc_check_relocs, 1820*75fd0b74Schristos elf32_sparc_relocate_section, 1821*75fd0b74Schristos elf32_sparc_merge_private_bfd_data): .. 1822*75fd0b74Schristos * elf32-v850.c (v850_elf_check_relocs, 1823*75fd0b74Schristos v850_elf_merge_private_bfd_data): .. 1824*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_check_relocs, 1825*75fd0b74Schristos elf_xtensa_relocate_section, elf_xtensa_merge_private_bfd_data): .. 1826*75fd0b74Schristos * elf64-alpha.c (elf64_alpha_relax_with_lituse, 1827*75fd0b74Schristos elf64_alpha_relax_got_load, elf64_alpha_size_got_sections, 1828*75fd0b74Schristos elf64_alpha_relocate_section_r, elf64_alpha_relocate_section): .. 1829*75fd0b74Schristos * elf64-gen.c (elf64_generic_link_add_symbols): .. 1830*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_merge_private_bfd_data, ppc_add_stub, 1831*75fd0b74Schristos ppc64_elf_check_relocs, ppc64_elf_edit_opd, 1832*75fd0b74Schristos ppc64_elf_relocate_section): .. 1833*75fd0b74Schristos * elf64-s390.c (elf_s390_check_relocs, invalid_tls_insn, 1834*75fd0b74Schristos elf_s390_relocate_section): .. 1835*75fd0b74Schristos * elf64-sh64.c (sh_elf64_relocate_section): .. 1836*75fd0b74Schristos * elf64-sparc.c (sparc64_elf_check_relocs, 1837*75fd0b74Schristos sparc64_elf_add_symbol_hook, sparc64_elf_relocate_section, 1838*75fd0b74Schristos sparc64_elf_merge_private_bfd_data): .. 1839*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_check_relocs, 1840*75fd0b74Schristos elf64_x86_64_relocate_section): .. 1841*75fd0b74Schristos * elflink.c (_bfd_elf_add_default_symbol, 1842*75fd0b74Schristos _bfd_elf_link_assign_sym_version, elf_link_read_relocs_from_section, 1843*75fd0b74Schristos _bfd_elf_link_output_relocs, elf_link_add_object_symbols, 1844*75fd0b74Schristos bfd_elf_size_dynamic_sections, elf_link_output_extsym, 1845*75fd0b74Schristos elf_get_linked_section_vma, elf_fixup_link_order, 1846*75fd0b74Schristos bfd_elf_final_link, bfd_elf_gc_record_vtinherit, 1847*75fd0b74Schristos bfd_elf_gc_record_vtinherit, _bfd_elf_section_already_linked): .. 1848*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relax_section, 1849*75fd0b74Schristos elfNN_ia64_relocate_section, elfNN_ia64_merge_private_bfd_data): .. 1850*75fd0b74Schristos * elfxx-mips.c (mips_elf_perform_relocation, 1851*75fd0b74Schristos _bfd_mips_elf_check_relocs, 1852*75fd0b74Schristos _bfd_mips_elf_merge_private_bfd_data): .. 1853*75fd0b74Schristos * ieee.c (ieee_slurp_external_symbols): .. 1854*75fd0b74Schristos * ihex.c (ihex_bad_byte, ihex_scan, ihex_read_section): .. 1855*75fd0b74Schristos * libbfd.c (_bfd_generic_verify_endian_match): .. 1856*75fd0b74Schristos * linker.c (_bfd_generic_link_add_one_symbol, 1857*75fd0b74Schristos _bfd_generic_section_already_linked): .. 1858*75fd0b74Schristos * pdp11.c (translate_to_native_sym_flags): .. 1859*75fd0b74Schristos * pe-mips.c (coff_pe_mips_relocate_section): .. 1860*75fd0b74Schristos * peicode.h (pe_ILF_build_a_bfd): .. 1861*75fd0b74Schristos * srec.c (srec_bad_byte): .. 1862*75fd0b74Schristos * stabs.c (_bfd_link_section_stabs): .. 1863*75fd0b74Schristos * xcofflink.c (xcoff_link_add_symbols, xcoff_link_input_bfd): .. 1864*75fd0b74Schristos Replace all uses of bfd_archive_filename and bfd_get_section_ident 1865*75fd0b74Schristos with corresponding %B and %A in _bfd_error_handler format string. 1866*75fd0b74Schristos Replace occurrences of "fprintf (stderr," with _bfd_error_handler 1867*75fd0b74Schristos calls to use %A and %B. Fix "against symbol .. from section" and 1868*75fd0b74Schristos similar error messages. Combine multiple _bfd_error_handler calls 1869*75fd0b74Schristos where they were separated due to bfd_archive_filename deficiencies. 1870*75fd0b74Schristos * bfd-in2.h: Regenerate. 1871*75fd0b74Schristos 1872*75fd0b74Schristos2004-08-12 H.J. Lu <hongjiu.lu@intel.com> 1873*75fd0b74Schristos 1874*75fd0b74Schristos * elf32-i386.c (elf_i386_relocate_section): Report unrecognized 1875*75fd0b74Schristos relocation. 1876*75fd0b74Schristos 1877*75fd0b74Schristos2004-08-10 Alan Modra <amodra@bigpond.net.au> 1878*75fd0b74Schristos 1879*75fd0b74Schristos * elf64-ppc.c (struct ppc_link_hash_entry): Add was_undefined. 1880*75fd0b74Schristos (struct ppc_link_hash_table): Remove no_multi_toc, multi_toc_needed. 1881*75fd0b74Schristos Make emit_stub_syms, stub_error and has_14bit_branch bit-fields. 1882*75fd0b74Schristos Add twiddled_syms. 1883*75fd0b74Schristos (link_hash_newfunc): Init was_undefined. 1884*75fd0b74Schristos (add_symbol_adjust): Don't set undefined dot symbols to defweak; 1885*75fd0b74Schristos Use undefweak instead. 1886*75fd0b74Schristos (ppc64_elf_check_directives): Fix undefs chain. 1887*75fd0b74Schristos (ppc64_elf_next_toc_section): Remove no_multi_toc and multi_toc_needed 1888*75fd0b74Schristos references. 1889*75fd0b74Schristos (ppc64_elf_size_stubs): Adjust for add_symbol_adjust change. 1890*75fd0b74Schristos (undo_symbol_twiddle, ppc64_elf_restore_symbols): New functions. 1891*75fd0b74Schristos * elf64-ppc.h (ppc64_elf_restore_symbols): Declare. 1892*75fd0b74Schristos 1893*75fd0b74Schristos2004-08-09 Jakub Jelinek <jakub@redhat.com> 1894*75fd0b74Schristos 1895*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_relocate_section): For -fno-pic 1896*75fd0b74Schristos error, test input_section flags rather than sec. 1897*75fd0b74Schristos 1898*75fd0b74Schristos2004-08-09 Alan Modra <amodra@bigpond.net.au> 1899*75fd0b74Schristos 1900*75fd0b74Schristos * elf-bfd.h (struct elf_backend_data): Add 1901*75fd0b74Schristos elf_backend_archive_symbol_lookup. 1902*75fd0b74Schristos (_bfd_elf_archive_symbol_lookup): Declare. 1903*75fd0b74Schristos * elflink.c (_bfd_elf_archive_symbol_lookup): New function.. 1904*75fd0b74Schristos (elf_link_add_archive_symbols): ..extracted from here. Call the 1905*75fd0b74Schristos backend version. 1906*75fd0b74Schristos * elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default. 1907*75fd0b74Schristos (elfNN_bed): Init new field. 1908*75fd0b74Schristos * elf64-ppc.c (elf_backend_check_directives): Define. 1909*75fd0b74Schristos (elf_backend_archive_symbol_lookup): Define. 1910*75fd0b74Schristos (struct ppc_link_hash_table): Add tls_get_add_fd. Make tls_get_add 1911*75fd0b74Schristos a ppc_link_hash_entry pointer. 1912*75fd0b74Schristos (get_fdh): Move. 1913*75fd0b74Schristos (ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions. 1914*75fd0b74Schristos (add_symbol_adjust, ppc64_elf_check_directives): New functions. 1915*75fd0b74Schristos (ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust, 1916*75fd0b74Schristos ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup, 1917*75fd0b74Schristos ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub, 1918*75fd0b74Schristos ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section, 1919*75fd0b74Schristos ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function 1920*75fd0b74Schristos descriptor symbols. 1921*75fd0b74Schristos 1922*75fd0b74Schristos2004-08-09 Alan Modra <amodra@bigpond.net.au> 1923*75fd0b74Schristos 1924*75fd0b74Schristos * elf64-ppc.c (struct ppc_link_hash_entry): Expand adjust_done comment. 1925*75fd0b74Schristos (ppc64_elf_add_symbol_hook): Test for NULL section. 1926*75fd0b74Schristos (get_sym_h): Formatting. 1927*75fd0b74Schristos (ppc64_elf_size_stubs): Include reloc addend in value stored as 1928*75fd0b74Schristos stub target_value. 1929*75fd0b74Schristos 1930*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_relocate_section): Combine handling of 1931*75fd0b74Schristos long branch stubs with code handling plt and r2off branch stubs. 1932*75fd0b74Schristos 1933*75fd0b74Schristos2004-08-09 Alan Modra <amodra@bigpond.net.au> 1934*75fd0b74Schristos 1935*75fd0b74Schristos * elf-bfd.h (_bfd_elf_gc_mark): Declare. 1936*75fd0b74Schristos * elflink.c (elf_link_input_bfd): Formatting. 1937*75fd0b74Schristos (_bfd_elf_gc_mark): Rename from elf_gc_mark and make global. Adjust 1938*75fd0b74Schristos all callers. 1939*75fd0b74Schristos * elf64-ppc.c (struct ppc_link_hash_entry): Remove is_entry. 1940*75fd0b74Schristos (link_hash_newfunc): Don't set it. 1941*75fd0b74Schristos (ppc64_elf_copy_indirect_symbol): Nor copy it. 1942*75fd0b74Schristos (ppc64_elf_mark_entry_syms): Delete. 1943*75fd0b74Schristos (ppc64_elf_gc_mark_hook): Mark entry syms here. Also mark opd 1944*75fd0b74Schristos sections. Use get_opd_info. 1945*75fd0b74Schristos * elf64-ppc.h (ppc64_elf_mark_entry_syms): Delete. 1946*75fd0b74Schristos 1947*75fd0b74Schristos2004-08-09 Alan Modra <amodra@bigpond.net.au> 1948*75fd0b74Schristos 1949*75fd0b74Schristos * elf64-ppc.c (adjust_opd_syms): Fix merge error. 1950*75fd0b74Schristos 1951*75fd0b74Schristos * elf64-ppc.c (struct ppc_link_hash_table): Remove have_undefweak. 1952*75fd0b74Schristos (func_desc_adjust): Don't set have_undefweak. 1953*75fd0b74Schristos (ppc64_elf_func_desc_adjust): Don't add an extr nop to sfpr. 1954*75fd0b74Schristos (ppc64_elf_relocate_section): NOP out calls to undefweak functions. 1955*75fd0b74Schristos 1956*75fd0b74Schristos * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a 1957*75fd0b74Schristos "struct ppc_link_hash_entry *". Adjust all references. 1958*75fd0b74Schristos (ppc64_elf_hide_symbol): Correct a comment. 1959*75fd0b74Schristos 1960*75fd0b74Schristos * elf64-ppc.c (get_opd_info): New function. 1961*75fd0b74Schristos (adjust_opd_syms): Use get_opd_info. Define removed symbols as zero. 1962*75fd0b74Schristos (ppc64_elf_edit_opd): Use get_opd_info. Check that sym has a dot 1963*75fd0b74Schristos before calling get_fdh. Test fdh rather than h before dereferencing 1964*75fd0b74Schristos fdh. Mark removed symbols in opd_adjust. 1965*75fd0b74Schristos (ppc64_elf_tls_optimize): Don't bother with opd adjustment here. 1966*75fd0b74Schristos (ppc64_elf_relocate_section): Use get_opd_info, and handle removed 1967*75fd0b74Schristos opd symbols. 1968*75fd0b74Schristos (ppc64_elf_output_symbol_hook): Likewise. 1969*75fd0b74Schristos 1970*75fd0b74Schristos2004-08-06 Paul Brook <paul@codesourcery.com> 1971*75fd0b74Schristos 1972*75fd0b74Schristos * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations. 1973*75fd0b74Schristos (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32, 1974*75fd0b74Schristos BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32. 1975*75fd0b74Schristos * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32 1976*75fd0b74Schristos and BFD_RELOC_ARM_SBREL32. 1977*75fd0b74Schristos * bfd-in2.h, bbfd.h: Regenerate. 1978*75fd0b74Schristos 1979*75fd0b74Schristos2004-08-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 1980*75fd0b74Schristos 1981*75fd0b74Schristos * elfxx-mips.c (mips_elf_calculate_relocation): Test only for 1982*75fd0b74Schristos the dynamic link symbol actually in use. 1983*75fd0b74Schristos 1984*75fd0b74Schristos2004-08-01 Stephane Carrez <stcarrez@nerim.fr> 1985*75fd0b74Schristos 1986*75fd0b74Schristos * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new 1987*75fd0b74Schristos 1988*75fd0b74Schristos2004-07-31 Joel Brobecker <brobecker@gnat.com> 1989*75fd0b74Schristos Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 1990*75fd0b74Schristos 1991*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle 1992*75fd0b74Schristos SHN_MIPS_TEXT and SHN_MIPS_DATA. 1993*75fd0b74Schristos 1994*75fd0b74Schristos2004-07-30 H.J. Lu <hongjiu.lu@intel.com> 1995*75fd0b74Schristos Nick Clifton <nickc@redhat.com> 1996*75fd0b74Schristos 1997*75fd0b74Schristos PR 290 1998*75fd0b74Schristos * bfd.c (_bfd_default_error_handler): Make it global. 1999*75fd0b74Schristos 2000*75fd0b74Schristos * elf-bfd.h (elf_backend_data): Add link_order_error_handler. 2001*75fd0b74Schristos 2002*75fd0b74Schristos * elf.c (assign_section_numbers): Cope gracefully with sections 2003*75fd0b74Schristos which have SHF_LINK_ORDER set but no sh_link set up. 2004*75fd0b74Schristos * elflink.c (elf_get_linked_section_vma): Likewise. 2005*75fd0b74Schristos 2006*75fd0b74Schristos * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set 2007*75fd0b74Schristos it to NULL. 2008*75fd0b74Schristos 2009*75fd0b74Schristos * elfxx-target.h (elf_backend_link_order_error_handler): New. 2010*75fd0b74Schristos Set it to _bfd_default_error_handler. 2011*75fd0b74Schristos (elfNN_bed): Add elf_backend_link_order_error_handler. 2012*75fd0b74Schristos 2013*75fd0b74Schristos * libbfd-in.h (_bfd_default_error_handler): New. 2014*75fd0b74Schristos 2015*75fd0b74Schristos * libbfd.h: Regenerated. 2016*75fd0b74Schristos 2017*75fd0b74Schristos2004-07-30 Jakub Jelinek <jakub@redhat.com> 2018*75fd0b74Schristos 2019*75fd0b74Schristos * archures.c (bfd_mach_sparc_64bit_p): Define. 2020*75fd0b74Schristos * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it. 2021*75fd0b74Schristos * bfd-in2.h: Rebuilt. 2022*75fd0b74Schristos 2023*75fd0b74Schristos2004-07-29 Alexandre Oliva <aoliva@redhat.com> 2024*75fd0b74Schristos 2025*75fd0b74Schristos Introduce SH2a support. 2026*75fd0b74Schristos 2004-02-18 Corinna Vinschen <vinschen@redhat.com> 2027*75fd0b74Schristos * archures.c (bfd_mach_sh2a_nofpu): New. 2028*75fd0b74Schristos * bfd-in2.h: Rebuilt. 2029*75fd0b74Schristos * cpu-sh.c (SH2A_NOFPU_NEXT): New. 2030*75fd0b74Schristos (arch_info_struct): Add sh2a_nofpu. 2031*75fd0b74Schristos * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu. 2032*75fd0b74Schristos 2003-12-29 DJ Delorie <dj@redhat.com> 2033*75fd0b74Schristos * reloc.c: Add relocs for sh2a. 2034*75fd0b74Schristos * bfd-in2.h: Regenerate. 2035*75fd0b74Schristos * libbfd.hh: Regenerate. 2036*75fd0b74Schristos 2003-12-01 Michael Snyder <msnyder@redhat.com> 2037*75fd0b74Schristos * archures.c (bfd_mach_sh2a): New. 2038*75fd0b74Schristos * bfd-in2.h: Rebuilt. 2039*75fd0b74Schristos * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums. 2040*75fd0b74Schristos (SH2A_NEXT): New. 2041*75fd0b74Schristos (arch_info_struct): Add sh2a. 2042*75fd0b74Schristos * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a. 2043*75fd0b74Schristos 2044*75fd0b74Schristos2004-07-28 Nick Clifton <nickc@redhat.com> 2045*75fd0b74Schristos John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2046*75fd0b74Schristos 2047*75fd0b74Schristos PR 273 2048*75fd0b74Schristos * som.c (setup_sections): Improve estimation of space sizes in 2049*75fd0b74Schristos relocatable objects. 2050*75fd0b74Schristos 2051*75fd0b74Schristos2004-07-27 Jason Thorpe <thorpej@wasabisystems.com> 2052*75fd0b74Schristos * config.bfd (hppa*-*-netbsd*): Set targ_defvec to 2053*75fd0b74Schristos bfd_elf32_hppa_nbsd_vec. Add bfd_elf32_hppa_linux_vec 2054*75fd0b74Schristos to targ_selvecs. 2055*75fd0b74Schristos * configure.in (bfd_elf32_hppa_nbsd_vec): Add case. 2056*75fd0b74Schristos * configure: Regenerate. 2057*75fd0b74Schristos * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd" 2058*75fd0b74Schristos case that accepts OSABI=NetBSD and OSABI=SysV. 2059*75fd0b74Schristos (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to 2060*75fd0b74Schristos the base of .got or .data (if .got does not exist). 2061*75fd0b74Schristos (elf32_hppa_post_process_headers): For elf32-hppa-netbsd, 2062*75fd0b74Schristos set OSABI=NetBSD. 2063*75fd0b74Schristos (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case. 2064*75fd0b74Schristos (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case. 2065*75fd0b74Schristos * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration. 2066*75fd0b74Schristos (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec. 2067*75fd0b74Schristos 2068*75fd0b74Schristos2004-07-27 H.J. Lu <hongjiu.lu@intel.com> 2069*75fd0b74Schristos 2070*75fd0b74Schristos PR 161/251 2071*75fd0b74Schristos * elf-bfd.h (bfd_elf_section_data): Add sec_group. 2072*75fd0b74Schristos (elf_sec_group): Defined. 2073*75fd0b74Schristos (bfd_elf_match_symbols_in_sections): New prototype. 2074*75fd0b74Schristos (_bfd_elf_setup_group_pointers): Likewise. 2075*75fd0b74Schristos 2076*75fd0b74Schristos * elf.c (bfd_elf_discard_group): Abort. 2077*75fd0b74Schristos (bfd_elf_set_group_contents): Also include relocation sections. 2078*75fd0b74Schristos Remove zero-fill for ld -r. 2079*75fd0b74Schristos (_bfd_elf_setup_group_pointers): New function. 2080*75fd0b74Schristos (elf_sort_elf_symbol): Likewise. 2081*75fd0b74Schristos (elf_sym_name_compare): Likewise. 2082*75fd0b74Schristos (bfd_elf_match_symbols_in_sections): Likewise. 2083*75fd0b74Schristos 2084*75fd0b74Schristos * elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers. 2085*75fd0b74Schristos 2086*75fd0b74Schristos * elflink.c (match_group_member): New. 2087*75fd0b74Schristos (elf_link_input_bfd): Check group member for discarded section. 2088*75fd0b74Schristos (try_match_symbols_in_sections): New function. 2089*75fd0b74Schristos (already_linked): Likewise. 2090*75fd0b74Schristos (_bfd_elf_section_already_linked): Support mixing comdat group 2091*75fd0b74Schristos and linkonce section. 2092*75fd0b74Schristos 2093*75fd0b74Schristos * libbfd-in.h (bfd_section_already_linked_table_traverse): New. 2094*75fd0b74Schristos * linker.c (bfd_section_already_linked_table_traverse): New. 2095*75fd0b74Schristos 2096*75fd0b74Schristos * libbfd.h: Regenerated. 2097*75fd0b74Schristos 2098*75fd0b74Schristos2004-07-27 Tomer Levi <Tomer.Levi@nsc.com> 2099*75fd0b74Schristos 2100*75fd0b74Schristos * reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16, 2101*75fd0b74Schristos BFD_RELOC_CRX_SWITCH32. 2102*75fd0b74Schristos * bfd-in2.h: Regenerate. 2103*75fd0b74Schristos * libbfd.h: Regenerate. 2104*75fd0b74Schristos * elf32-crx.c: Support relocation/relaxation of 2105*75fd0b74Schristos BFD_RELOC_CRX_SWITCH* types. 2106*75fd0b74Schristos 2107*75fd0b74Schristos2004-07-27 Alan Modra <amodra@bigpond.net.au> 2108*75fd0b74Schristos 2109*75fd0b74Schristos * elf64-ppc.c: Correct "Linker stubs" comment. 2110*75fd0b74Schristos 2111*75fd0b74Schristos2004-07-26 H.J. Lu <hongjiu.lu@intel.com> 2112*75fd0b74Schristos 2113*75fd0b74Schristos * elf-bfd.h (bfd_elf_section_data): Add a pointer for the 2114*75fd0b74Schristos linked-to section. 2115*75fd0b74Schristos (elf_linked_to_section): New. 2116*75fd0b74Schristos 2117*75fd0b74Schristos * elf.c (assign_section_numbers): Set up sh_link for 2118*75fd0b74Schristos SHF_LINK_ORDER. 2119*75fd0b74Schristos 2120*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set sh_info 2121*75fd0b74Schristos to sh_link for SHT_IA_64_UNWIND sections. 2122*75fd0b74Schristos 2123*75fd0b74Schristos2004-07-22 H.J. Lu <hongjiu.lu@intel.com> 2124*75fd0b74Schristos 2125*75fd0b74Schristos * elflink.c (elf_fixup_link_order): Add _() to error message. 2126*75fd0b74Schristos 2127*75fd0b74Schristos2004-07-22 H.J. Lu <hongjiu.lu@intel.com> 2128*75fd0b74Schristos 2129*75fd0b74Schristos * elflink.c (elf_fixup_link_order): Issue a warning and flag 2130*75fd0b74Schristos an error if failed. 2131*75fd0b74Schristos 2132*75fd0b74Schristos2004-07-21 H.J. Lu <hongjiu.lu@intel.com> 2133*75fd0b74Schristos 2134*75fd0b74Schristos * aout-adobe.c (aout_32_section_already_linked): Defined. 2135*75fd0b74Schristos * aout-target.h (MY_section_already_linked): Likewise. 2136*75fd0b74Schristos * aout-tic30.c (MY_section_already_linked): Likewise. 2137*75fd0b74Schristos * binary.c (binary_section_already_linked): Likewise. 2138*75fd0b74Schristos * bout.c (b_out_section_already_linked): Likewise. 2139*75fd0b74Schristos * coff-alpha.c (_bfd_ecoff_section_already_linked): Likewise. 2140*75fd0b74Schristos * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise. 2141*75fd0b74Schristos * coffcode.h (coff_section_already_linked): Likewise. 2142*75fd0b74Schristos * i386msdos.c (msdos_section_already_linked): Likewise. 2143*75fd0b74Schristos * i386os9k.c (os9k_section_already_linked): Likewise. 2144*75fd0b74Schristos * ieee.c (ieee_section_already_linked): Likewise. 2145*75fd0b74Schristos * ihex.c (ihex_section_already_linked): Likewise. 2146*75fd0b74Schristos * mach-o.c (bfd_mach_o_section_already_linked): Likewise. 2147*75fd0b74Schristos * mmo.c (mmo_section_already_linked): Likewise. 2148*75fd0b74Schristos * nlm-target.h (nlm_section_already_linked): Likewise. 2149*75fd0b74Schristos * oasys.c (oasys_section_already_linked): Likewise. 2150*75fd0b74Schristos * pef.c (bfd_pef_section_already_linked): Likewise. 2151*75fd0b74Schristos * ppcboot.c (ppcboot_section_already_linked): Likewise. 2152*75fd0b74Schristos * som.c (som_bfd_discard_group): Likewise. 2153*75fd0b74Schristos * srec.c (srec_section_already_linked): Likewise. 2154*75fd0b74Schristos * tekhex.c (tekhex_section_already_linked): Likewise. 2155*75fd0b74Schristos * versados.c (versados_section_already_linked): Likewise. 2156*75fd0b74Schristos * vms.c (vms_section_already_linked): Likewise. 2157*75fd0b74Schristos * coff-target.h (_bfd_xcoff_section_already_linked): Likewise. 2158*75fd0b74Schristos * xsym.c (bfd_sym_section_already_linked): Likewise. 2159*75fd0b74Schristos 2160*75fd0b74Schristos * bfd-in.h (bfd_section_already_linked_table_init): New. 2161*75fd0b74Schristos (bfd_section_already_linked_table_free): Likewise. 2162*75fd0b74Schristos 2163*75fd0b74Schristos * coff-rs6000.c (rs6000coff_vec): Add 2164*75fd0b74Schristos _bfd_generic_section_already_linked. 2165*75fd0b74Schristos (pmac_xcoff_vec): Likewise. 2166*75fd0b74Schristos * coff64-rs6000.c (rs6000coff64_vec): Likewise. 2167*75fd0b74Schristos (aix5coff64_vec): Likewise. 2168*75fd0b74Schristos 2169*75fd0b74Schristos * elf-bfd.h (_bfd_elf_section_already_linked): New prototype. 2170*75fd0b74Schristos * elflink.c (_bfd_elf_section_already_linked): New function. 2171*75fd0b74Schristos 2172*75fd0b74Schristos * elfxx-target.h (bfd_elfNN_section_already_linked): Defined. 2173*75fd0b74Schristos 2174*75fd0b74Schristos * libbfd-in.h (_bfd_nolink_section_already_linked): Defined. 2175*75fd0b74Schristos (_bfd_generic_section_already_linked): New. 2176*75fd0b74Schristos (bfd_section_already_linked_hash_entry): Likewise. 2177*75fd0b74Schristos (bfd_section_already_linked): Likewise. 2178*75fd0b74Schristos (bfd_section_already_linked_table_lookup): Likewise. 2179*75fd0b74Schristos (bfd_section_already_linked_table_insert): Likewise. 2180*75fd0b74Schristos 2181*75fd0b74Schristos * linker.c (bfd_section_already_linked): New. 2182*75fd0b74Schristos (_bfd_section_already_linked_table): Likewise. 2183*75fd0b74Schristos (bfd_section_already_linked_table_lookup): Likewise. 2184*75fd0b74Schristos (bfd_section_already_linked_table_insert): Likewise. 2185*75fd0b74Schristos (already_linked_newfunc): Likewise. 2186*75fd0b74Schristos (bfd_section_already_linked_table_init): Likewise. 2187*75fd0b74Schristos (bfd_section_already_linked_table_free): Likewise. 2188*75fd0b74Schristos (_bfd_generic_section_already_linked): Likewise. 2189*75fd0b74Schristos 2190*75fd0b74Schristos * section.c (bfd_section): Remove comdat. 2191*75fd0b74Schristos (bfd_comdat_info): Moved to ... 2192*75fd0b74Schristos * bfd-in.h (coff_comdat_info): Here. 2193*75fd0b74Schristos (bfd_coff_get_comdat_section): New. 2194*75fd0b74Schristos * coffgen.c (bfd_coff_get_comdat_section): Likewise. 2195*75fd0b74Schristos * libcoff-in.h (coff_section_tdata): Add comdat. 2196*75fd0b74Schristos * coffcode.h (handle_COMDAT): Updated. 2197*75fd0b74Schristos * cofflink.c (coff_link_add_symbols): Likewise. 2198*75fd0b74Schristos * ecoff.c (bfd_debug_section): Likewise. 2199*75fd0b74Schristos 2200*75fd0b74Schristos * targets.c (bfd_target): Add _section_already_linked. 2201*75fd0b74Schristos (BFD_JUMP_TABLE_LINK): Updated. 2202*75fd0b74Schristos 2203*75fd0b74Schristos * bfd-in2.h: Regenerated. 2204*75fd0b74Schristos * libbfd.h: Likewise. 2205*75fd0b74Schristos * libcoff.h: Likewise. 2206*75fd0b74Schristos 2207*75fd0b74Schristos2003-07-21 Paul Brook <paul@codesourcery.com> 2208*75fd0b74Schristos 2209*75fd0b74Schristos * elflink.c (elf_get_linked_section_vma, compare_link_order, 2210*75fd0b74Schristos elf_fixup_link_order): New functions. 2211*75fd0b74Schristos (bfd_elf_final_link): Call elf_fixup_link_order. 2212*75fd0b74Schristos 2213*75fd0b74Schristos2004-07-21 Alexandre Oliva <aoliva@redhat.com> 2214*75fd0b74Schristos 2215*75fd0b74Schristos * elf-bfd.h (ELF_COMMON_DEF_P): New. 2216*75fd0b74Schristos * elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle 2217*75fd0b74Schristos common definitions. 2218*75fd0b74Schristos * elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of 2219*75fd0b74Schristos _bfd_elf_symbol_refs_local_p. 2220*75fd0b74Schristos * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common 2221*75fd0b74Schristos symbols. 2222*75fd0b74Schristos 2223*75fd0b74Schristos2004-07-19 H.J. Lu <hongjiu.lu@intel.com> 2224*75fd0b74Schristos 2225*75fd0b74Schristos * bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and 2226*75fd0b74Schristos DYN_NO_NEEDED. 2227*75fd0b74Schristos (bfd_elf_get_dyn_lib_class): New prototype. 2228*75fd0b74Schristos * elf.c (bfd_elf_get_dyn_lib_class): New function. 2229*75fd0b74Schristos 2230*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED, 2231*75fd0b74Schristos DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED 2232*75fd0b74Schristos entry is needed. Issue an error if a DT_NEEDED entry is needed 2233*75fd0b74Schristos for a file marked DYN_NO_NEEDED. 2234*75fd0b74Schristos (elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit 2235*75fd0b74Schristos for DT_NEEDED tags. 2236*75fd0b74Schristos 2237*75fd0b74Schristos * bfd-in2.h: Regenerated. 2238*75fd0b74Schristos 2239*75fd0b74Schristos2004-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2240*75fd0b74Schristos 2241*75fd0b74Schristos * elflink.c (elf_section_complain_discarded): Don't complain in 2242*75fd0b74Schristos .PARISC.unwind. 2243*75fd0b74Schristos 2244*75fd0b74Schristos2004-07-10 James E Wilson <wilson@specifixinc.com> 2245*75fd0b74Schristos 2246*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter. 2247*75fd0b74Schristos (elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise. 2248*75fd0b74Schristos (elfNN_ia64_relax_section, elfNN_ia64_relocate_section, 2249*75fd0b74Schristos elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections): 2250*75fd0b74Schristos Fix callers. 2251*75fd0b74Schristos (elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64. Change 2252*75fd0b74Schristos bfd_put_64 to bfd_putl64. 2253*75fd0b74Schristos (elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise. 2254*75fd0b74Schristos 2255*75fd0b74Schristos2004-07-09 H.J. Lu <hongjiu.lu@intel.com> 2256*75fd0b74Schristos 2257*75fd0b74Schristos PR 240 2258*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in 2259*75fd0b74Schristos .init/.fini sections when trying to relax it. 2260*75fd0b74Schristos 2261*75fd0b74Schristos2004-07-09 Jie Zhang <zhangjie@magima.com.cn> 2262*75fd0b74Schristos 2263*75fd0b74Schristos * elf.c (assign_file_positions_for_segments): Make sure the 2264*75fd0b74Schristos .dynamic section is the first section in the PT_DYNAMIC segment. 2265*75fd0b74Schristos 2266*75fd0b74Schristos2004-07-09 Nick Clifton <nickc@redhat.com> 2267*75fd0b74Schristos 2268*75fd0b74Schristos * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf. 2269*75fd0b74Schristos * elf32-sh-symbian.c: Rename the sh_find_elf_flags and 2270*75fd0b74Schristos sh_elf_get_flags_from_mach functions so that they do not conflict 2271*75fd0b74Schristos when this target is built with other sh-elf targets. 2272*75fd0b74Schristos * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus 2273*75fd0b74Schristos suppression of this function. 2274*75fd0b74Schristos (sh_elf_find_flags): Likewise. 2275*75fd0b74Schristos 2276*75fd0b74Schristos2004-07-07 Tomer Levi <Tomer.Levi@nsc.com> 2277*75fd0b74Schristos 2278*75fd0b74Schristos * Makefile.am (ALL_MACHINES): Add cpu-crx.lo. 2279*75fd0b74Schristos (ALL_MACHINES_CFILES): Add cpu-crx.c. 2280*75fd0b74Schristos (BFD32_BACKENDS): Add elf32-crx.lo. 2281*75fd0b74Schristos (BFD32_BACKENDS_CFILES): Add elf32-crx.c. 2282*75fd0b74Schristos (cpu-crx.lo): New target. 2283*75fd0b74Schristos (elf32-crx.lo): New target. 2284*75fd0b74Schristos * Makefile.in: Regenerate. 2285*75fd0b74Schristos * archures.c (bfd_architecture): Add bfd_{arch,mach}_crx. 2286*75fd0b74Schristos (bfd_archures_list): Add bfd_crx_arch. 2287*75fd0b74Schristos * bfd-in2.h: Regenerate. 2288*75fd0b74Schristos * config.bfd: Handle crx-*-elf*, crx*. 2289*75fd0b74Schristos * configure.in: Handle bfd_elf32_crx_vec. 2290*75fd0b74Schristos * configure: Regenerate. 2291*75fd0b74Schristos * cpu-crx.c: New file. 2292*75fd0b74Schristos * elf32-crx.c: Likewise. 2293*75fd0b74Schristos * libbfd.h: Regenerate. 2294*75fd0b74Schristos * reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8, 2295*75fd0b74Schristos BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24, 2296*75fd0b74Schristos BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22, 2297*75fd0b74Schristos BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16, 2298*75fd0b74Schristos BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16, 2299*75fd0b74Schristos BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32 2300*75fd0b74Schristos * targets.c (bfd_elf32_crx_vec): Declare. 2301*75fd0b74Schristos (bfd_target_vector): Add bfd_elf32_crx_vec. 2302*75fd0b74Schristos 2303*75fd0b74Schristos2004-07-06 Nick Clifton <nickc@redhat.com> 2304*75fd0b74Schristos 2305*75fd0b74Schristos * config.bfd: Add sh-symbian-elf target. 2306*75fd0b74Schristos * configure.in: Add bfd_elf32_shl_symbian_vec. 2307*75fd0b74Schristos * configure: Regenerate. 2308*75fd0b74Schristos * elf-bfd.h (struct elf_backend_data): Add new field 2309*75fd0b74Schristos 'check_directives'. 2310*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Invoke the 2311*75fd0b74Schristos check_directives function, if defined. 2312*75fd0b74Schristos * elfxx-target.h: Provide a default, NULL definition for 2313*75fd0b74Schristos check_directives. 2314*75fd0b74Schristos * targets.c: Add bfd_elf32_shl_symbian_vec. 2315*75fd0b74Schristos * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary 2316*75fd0b74Schristos definition. 2317*75fd0b74Schristos (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo, 2318*75fd0b74Schristos * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise. 2319*75fd0b74Schristos (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have 2320*75fd0b74Schristos not already been defined. 2321*75fd0b74Schristos * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED. 2322*75fd0b74Schristos * sh-symbian.c: New file. Provide functions to support the 2323*75fd0b74Schristos * sh-symbian-elf target. 2324*75fd0b74Schristos * Makefile.am: Add elf32-sh-symbian.c 2325*75fd0b74Schristos * Makefile.in: Regenerate. 2326*75fd0b74Schristos 2327*75fd0b74Schristos2004-07-05 Andrew Stubbs <andrew.stubbs@superh.com> 2328*75fd0b74Schristos 2329*75fd0b74Schristos * elf32-sh.c: Include ../opcodes/sh-opc.h. 2330*75fd0b74Schristos * Makefile.am: Ran make dep-am. 2331*75fd0b74Schristos * Makefile.in: Ran make dep-in. 2332*75fd0b74Schristos 2333*75fd0b74Schristos2004-07-03 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com> 2334*75fd0b74Schristos 2335*75fd0b74Schristos * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak 2336*75fd0b74Schristos externals properly. 2337*75fd0b74Schristos 2338*75fd0b74Schristos2004-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com> 2339*75fd0b74Schristos 2340*75fd0b74Schristos * config.bfd: Add want64 to configuration target s390-*-linux*. 2341*75fd0b74Schristos 2342*75fd0b74Schristos2004-07-01 H.J. Lu <hongjiu.lu@intel.com> 2343*75fd0b74Schristos 2344*75fd0b74Schristos * bfd.c (bfd_get_section_ident): New. 2345*75fd0b74Schristos 2346*75fd0b74Schristos * elflink.c (elf_link_read_relocs_from_section): Call 2347*75fd0b74Schristos bfd_get_section_ident to identify the section when reporting 2348*75fd0b74Schristos error. 2349*75fd0b74Schristos (_bfd_elf_link_output_relocs): Likewise. 2350*75fd0b74Schristos (elf_link_output_extsym): Likewise. 2351*75fd0b74Schristos (elf_link_input_bfd): Likewise. 2352*75fd0b74Schristos (bfd_elf_gc_record_vtinherit): Likewise. 2353*75fd0b74Schristos 2354*75fd0b74Schristos * bfd-in2.h: Regenerated. 2355*75fd0b74Schristos 2356*75fd0b74Schristos2004-07-01 Jie Zhang <zhangjie@magima.com.cn> 2357*75fd0b74Schristos Nick Clifton <nickc@redhat.com> 2358*75fd0b74Schristos 2359*75fd0b74Schristos PR 204 2360*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number 2361*75fd0b74Schristos of section symbols to mips_elf_sort_hash_table (). 2362*75fd0b74Schristos 2363*75fd0b74Schristos2004-07-01 Alan Modra <amodra@bigpond.net.au> 2364*75fd0b74Schristos 2365*75fd0b74Schristos * elflink.c (elf_section_ignore_discarded_relocs): Revert last 2366*75fd0b74Schristos change. Comment. 2367*75fd0b74Schristos (elf_section_complain_discarded): New function. Handle 2368*75fd0b74Schristos .gcc_except_table too. 2369*75fd0b74Schristos (elf_link_input_bfd): Rewrite handling of relocs against symbols 2370*75fd0b74Schristos in discarded sections. 2371*75fd0b74Schristos * elf-bfd.h (elf_discarded_section): Protect macro arg. 2372*75fd0b74Schristos 2373*75fd0b74Schristos2004-06-30 James E Wilson <wilson@specifixinc.com> 2374*75fd0b74Schristos 2375*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff. Initialize 2376*75fd0b74Schristos to NULL. Call get_pltoff if NULL and NEED_PLTOFF is true. 2377*75fd0b74Schristos 2378*75fd0b74Schristos2004-06-30 H.J. Lu <hongjiu.lu@intel.com> 2379*75fd0b74Schristos 2380*75fd0b74Schristos PR 233 2381*75fd0b74Schristos * elflink.c (elf_link_input_bfd): Issue an error for non-debug 2382*75fd0b74Schristos local references to discarded sections and report their 2383*75fd0b74Schristos locations. 2384*75fd0b74Schristos 2385*75fd0b74Schristos2004-06-30 Alan Modra <amodra@bigpond.net.au> 2386*75fd0b74Schristos 2387*75fd0b74Schristos * elflink.c (elf_section_ignore_discarded_relocs): Don't test 2388*75fd0b74Schristos sec_info_type, test section name instead. 2389*75fd0b74Schristos 2390*75fd0b74Schristos2004-06-29 H.J. Lu <hongjiu.lu@intel.com> 2391*75fd0b74Schristos 2392*75fd0b74Schristos PR 240 2393*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch 2394*75fd0b74Schristos in .init/.fini sections. 2395*75fd0b74Schristos 2396*75fd0b74Schristos2004-06-29 Bob Wilson <bob.wilson@acm.org> 2397*75fd0b74Schristos 2398*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_relocate_section): Use 2399*75fd0b74Schristos bfd_get_section_limit. 2400*75fd0b74Schristos 2401*75fd0b74Schristos2004-06-29 Bob Wilson <bob.wilson@acm.org> 2402*75fd0b74Schristos 2403*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the 2404*75fd0b74Schristos output section size. 2405*75fd0b74Schristos 2406*75fd0b74Schristos2004-06-29 Alan Modra <amodra@bigpond.net.au> 2407*75fd0b74Schristos 2408*75fd0b74Schristos * elf64-mmix.c (mmix_set_relaxable_size): Save original size in 2409*75fd0b74Schristos rawsize. 2410*75fd0b74Schristos (mmix_elf_perform_relocation): Adjust for above change. 2411*75fd0b74Schristos (mmix_elf_relocate_section): Likewise. 2412*75fd0b74Schristos (mmix_elf_relax_section): Likewise. Use output_section->rawsize. 2413*75fd0b74Schristos (mmix_elf_get_section_contents): Delete. 2414*75fd0b74Schristos (bfd_elf64_get_section_contents): Delete. 2415*75fd0b74Schristos (mmix_elf_relocate_section): Zero stub area. 2416*75fd0b74Schristos * linker.c (default_indirect_link_order): Alloc max of section size 2417*75fd0b74Schristos and rawsize. 2418*75fd0b74Schristos * simple.c (bfd_simple_get_relocated_section_contents): Likewise. 2419*75fd0b74Schristos * section.c (bfd_malloc_and_get_section): Likewise. 2420*75fd0b74Schristos (struct bfd_section): Update rawsize comment. 2421*75fd0b74Schristos * bfd-in2.h: Regenerate. 2422*75fd0b74Schristos 2423*75fd0b74Schristos * reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize. 2424*75fd0b74Schristos 2425*75fd0b74Schristos2004-06-29 Alan Modra <amodra@bigpond.net.au> 2426*75fd0b74Schristos 2427*75fd0b74Schristos * bfd-in.h (bfd_get_section_limit): Define. 2428*75fd0b74Schristos * reloc.c (bfd_perform_relocation, bfd_install_relocation) 2429*75fd0b74Schristos (_bfd_final_link_relocate): Use bfd_get_section_limit. 2430*75fd0b74Schristos * aout-tic30.c (tic30_aout_final_link_relocate): Likewise. 2431*75fd0b74Schristos * coff-arm.c (coff_arm_relocate_section): Likewise. 2432*75fd0b74Schristos * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): Likewise. 2433*75fd0b74Schristos * cpu-ns32k.c (do_ns32k_reloc): Likewise. 2434*75fd0b74Schristos (bfd_ns32k_final_link_relocate): Likewise. 2435*75fd0b74Schristos * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise. 2436*75fd0b74Schristos * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise. 2437*75fd0b74Schristos * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc) 2438*75fd0b74Schristos (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise. 2439*75fd0b74Schristos * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc) 2440*75fd0b74Schristos (m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise. 2441*75fd0b74Schristos * elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise. 2442*75fd0b74Schristos * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise. 2443*75fd0b74Schristos * elf32-or32.c (or32_elf_consth_reloc): Likewise. 2444*75fd0b74Schristos * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Likewise. 2445*75fd0b74Schristos * elf32-s390.c (s390_elf_ldisp_reloc): Likewise. 2446*75fd0b74Schristos * elf32-sh.c (sh_elf_reloc_loop): Likewise. 2447*75fd0b74Schristos * elf32-sparc.c (sparc_elf_wdisp16_reloc): Likewise. 2448*75fd0b74Schristos (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc): Likwise. 2449*75fd0b74Schristos * elf32-v850.c (v850_elf_reloc): Likewise. 2450*75fd0b74Schristos * elf32-xstormy16.c (xstormy16_elf_24_reloc): Likewise. 2451*75fd0b74Schristos * elf32-xtensa.c (bfd_elf_xtensa_reloc): Likewise. 2452*75fd0b74Schristos * elf64-alpha.c (elf64_alpha_reloc_gpdisp): Likewise. 2453*75fd0b74Schristos * elf64-mips.c (mips_elf64_gprel32_reloc) 2454*75fd0b74Schristos (mips16_gprel_reloc): Likewise. 2455*75fd0b74Schristos * elf64-mmix.c (mmix_elf_reloc): Likewise. 2456*75fd0b74Schristos * elf64-s390.c (s390_elf_ldisp_reloc): Likewise. 2457*75fd0b74Schristos * elf64-sparc.c (init_insn_reloc): Likewise. 2458*75fd0b74Schristos * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise. 2459*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp) 2460*75fd0b74Schristos (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc) 2461*75fd0b74Schristos (_bfd_mips_elf_generic_reloc): Likewise. 2462*75fd0b74Schristos * bfd-in2.h: Regenerate. 2463*75fd0b74Schristos 2464*75fd0b74Schristos2004-06-28 Alan Modra <amodra@bigpond.net.au> 2465*75fd0b74Schristos 2466*75fd0b74Schristos * bfd-in.h (struct stab_info): Move from stabs.c. 2467*75fd0b74Schristos * stabs.c (struct stab_link_includes_table): Delete. 2468*75fd0b74Schristos (stab_link_includes_lookup): Delete. 2469*75fd0b74Schristos (_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one 2470*75fd0b74Schristos level of indirection from sinfo parm. 2471*75fd0b74Schristos (_bfd_link_section_stabs): Likewise. Set SEC_LINKER_CREATED on 2472*75fd0b74Schristos stabstr section. Adjust hash table accesses. 2473*75fd0b74Schristos * coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents 2474*75fd0b74Schristos alloc. Adjust stab_info test. 2475*75fd0b74Schristos * cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info. 2476*75fd0b74Schristos (_bfd_coff_final_link): Adjust stab_info test. 2477*75fd0b74Schristos (_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections. 2478*75fd0b74Schristos * elf-bfd.h (struct elf_link_hash_table): Include struct stab_info 2479*75fd0b74Schristos in place. 2480*75fd0b74Schristos * libcoff-in.h (struct coff_link_hash_table): Likewise. 2481*75fd0b74Schristos * elf.c (_bfd_elf_link_hash_table_init): Clear stab_info. 2482*75fd0b74Schristos * elflink.c (bfd_elf_final_link): Don't attempt to link linker created 2483*75fd0b74Schristos stabstr section. Adjust stab_info test. 2484*75fd0b74Schristos * libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs) 2485*75fd0b74Schristos (_bfd_write_stab_strings): Adjust prototypes. 2486*75fd0b74Schristos * libbfd.h: Regenerate. 2487*75fd0b74Schristos * libcoff.h: Regenerate. 2488*75fd0b74Schristos * bfd-in2.h: Regenerate. 2489*75fd0b74Schristos 2490*75fd0b74Schristos2004-06-27 Mark Kettenis <kettenis@gnu.org> 2491*75fd0b74Schristos 2492*75fd0b74Schristos From Miod Vallat <miod@online.fr>: 2493*75fd0b74Schristos * aoutx.h (NAME(aout,machine_type)): Handle bfd_arch_m88k. 2494*75fd0b74Schristos 2495*75fd0b74Schristos2004-06-26 Alexandre Oliva <aoliva@redhat.com> 2496*75fd0b74Schristos 2497*75fd0b74Schristos * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): Delete. 2498*75fd0b74Schristos (struct elf32_mn10300_link_hash_entry): Remove 2499*75fd0b74Schristos pcrel_relocs_copied. 2500*75fd0b74Schristos (mn10300_elf_check_relocs): Only reserve dynamic relocations for 2501*75fd0b74Schristos R_MN10300_32. Don't adjust pcrel_relocs_copied. 2502*75fd0b74Schristos (mn10300_elf_final_link_relocate): Fail for direct, pc-relative 2503*75fd0b74Schristos and gotoff relocations if the symbol doesn't bind locally. Use 2504*75fd0b74Schristos _bfd_elf_symbol_refs_local_p to test. Don't create dynamic 2505*75fd0b74Schristos relocation for PCREL32. 2506*75fd0b74Schristos (mn10300_elf_relocate_section): Use _bfd_elf_symbol_refs_local_p 2507*75fd0b74Schristos to test whether a symbol binds locally. 2508*75fd0b74Schristos (elf32_mn10300_link_hash_newfunc): Don't initialize 2509*75fd0b74Schristos pcrel_relocs_copied. 2510*75fd0b74Schristos (_bfd_mn10300_elf_discard_copies): Delete. 2511*75fd0b74Schristos (_bfd_mn10300_elf_size_dynamic_sections): Don't call it. 2512*75fd0b74Schristos 2513*75fd0b74Schristos2004-06-26 Mark Kettenis <kettenis@gnu.org> 2514*75fd0b74Schristos 2515*75fd0b74Schristos * config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*. 2516*75fd0b74Schristos 2517*75fd0b74Schristos2004-06-25 Joel Brobecker <brobecker@gnat.com> 2518*75fd0b74Schristos 2519*75fd0b74Schristos * som.c (som_set_reloc_info): Correct small typo. 2520*75fd0b74Schristos 2521*75fd0b74Schristos2004-06-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> 2522*75fd0b74Schristos 2523*75fd0b74Schristos * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_GOTOFF. 2524*75fd0b74Schristos (m32r_elf_relocate_section): Changed for R_M32R_GOTOFF. 2525*75fd0b74Schristos (m32r_elf_gcsweep_hook): Likewise. 2526*75fd0b74Schristos (m32r_elf_check_relocs): Likewise. 2527*75fd0b74Schristos (m32r_elf_howto_table): Added R_M32R_GOTOFF_HI_ULO, 2528*75fd0b74Schristos R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO. 2529*75fd0b74Schristos * reloc.c: Added BFD_RELOC_M32R_GOTOFF_HI_ULO, 2530*75fd0b74Schristos BFD_RELOC_M32R_GOTOFF_HI_SLO and BFD_RELOC_M32R_GOTOFF_LO. 2531*75fd0b74Schristos * bfd-in2.h: Regenerated. 2532*75fd0b74Schristos * libbfd.h: Regenerated. 2533*75fd0b74Schristos 2534*75fd0b74Schristos2004-06-24 H.J. Lu <hongjiu.lu@intel.com> 2535*75fd0b74Schristos 2536*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_check_relocs): Warn overflow 2537*75fd0b74Schristos relocation symbol. 2538*75fd0b74Schristos (elf64_x86_64_relocate_section): Issue an error for 2539*75fd0b74Schristos R_X86_64_PC8, R_X86_64_PC16 and R_X86_64_PC32 relocations 2540*75fd0b74Schristos against global symbols when building shared library. 2541*75fd0b74Schristos 2542*75fd0b74Schristos2004-06-24 Alan Modra <amodra@bigpond.net.au> 2543*75fd0b74Schristos 2544*75fd0b74Schristos * section.c (struct sec): Rename "_cooked_size" to "size". 2545*75fd0b74Schristos Rename "_raw_size" to "rawsize". 2546*75fd0b74Schristos (STD_SECTION): Adjust comments. 2547*75fd0b74Schristos (bfd_set_section_size, bfd_get_section_contents): Use size. 2548*75fd0b74Schristos (bfd_malloc_and_get_section): New function. 2549*75fd0b74Schristos * bfd-in.h (bfd_section_size, bfd_get_section_size): Use size. 2550*75fd0b74Schristos * coff-sh.c (sh_relax_section): Alloc coff_section_data struct early. 2551*75fd0b74Schristos Correctly free reloc and contents memory. 2552*75fd0b74Schristos * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete FIXME 2553*75fd0b74Schristos and fake CIE now that we can shink section size to zero. 2554*75fd0b74Schristos (_bfd_elf_write_section_eh_frame): Likewise.. 2555*75fd0b74Schristos * elf32-ppc.c (ppc_elf_relax_section): Delay reading section contents. 2556*75fd0b74Schristos * elf-m10300.c (mn10300_elf_final_link_relocate): Don't use 2557*75fd0b74Schristos _bfd_stab_section_offset. Use _bfd_elf_section_offset. 2558*75fd0b74Schristos * stabs.c (_bfd_stab_section_offset_): Remove unused args and 2559*75fd0b74Schristos unneeded indirection. 2560*75fd0b74Schristos * elf.c (_bfd_elf_section_offset): .. and update call. 2561*75fd0b74Schristos * libbfd-in.h (_bfd_stab_section_offset): Update prototype. 2562*75fd0b74Schristos * libbfd.h: Regenerate. 2563*75fd0b74Schristos * bfd-in2.h: Regenerate. 2564*75fd0b74Schristos 2565*75fd0b74Schristos Replace occurrences of "_raw_size" and "_cooked_size" in most places 2566*75fd0b74Schristos with "size". Set new "rawsize" for stabs, eh_frame, and SEC_MERGE 2567*75fd0b74Schristos sections. Use "rawsize", if non-zero, for bfd_get_section_contents 2568*75fd0b74Schristos calls if the section might be a stabs, eh_frame, or SEC_MERGE section. 2569*75fd0b74Schristos Similarly use "rawsize", if non-zero, in reloc functions to validate 2570*75fd0b74Schristos reloc addresses. Use new bfd_malloc_and_get_section in most places 2571*75fd0b74Schristos where bfd_get_section_contents was called. Expand all occurrences of 2572*75fd0b74Schristos bfd_section_size and bfd_get_section_size. Rename "raw_size" var in 2573*75fd0b74Schristos grok_prstatus and similar functions to "size". 2574*75fd0b74Schristos * aix386-core.c (aix386_core_file_p): .. 2575*75fd0b74Schristos * aix5ppc-core.c (xcoff64_core_p): .. 2576*75fd0b74Schristos * aout-adobe.c (aout_adobe_callback, aout_adobe_write_object_contents, 2577*75fd0b74Schristos aout_adobe_set_section_contents): .. 2578*75fd0b74Schristos * aout-target.h (callback): .. 2579*75fd0b74Schristos * aout-tic30.c (tic30_aout_callback, tic30_aout_final_link_relocate, 2580*75fd0b74Schristos MY_bfd_final_link): .. 2581*75fd0b74Schristos * aoutf1.h (sunos4_core_file_p): .. 2582*75fd0b74Schristos * aoutx.h (some_aout_object_p, adjust_o_magic, adjust_z_magic, 2583*75fd0b74Schristos adjust_n_magic, adjust_sizes_and_vmas, translate_from_native_sym_flags, 2584*75fd0b74Schristos final_link, aout_link_input_section): .. 2585*75fd0b74Schristos * binary.c (binary_object_p, binary_canonicalize_symtab, 2586*75fd0b74Schristos binary_set_section_contents): .. 2587*75fd0b74Schristos * bout.c (b_out_callback, b_out_write_object_contents, 2588*75fd0b74Schristos b_out_set_section_contents, b_out_bfd_relax_section, 2589*75fd0b74Schristos b_out_bfd_get_relocated_section_contents): .. 2590*75fd0b74Schristos * cisco-core.c (cisco_core_file_validate): .. 2591*75fd0b74Schristos * coff-alpha.c (alpha_ecoff_object_p, 2592*75fd0b74Schristos alpha_ecoff_get_relocated_section_conten, alpha_relocate_section): .. 2593*75fd0b74Schristos * coff-arm.c (coff_arm_relocate_section, 2594*75fd0b74Schristos bfd_arm_allocate_interworking_sections): .. 2595*75fd0b74Schristos * coff-h8300.c (h8300_reloc16_extra_cases, 2596*75fd0b74Schristos h8300_bfd_link_add_symbols): .. 2597*75fd0b74Schristos * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): .. 2598*75fd0b74Schristos * coff-ppc.c (coff_ppc_relocate_section, ppc_allocate_toc_section, 2599*75fd0b74Schristos ppc_bfd_coff_final_link): .. 2600*75fd0b74Schristos * coff-rs6000.c (xcoff_reloc_type_br, xcoff_ppc_relocate_section): .. 2601*75fd0b74Schristos * coff-sh.c (sh_relax_section, sh_relax_delete_bytes, 2602*75fd0b74Schristos sh_align_loads, sh_coff_get_relocated_section_contents): .. 2603*75fd0b74Schristos * coff64-rs6000.c (xcoff64_write_object_contents, 2604*75fd0b74Schristos xcoff64_reloc_type_br, xcoff64_ppc_relocate_section): .. 2605*75fd0b74Schristos * coffcode.h (coff_compute_section_file_positions, 2606*75fd0b74Schristos coff_write_object_contents): .. 2607*75fd0b74Schristos * coffgen.c (make_a_section_from_file, coff_write_symbols, 2608*75fd0b74Schristos coff_section_symbol, build_debug_section): .. 2609*75fd0b74Schristos * cofflink.c (coff_link_add_symbols, _bfd_coff_final_link, 2610*75fd0b74Schristos process_embedded_commands, _bfd_coff_link_input_bfd, 2611*75fd0b74Schristos _bfd_coff_write_global_sym): .. 2612*75fd0b74Schristos * cpu-arm.c (bfd_arm_update_notes, bfd_arm_get_mach_from_notes): .. 2613*75fd0b74Schristos * cpu-ns32k.c (do_ns32k_reloc, _bfd_ns32k_final_link_relocate): .. 2614*75fd0b74Schristos * dwarf1.c (parse_line_table, _bfd_dwarf1_find_nearest_line): .. 2615*75fd0b74Schristos * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info, 2616*75fd0b74Schristos _bfd_dwarf2_find_nearest_line): .. 2617*75fd0b74Schristos * ecoff.c (bfd_debug_section, ecoff_set_symbol_info, 2618*75fd0b74Schristos ecoff_compute_section_file_positions, 2619*75fd0b74Schristos _bfd_ecoff_write_object_contents, ecoff_indirect_link_order): .. 2620*75fd0b74Schristos * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame, 2621*75fd0b74Schristos _bfd_elf_discard_section_eh_frame_hdr, 2622*75fd0b74Schristos _bfd_elf_maybe_strip_eh_frame_hdr, _bfd_elf_eh_frame_section_offset, 2623*75fd0b74Schristos _bfd_elf_write_section_eh_frame, 2624*75fd0b74Schristos _bfd_elf_write_section_eh_frame_hdr): .. 2625*75fd0b74Schristos * elf-hppa.h (elf_hppa_sort_unwind): .. 2626*75fd0b74Schristos * elf-m10200.c (mn10200_elf_relax_section, 2627*75fd0b74Schristos mn10200_elf_relax_delete_bytes, 2628*75fd0b74Schristos mn10200_elf_get_relocated_section_contents): .. 2629*75fd0b74Schristos * elf-m10300.c (_bfd_mn10300_elf_create_got_section, 2630*75fd0b74Schristos mn10300_elf_check_relocs, mn10300_elf_relax_section, 2631*75fd0b74Schristos mn10300_elf_relax_delete_bytes, 2632*75fd0b74Schristos mn10300_elf_get_relocated_section_contents, 2633*75fd0b74Schristos _bfd_mn10300_elf_adjust_dynamic_symbol, 2634*75fd0b74Schristos _bfd_mn10300_elf_discard_copies, 2635*75fd0b74Schristos _bfd_mn10300_elf_size_dynamic_sections, 2636*75fd0b74Schristos _bfd_mn10300_elf_finish_dynamic_sections): .. 2637*75fd0b74Schristos * elf.c (_bfd_elf_print_private_bfd_data, bfd_elf_get_bfd_needed_list, 2638*75fd0b74Schristos _bfd_elf_make_section_from_phdr, elf_fake_sections, 2639*75fd0b74Schristos bfd_elf_set_group_contents, map_sections_to_segments, 2640*75fd0b74Schristos elf_sort_sections, assign_file_positions_for_segments, 2641*75fd0b74Schristos SECTION_SIZE, copy_private_bfd_data, 2642*75fd0b74Schristos _bfd_elf_get_dynamic_reloc_upper_bound, 2643*75fd0b74Schristos _bfd_elf_canonicalize_dynamic_reloc, elfcore_maybe_make_sect, 2644*75fd0b74Schristos _bfd_elfcore_make_pseudosection, elfcore_grok_prstatus, 2645*75fd0b74Schristos elfcore_grok_lwpstatus, elfcore_grok_win32pstatus, 2646*75fd0b74Schristos elfcore_grok_note, elfcore_grok_nto_status, elfcore_grok_nto_gregs, 2647*75fd0b74Schristos _bfd_elf_rel_local_sym, _bfd_elf_get_synthetic_symtab): .. 2648*75fd0b74Schristos * elf32-arm.h (bfd_elf32_arm_allocate_interworking_sect, 2649*75fd0b74Schristos bfd_elf32_arm_process_before_allocation, 2650*75fd0b74Schristos elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs, 2651*75fd0b74Schristos elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections, 2652*75fd0b74Schristos elf32_arm_write_section): .. 2653*75fd0b74Schristos * elf32-cris.c (cris_elf_grok_prstatus, 2654*75fd0b74Schristos elf_cris_finish_dynamic_sections, cris_elf_gc_sweep_hook, 2655*75fd0b74Schristos elf_cris_adjust_gotplt_to_got, elf_cris_adjust_dynamic_symbol, 2656*75fd0b74Schristos cris_elf_check_relocs, elf_cris_size_dynamic_sections, 2657*75fd0b74Schristos elf_cris_discard_excess_dso_dynamics, 2658*75fd0b74Schristos elf_cris_discard_excess_program_dynamics): .. 2659*75fd0b74Schristos * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): .. 2660*75fd0b74Schristos * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): .. 2661*75fd0b74Schristos * elf32-frv.c (_frvfdpic_add_dyn_reloc, _frvfdpic_add_rofixup, 2662*75fd0b74Schristos _frv_create_got_section, _frvfdpic_assign_plt_entries, 2663*75fd0b74Schristos elf32_frvfdpic_size_dynamic_sections, 2664*75fd0b74Schristos elf32_frvfdpic_modify_segment_map, 2665*75fd0b74Schristos elf32_frvfdpic_finish_dynamic_sections): .. 2666*75fd0b74Schristos * elf32-h8300.c (elf32_h8_relax_section, elf32_h8_relax_delete_bytes, 2667*75fd0b74Schristos elf32_h8_get_relocated_section_contents): .. 2668*75fd0b74Schristos * elf32-hppa.c (hppa_build_one_stub, hppa_size_one_stub, 2669*75fd0b74Schristos elf32_hppa_adjust_dynamic_symbol, allocate_plt_static, 2670*75fd0b74Schristos allocate_dynrelocs, elf32_hppa_size_dynamic_sections, group_sections, 2671*75fd0b74Schristos elf32_hppa_size_stubs, elf32_hppa_set_gp, elf32_hppa_build_stubs, 2672*75fd0b74Schristos elf32_hppa_finish_dynamic_sections): .. 2673*75fd0b74Schristos * elf32-i370.c (i370_elf_adjust_dynamic_symbol, 2674*75fd0b74Schristos i370_elf_size_dynamic_sections, i370_elf_check_relocs, 2675*75fd0b74Schristos i370_elf_finish_dynamic_sections): .. 2676*75fd0b74Schristos * elf32-i386.c (elf_i386_grok_prstatus, elf_i386_adjust_dynamic_symbol, 2677*75fd0b74Schristos allocate_dynrelocs, elf_i386_size_dynamic_sections, 2678*75fd0b74Schristos elf_i386_relocate_section, elf_i386_finish_dynamic_sections): .. 2679*75fd0b74Schristos * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc, 2680*75fd0b74Schristos i860_howto_highadj_reloc, i860_howto_splitn_reloc): .. 2681*75fd0b74Schristos * elf32-ip2k.c (ip2k_is_switch_table_128, 2682*75fd0b74Schristos ip2k_relax_switch_table_128, ip2k_is_switch_table_256, 2683*75fd0b74Schristos ip2k_relax_switch_table_256, ip2k_elf_relax_section, 2684*75fd0b74Schristos adjust_all_relocations, ip2k_elf_relax_delete_bytes): .. 2685*75fd0b74Schristos * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc, 2686*75fd0b74Schristos m32r_elf_generic_reloc, m32r_elf_adjust_dynamic_symbol, 2687*75fd0b74Schristos allocate_dynrelocs, m32r_elf_size_dynamic_sections, 2688*75fd0b74Schristos m32r_elf_relocate_section, m32r_elf_finish_dynamic_sections, 2689*75fd0b74Schristos m32r_elf_relax_section, m32r_elf_relax_delete_bytes, 2690*75fd0b74Schristos m32r_elf_get_relocated_section_contents): .. 2691*75fd0b74Schristos * elf32-m68hc11.c (m68hc11_elf_build_one_stub, 2692*75fd0b74Schristos m68hc11_elf_size_one_stub, m68hc11_elf_relax_section, 2693*75fd0b74Schristos m68hc11_elf_relax_delete_bytes): .. 2694*75fd0b74Schristos * elf32-m68hc12.c (m68hc12_elf_build_one_stub, 2695*75fd0b74Schristos m68hc12_elf_size_one_stub): .. 2696*75fd0b74Schristos * elf32-m68hc1x.c (elf32_m68hc11_size_stubs, 2697*75fd0b74Schristos elf32_m68hc11_build_stubs, m68hc11_elf_special_reloc): .. 2698*75fd0b74Schristos * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_gc_sweep_hook, 2699*75fd0b74Schristos elf_m68k_adjust_dynamic_symbol, elf_m68k_size_dynamic_sections, 2700*75fd0b74Schristos elf_m68k_discard_copies, elf_m68k_finish_dynamic_sections): .. 2701*75fd0b74Schristos * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc, 2702*75fd0b74Schristos elf32_mips_grok_prstatus): .. 2703*75fd0b74Schristos * elf32-or32.c (or32_elf_consth_reloc): .. 2704*75fd0b74Schristos * elf32-ppc.c (ppc_elf_relax_section, ppc_elf_addr16_ha_reloc, 2705*75fd0b74Schristos elf_create_pointer_linker_section, ppc_elf_create_linker_section, 2706*75fd0b74Schristos ppc_elf_additional_program_headers, ppc_elf_adjust_dynamic_symbol, 2707*75fd0b74Schristos allocate_dynrelocs, ppc_elf_size_dynamic_sections, 2708*75fd0b74Schristos ppc_elf_finish_dynamic_sections, ppc_elf_grok_prstatus, 2709*75fd0b74Schristos ppc_elf_final_write_processing): .. 2710*75fd0b74Schristos * elf32-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol, 2711*75fd0b74Schristos allocate_dynrelocs, elf_s390_size_dynamic_sections, 2712*75fd0b74Schristos elf_s390_finish_dynamic_sections, elf_s390_grok_prstatus): .. 2713*75fd0b74Schristos * elf32-sh.c (sh_elf_reloc_loop, sh_elf_relax_section, 2714*75fd0b74Schristos sh_elf_relax_delete_bytes, sh_elf_align_loads, 2715*75fd0b74Schristos sh_elf_adjust_dynamic_symbol, allocate_dynrelocs, 2716*75fd0b74Schristos sh_elf_size_dynamic_sections, sh_elf_get_relocated_section_contents, 2717*75fd0b74Schristos sh_elf_finish_dynamic_sections, elf32_shlin_grok_prstatus): .. 2718*75fd0b74Schristos * elf32-sh64-com.c (sh64_address_in_cranges, 2719*75fd0b74Schristos sh64_get_contents_type): .. 2720*75fd0b74Schristos * elf32-sh64.c (sh64_find_section_for_address, 2721*75fd0b74Schristos sh64_elf_final_write_processing): .. 2722*75fd0b74Schristos * elf32-sparc.c (sparc_elf_wdisp16_reloc, sparc_elf_hix22_reloc, 2723*75fd0b74Schristos sparc_elf_lox10_reloc, elf32_sparc_adjust_dynamic_symbol, 2724*75fd0b74Schristos allocate_dynrelocs, elf32_sparc_size_dynamic_sections, 2725*75fd0b74Schristos elf32_sparc_relocate_section, elf32_sparc_finish_dynamic_sections): .. 2726*75fd0b74Schristos * elf32-v850.c (v850_elf_reloc, v850_elf_relax_section): .. 2727*75fd0b74Schristos * elf32-vax.c (elf_vax_check_relocs, elf_vax_adjust_dynamic_symbol, 2728*75fd0b74Schristos elf_vax_size_dynamic_sections, elf_vax_discard_copies, 2729*75fd0b74Schristos elf_vax_instantiate_got_entries, elf_vax_relocate_section, 2730*75fd0b74Schristos elf_vax_finish_dynamic_sections): .. 2731*75fd0b74Schristos * elf32-xstormy16.c (xstormy16_elf_24_reloc, 2732*75fd0b74Schristos xstormy16_elf_check_relocs, xstormy16_relax_plt_check, 2733*75fd0b74Schristos xstormy16_elf_relax_section, xstormy16_elf_always_size_sections, 2734*75fd0b74Schristos xstormy16_elf_finish_dynamic_sections): .. 2735*75fd0b74Schristos * elf32-xtensa.c (xtensa_read_table_entries, 2736*75fd0b74Schristos elf_xtensa_allocate_got_size, elf_xtensa_allocate_local_got_size, 2737*75fd0b74Schristos elf_xtensa_size_dynamic_sections, elf_xtensa_do_reloc, 2738*75fd0b74Schristos bfd_elf_xtensa_reloc, elf_xtensa_relocate_section, 2739*75fd0b74Schristos elf_xtensa_combine_prop_entries, elf_xtensa_finish_dynamic_sections, 2740*75fd0b74Schristos elf_xtensa_discard_info_for_section, elf_xtensa_grok_prstatus, 2741*75fd0b74Schristos get_relocation_opcode, retrieve_contents, find_relaxable_sections, 2742*75fd0b74Schristos collect_source_relocs, is_resolvable_asm_expansion, remove_literals, 2743*75fd0b74Schristos relax_section, shrink_dynamic_reloc_sections, relax_property_section, 2744*75fd0b74Schristos xtensa_callback_required_dependence): .. 2745*75fd0b74Schristos * elf64-alpha.c (elf64_alpha_reloc_gpdisp, elf64_alpha_relax_section, 2746*75fd0b74Schristos elf64_alpha_check_relocs, elf64_alpha_adjust_dynamic_symbol, 2747*75fd0b74Schristos elf64_alpha_calc_got_offsets_for_symbol, elf64_alpha_calc_got_offsets, 2748*75fd0b74Schristos elf64_alpha_size_plt_section, elf64_alpha_size_plt_section_1, 2749*75fd0b74Schristos elf64_alpha_always_size_sections, elf64_alpha_calc_dynrel_sizes, 2750*75fd0b74Schristos elf64_alpha_size_rela_got_section, elf64_alpha_size_rela_got_1, 2751*75fd0b74Schristos elf64_alpha_size_dynamic_sections, elf64_alpha_emit_dynrel, 2752*75fd0b74Schristos elf64_alpha_finish_dynamic_sections, elf64_alpha_final_link): .. 2753*75fd0b74Schristos * elf64-hppa.c (allocate_dynrel_entries, 2754*75fd0b74Schristos elf64_hppa_size_dynamic_sections, 2755*75fd0b74Schristos elf64_hppa_finish_dynamic_sections): .. 2756*75fd0b74Schristos * elf64-mips.c (mips_elf64_gprel32_reloc, mips16_gprel_reloc, 2757*75fd0b74Schristos mips_elf64_canonicalize_dynamic_reloc, mips_elf64_slurp_reloc_table, 2758*75fd0b74Schristos elf64_mips_grok_prstatus): .. 2759*75fd0b74Schristos * elf64-mmix.c (mmix_elf_perform_relocation, mmix_elf_reloc, 2760*75fd0b74Schristos mmix_elf_relocate_section, mmix_elf_final_link, 2761*75fd0b74Schristos mmix_set_relaxable_size, _bfd_mmix_after_linker_allocation, 2762*75fd0b74Schristos mmix_elf_relax_section, mmix_elf_get_section_contents): .. 2763*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_object_p, ppc64_elf_grok_prstatus, 2764*75fd0b74Schristos ppc64_elf_check_relocs, ppc64_elf_func_desc_adjust, 2765*75fd0b74Schristos ppc64_elf_adjust_dynamic_symbol, ppc64_elf_edit_opd, 2766*75fd0b74Schristos allocate_dynrelocs, ppc64_elf_size_dynamic_sections, 2767*75fd0b74Schristos ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_next_toc_section, 2768*75fd0b74Schristos toc_adjusting_stub_needed, group_sections, ppc64_elf_size_stubs, 2769*75fd0b74Schristos ppc64_elf_build_stubs, ppc64_elf_relocate_section, 2770*75fd0b74Schristos ppc64_elf_finish_dynamic_sections): .. 2771*75fd0b74Schristos * elf64-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol, 2772*75fd0b74Schristos allocate_dynrelocs, elf_s390_size_dynamic_sections, 2773*75fd0b74Schristos elf_s390_finish_dynamic_sections): .. 2774*75fd0b74Schristos * elf64-sh64.c (sh_elf64_get_relocated_section_contents, 2775*75fd0b74Schristos sh_elf64_check_relocs, sh64_elf64_adjust_dynamic_symbol, 2776*75fd0b74Schristos sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections, 2777*75fd0b74Schristos sh64_elf64_finish_dynamic_sections): .. 2778*75fd0b74Schristos * elf64-sparc.c (sparc64_elf_slurp_reloc_table, init_insn_reloc, 2779*75fd0b74Schristos sparc64_elf_check_relocs, sparc64_elf_adjust_dynamic_symbol, 2780*75fd0b74Schristos sparc64_elf_size_dynamic_sections, sparc64_elf_relocate_section, 2781*75fd0b74Schristos sparc64_elf_finish_dynamic_symbol, 2782*75fd0b74Schristos sparc64_elf_finish_dynamic_sections): .. 2783*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_grok_prstatus, 2784*75fd0b74Schristos elf64_x86_64_adjust_dynamic_symbol, allocate_dynrelocs, 2785*75fd0b74Schristos elf64_x86_64_size_dynamic_sections, elf64_x86_64_relocate_section, 2786*75fd0b74Schristos elf64_x86_64_finish_dynamic_sections): .. 2787*75fd0b74Schristos * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): .. 2788*75fd0b74Schristos * elfcode.h (elf_slurp_reloc_table): .. 2789*75fd0b74Schristos * elflink.c (_bfd_elf_create_got_section, elf_add_dt_needed_tag, 2790*75fd0b74Schristos elf_finalize_dynstr, elf_link_add_object_symbols, 2791*75fd0b74Schristos bfd_elf_size_dynamic_sections, elf_link_sort_relocs, 2792*75fd0b74Schristos elf_link_input_bfd, bfd_elf_final_link, bfd_elf_discard_info): .. 2793*75fd0b74Schristos * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc, 2794*75fd0b74Schristos elf32_mips_grok_prstatus): .. 2795*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relax_section, allocate_dynrel_entries, 2796*75fd0b74Schristos elfNN_ia64_size_dynamic_sections, elfNN_ia64_install_dyn_reloc, 2797*75fd0b74Schristos elfNN_ia64_choose_gp, elfNN_ia64_final_link, 2798*75fd0b74Schristos elfNN_ia64_finish_dynamic_sections): .. 2799*75fd0b74Schristos * elfxx-mips.c (mips_elf_create_procedure_table, 2800*75fd0b74Schristos mips_elf_check_mips16_stubs, _bfd_mips_elf_gprel16_with_gp, 2801*75fd0b74Schristos _bfd_mips_elf_hi16_reloc, _bfd_mips_elf_generic_reloc, 2802*75fd0b74Schristos mips_elf_global_got_index, mips_elf_multi_got, 2803*75fd0b74Schristos mips_elf_create_compact_rel_section, mips_elf_calculate_relocation, 2804*75fd0b74Schristos mips_elf_allocate_dynamic_relocations, 2805*75fd0b74Schristos mips_elf_create_dynamic_relocation, _bfd_mips_elf_fake_sections, 2806*75fd0b74Schristos _bfd_mips_relax_section, _bfd_mips_elf_adjust_dynamic_symbol, 2807*75fd0b74Schristos _bfd_mips_elf_always_size_sections, 2808*75fd0b74Schristos _bfd_mips_elf_size_dynamic_sections, 2809*75fd0b74Schristos _bfd_mips_elf_finish_dynamic_symbol, 2810*75fd0b74Schristos _bfd_mips_elf_finish_dynamic_sections, 2811*75fd0b74Schristos _bfd_mips_elf_modify_segment_map, _bfd_mips_elf_discard_info, 2812*75fd0b74Schristos _bfd_mips_elf_write_section, _bfd_mips_elf_set_section_contents, 2813*75fd0b74Schristos _bfd_elf_mips_get_relocated_section_contents, 2814*75fd0b74Schristos _bfd_mips_elf_final_link, _bfd_mips_elf_merge_private_bfd_data): .. 2815*75fd0b74Schristos * hp300hpux.c (callback): .. 2816*75fd0b74Schristos * hppabsd-core.c (make_bfd_asection): .. 2817*75fd0b74Schristos * hpux-core.c (make_bfd_asection): .. 2818*75fd0b74Schristos * i386linux.c (linux_link_create_dynamic_sections, 2819*75fd0b74Schristos bfd_i386linux_size_dynamic_sections, linux_finish_dynamic_link): .. 2820*75fd0b74Schristos * i386msdos.c (msdos_write_object_contents): .. 2821*75fd0b74Schristos * i386os9k.c (os9k_callback, os9k_write_object_contents, 2822*75fd0b74Schristos os9k_set_section_contents): .. 2823*75fd0b74Schristos * ieee.c (parse_expression, ieee_slurp_external_symbols, 2824*75fd0b74Schristos ieee_slurp_sections, ieee_slurp_debug, ieee_slurp_section_data, 2825*75fd0b74Schristos ieee_write_section_part, do_with_relocs, do_as_repeat, 2826*75fd0b74Schristos do_without_relocs, ieee_write_debug_part, init_for_output, 2827*75fd0b74Schristos ieee_set_section_contents): .. 2828*75fd0b74Schristos * ihex.c (ihex_scan, ihex_read_section, ihex_get_section_contents): .. 2829*75fd0b74Schristos * irix-core.c (do_sections, make_bfd_asection): .. 2830*75fd0b74Schristos * libaout.h (aout_section_merge_with_text_p): .. 2831*75fd0b74Schristos * libbfd.c (_bfd_generic_get_section_contents, 2832*75fd0b74Schristos _bfd_generic_get_section_contents_in_window): .. 2833*75fd0b74Schristos * linker.c (default_indirect_link_order): .. 2834*75fd0b74Schristos * lynx-core.c (make_bfd_asection): .. 2835*75fd0b74Schristos * m68klinux.c (linux_link_create_dynamic_sections, 2836*75fd0b74Schristos bfd_m68klinux_size_dynamic_sections, linux_finish_dynamic_link): .. 2837*75fd0b74Schristos * mach-o.c (bfd_mach_o_make_bfd_section, 2838*75fd0b74Schristos bfd_mach_o_scan_read_dylinker, bfd_mach_o_scan_read_dylib, 2839*75fd0b74Schristos bfd_mach_o_scan_read_thread, bfd_mach_o_scan_read_symtab, 2840*75fd0b74Schristos bfd_mach_o_scan_read_segment): .. 2841*75fd0b74Schristos * merge.c (_bfd_add_merge_section, record_section, merge_strings, 2842*75fd0b74Schristos _bfd_merge_sections): .. 2843*75fd0b74Schristos * mmo.c (mmo_find_sec_w_addr, mmo_get_spec_section, mmo_get_loc, 2844*75fd0b74Schristos mmo_map_set_sizes, mmo_canonicalize_symtab, 2845*75fd0b74Schristos mmo_internal_write_section, mmo_write_object_contents): .. 2846*75fd0b74Schristos * netbsd-core.c (netbsd_core_file_p): .. 2847*75fd0b74Schristos * nlm32-alpha.c (nlm_alpha_read_reloc, nlm_alpha_write_import, 2848*75fd0b74Schristos nlm_alpha_set_public_section): .. 2849*75fd0b74Schristos * nlm32-ppc.c (nlm_powerpc_read_reloc, nlm_powerpc_write_reloc): .. 2850*75fd0b74Schristos * nlm32-sparc.c (nlm_sparc_write_import): .. 2851*75fd0b74Schristos * nlmcode.h (add_bfd_section, nlm_swap_auxiliary_headers_in, 2852*75fd0b74Schristos nlm_compute_section_file_positions): .. 2853*75fd0b74Schristos * oasys.c (oasys_object_p, oasys_slurp_section_data, 2854*75fd0b74Schristos oasys_write_sections, oasys_write_data, oasys_set_section_contents): .. 2855*75fd0b74Schristos * opncls.c (get_debug_link_info): .. 2856*75fd0b74Schristos * osf-core.c (make_bfd_asection): .. 2857*75fd0b74Schristos * pdp11.c (some_aout_object_p, adjust_o_magic, adjust_z_magic, 2858*75fd0b74Schristos adjust_n_magic, adjust_sizes_and_vmas, squirt_out_relocs, 2859*75fd0b74Schristos final_link, aout_link_input_section): .. 2860*75fd0b74Schristos * peXXigen.c (_bfd_XXi_swap_sym_in, _bfd_XXi_swap_aouthdr_out, 2861*75fd0b74Schristos pe_print_idata, pe_print_edata, pe_print_pdata, pe_print_reloc): .. 2862*75fd0b74Schristos * pef.c (bfd_pef_make_bfd_section, bfd_pef_print_loader_section, 2863*75fd0b74Schristos bfd_pef_scan_start_address, bfd_pef_parse_symbols): .. 2864*75fd0b74Schristos * ppcboot.c (ppcboot_object_p, ppcboot_canonicalize_symtab): .. 2865*75fd0b74Schristos * ptrace-core.c (ptrace_unix_core_file_p): .. 2866*75fd0b74Schristos * reloc.c (bfd_perform_relocation, bfd_install_relocation, 2867*75fd0b74Schristos _bfd_final_link_relocate, bfd_generic_relax_section, 2868*75fd0b74Schristos bfd_generic_get_relocated_section_contents): .. 2869*75fd0b74Schristos * reloc16.c (bfd_coff_reloc16_relax_section, 2870*75fd0b74Schristos bfd_coff_reloc16_get_relocated_section_c): .. 2871*75fd0b74Schristos * riscix.c (riscix_some_aout_object_p): .. 2872*75fd0b74Schristos * rs6000-core.c (read_hdr, make_bfd_asection): .. 2873*75fd0b74Schristos * sco5-core.c (make_bfd_asection): .. 2874*75fd0b74Schristos * simple.c (bfd_simple_get_relocated_section_contents): .. 2875*75fd0b74Schristos * som.c (som_object_setup, setup_sections, som_prep_headers, 2876*75fd0b74Schristos som_write_fixups, som_begin_writing, bfd_section_from_som_symbol, 2877*75fd0b74Schristos som_set_reloc_info, som_get_section_contents, 2878*75fd0b74Schristos som_bfd_link_split_section): .. 2879*75fd0b74Schristos * sparclinux.c (linux_link_create_dynamic_sections, 2880*75fd0b74Schristos bfd_sparclinux_size_dynamic_sections, linux_finish_dynamic_link): .. 2881*75fd0b74Schristos * srec.c (srec_scan, srec_read_section, srec_get_section_contents): .. 2882*75fd0b74Schristos * stabs.c (_bfd_link_section_stabs, _bfd_discard_section_stabs, 2883*75fd0b74Schristos _bfd_write_stab_strings, _bfd_stab_section_offset): .. 2884*75fd0b74Schristos * sunos.c (sunos_read_dynamic_info, sunos_create_dynamic_sections, 2885*75fd0b74Schristos bfd_sunos_size_dynamic_sections, sunos_scan_std_relocs, 2886*75fd0b74Schristos sunos_scan_ext_relocs, sunos_scan_dynamic_symbol, 2887*75fd0b74Schristos sunos_write_dynamic_symbol, sunos_check_dynamic_reloc, 2888*75fd0b74Schristos sunos_finish_dynamic_link): .. 2889*75fd0b74Schristos * syms.c (_bfd_stab_section_find_nearest_line): .. 2890*75fd0b74Schristos * tekhex.c (first_phase, tekhex_set_section_contents, 2891*75fd0b74Schristos tekhex_write_object_contents): .. 2892*75fd0b74Schristos * trad-core.c (trad_unix_core_file_p): .. 2893*75fd0b74Schristos * versados.c (process_esd, process_otr, process_otr): .. 2894*75fd0b74Schristos * vms-gsd.c (_bfd_vms_slurp_gsd, _bfd_vms_write_gsd): .. 2895*75fd0b74Schristos * vms-misc.c (add_new_contents): .. 2896*75fd0b74Schristos * vms-tir.c (check_section, new_section, _bfd_vms_write_tir): .. 2897*75fd0b74Schristos * vms.c (vms_set_section_contents): .. 2898*75fd0b74Schristos * xcofflink.c (xcoff_get_section_contents, xcoff_link_add_symbols, 2899*75fd0b74Schristos xcoff_sweep, bfd_xcoff_size_dynamic_sections, xcoff_build_ldsyms, 2900*75fd0b74Schristos _bfd_xcoff_bfd_final_link, xcoff_link_input_bfd): .. 2901*75fd0b74Schristos * xsym.c (bfd_sym_scan): .. See above. 2902*75fd0b74Schristos 2903*75fd0b74Schristos2004-06-21 H.J. Lu <hongjiu.lu@intel.com> 2904*75fd0b74Schristos 2905*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relax_section): Add addend when 2906*75fd0b74Schristos calling _bfd_merged_section_offset only for section symbols. 2907*75fd0b74Schristos 2908*75fd0b74Schristos2004-06-22 Alan Modra <amodra@bigpond.net.au> 2909*75fd0b74Schristos 2910*75fd0b74Schristos * elf32-ppc.c (ppc_elf_relax_section): Implement reference code 2911*75fd0b74Schristos for handling SEC_MERGE symbols in relax_section. 2912*75fd0b74Schristos 2913*75fd0b74Schristos2004-06-21 Alexandre Oliva <aoliva@redhat.com> 2914*75fd0b74Schristos 2915*75fd0b74Schristos 2003-05-15 Richard Sandiford <rsandifo@redhat.com> 2916*75fd0b74Schristos * cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be 2917*75fd0b74Schristos linked together. Mark the result as h8300sx code. 2918*75fd0b74Schristos 2919*75fd0b74Schristos2004-06-21 Alexandre Oliva <aoliva@redhat.com> 2920*75fd0b74Schristos 2921*75fd0b74Schristos * elf-bfd.h (struct elf_backend_data): Added 2922*75fd0b74Schristos elf_backend_omit_section_dynsym. 2923*75fd0b74Schristos (_bfd_elf_link_omit_section_dynsym): Declare. 2924*75fd0b74Schristos * elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New. 2925*75fd0b74Schristos (elf_backend_omit_section_dynsym): Use it for frvfdpic. 2926*75fd0b74Schristos * elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of... 2927*75fd0b74Schristos (_bfd_elf_link_renumber_dynsyms): ... this function. 2928*75fd0b74Schristos * elfxx-target.h (elf_backend_omit_section_dynsym): Default to 2929*75fd0b74Schristos _bfd_elf_link_omit_section_dynsym). 2930*75fd0b74Schristos (elfNN_bed): Added elf_backend_omit_section_dynsym. 2931*75fd0b74Schristos 2932*75fd0b74Schristos2004-06-21 Nick Clifton <nickc@redhat.com> 2933*75fd0b74Schristos 2934*75fd0b74Schristos * coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED 2935*75fd0b74Schristos flags. 2936*75fd0b74Schristos 2937*75fd0b74Schristos2004-06-17 Jerome Guitton <guitton@gnat.com> 2938*75fd0b74Schristos 2939*75fd0b74Schristos * bfd-in.h (bfd_cache_close_all): New function declaration. 2940*75fd0b74Schristos * bfd-in2.h: Regenerate. 2941*75fd0b74Schristos * cache.c (bfd_cache_close_all): New function definition. 2942*75fd0b74Schristos 2943*75fd0b74Schristos2004-06-16 Mark Kettenis <kettenis@gnu.org> 2944*75fd0b74Schristos 2945*75fd0b74Schristos * configure.in: Don't set COREFILE to trad-core.lo for FreeBSD 2946*75fd0b74Schristos 4.10 and beyond. 2947*75fd0b74Schristos * configure: Regenerate. 2948*75fd0b74Schristos 2949*75fd0b74Schristos2004-06-16 Daniel Jacobowitz <dan@debian.org> 2950*75fd0b74Schristos 2951*75fd0b74Schristos * elf32-ppc.c (ppc_elf_create_linker_section): Create symbols in 2952*75fd0b74Schristos the pre-existing section. 2953*75fd0b74Schristos 2954*75fd0b74Schristos2004-06-15 Alan Modra <amodra@bigpond.net.au> 2955*75fd0b74Schristos 2956*75fd0b74Schristos * section.c (struct sec): Remove usused flags. Reorganize a little. 2957*75fd0b74Schristos (bfd_get_section_size_before_reloc): Delete. 2958*75fd0b74Schristos (bfd_get_section_size_after_reloc): Delete. 2959*75fd0b74Schristos (STD_SECTION): Update. 2960*75fd0b74Schristos (bfd_get_section_size_now): Delete. 2961*75fd0b74Schristos (bfd_set_section_contents): Don't referece reloc_done. 2962*75fd0b74Schristos (bfd_get_section_contents): Remove reloc_done comment. 2963*75fd0b74Schristos * bout.c (b_out_bfd_get_relocated_section_contents): Don't set 2964*75fd0b74Schristos reloc_done. 2965*75fd0b74Schristos * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise. 2966*75fd0b74Schristos * ecoff.c (bfd_debug_section): Update initializer. 2967*75fd0b74Schristos * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto. 2968*75fd0b74Schristos * reloc.c (bfd_generic_get_relocated_section_contents): Likewise. 2969*75fd0b74Schristos * bfd-in.h (bfd_section_size): Expand. 2970*75fd0b74Schristos (bfd_get_section_size): New macro. 2971*75fd0b74Schristos * bfd-in2.h: Regenerate. 2972*75fd0b74Schristos * coff64-rs6000.c (xcoff64_write_object_contents): Replace 2973*75fd0b74Schristos bfd_get_section_size_before_reloc with bfd_get_section_size. 2974*75fd0b74Schristos * coffcode.h (coff_write_object_contents): Likewise. 2975*75fd0b74Schristos * coffgen.c (build_debug_section): Likewise. 2976*75fd0b74Schristos * dwarf1.c (parse_line_table): Likewise. 2977*75fd0b74Schristos (_bfd_dwarf1_find_nearest_line): Likewise. 2978*75fd0b74Schristos * ecoff.c (_bfd_ecoff_write_object_contents): Likewise. 2979*75fd0b74Schristos * i386msdos.c (msdos_write_object_contents): Likewise. 2980*75fd0b74Schristos * pdp11.c (squirt_out_relocs): Likewise. 2981*75fd0b74Schristos * elf32-sh64.c (sh64_find_section_for_address): Remove comment. 2982*75fd0b74Schristos * elf64-mmix.c (mmix_elf_final_link): Update comment. 2983*75fd0b74Schristos 2984*75fd0b74Schristos2004-06-14 Chris Demetriou <cgd@broadcom.com> 2985*75fd0b74Schristos 2986*75fd0b74Schristos * elf32-mips.c (elf_mips_gnu_pcrel32): Add (undoing 2004-04-24 2987*75fd0b74Schristos removal) with updated comment. 2988*75fd0b74Schristos (bfd_elf32_bfd_reloc_type_lookup): Add back case for 2989*75fd0b74Schristos BFD_RELOC_32_PCREL. 2990*75fd0b74Schristos (mips_elf32_rtype_to_howto): Add back case for R_MIPS_PC32. 2991*75fd0b74Schristos * elfxx-mips.c (mips_elf_calculate_relocation): Likewise. 2992*75fd0b74Schristos 2993*75fd0b74Schristos2004-06-12 Alan Modra <amodra@bigpond.net.au> 2994*75fd0b74Schristos 2995*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_relocate_section): Ignore reloc 2996*75fd0b74Schristos overflow on branches to undefweaks. 2997*75fd0b74Schristos 2998*75fd0b74Schristos2004-06-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl> 2999*75fd0b74Schristos 3000*75fd0b74Schristos * coff-alpha.c (alpha_relocate_section): Set used_by_bfd directly 3001*75fd0b74Schristos as ecoff_section_data() does not return a valid lvalue. 3002*75fd0b74Schristos 3003*75fd0b74Schristos2004-06-09 Alexandre Oliva <aoliva@redhat.com> 3004*75fd0b74Schristos 3005*75fd0b74Schristos * elflink.c (elf_sort_symbol): Compare section id, not pointers. 3006*75fd0b74Schristos (elf_link_add_object_symbols): Likewise. 3007*75fd0b74Schristos 3008*75fd0b74Schristos * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New. 3009*75fd0b74Schristos (elf_backend_reloc_type_class): New. 3010*75fd0b74Schristos 3011*75fd0b74Schristos2004-06-08 Mark Kettenis <kettenis@gnu.org> 3012*75fd0b74Schristos 3013*75fd0b74Schristos * configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to 3014*75fd0b74Schristos netbsd-core.lo. 3015*75fd0b74Schristos * configure: Regenerate. 3016*75fd0b74Schristos 3017*75fd0b74Schristos2004-06-07 Daniel Jacobowitz <dan@debian.org> 3018*75fd0b74Schristos 3019*75fd0b74Schristos From: Albert Chin-A-Young <china@thewrittenword.com> 3020*75fd0b74Schristos * elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields 3021*75fd0b74Schristos to unsigned int. 3022*75fd0b74Schristos 3023*75fd0b74Schristos2004-05-29 H.J. Lu <hongjiu.lu@intel.com> 3024*75fd0b74Schristos 3025*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last 3026*75fd0b74Schristos change. 3027*75fd0b74Schristos 3028*75fd0b74Schristos2004-05-28 DJ Delorie <dj@redhat.com> 3029*75fd0b74Schristos 3030*75fd0b74Schristos * elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend 3031*75fd0b74Schristos for linking, but otherwise adjust reloc for merged sections. 3032*75fd0b74Schristos 3033*75fd0b74Schristos2004-05-28 H.J. Lu <hongjiu.lu@intel.com> 3034*75fd0b74Schristos 3035*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relax_section): Properly call 3036*75fd0b74Schristos _bfd_merged_section_offset for local symbols. 3037*75fd0b74Schristos 3038*75fd0b74Schristos2004-05-28 Andrew Stubbs <andrew.stubbs@superh.com> 3039*75fd0b74Schristos 3040*75fd0b74Schristos * Makefile.am: Regenerate dependencies. 3041*75fd0b74Schristos * Makefile.in: Regenerate. 3042*75fd0b74Schristos * archures.c: Add bfd_mach_sh3_nommu . 3043*75fd0b74Schristos * bfd-in2.h: Regenerate. 3044*75fd0b74Schristos * cpu-sh.c: Add sh3-nommu architecture. 3045*75fd0b74Schristos (bfd_to_arch_table): Create new table. 3046*75fd0b74Schristos (sh_get_arch_from_bfd_mach): Create new function. 3047*75fd0b74Schristos (sh_get_arch_up_from_bfd_mach): Create new function. 3048*75fd0b74Schristos (sh_merge_bfd_arch): Create new function. 3049*75fd0b74Schristos * elf32-sh.c (sh_ef_bfd_table): Add table. 3050*75fd0b74Schristos (sh_elf_check_relocs): Replace switch statement with 3051*75fd0b74Schristos use of sh_ef_bfd_table . 3052*75fd0b74Schristos (sh_elf_get_flags_from_mach): Add new function. 3053*75fd0b74Schristos (sh_find_elf_flags): Likewise. 3054*75fd0b74Schristos (sh_elf_copy_private_data): Replace most of non-elf contents 3055*75fd0b74Schristos with a call to sh_merge_bfd_arch() . 3056*75fd0b74Schristos 3057*75fd0b74Schristos2004-05-27 Michael Chastain <mec.gnu@mindspring.com> 3058*75fd0b74Schristos 3059*75fd0b74Schristos * Makefile.am (bfdver.h): Use explicit filename, not $< . 3060*75fd0b74Schristos * Makefile.in: Regenerate. 3061*75fd0b74Schristos 3062*75fd0b74Schristos2004-05-27 Alexandre Oliva <aoliva@redhat.com> 3063*75fd0b74Schristos 3064*75fd0b74Schristos * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Avoid 3065*75fd0b74Schristos custom calling conventions for dynamic symbols. 3066*75fd0b74Schristos (mn10300_elf_relax_section): Avoid relaxing a function as a local 3067*75fd0b74Schristos symbol if it's an alias to a global one. 3068*75fd0b74Schristos 3069*75fd0b74Schristos2004-05-26 H.J. Lu <hongjiu.lu@intel.com> 3070*75fd0b74Schristos 3071*75fd0b74Schristos * elf.c (_bfd_elf_make_section_from_shdr): Undo the last 3072*75fd0b74Schristos change. 3073*75fd0b74Schristos 3074*75fd0b74Schristos2004-05-27 Alexandre Oliva <aoliva@redhat.com> 3075*75fd0b74Schristos 3076*75fd0b74Schristos * elf-m10300.c (mn10300_elf_relax_section): Don't test isym within 3077*75fd0b74Schristos loop over hashes. 3078*75fd0b74Schristos 3079*75fd0b74Schristos2004-05-26 Alan Modra <amodra@bigpond.net.au> 3080*75fd0b74Schristos 3081*75fd0b74Schristos * elf.c (_bfd_elf_make_section_from_shdr): Don't set SEC_EXCLUDE 3082*75fd0b74Schristos for SHT_GROUP sections. 3083*75fd0b74Schristos 3084*75fd0b74Schristos2004-05-25 Alan Modra <amodra@bigpond.net.au> 3085*75fd0b74Schristos 3086*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Don't set up merge 3087*75fd0b74Schristos section data here.. 3088*75fd0b74Schristos * elf.c (_bfd_elf_merge_sections): .. Do it here instead. 3089*75fd0b74Schristos * merge.c: Formatting. Remove unnecessary casts. Expand 3090*75fd0b74Schristos bfd_get_section_alignment macro. 3091*75fd0b74Schristos (struct sec_merge_sec_info): Rename "first" to "first_str". Update 3092*75fd0b74Schristos use throughout file. 3093*75fd0b74Schristos (_bfd_add_merge_section): Rename from _bfd_merge_section. Update 3094*75fd0b74Schristos comment. Abort on dynamic or non-SEC_MERGE input. Don't test 3095*75fd0b74Schristos section name to determine sinfo group, instead test output section 3096*75fd0b74Schristos and alignment. 3097*75fd0b74Schristos (_bfd_merge_sections): Add struct bfd_link_info param. Call 3098*75fd0b74Schristos _bfd_strip_section_from_output rather than just twiddling flags. 3099*75fd0b74Schristos * libbfd-in.h (_bfd_add_merge_section): Rename, update comment. 3100*75fd0b74Schristos (_bfd_merge_sections): Update prototype. 3101*75fd0b74Schristos * libbfd.h: Regenerate. 3102*75fd0b74Schristos 3103*75fd0b74Schristos2004-05-24 Mark Kettenis <kettenis@gnu.org> 3104*75fd0b74Schristos 3105*75fd0b74Schristos * netbsd-core.c: Correctly indent section that sets architecture 3106*75fd0b74Schristos from machine ID. 3107*75fd0b74Schristos 3108*75fd0b74Schristos From Miod Vallat <miod@online.fr>: 3109*75fd0b74Schristos * m88kopenbsd.c: New file. 3110*75fd0b74Schristos * targets.c (m88k_openbsd_vec): New. 3111*75fd0b74Schristos * config.bfd: Add m88k-*-openbsd*. 3112*75fd0b74Schristos * configure.in (m88k-*-openbsd*): Set COREFILE to netbsd-core.lo. 3113*75fd0b74Schristos (m88kopenbsd_vec): New. 3114*75fd0b74Schristos * configure: Regenerate. 3115*75fd0b74Schristos * Makefile.am (BFD32_BACKENDS): Add m88kopenbsd.lo. 3116*75fd0b74Schristos (BFD32_BACKENDS_CFILES): Add m88kopenbsd.c. 3117*75fd0b74Schristos Run "make dep-am". 3118*75fd0b74Schristos * Makefile.in: Regenerate. 3119*75fd0b74Schristos * po/SRC-POTFILES.in: Regenerate. 3120*75fd0b74Schristos 3121*75fd0b74Schristos2004-05-24 Nick Clifton <nickc@redhat.com> 3122*75fd0b74Schristos 3123*75fd0b74Schristos * hash.c: Remove bogus node "Changing the default Hash Table Size" 3124*75fd0b74Schristos introduced by hash table size patch. 3125*75fd0b74Schristos 3126*75fd0b74Schristos2004-05-22 Ben Elliston <bje@au.ibm.com> 3127*75fd0b74Schristos 3128*75fd0b74Schristos * configure.in (is_release): Remove. 3129*75fd0b74Schristos (bfd_version_date, bfd_version, bfd_version_string): Likewise. 3130*75fd0b74Schristos (AC_OUTPUT): Don't output bfdver.h from version.h. 3131*75fd0b74Schristos * configure: Regenerate. 3132*75fd0b74Schristos * Makefile.am (RELEASE): New variable. 3133*75fd0b74Schristos (bfdver.h): New target. 3134*75fd0b74Schristos * Makefile.in: Regenerate. 3135*75fd0b74Schristos * doc/Makefile.in: Likewise. 3136*75fd0b74Schristos 3137*75fd0b74Schristos2004-05-22 Ben Elliston <bje@au.ibm.com> 3138*75fd0b74Schristos 3139*75fd0b74Schristos * Makefile.am (config.status): Don't depend on version.h. 3140*75fd0b74Schristos * Makefile.in: Regenerate. 3141*75fd0b74Schristos 3142*75fd0b74Schristos2004-05-22 Alan Modra <amodra@bigpond.net.au> 3143*75fd0b74Schristos 3144*75fd0b74Schristos * merge.c (_bfd_merged_section_offset): Remove "addend" param. 3145*75fd0b74Schristos * libbfd-in.h (_bfd_merged_section_offset): Adjust prototype. 3146*75fd0b74Schristos * libbfd.h: Regenerate. 3147*75fd0b74Schristos * elf.c (_bfd_elf_rela_local_sym): Adjust call. 3148*75fd0b74Schristos (_bfd_elf_rel_local_sym): Likewise. 3149*75fd0b74Schristos * elflink.c (_bfd_elf_link_sec_merge_syms): Likewise. 3150*75fd0b74Schristos (elf_link_input_bfd): Likewise. 3151*75fd0b74Schristos * elf32-ppc.c (ppc_elf_relax_section): Likewise. 3152*75fd0b74Schristos * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. 3153*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise. 3154*75fd0b74Schristos (elfNN_ia64_relocate_section): Likewise. 3155*75fd0b74Schristos 3156*75fd0b74Schristos2004-05-21 Andy Chittenden <achittenden@bluearc.com> 3157*75fd0b74Schristos 3158*75fd0b74Schristos * hash.c (bfd_default_hash_table_size): New variable. 3159*75fd0b74Schristos (bfd_hash_table_init): Use new variable instead of DEFAULT_SIZE. 3160*75fd0b74Schristos (bfd_hash_set_default_size): New function. Set the default size 3161*75fd0b74Schristos to a selected prime number close to the argument. Document new 3162*75fd0b74Schristos function. 3163*75fd0b74Schristos * bfd-in.h: Add prototype for bfd_hash_set_default_size. 3164*75fd0b74Schristos * bfd-in2.h: Regenerate. 3165*75fd0b74Schristos * Makefile.am (hash.lo): Add dependency upon libiberty.h. 3166*75fd0b74Schristos * Makefile.in: Regenerate. 3167*75fd0b74Schristos 3168*75fd0b74Schristos2004-05-21 Mark Kettenis <kettenis@gnu.org> 3169*75fd0b74Schristos 3170*75fd0b74Schristos * libaout.h (machine_type): Add M_88K_OPENBSD and M_HPPA_OPENBSD. 3171*75fd0b74Schristos * netbsd-core.c (netbsd_core_file_p): Set architecture for alpha, 3172*75fd0b74Schristos arm, m68k, m88k and hppa core files. 3173*75fd0b74Schristos 3174*75fd0b74Schristos2004-05-21 Nick Clifton <nickc@redhat.com> 3175*75fd0b74Schristos 3176*75fd0b74Schristos * bfdio.c (bfd_bread): Do not use iovec if it is NULL. 3177*75fd0b74Schristos (bfd_bwrite): Likewise. 3178*75fd0b74Schristos (bfd_tell): Likewise. 3179*75fd0b74Schristos (bfd_flush): Likewise. 3180*75fd0b74Schristos (bfd_stat): Likewise. 3181*75fd0b74Schristos (bfd_seek): Likewise. 3182*75fd0b74Schristos (bfd_get_mtime): Likewise. 3183*75fd0b74Schristos (bfd_get_size): Likewise. 3184*75fd0b74Schristos 3185*75fd0b74Schristos2004-05-19 Ben Elliston <bje@au.ibm.com> 3186*75fd0b74Schristos 3187*75fd0b74Schristos * dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction. 3188*75fd0b74Schristos 3189*75fd0b74Schristos2004-05-19 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> 3190*75fd0b74Schristos 3191*75fd0b74Schristos * archive.c (_bfd_get_elt_at_filepos): Cope with a nested archives. 3192*75fd0b74Schristos (bfd_generic_openr_next_archived_file): Likewise. 3193*75fd0b74Schristos 3194*75fd0b74Schristos2004-05-17 Bob Wilson <bob.wilson@acm.org> 3195*75fd0b74Schristos 3196*75fd0b74Schristos * elf32-xtensa.c (xtensa_get_property_section_name): Determine linkonce 3197*75fd0b74Schristos section names by inserting a new substring after .gnu.linkonce, except 3198*75fd0b74Schristos for .gnu.linkonce.t.* where the "t." is replaced. 3199*75fd0b74Schristos 3200*75fd0b74Schristos2004-05-17 Adam Nemet <anemet@lnxw.com> 3201*75fd0b74Schristos 3202*75fd0b74Schristos * config.bfd (sparc-*-lynxos* case): Add to obsolete list. 3203*75fd0b74Schristos (m68-*-lynxos* case): Likewise. 3204*75fd0b74Schristos (powerpc-*-lyxnos* case): New case. 3205*75fd0b74Schristos (i[3-7]86-*-lynxos* case): Update to LynxOS 4.0 ELF. 3206*75fd0b74Schristos 3207*75fd0b74Schristos2004-05-17 David Heine <dlheine@tensilica.com> 3208*75fd0b74Schristos 3209*75fd0b74Schristos * aout-target.h (MY_bfd_copy_private_header_data): Define. 3210*75fd0b74Schristos * aout-tic30.c (MY_bfd_copy_private_header_data): Define. 3211*75fd0b74Schristos * bfd.c (bfd_copy_private_header_data): Define. 3212*75fd0b74Schristos * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new 3213*75fd0b74Schristos interface. 3214*75fd0b74Schristos * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise. 3215*75fd0b74Schristos * coffcode.h (coff_bfd_copy_private_header_data): Define. 3216*75fd0b74Schristos * elf-bfd.h (_bfd_elf_copy_private_header_data): Declare. 3217*75fd0b74Schristos * elf.c (_bfd_elf_copy_private_section_data): Remove code to set up 3218*75fd0b74Schristos segments by calling copy_private_bfd_data. 3219*75fd0b74Schristos (_bfd_elf_copy_private_header_data): Define. 3220*75fd0b74Schristos * elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define. 3221*75fd0b74Schristos * libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define. 3222*75fd0b74Schristos * libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define. 3223*75fd0b74Schristos * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define. 3224*75fd0b74Schristos * mmo.c (mmo_bfd_copy_private_header_data): Define. 3225*75fd0b74Schristos * ppcboot.c (ppcboot_bfd_copy_private_header_data): Define. 3226*75fd0b74Schristos * som.c (som_bfd_copy_private_header_data): Define. 3227*75fd0b74Schristos * targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data. 3228*75fd0b74Schristos * vms.c (vms_bfd_copy_private_header_data): Define. 3229*75fd0b74Schristos * bfd-in2.h: Regenerate. 3230*75fd0b74Schristos * libbfd.h: Regenerate. 3231*75fd0b74Schristos 3232*75fd0b74Schristos2004-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 3233*75fd0b74Schristos 3234*75fd0b74Schristos * elfxx-mips.c (MINUS_TWO): Define. 3235*75fd0b74Schristos (mips_elf_higher, mips_elf_highest, 3236*75fd0b74Schristos mips_elf_create_dynamic_relocation): Use MINUS_ONE and MINUS_TWO for 3237*75fd0b74Schristos some bfd_vma values. 3238*75fd0b74Schristos (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Code cleanup. 3239*75fd0b74Schristos 3240*75fd0b74Schristos2004-05-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3241*75fd0b74Schristos 3242*75fd0b74Schristos * som.c (log2): Rename to exact_log2. Adjust all callers. 3243*75fd0b74Schristos 3244*75fd0b74Schristos2004-05-13 Paul Brook <paul@codesourcery.com> 3245*75fd0b74Schristos 3246*75fd0b74Schristos * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle 3247*75fd0b74Schristos dwarf3 format CIE entries. Remove comment about the size of the 3248*75fd0b74Schristos ra_column field. It is now correctly deduced. 3249*75fd0b74Schristos 3250*75fd0b74Schristos2004-05-13 Joel Sherrill <joel@oarcorp.com> 3251*75fd0b74Schristos 3252*75fd0b74Schristos * config.bfd (or32-*-rtems*): Switch to elf. 3253*75fd0b74Schristos 3254*75fd0b74Schristos2004-05-13 Nick Clifton <nickc@redhat.com> 3255*75fd0b74Schristos 3256*75fd0b74Schristos * po/fr.po: Updated French translation. 3257*75fd0b74Schristos 3258*75fd0b74Schristos2004-05-11 Jakub Jelinek <jakub@redhat.com> 3259*75fd0b74Schristos 3260*75fd0b74Schristos * elflink.c (bfd_elf_final_link): Don't output STT_SECTION symbol 3261*75fd0b74Schristos into .dynsym if elf_section_data (sec)->dynindx <= 0. 3262*75fd0b74Schristos Adjust counting of last_local. 3263*75fd0b74Schristos (_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections 3264*75fd0b74Schristos other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt 3265*75fd0b74Schristos created by the linker nor !SHF_ALLOC. 3266*75fd0b74Schristos 3267*75fd0b74Schristos * elf32-i386.c (elf_i386_finish_dynamic_sections): Point 3268*75fd0b74Schristos DT_PLTGOT to the start of the .got.plt section instead of the 3269*75fd0b74Schristos .got output section. Set sh_entsize for .got section in addition 3270*75fd0b74Schristos to .got.plt. 3271*75fd0b74Schristos (elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_ 3272*75fd0b74Schristos is at sgot->output_section->vma. 3273*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point 3274*75fd0b74Schristos DT_PLTGOT to the start of the .got.plt section instead of the 3275*75fd0b74Schristos .got output section. 3276*75fd0b74Schristos (elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_ 3277*75fd0b74Schristos is at sgot->output_section->vma. Set sh_entsize for .got section 3278*75fd0b74Schristos in addition to .got.plt. 3279*75fd0b74Schristos * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO. 3280*75fd0b74Schristos (bfd_section_from_phdr): Likewise. 3281*75fd0b74Schristos (map_sections_to_segments): Likewise. 3282*75fd0b74Schristos (assign_file_positions_for_segments): Likewise. 3283*75fd0b74Schristos (get_program_header_size): Likewise. 3284*75fd0b74Schristos * elflink.c (bfd_elf_size_dynamic_sections): Set 3285*75fd0b74Schristos elf_tdata (output_bfd)->relro from info->relro. 3286*75fd0b74Schristos * elf-bfd.h (struct elf_obj_tdata): Add relro field. 3287*75fd0b74Schristos 3288*75fd0b74Schristos2004-05-08 Alexandre Oliva <aoliva@redhat.com> 3289*75fd0b74Schristos 3290*75fd0b74Schristos * elf32-frv.c (_frvfdpic_add_dyn_reloc): Don't warn when we get 3291*75fd0b74Schristos a zero symndx for which we hadn't accounted a dynamic relocation. 3292*75fd0b74Schristos (_frvfdpic_add_rofixup): Likewise. 3293*75fd0b74Schristos 3294*75fd0b74Schristos2004-05-07 Brian Ford <ford@vss.fsi.com> 3295*75fd0b74Schristos DJ Delorie <dj@redhat.com> 3296*75fd0b74Schristos 3297*75fd0b74Schristos * coffcode.h (coff_write_object_contents) [COFF_IMAGE_WITH_PE]: 3298*75fd0b74Schristos Propagate IMAGE_FILE_LARGE_ADDRESS_AWARE. 3299*75fd0b74Schristos * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Recognize 3300*75fd0b74Schristos IMAGE_FILE_LARGE_ADDRESS_AWARE. Use PE defines. 3301*75fd0b74Schristos 3302*75fd0b74Schristos2004-05-07 Alexandre Oliva <aoliva@redhat.com> 3303*75fd0b74Schristos 3304*75fd0b74Schristos * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return 3305*75fd0b74Schristos immediately if there's no link info. 3306*75fd0b74Schristos (elf32_frvfdpic_copy_private_bfd_data): New. 3307*75fd0b74Schristos (bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic. 3308*75fd0b74Schristos 3309*75fd0b74Schristos2004-05-06 Zack Weinberg <zack@codesourcery.com> 3310*75fd0b74Schristos 3311*75fd0b74Schristos * dwarf2.c (add_line_info): Also set info->filename to NULL if 3312*75fd0b74Schristos filename argument is null; do not call strlen on a null pointer. 3313*75fd0b74Schristos 3314*75fd0b74Schristos2004-05-06 Daniel Jacobowitz <drow@mvista.com> 3315*75fd0b74Schristos 3316*75fd0b74Schristos * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32 3317*75fd0b74Schristos special case. 3318*75fd0b74Schristos 3319*75fd0b74Schristos2004-05-05 Alexandre Oliva <aoliva@redhat.com> 3320*75fd0b74Schristos 3321*75fd0b74Schristos * configure.in (bfd_elf32_frvfdpic_vec): New. 3322*75fd0b74Schristos * configure: Rebuilt. 3323*75fd0b74Schristos * targets.c (bfd_elf32_frvfdpic_vec): New. 3324*75fd0b74Schristos * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default 3325*75fd0b74Schristos on the latter. 3326*75fd0b74Schristos * elf32-frv.c: Prefix all identifiers added for FDPIC support with 3327*75fd0b74Schristos frvfdpic instead of frv. Rearrange elf-target macros such that 3328*75fd0b74Schristos the FDPIC-specific ones are only defined for this new target 3329*75fd0b74Schristos vector. 3330*75fd0b74Schristos (bfd_elf32_frvfdpic_vec): Declare. 3331*75fd0b74Schristos (IS_FDPIC): New. 3332*75fd0b74Schristos (elf32_frv_relocate_section): Use it to enable segment checking 3333*75fd0b74Schristos and to control rofixup emission. Add output section vma to 3334*75fd0b74Schristos applied relocation in non-LOAD non-ALLOC sections. Use 3335*75fd0b74Schristos _bfd_error_handler for errors. 3336*75fd0b74Schristos (_frv_create_got_section): Create .rel.got and .rofixup only in 3337*75fd0b74Schristos FDPIC. Create non-dynamic _gp at .got+2048 in non-FDPIC, like the 3338*75fd0b74Schristos linker script. 3339*75fd0b74Schristos (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC. 3340*75fd0b74Schristos (elf32_frvfdpic_modify_segment_map): Likewise. 3341*75fd0b74Schristos (elf32_frv_finish_dynamic_sections): New, do-nothing. 3342*75fd0b74Schristos (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC. Improve 3343*75fd0b74Schristos error message if we miscompute the rofixup size. 3344*75fd0b74Schristos (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC. 3345*75fd0b74Schristos (frvfdpic_elf_encode_eh_address): Likewise. 3346*75fd0b74Schristos (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC. 3347*75fd0b74Schristos Record relocs only in FDPIC. Make sure _gp is defined for GPREL 3348*75fd0b74Schristos relocs. Reject unknown relocation types. 3349*75fd0b74Schristos (elf32_frv_object_p): Make sure target vector matches FDPIC bits. 3350*75fd0b74Schristos (frv_elf_merge_private_bfd_data): Likewise. 3351*75fd0b74Schristos (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as 3352*75fd0b74Schristos 0x4000 for newly-added elf32-frvfdpic. 3353*75fd0b74Schristos 3354*75fd0b74Schristos2004-05-05 Nick Clifton <nickc@redhat.com> 3355*75fd0b74Schristos 3356*75fd0b74Schristos PR/136 3357*75fd0b74Schristos * cache.c (bfd_cache_lookup_worker): Call abort() rather than 3358*75fd0b74Schristos returning NULL as most users of this function do not check its 3359*75fd0b74Schristos return value. 3360*75fd0b74Schristos * hppabsd-core.c (hppabsd_core_core_file_p): Do not check result 3361*75fd0b74Schristos of bfd_cache_lookup(). 3362*75fd0b74Schristos * sco5-core.c (sco5_core_file_p): Likewise. 3363*75fd0b74Schristos * trad-core.c (trad_unix_core_file_p): Likewise. 3364*75fd0b74Schristos 3365*75fd0b74Schristos2004-05-05 Nick Clifton <nickc@redhat.com> 3366*75fd0b74Schristos 3367*75fd0b74Schristos * cache.c (bfd_cache_lookup): Improve formatting. 3368*75fd0b74Schristos * archive.c: Fix formatting. 3369*75fd0b74Schristos 3370*75fd0b74Schristos2004-05-05 Peter Barada <peter@the-baradas.com> 3371*75fd0b74Schristos 3372*75fd0b74Schristos * bfd_archures.c(bfd_architecture): Add 521x,5249,547x,548x. 3373*75fd0b74Schristos * cpu-m68k.c(bfd_m68k_arch): Likewise. 3374*75fd0b74Schristos * bfd-in2.h(bfd_architecture): Regenerate. 3375*75fd0b74Schristos 3376*75fd0b74Schristos2004-05-03 Alan Modra <amodra@bigpond.net.au> 3377*75fd0b74Schristos 3378*75fd0b74Schristos * elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded 3379*75fd0b74Schristos SEC_MERGE sections. 3380*75fd0b74Schristos * elflink.c (elf_link_input_bfd): Adjust output reloc index for 3381*75fd0b74Schristos those against discarded link-once and SEC_MERGE section symbols. 3382*75fd0b74Schristos 3383*75fd0b74Schristos2004-05-02 H.J. Lu <hongjiu.lu@intel.com> 3384*75fd0b74Schristos 3385*75fd0b74Schristos * section.c (bfd_get_section_by_name_if): New. 3386*75fd0b74Schristos * bfd-in2.h: Regenerated. 3387*75fd0b74Schristos 3388*75fd0b74Schristos2004-05-02 Alan Modra <amodra@bigpond.net.au> 3389*75fd0b74Schristos 3390*75fd0b74Schristos * som.c (som_bfd_is_group_section): Define. 3391*75fd0b74Schristos 3392*75fd0b74Schristos2004-05-01 Alan Modra <amodra@bigpond.net.au> 3393*75fd0b74Schristos 3394*75fd0b74Schristos * section.c (bfd_make_section_anyway): Copy the whole 3395*75fd0b74Schristos bfd_hash_entry, not just "next" from existing entry. 3396*75fd0b74Schristos 3397*75fd0b74Schristos2004-04-30 H.J. Lu <hongjiu.lu@intel.com> 3398*75fd0b74Schristos 3399*75fd0b74Schristos * elf.c (bfd_section_from_shdr): Maintain the section order in 3400*75fd0b74Schristos a section group. 3401*75fd0b74Schristos (special_sections): Add ".note.GNU-stack". 3402*75fd0b74Schristos (elf_fake_sections): Handle section group for relocatable 3403*75fd0b74Schristos link.. 3404*75fd0b74Schristos 3405*75fd0b74Schristos2004-04-30 H.J. Lu <hongjiu.lu@intel.com> 3406*75fd0b74Schristos 3407*75fd0b74Schristos * section.c (bfd_sections_find_if): New. 3408*75fd0b74Schristos * bfd-in2.h: Regenerated. 3409*75fd0b74Schristos 3410*75fd0b74Schristos2004-04-30 Alan Modra <amodra@bigpond.net.au> 3411*75fd0b74Schristos 3412*75fd0b74Schristos * section.c (bfd_make_section_anyway): Add all sections to hash tab. 3413*75fd0b74Schristos 3414*75fd0b74Schristos * elf-bfd.h (bfd_elf_is_group_section): Declare. 3415*75fd0b74Schristos * elf.c (bfd_elf_is_group_section): New function. 3416*75fd0b74Schristos * elfxx-target.h (bfd_elfNN_bfd_is_group_section 3417*75fd0b74Schristos * section.c (bfd_generic_is_group_section): New function. 3418*75fd0b74Schristos * targets.c (struct bfd_target): Add _bfd_is_group_section field. 3419*75fd0b74Schristos (BFD_JUMP_TABLE_LINK): Adjust. 3420*75fd0b74Schristos * aout-adobe.c (aout_32_bfd_is_group_section): Define. 3421*75fd0b74Schristos * aout-target.h (MY_bfd_is_group_section): Define. 3422*75fd0b74Schristos * aout-tic30.c (MY_bfd_is_group_section): Define. 3423*75fd0b74Schristos * bfd.c (bfd_is_group_section): Define. 3424*75fd0b74Schristos * binary.c (binary_bfd_is_group_section): Define. 3425*75fd0b74Schristos * bout.c (b_out_bfd_is_group_section): Define. 3426*75fd0b74Schristos * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define. 3427*75fd0b74Schristos * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define. 3428*75fd0b74Schristos * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust. 3429*75fd0b74Schristos * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust. 3430*75fd0b74Schristos * coffcode.h (coff_bfd_is_group_section): Define. 3431*75fd0b74Schristos * i386msdos.c (msdos_bfd_is_group_section): Define. 3432*75fd0b74Schristos * i386os9k.c (os9k_bfd_is_group_section): Define. 3433*75fd0b74Schristos * ieee.c (ieee_bfd_is_group_section): Define. 3434*75fd0b74Schristos * ihex.c (ihex_bfd_is_group_section): Define. 3435*75fd0b74Schristos * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define. 3436*75fd0b74Schristos * mach-o.c (bfd_mach_o_bfd_is_group_section): Define. 3437*75fd0b74Schristos * mmo.c (mmo_bfd_is_group_section): Define. 3438*75fd0b74Schristos * nlm-target.h (nlm_bfd_is_group_section): Define. 3439*75fd0b74Schristos * oasys.c (oasys_bfd_is_group_section): Define. 3440*75fd0b74Schristos * pef.c (bfd_pef_bfd_is_group_section): Define. 3441*75fd0b74Schristos * ppcboot.c (ppcboot_bfd_is_group_section): Define. 3442*75fd0b74Schristos * srec.c (srec_bfd_is_group_section): Define. 3443*75fd0b74Schristos * tekhex.c (tekhex_bfd_is_group_section): Define. 3444*75fd0b74Schristos * versados.c (versados_bfd_is_group_section): Define. 3445*75fd0b74Schristos * vms.c (vms_bfd_is_group_section): Define. 3446*75fd0b74Schristos * xsym.c (bfd_sym_bfd_is_group_section): Define. 3447*75fd0b74Schristos * bfd-in2.h: Regenerate. 3448*75fd0b74Schristos * libbfd.h: Regenerate. 3449*75fd0b74Schristos 3450*75fd0b74Schristos2004-04-30 Alan Modra <amodra@bigpond.net.au> 3451*75fd0b74Schristos 3452*75fd0b74Schristos * elflink.c (elf_gc_mark): Follow indirect and warning syms. 3453*75fd0b74Schristos 3454*75fd0b74Schristos2004-04-30 Hans-Peter Nilsson <hp@axis.com> 3455*75fd0b74Schristos 3456*75fd0b74Schristos * configure.in: Update version to 2.15.91. 3457*75fd0b74Schristos * configure: Regenerate. 3458*75fd0b74Schristos 3459*75fd0b74Schristos2004-04-29 Brian Ford <ford@vss.fsi.com> 3460*75fd0b74Schristos 3461*75fd0b74Schristos * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack. 3462*75fd0b74Schristos * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define. 3463*75fd0b74Schristos [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them. 3464*75fd0b74Schristos (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise. 3465*75fd0b74Schristos [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and 3466*75fd0b74Schristos .gnu.linkonce.wi. sections. 3467*75fd0b74Schristos * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define. 3468*75fd0b74Schristos (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and 3469*75fd0b74Schristos .gnu.linkonce.wi.. 3470*75fd0b74Schristos * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise. 3471*75fd0b74Schristos (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise. 3472*75fd0b74Schristos 3473*75fd0b74Schristos2004-04-28 Chris Demetriou <cgd@broadcom.com> 3474*75fd0b74Schristos 3475*75fd0b74Schristos * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16. 3476*75fd0b74Schristos * bfd-in2.h: Regenerate. 3477*75fd0b74Schristos * libbfd.h: Likewise. 3478*75fd0b74Schristos 3479*75fd0b74Schristos2004-04-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3480*75fd0b74Schristos 3481*75fd0b74Schristos * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and 3482*75fd0b74Schristos dup_common fields. 3483*75fd0b74Schristos (setup_sections): Use som_subspace_dictionary_record struct instead 3484*75fd0b74Schristos subspace_dictionary_record. Set SEC_LINK_ONCE if subspace is 3485*75fd0b74Schristos is_comdat, is_common or dup_common. 3486*75fd0b74Schristos (som_prep_headers): Use som_subspace_dictionary_record struct. Set 3487*75fd0b74Schristos is_comdat, is_common and dup_common in section subspace_dict from 3488*75fd0b74Schristos copy_data. 3489*75fd0b74Schristos (som_begin_writing): Use som_subspace_dictionary_record struct. 3490*75fd0b74Schristos (som_finish_writing): Likewise. 3491*75fd0b74Schristos (som_bfd_derive_misc_symbol_info): Add support to set is_comdat, 3492*75fd0b74Schristos is_common and dup_common flags in info for symbol. Add comment 3493*75fd0b74Schristos regarding linker support for these fields. Slightly reorganize 3494*75fd0b74Schristos function. 3495*75fd0b74Schristos (som_build_and_write_symbol_table): Set is_comdat, is_common and 3496*75fd0b74Schristos dup_common fields in symbol table from symbol info. 3497*75fd0b74Schristos (bfd_som_set_subsection_attributes): Add comdat, common and dup_common 3498*75fd0b74Schristos arguments. Set corresponding fields in copy_data. Change all callers. 3499*75fd0b74Schristos (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library 3500*75fd0b74Schristos symbol table. 3501*75fd0b74Schristos (som_vec): Add SEC_LINK_ONCE to applicable section flags. 3502*75fd0b74Schristos * som.h (som_subspace_dictionary_record): Define. 3503*75fd0b74Schristos (som_copyable_section_data_struct): Add is_comdat, is_common and 3504*75fd0b74Schristos dup_common fields. 3505*75fd0b74Schristos (som_section_data_struct): Use som_subspace_dictionary_record struct 3506*75fd0b74Schristos instead of subspace_dictionary_record. 3507*75fd0b74Schristos (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype. 3508*75fd0b74Schristos 3509*75fd0b74Schristos2004-04-27 Bob Wilson <bob.wilson@acm.org> 3510*75fd0b74Schristos 3511*75fd0b74Schristos * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size 3512*75fd0b74Schristos if set. Check reloc_done flag before applying relocations. Use 3513*75fd0b74Schristos output addresses, both when applying relocations and when comparing 3514*75fd0b74Schristos against the specified section. 3515*75fd0b74Schristos (elf_xtensa_relocate_section): Use output address to check if dynamic 3516*75fd0b74Schristos reloc is in a literal pool. Set section's reloc_done flag. 3517*75fd0b74Schristos 3518*75fd0b74Schristos2004-04-27 H.J. Lu <hongjiu.lu@intel.com> 3519*75fd0b74Schristos 3520*75fd0b74Schristos * elf32-sh64.c (elf_backend_section_flags): New. Defined. 3521*75fd0b74Schristos (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges 3522*75fd0b74Schristos section. 3523*75fd0b74Schristos (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges 3524*75fd0b74Schristos section. 3525*75fd0b74Schristos 3526*75fd0b74Schristos2004-04-27 Alan Modra <amodra@bigpond.net.au> 3527*75fd0b74Schristos 3528*75fd0b74Schristos * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign 3529*75fd0b74Schristos structure field removed in 2004-04-24 patch. 3530*75fd0b74Schristos * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix. 3531*75fd0b74Schristos 3532*75fd0b74Schristos * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>): 3533*75fd0b74Schristos Constify hdr arg. 3534*75fd0b74Schristos * elf32-arm.h (elf32_arm_section_flags): Likewise. 3535*75fd0b74Schristos * elf64-alpha.c (elf64_alpha_section_flags): Likewise. 3536*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise. 3537*75fd0b74Schristos * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section 3538*75fd0b74Schristos field before calling elf_backend_section_flags. 3539*75fd0b74Schristos 3540*75fd0b74Schristos2004-04-24 Chris Demetriou <cgd@broadcom.com> 3541*75fd0b74Schristos 3542*75fd0b74Schristos * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16) 3543*75fd0b74Schristos (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove. 3544*75fd0b74Schristos (bfd_elf32_bfd_reloc_type_lookup): Remove cases for 3545*75fd0b74Schristos BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL, 3546*75fd0b74Schristos and BFD_RELOC_32_PCREL. 3547*75fd0b74Schristos (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16, 3548*75fd0b74Schristos R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32. 3549*75fd0b74Schristos * elfxx-mips.c (mips_elf_calculate_relocation): Likewise. 3550*75fd0b74Schristos (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16. 3551*75fd0b74Schristos (mips_elf_next_relocation): Move comment about matching HI/LO 3552*75fd0b74Schristos relocations to... 3553*75fd0b74Schristos (_bfd_mips_elf_relocate_section): Here. Remove handling for 3554*75fd0b74Schristos R_MIPS_GNU_REL_HI16. 3555*75fd0b74Schristos 3556*75fd0b74Schristos2004-04-23 Chris Demetriou <cgd@broadcom.com> 3557*75fd0b74Schristos 3558*75fd0b74Schristos * coff-mips.c (mips_relhi_reloc, mips_rello_reloc) 3559*75fd0b74Schristos (mips_switch_reloc, mips_read_relocs, mips_relax_section) 3560*75fd0b74Schristos (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove. 3561*75fd0b74Schristos (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments, 3562*75fd0b74Schristos and update comments to reflect current usage. 3563*75fd0b74Schristos (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO, 3564*75fd0b74Schristos and MIPS_R_SWITCH, as well as several empty entries. Update comment 3565*75fd0b74Schristos for MIPS_R_PCREL16. 3566*75fd0b74Schristos (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out) 3567*75fd0b74Schristos (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support 3568*75fd0b74Schristos for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations. 3569*75fd0b74Schristos (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation 3570*75fd0b74Schristos type number to be MIPS_R_PCREL16. 3571*75fd0b74Schristos (mips_relocate_section): Remove support for link-time relaxation 3572*75fd0b74Schristos of branches used by embedded-PIC. Remove support for MIPS_R_SWITCH, 3573*75fd0b74Schristos MIPS_R_RELLO, and MIPS_R_RELHI relocations. 3574*75fd0b74Schristos (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section. 3575*75fd0b74Schristos * ecoff.c (ecoff_indirect_link_order): Remove support for link-time 3576*75fd0b74Schristos relaxation of branches used by embedded-PIC. 3577*75fd0b74Schristos * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise. 3578*75fd0b74Schristos * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC 3579*75fd0b74Schristos related members, update comment. 3580*75fd0b74Schristos * pe-mips.c: Remove disabled (commented-out and #if 0'd) 3581*75fd0b74Schristos code related to embedded-PIC. 3582*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove 3583*75fd0b74Schristos initialization of now-removed 'adjust' member of 3584*75fd0b74Schristos 'struct ecoff_debug_info'. 3585*75fd0b74Schristos 3586*75fd0b74Schristos2004-04-23 Chris Demetriou <cgd@broadcom.com> 3587*75fd0b74Schristos 3588*75fd0b74Schristos * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove. 3589*75fd0b74Schristos 3590*75fd0b74Schristos2004-04-21 Philip Blundell <pb@nexus.co.uk> 3591*75fd0b74Schristos 3592*75fd0b74Schristos * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32 3593*75fd0b74Schristos relocs for locally defined symbols during -shared final link. 3594*75fd0b74Schristos (elf32_arm_final_link_relocate): Likewise. 3595*75fd0b74Schristos 3596*75fd0b74Schristos2004-04-22 Jakub Jelinek <jakub@redhat.com> 3597*75fd0b74Schristos 3598*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also 3599*75fd0b74Schristos ELF_LINK_POINTER_EQUALITY_NEEDED. 3600*75fd0b74Schristos (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED 3601*75fd0b74Schristos if r_type is not R_X86_64_PC32. 3602*75fd0b74Schristos (elf64_x86_64_finish_dynamic_symbol): If 3603*75fd0b74Schristos ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of 3604*75fd0b74Schristos SHN_UNDEF symbols. 3605*75fd0b74Schristos 3606*75fd0b74Schristos2004-04-22 Kaz Kojima <kkojima@rr.iij4u.or.jp> 3607*75fd0b74Schristos 3608*75fd0b74Schristos * elf32-sh.c (sh_elf_plt_sym_val): New function. 3609*75fd0b74Schristos (elf_backend_plt_sym_val): Define. 3610*75fd0b74Schristos 3611*75fd0b74Schristos2004-04-22 Andrew Cagney <cagney@redhat.com> 3612*75fd0b74Schristos 3613*75fd0b74Schristos * opncls.c (bfd_alloc): Fix type of "wanted" in doco. 3614*75fd0b74Schristos 3615*75fd0b74Schristos2004-04-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 3616*75fd0b74Schristos 3617*75fd0b74Schristos * hpux-core.c (hpux_core_core_file_p): Add cast in call to 3618*75fd0b74Schristos make_bfd_asection. 3619*75fd0b74Schristos * som.c (som_set_section_contents): Constantify second argument. 3620*75fd0b74Schristos (hppa_som_gen_reloc_type): Abort for unsupported selectors. 3621*75fd0b74Schristos (som_object_setup): Rework to avoid warning. 3622*75fd0b74Schristos (setup_sections, som_write_fixups, bfd_section_from_som_symbol): 3623*75fd0b74Schristos Likewise. 3624*75fd0b74Schristos 3625*75fd0b74Schristos2004-04-22 Andrew Cagney <cagney@redhat.com> 3626*75fd0b74Schristos 3627*75fd0b74Schristos * cache.c (bfd_cache_close): Check for a previously closed file. 3628*75fd0b74Schristos 3629*75fd0b74Schristos2004-04-22 Jakub Jelinek <jakub@redhat.com> 3630*75fd0b74Schristos 3631*75fd0b74Schristos * bfd.c (bfd_get_synthetic_symtab): Define. 3632*75fd0b74Schristos * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add 3633*75fd0b74Schristos NAME##_get_synthetic_symtab. 3634*75fd0b74Schristos (struct bfd_target): Add _bfd_get_synthetic_symtab. 3635*75fd0b74Schristos * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define. 3636*75fd0b74Schristos * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and 3637*75fd0b74Schristos relplt_name fields. 3638*75fd0b74Schristos (_bfd_elf_get_synthetic_symtab): New prototype. 3639*75fd0b74Schristos * elfcode.h (elf_get_synthetic_symtab): Define. 3640*75fd0b74Schristos * elf.c (_bfd_elf_get_synthetic_symtab): New function. 3641*75fd0b74Schristos * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define. 3642*75fd0b74Schristos (elf_backend_plt_sym_val, elf_backend_relplt_name): Define. 3643*75fd0b74Schristos (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name. 3644*75fd0b74Schristos * bfd-in2.h: Rebuilt. 3645*75fd0b74Schristos * libbfd.h: Rebuilt. 3646*75fd0b74Schristos * elf32-i386.c (elf_i386_plt_sym_val): New function. 3647*75fd0b74Schristos (elf_backend_plt_sym_val): Define. 3648*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function. 3649*75fd0b74Schristos (elf_backend_plt_sym_val): Define. 3650*75fd0b74Schristos * elf32-s390.c (elf_s390_plt_sym_val): New function. 3651*75fd0b74Schristos (elf_backend_plt_sym_val): Define. 3652*75fd0b74Schristos * elf64-s390.c (elf_s390_plt_sym_val): New function. 3653*75fd0b74Schristos (elf_backend_plt_sym_val): Define. 3654*75fd0b74Schristos * elf32-sparc (elf32_sparc_plt_sym_val): New function. 3655*75fd0b74Schristos (elf_backend_plt_sym_val): Define. 3656*75fd0b74Schristos * elf64-sparc.c (sparc64_elf_plt_sym_val): New function. 3657*75fd0b74Schristos (elf_backend_plt_sym_val): Define. 3658*75fd0b74Schristos * elf32-ppc.c (ppc_elf_plt_sym_val): New function. 3659*75fd0b74Schristos (elf_backend_plt_sym_val): Define. 3660*75fd0b74Schristos * aout-target.h (MY_get_synthetic_symtab): Define. 3661*75fd0b74Schristos * aout-tic30.c (MY_get_synthetic_symtab): Define. 3662*75fd0b74Schristos * coff-rs6000.c (rs6000coff_vec): Add 3663*75fd0b74Schristos _bfd_nodynamic_get_synthetic_symtab. 3664*75fd0b74Schristos (pmac_xcoff_vec): Likewise. 3665*75fd0b74Schristos * coff64-rs6000.c (rs6000coff64_vec): Add 3666*75fd0b74Schristos _bfd_nodynamic_get_synthetic_symtab. 3667*75fd0b74Schristos (aix5coff64_vec): Likewise. 3668*75fd0b74Schristos * sunos.c (MY_get_synthetic_symtab): Define. 3669*75fd0b74Schristos * vms.c (vms_get_synthetic_symtab): Define. 3670*75fd0b74Schristos 3671*75fd0b74Schristos2004-04-22 Nick Clifton <nickc@redhat.com> 3672*75fd0b74Schristos 3673*75fd0b74Schristos * bfd.c (bfd_archive_filename): Return NULL on NULL input. 3674*75fd0b74Schristos 3675*75fd0b74Schristos2004-04-22 Peter Barada <peter@the-baradas.com> 3676*75fd0b74Schristos 3677*75fd0b74Schristos * archures.c: Add bfd_mach_mcfv4e to bfd_architecture. 3678*75fd0b74Schristos * bfd2-in.h: Regenerate. 3679*75fd0b74Schristos * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[]. 3680*75fd0b74Schristos 3681*75fd0b74Schristos2004-04-21 Chris Demetriou <cgd@broadcom.com> 3682*75fd0b74Schristos 3683*75fd0b74Schristos * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove. 3684*75fd0b74Schristos * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove. 3685*75fd0b74Schristos * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs) 3686*75fd0b74Schristos (bfd_mips_elf32_create_embedded_relocs): Remove prototypes 3687*75fd0b74Schristos * bfd-in2.h: Regenerate. 3688*75fd0b74Schristos 3689*75fd0b74Schristos2004-04-21 Bob Wilson <bob.wilson@acm.org> 3690*75fd0b74Schristos 3691*75fd0b74Schristos * elf32-xtensa.c (is_same_value): Add final_static_link argument and 3692*75fd0b74Schristos require relocations against a weak symbol to reference the same 3693*75fd0b74Schristos symbol hash entry if not a final, static link. 3694*75fd0b74Schristos (get_cached_value, add_value_map): Add final_static_link argument. 3695*75fd0b74Schristos (remove_literals): Pass final_static_link argument as needed. 3696*75fd0b74Schristos 3697*75fd0b74Schristos2004-04-21 Andrew Cagney <cagney@redhat.com> 3698*75fd0b74Schristos 3699*75fd0b74Schristos * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec". 3700*75fd0b74Schristos (struct opncls, opncls_btell, opncls_bseek, opncls_bread) 3701*75fd0b74Schristos (opncls_bwrite, opncls_bclose, opncls_bflush) 3702*75fd0b74Schristos (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a 3703*75fd0b74Schristos bfd iovec that uses function callbacks. 3704*75fd0b74Schristos (bfd_close): Use the iovec's bclose. 3705*75fd0b74Schristos * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite) 3706*75fd0b74Schristos (cache_bclose, cache_bflush, cache_bstat) 3707*75fd0b74Schristos (cache_iovec): New functions and global variable, implement a 3708*75fd0b74Schristos cache "iovec", where applicable set bfd_error. 3709*75fd0b74Schristos (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec. 3710*75fd0b74Schristos * bfdio.c (struct bfd_iovec): Define. 3711*75fd0b74Schristos (real_read): Delete function. 3712*75fd0b74Schristos (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat) 3713*75fd0b74Schristos (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec", 3714*75fd0b74Schristos assume that bread and bwrite set bfd_error. 3715*75fd0b74Schristos * bfd.c (struct bfd): Add "iovec", update comments. 3716*75fd0b74Schristos * bfd-in2.h, libbfd.h: Re-generate. 3717*75fd0b74Schristos 3718*75fd0b74Schristos2004-04-21 Andrew Cagney <cagney@redhat.com> 3719*75fd0b74Schristos 3720*75fd0b74Schristos * libaout.h (enum machine_type): Add M_POWERPC_NETBSD. 3721*75fd0b74Schristos 3722*75fd0b74Schristos2004-04-21 Eric Botcazou <ebotcazou@act-europe.fr> 3723*75fd0b74Schristos 3724*75fd0b74Schristos * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function. 3725*75fd0b74Schristos (bfd_elf_gc_sections): Fail if a shared object is being created. 3726*75fd0b74Schristos Do not fail if dynamic sections have been created. Instead call 3727*75fd0b74Schristos elf_gc_mark_dynamic_ref_symbol to mark sections that contain 3728*75fd0b74Schristos dynamically referenced symbols. Do not mark the whole graph 3729*75fd0b74Schristos rooted at .eh_frame, only the section proper. 3730*75fd0b74Schristos 3731*75fd0b74Schristos2004-04-20 DJ Delorie <dj@redhat.com> 3732*75fd0b74Schristos 3733*75fd0b74Schristos * reloc.c: Add BFD_RELOC_32_SECREL. 3734*75fd0b74Schristos * bfd-in2.h: Regenerate. 3735*75fd0b74Schristos * libbfd.h: Likewise. 3736*75fd0b74Schristos * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32. 3737*75fd0b74Schristos (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it. 3738*75fd0b74Schristos (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise. 3739*75fd0b74Schristos 3740*75fd0b74Schristos2004-04-19 Jakub Jelinek <jakub@redhat.com> 3741*75fd0b74Schristos 3742*75fd0b74Schristos * elf32-sparc.c (elf32_sparc_relocate_section): Handle 3743*75fd0b74Schristos relocs against hidden/protected undefweak symbols properly. 3744*75fd0b74Schristos * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. 3745*75fd0b74Schristos 3746*75fd0b74Schristos2004-04-18 Mark Kettenis <kettenis@gnu.org> 3747*75fd0b74Schristos 3748*75fd0b74Schristos * libaout.h (enum machine_type): Add M_POWERPC_NETBSD. 3749*75fd0b74Schristos * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC 3750*75fd0b74Schristos core files. 3751*75fd0b74Schristos 3752*75fd0b74Schristos2004-04-17 Brian Ford <ford@vss.fsi.com> 3753*75fd0b74Schristos 3754*75fd0b74Schristos * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero 3755*75fd0b74Schristos filepos for the SizeOfHeaders field. 3756*75fd0b74Schristos (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc 3757*75fd0b74Schristos overflow. 3758*75fd0b74Schristos (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment. 3759*75fd0b74Schristos 3760*75fd0b74Schristos2004-04-16 Alan Modra <amodra@bigpond.net.au> 3761*75fd0b74Schristos 3762*75fd0b74Schristos * simple.c (bfd_simple_get_relocated_section_contents): Don't 3763*75fd0b74Schristos change reloc_done. Set and restore _cooked_size. 3764*75fd0b74Schristos (RETURN): Delete. 3765*75fd0b74Schristos 3766*75fd0b74Schristos2004-04-15 Mark Kettenis <kettenis@gnu.org> 3767*75fd0b74Schristos 3768*75fd0b74Schristos * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX 3769*75fd0b74Schristos core files. 3770*75fd0b74Schristos 3771*75fd0b74Schristos2004-04-15 Nick Clifton <nickc@redhat.com> 3772*75fd0b74Schristos 3773*75fd0b74Schristos * bfd.c (bfd_archive_filename): Catch NULL bfd pointers. 3774*75fd0b74Schristos 3775*75fd0b74Schristos2004-04-15 Alan Modra <amodra@bigpond.net.au> 3776*75fd0b74Schristos 3777*75fd0b74Schristos * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change. 3778*75fd0b74Schristos 3779*75fd0b74Schristos2004-04-15 H.J. Lu <hongjiu.lu@intel.com> 3780*75fd0b74Schristos 3781*75fd0b74Schristos * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only 3782*75fd0b74Schristos when it is a definition. 3783*75fd0b74Schristos 3784*75fd0b74Schristos2004-04-14 Alan Modra <amodra@bigpond.net.au> 3785*75fd0b74Schristos 3786*75fd0b74Schristos * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort 3787*75fd0b74Schristos when statically linking PIC code. 3788*75fd0b74Schristos * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. 3789*75fd0b74Schristos 3790*75fd0b74Schristos2004-04-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> 3791*75fd0b74Schristos 3792*75fd0b74Schristos * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets. 3793*75fd0b74Schristos * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3* 3794*75fd0b74Schristos targets amd aout_mips_big_vec, aout_mips_little_vec target vectors. 3795*75fd0b74Schristos * configure: Regenerate. 3796*75fd0b74Schristos 3797*75fd0b74Schristos2004-04-08 Richard Sandiford <rsandifo@redhat.com> 3798*75fd0b74Schristos 3799*75fd0b74Schristos * elflink.c: Include libiberty.h. 3800*75fd0b74Schristos * Makefile.am (elflink.lo): Depend on libiberty.h. 3801*75fd0b74Schristos * Makefile.in: Regenerate. 3802*75fd0b74Schristos 3803*75fd0b74Schristos2004-04-06 Daniel Jacobowitz <drow@mvista.com> 3804*75fd0b74Schristos 3805*75fd0b74Schristos * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use 3806*75fd0b74Schristos ".MIPS.stubs". 3807*75fd0b74Schristos 3808*75fd0b74Schristos2004-04-05 H.J. Lu <hongjiu.lu@intel.com> 3809*75fd0b74Schristos 3810*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always 3811*75fd0b74Schristos reserve the memory for dynamic linker 3812*75fd0b74Schristos 3813*75fd0b74Schristos2004-04-05 Mark Kettenis <kettenis@gnu.org> 3814*75fd0b74Schristos 3815*75fd0b74Schristos * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define. 3816*75fd0b74Schristos (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc. 3817*75fd0b74Schristos 3818*75fd0b74Schristos2004-04-02 H.J. Lu <hongjiu.lu@intel.com> 3819*75fd0b74Schristos 3820*75fd0b74Schristos * elf32-cr16c.c (elf32_cr16c_relocate_section): Use 3821*75fd0b74Schristos RELOC_FOR_GLOBAL_SYMBOL. 3822*75fd0b74Schristos (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym. 3823*75fd0b74Schristos 3824*75fd0b74Schristos2004-04-02 H.J. Lu <hongjiu.lu@intel.com> 3825*75fd0b74Schristos 3826*75fd0b74Schristos * elf32-arm.h (elf32_arm_final_link_relocate): Handle 3827*75fd0b74Schristos R_ARM_ALU* only if OLD_ARM_ABI is not defined. 3828*75fd0b74Schristos 3829*75fd0b74Schristos2004-04-01 Paul Brook <paul@codesourcery.com> 3830*75fd0b74Schristos 3831*75fd0b74Schristos * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update. 3832*75fd0b74Schristos * elf32-arm.h (struct elf32_elf_section_map): New. 3833*75fd0b74Schristos (struct _arm_elf_section_data): New. 3834*75fd0b74Schristos (elf32_arm_section_data): Define. 3835*75fd0b74Schristos (struct elf32_arm_link_hash_table): Add byteswap_code. 3836*75fd0b74Schristos (elf32_arm_link_hash_table_create): Initialize byteswap_code. 3837*75fd0b74Schristos (bfd_elf32_arm_process_before_allocation): Add byteswap_code. 3838*75fd0b74Schristos (elf32_arm_post_process_headers): Set EF_ARM_BE8. 3839*75fd0b74Schristos (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook, 3840*75fd0b74Schristos elf32_arm_compare_mapping, elf32_arm_write_section): New functions. 3841*75fd0b74Schristos (bfd_elf32_new_section_hook, elf_backend_write_section, 3842*75fd0b74Schristos elf_backend_link_output_symbol_hook): Define. 3843*75fd0b74Schristos 3844*75fd0b74Schristos2004-04-01 Andy Chittenden <achittenden@bluearc.com> 3845*75fd0b74Schristos 3846*75fd0b74Schristos * stabs.c (struct stab_link_includes_totals): Add field 'symb' 3847*75fd0b74Schristos that keeps the characters in a B_INCL..B_EINCL range. 3848*75fd0b74Schristos (_bfd_link_section_stabs): When computing the sum of the 3849*75fd0b74Schristos characters in a B_INCL..B_EINCL range also keep a copy of those 3850*75fd0b74Schristos characters. Use this information to distinguish between 3851*75fd0b74Schristos include sections that have the same sum and the same length 3852*75fd0b74Schristos but which are nevertheless unique. 3853*75fd0b74Schristos 3854*75fd0b74Schristos2004-03-31 Paul Brook <paul@codesourcery.com> 3855*75fd0b74Schristos 3856*75fd0b74Schristos * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*. 3857*75fd0b74Schristos * elfarm-nabi.c (elf32_arm_howto_table): Ditto. 3858*75fd0b74Schristos 3859*75fd0b74Schristos2004-03-31 Andy Chittenden <achittenden@bluearc.com> 3860*75fd0b74Schristos 3861*75fd0b74Schristos * stabs.c (struct stab_link_includes_totals): Rename field 'total' 3862*75fd0b74Schristos to 'sum_chars' and add field 'num_chars'. 3863*75fd0b74Schristos (_bfd_link_section_stabs): When computing the sum of the 3864*75fd0b74Schristos characters in a B_INCL..B_EINCL range also keep a count of the 3865*75fd0b74Schristos number of characters. Use this information to help distinguish 3866*75fd0b74Schristos between include sections when have the same sum but which 3867*75fd0b74Schristos nevertheless are still unique. 3868*75fd0b74Schristos 3869*75fd0b74Schristos2004-03-31 Mattias Engdegård <mattias@virtutech.se> 3870*75fd0b74Schristos 3871*75fd0b74Schristos * stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs. 3872*75fd0b74Schristos 3873*75fd0b74Schristos2004-03-30 Galit Heller <Galit.Heller@nsc.com> 3874*75fd0b74Schristos Tomer Levi <Tomer.Levi@nsc.com> 3875*75fd0b74Schristos 3876*75fd0b74Schristos * Makefile.am (ALL_MACHINES): Add cpu-cr16c.lo. 3877*75fd0b74Schristos (ALL_MACHINES_CFILES): Add cpu-cr16c.c. 3878*75fd0b74Schristos (BFD32_BACKENDS): Add elf32-cr16c.lo. 3879*75fd0b74Schristos (BFD32_BACKENDS_CFILES): Add elf32-cr16c.c. 3880*75fd0b74Schristos (cpu-cr16c.lo): New target. 3881*75fd0b74Schristos (elf32-cr16c.lo): Likewise. 3882*75fd0b74Schristos * Makefile.in: Regenerate. 3883*75fd0b74Schristos * archures.c (bfd_architecture): Add bfd_{arch,mach}_cr16c. 3884*75fd0b74Schristos (bfd_archures_list): Add bfd_cr16c_arch. 3885*75fd0b74Schristos * config.bfd: Handle cr16c-*-elf*. 3886*75fd0b74Schristos * configure.in: Handle bfd_elf32_cr16c_vec. 3887*75fd0b74Schristos * configure: Regenerate. 3888*75fd0b74Schristos * reloc.c: Add BFD_RELOC_16C_NUM08, BFD_RELOC_16C_NUM08_C, 3889*75fd0b74Schristos BFD_RELOC_16C_NUM16, BFD_RELOC_16C_NUM16_C, 3890*75fd0b74Schristos BFD_RELOC_16C_NUM32, BFD_RELOC_16C_NUM32_C, 3891*75fd0b74Schristos BFD_RELOC_16C_DISP04, BFD_RELOC_16C_DISP04_C, 3892*75fd0b74Schristos BFD_RELOC_16C_DISP08, BFD_RELOC_16C_DISP08_C, 3893*75fd0b74Schristos BFD_RELOC_16C_DISP16, BFD_RELOC_16C_DISP16_C, 3894*75fd0b74Schristos BFD_RELOC_16C_DISP24, BFD_RELOC_16C_DISP24_C, 3895*75fd0b74Schristos BFD_RELOC_16C_DISP24a, BFD_RELOC_16C_DISP24a_C, 3896*75fd0b74Schristos BFD_RELOC_16C_REG04, BFD_RELOC_16C_REG04_C, 3897*75fd0b74Schristos BFD_RELOC_16C_REG04a, BFD_RELOC_16C_REG04a_C, 3898*75fd0b74Schristos BFD_RELOC_16C_REG14, BFD_RELOC_16C_REG14_C, 3899*75fd0b74Schristos BFD_RELOC_16C_REG16, BFD_RELOC_16C_REG16_C, 3900*75fd0b74Schristos BFD_RELOC_16C_REG20, BFD_RELOC_16C_REG20_C, 3901*75fd0b74Schristos BFD_RELOC_16C_ABS20, BFD_RELOC_16C_ABS20_C, 3902*75fd0b74Schristos BFD_RELOC_16C_ABS24, BFD_RELOC_16C_ABS24_C, 3903*75fd0b74Schristos BFD_RELOC_16C_IMM04, BFD_RELOC_16C_IMM04_C, 3904*75fd0b74Schristos BFD_RELOC_16C_IMM16, BFD_RELOC_16C_IMM16_C, 3905*75fd0b74Schristos BFD_RELOC_16C_IMM20, BFD_RELOC_16C_IMM20_C, 3906*75fd0b74Schristos BFD_RELOC_16C_IMM24, BFD_RELOC_16C_IMM24_C, 3907*75fd0b74Schristos BFD_RELOC_16C_IMM32, BFD_RELOC_16C_IMM32_C. 3908*75fd0b74Schristos * targets.c (bfd_elf32_cr16c_vec): Declare. 3909*75fd0b74Schristos (bfd_target_vector): Add bfd_elf32_cr16c_vec. 3910*75fd0b74Schristos * cpu-cr16c.c: New file. 3911*75fd0b74Schristos * elf32-cr16c.c: Likewise. 3912*75fd0b74Schristos * libbfd.h: Regenerate. 3913*75fd0b74Schristos * bfd-in2.h: Likewise. 3914*75fd0b74Schristos 3915*75fd0b74Schristos2004-03-30 Jakub Jelinek <jakub@redhat.com> 3916*75fd0b74Schristos 3917*75fd0b74Schristos * elf.c (map_sections_to_segments): Fix handling of .tbss. 3918*75fd0b74Schristos 3919*75fd0b74Schristos2004-03-27 Alan Modra <amodra@bigpond.net.au> 3920*75fd0b74Schristos 3921*75fd0b74Schristos * Makefile.am: Remove all mention of elflink.h. 3922*75fd0b74Schristos * Makefile.in: Regenerate. 3923*75fd0b74Schristos * bfd-in.h (bfd_elf_discard_info): Declare. 3924*75fd0b74Schristos (bfd_elf32_discard_info, bfd_elf64_discard_info): Delete. 3925*75fd0b74Schristos * bfd-in2.h: Regenerate. 3926*75fd0b74Schristos * elf-bfd.h (bfd_elf32_print_symbol, bfd_elf64_print_symbol, 3927*75fd0b74Schristos bfd_elf32_link_record_dynamic_symbol, 3928*75fd0b74Schristos bfd_elf64_link_record_dynamic_symbol, 3929*75fd0b74Schristos _bfd_elf_link_record_dynamic_symbol, bfd_elf32_bfd_final_link, 3930*75fd0b74Schristos bfd_elf64_bfd_final_link, elf_link_record_local_dynamic_symbol, 3931*75fd0b74Schristos _bfd_elf32_link_record_local_dynamic_symbol, 3932*75fd0b74Schristos _bfd_elf64_link_record_local_dynamic_symbol, 3933*75fd0b74Schristos _bfd_elf32_gc_sections, _bfd_elf32_gc_common_finalize_got_offsets, 3934*75fd0b74Schristos _bfd_elf32_gc_common_final_link, _bfd_elf64_gc_common_final_link, 3935*75fd0b74Schristos _bfd_elf32_gc_record_vtinherit, _bfd_elf32_gc_record_vtentry, 3936*75fd0b74Schristos _bfd_elf64_gc_sections, _bfd_elf64_gc_common_finalize_got_offsets, 3937*75fd0b74Schristos _bfd_elf64_gc_record_vtinherit, _bfd_elf64_gc_record_vtentry, 3938*75fd0b74Schristos _bfd_elf32_reloc_symbol_deleted_p, 3939*75fd0b74Schristos _bfd_elf64_reloc_symbol_deleted_p): Delete. 3940*75fd0b74Schristos (bfd_elf_link_record_dynamic_symbol, 3941*75fd0b74Schristos bfd_elf_link_record_local_dynamic_symbol, 3942*75fd0b74Schristos bfd_elf_final_link, bfd_elf_gc_sections, 3943*75fd0b74Schristos bfd_elf_gc_record_vtinherit, bfd_elf_gc_record_vtentry, 3944*75fd0b74Schristos bfd_elf_gc_common_finalize_got_offsets, bfd_elf_gc_common_final_link, 3945*75fd0b74Schristos bfd_elf_reloc_symbol_deleted_p): Declare. 3946*75fd0b74Schristos (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define. 3947*75fd0b74Schristos * elf32-arm.h: Update for changed function names. Remove local 3948*75fd0b74Schristos WILL_CALL_FINISH_DYNAMIC_SECTION define. 3949*75fd0b74Schristos * elf-hppa.h, elf-m10300.c, elf32-cris.c, elf32-d10v.c, elf32-dlx.c, 3950*75fd0b74Schristos * elf32-fr30.c, elf32-frv.c, elf32-h8300.c, elf32-hppa.c, elf32-i386.c, 3951*75fd0b74Schristos * elf32-iq2000.c, elf32-m32r.c, elf32-m68hc1x.c, elf32-m68k.c, 3952*75fd0b74Schristos * elf32-mcore.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c, 3953*75fd0b74Schristos * elf32-sh.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c, 3954*75fd0b74Schristos * elf32-xstormy16.c, elf32-xtensa.c, elf64-alpha.c, elf64-hppa.c, 3955*75fd0b74Schristos * elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, elf64-sparc.c, 3956*75fd0b74Schristos * elf64-x86-64.c, elfxx-ia64.c, elfxx-mips.c, elfxx-target.h: Likewise. 3957*75fd0b74Schristos * elfxx-target.h (bfd_elfNN_bfd_final_link): Define. 3958*75fd0b74Schristos (bfd_elfNN_print_symbol): Define. 3959*75fd0b74Schristos * elfcode.h: Don't include elflink.h. 3960*75fd0b74Schristos (elf_bfd_discard_info, elf_reloc_symbol_deleted_p, 3961*75fd0b74Schristos elf_link_record_dynamic_symbol, elf_bfd_final_link, elf_gc_sections, 3962*75fd0b74Schristos elf_gc_common_finalize_got_offsets, elf_gc_common_final_link, 3963*75fd0b74Schristos elf_gc_record_vtinherit, elf_gc_record_vtentry, 3964*75fd0b74Schristos elf_link_record_local_dynamic_symbol): Don't define. 3965*75fd0b74Schristos * elflink.c: Update for changed function names. Move elflink.h 3966*75fd0b74Schristos code here. 3967*75fd0b74Schristos * elflink.h: Delete file. 3968*75fd0b74Schristos * po/SRC-POTFILES.in: Regenerate. 3969*75fd0b74Schristos * po/bfd.pot: Regenerate. 3970*75fd0b74Schristos 3971*75fd0b74Schristos2004-03-27 Alan Modra <amodra@bigpond.net.au> 3972*75fd0b74Schristos 3973*75fd0b74Schristos * elf64-mmix.c (mmix_elf_relocate_section): Restore code setting 3974*75fd0b74Schristos "name" for global syms accidentally removed in 2004-03-20 change. 3975*75fd0b74Schristos 3976*75fd0b74Schristos2004-03-27 Alan Modra <amodra@bigpond.net.au> 3977*75fd0b74Schristos 3978*75fd0b74Schristos * elf-bfd.h (struct elf_reloc_cookie): Add r_sym_shift field. 3979*75fd0b74Schristos * elflink.h: Replace all occurrences of sizeof (Elf_External_*) 3980*75fd0b74Schristos where Elf_External_* is different for 64 and 32 bit, with 3981*75fd0b74Schristos corresponding elf_size_info field. 3982*75fd0b74Schristos (struct elf_final_link_info): Use "bfd_byte *" instead 3983*75fd0b74Schristos of "Elf_External_Sym *" for external_syms and symbuf. 3984*75fd0b74Schristos (elf_link_adjust_relocs): Set up r_type_mask and r_sym_shift local 3985*75fd0b74Schristos vars and use instead of ELF_R_INFO and ELF_R_TYPE macros. 3986*75fd0b74Schristos (struct elf_link_sort_rela): Add "sym_mask" alias for "offset". 3987*75fd0b74Schristos (elf_link_sort_cmp1): Use sym_mask field instead of ELF_R_SYM. 3988*75fd0b74Schristos (elf_link_sort_cmp2): Adjust. 3989*75fd0b74Schristos (elf_link_sort_relocs): Set up r_sym_mask local var instead of 3990*75fd0b74Schristos using ELF_R_SYM macro. Set u.sym_mask. 3991*75fd0b74Schristos (elf_bfd_final_link): Call _bfd_elf_stringtab_init instead of macro 3992*75fd0b74Schristos version, elf_stringtab_init. Ditto for bfd_section_from_elf_index 3993*75fd0b74Schristos vs. section_from_elf_index. Adjust Elf_External_Sym pointer 3994*75fd0b74Schristos arithmetic. Pass bed to elf_link_flush_output_syms. Adjust 3995*75fd0b74Schristos Elf_External_Dyn pointer arithmentic. Use bed swap_dyn_in and 3996*75fd0b74Schristos swap_syn_out functions. Rearrange dyn swap in/out switch. 3997*75fd0b74Schristos (elf_link_output_sym): Adjust Elf_External_Sym pointer arithmentic. 3998*75fd0b74Schristos Pass bed to elf_link_flush_output_syms. Use bed swap_symbol_out. 3999*75fd0b74Schristos (elf_link_flush_output_syms): Add elf_backend_data arg. 4000*75fd0b74Schristos (elf_link_check_versioned_symbol): Likewise. 4001*75fd0b74Schristos (elf_link_output_extsym): Pass bed to elf_link_check_versioned_symbol. 4002*75fd0b74Schristos Adjust Elf_External_Sym pointer arithmetic. Use bed swap_symbol_out. 4003*75fd0b74Schristos (elf_link_input_bfd): Use bfd_section_from_elf_index. Set up 4004*75fd0b74Schristos r_type_mask and r_sym_shift local vars and use instead of ELF_R_SYM, 4005*75fd0b74Schristos ELF_R_TYPE and ELF_R_INFO macros. 4006*75fd0b74Schristos (elf_reloc_link_order): Select ELF32_R_INFO or ELF64_R_INFO invocation 4007*75fd0b74Schristos based on size rather than using ELF_R_INFO. 4008*75fd0b74Schristos (elf_gc_mark): Set up r_sym_shift local var and use instead of 4009*75fd0b74Schristos ELF_R_SYM macro. 4010*75fd0b74Schristos (struct alloc_got_off_arg): New. 4011*75fd0b74Schristos (elf_gc_common_finalize_got_offsets): Use elf_size_info instead of 4012*75fd0b74Schristos ARCH_SIZE. Pass get entry size down to elf_gc_allocate_got_offsets. 4013*75fd0b74Schristos (elf_gc_allocate_got_offsets): Adjust. 4014*75fd0b74Schristos (elf_reloc_symbol_deleted_p): Usee cookie.r_sym_shift instead of 4015*75fd0b74Schristos ELF_R_SYM. Use bfd_section_from_elf_index. 4016*75fd0b74Schristos (elf_bfd_discard_info): Set cookie.r_sym_shift. 4017*75fd0b74Schristos * elfcode.h (elf_stringtab_init, section_from_elf_index): Delete. 4018*75fd0b74Schristos (elf_slurp_symbol_table): Use bfd_section_from_elf_index. 4019*75fd0b74Schristos 4020*75fd0b74Schristos2004-03-26 Stan Shebs <shebs@apple.com> 4021*75fd0b74Schristos 4022*75fd0b74Schristos Remove MPW support, no longer used. 4023*75fd0b74Schristos * config.bfd (powerpc-*-mpw*): Remove configuration. 4024*75fd0b74Schristos * mpw-config.in, mpw-make.sed: Remove files. 4025*75fd0b74Schristos * ecoffswap.h [MPW_C]: Remove MPW-C-friendly version of code. 4026*75fd0b74Schristos 4027*75fd0b74Schristos2004-03-26 Alan Modra <amodra@bigpond.net.au> 4028*75fd0b74Schristos 4029*75fd0b74Schristos * elf64-ppc.c (elf_backend_add_symbol_hook): Define. 4030*75fd0b74Schristos (ppc64_elf_add_symbol_hook): New function. 4031*75fd0b74Schristos * elf-bfd.h (struct elf_backend_data <elf_add_symbol_hook>): Remove 4032*75fd0b74Schristos const from Elf_Internal_Sym param. 4033*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Adjust. 4034*75fd0b74Schristos * elf-hppa.h (elf_hppa_add_symbol_hook): Adjust. 4035*75fd0b74Schristos * elf32-frv.c (elf32_frv_add_symbol_hook): Adjust. 4036*75fd0b74Schristos * elf32-i370.c (elf_backend_add_symbol_hook): Adjust. 4037*75fd0b74Schristos * elf32-m32r.c (m32r_elf_add_symbol_hook): Adjust. 4038*75fd0b74Schristos * elf32-m68hc1x.c (elf32_m68hc11_add_symbol_hook): Adjust. 4039*75fd0b74Schristos * elf32-m68hc1x.h (elf32_m68hc11_add_symbol_hook): Adjust. 4040*75fd0b74Schristos * elf32-ppc.c (ppc_elf_add_symbol_hook): Adjust. 4041*75fd0b74Schristos * elf32-sh64.c (sh64_elf_add_symbol_hook): Adjust. 4042*75fd0b74Schristos * elf32-v850.c (v850_elf_add_symbol_hook): Adjust. 4043*75fd0b74Schristos * elf64-alpha.c (elf64_alpha_add_symbol_hook): Adjust. 4044*75fd0b74Schristos * elf64-mmix.c (mmix_elf_add_symbol_hook): Adjust. 4045*75fd0b74Schristos * elf64-sh64.c (sh64_elf64_add_symbol_hook): Adjust. 4046*75fd0b74Schristos * elf64-sparc.c (sparc64_elf_add_symbol_hook): Adjust. 4047*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Adjust. 4048*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Adjust. 4049*75fd0b74Schristos * elfxx-mips.h (_bfd_mips_elf_add_symbol_hook): Adjust. 4050*75fd0b74Schristos 4051*75fd0b74Schristos2004-03-26 Alan Modra <amodra@bigpond.net.au> 4052*75fd0b74Schristos 4053*75fd0b74Schristos * elfxx-target.h (bfd_elfNN_bfd_link_add_symbols): Define. 4054*75fd0b74Schristos * elf-bfd.h (_bfd_elf_link_add_archive_symbols): Delete. 4055*75fd0b74Schristos (_bfd_elf_sort_symbol, _bfd_elf_add_dt_needed_tag): Delete. 4056*75fd0b74Schristos (_bfd_elf_finalize_dynstr, bfd_elf32_bfd_link_add_symbols): Delete. 4057*75fd0b74Schristos (bfd_elf64_bfd_link_add_symbols): Delete. 4058*75fd0b74Schristos (bfd_elf_link_add_symbols): Declare. 4059*75fd0b74Schristos * elfcode.h (elf_bfd_link_add_symbols): Delete. 4060*75fd0b74Schristos * elflink.c: Include safe-ctype.h. 4061*75fd0b74Schristos (elf_add_dt_needed_tag): Rename from _bfd_elf_add_dt_needed_tag, 4062*75fd0b74Schristos make static. 4063*75fd0b74Schristos (elf_sort_symbol): Rename from _bfd_elf_sort_symbol, make static. 4064*75fd0b74Schristos (elf_finalize_dynstr): Rename from _bfd_elf_finalize_dynstr, make 4065*75fd0b74Schristos static. 4066*75fd0b74Schristos (elf_link_add_archive_symbols): Rename from 4067*75fd0b74Schristos _bfd_elf_link_add_archive_symbols, make static. 4068*75fd0b74Schristos (elf_link_add_object_symbols): New function. Corresponding 4069*75fd0b74Schristos elflink.h function converted to use elf_size_info. 4070*75fd0b74Schristos (bfd_elf_link_add_symbols): Likewise. 4071*75fd0b74Schristos (bfd_elf_size_dynamic_sections): Adjust. 4072*75fd0b74Schristos * elflink.h (elf_bfd_link_add_symbols): Delete. 4073*75fd0b74Schristos (elf_link_add_object_symbols): Delete. 4074*75fd0b74Schristos * elf32-gen.c (elf32_generic_link_add_symbols): Call 4075*75fd0b74Schristos bfd_elf_link_add_symbols. 4076*75fd0b74Schristos * elf64-gen.c (elf64_generic_link_add_symbols): Likewise. 4077*75fd0b74Schristos 4078*75fd0b74Schristos2004-03-25 Alan Modra <amodra@bigpond.net.au> 4079*75fd0b74Schristos 4080*75fd0b74Schristos * elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed 4081*75fd0b74Schristos and chained shared libs only if dynsym. Clear dynsym on forced-local. 4082*75fd0b74Schristos 4083*75fd0b74Schristos * elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare. 4084*75fd0b74Schristos (bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete. 4085*75fd0b74Schristos (_bfd_elf_add_dt_needed_tag): Declare. 4086*75fd0b74Schristos (_bfd_elf_sort_symbol): Declare. 4087*75fd0b74Schristos (_bfd_elf_finalize_dynstr): Declare. 4088*75fd0b74Schristos (RELOC_FOR_GLOBAL_SYM): Formatting. 4089*75fd0b74Schristos * elfcode.h (elf_add_dynamic_entry): Delete. 4090*75fd0b74Schristos * elflink.c (_bfd_elf_add_dynamic_entry): New function. Corresponding 4091*75fd0b74Schristos elflink.h function converted to use elf_size_info. 4092*75fd0b74Schristos (_bfd_elf_add_dt_needed_tag): Likewise. 4093*75fd0b74Schristos (_bfd_elf_sort_symbol): Likewise. 4094*75fd0b74Schristos (_bfd_elf_finalize_dynstr): Likewise. 4095*75fd0b74Schristos (compute_bucket_count): Likewise. 4096*75fd0b74Schristos (bfd_elf_size_dynamic_sections): Likewise. Check result of 4097*75fd0b74Schristos _bfd_elf_strtab_add before calling _bfd_elf_strtab_addref. 4098*75fd0b74Schristos (elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from.. 4099*75fd0b74Schristos * elflink.h: ..here. 4100*75fd0b74Schristos (sort_symbol, add_dt_needed_tag): Delete. 4101*75fd0b74Schristos (elf_add_dynamic_entry, elf_finalize_dynstr): Delete. 4102*75fd0b74Schristos (compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete. 4103*75fd0b74Schristos Update all users. 4104*75fd0b74Schristos * elf32-arm.h (add_dynamic_entry): Update. Remove casts. 4105*75fd0b74Schristos * elf32-cris.c (add_dynamic_entry): Likewise. 4106*75fd0b74Schristos * elf32-hppa.c (add_dynamic_entry): Likewise. 4107*75fd0b74Schristos * elf32-i370.c (add_dynamic_entry): Likewise. 4108*75fd0b74Schristos * elf32-i386.c (add_dynamic_entry): Likewise. 4109*75fd0b74Schristos * elf32-m32r.c (add_dynamic_entry): Likewise. 4110*75fd0b74Schristos * elf32-m68k.c (add_dynamic_entry): Likewise. 4111*75fd0b74Schristos * elf32-ppc.c (add_dynamic_entry): Likewise. 4112*75fd0b74Schristos * elf32-s390.c (add_dynamic_entry): Likewise. 4113*75fd0b74Schristos * elf32-sh.c (add_dynamic_entry): Likewise. 4114*75fd0b74Schristos * elf32-sparc.c (add_dynamic_entry): Likewise. 4115*75fd0b74Schristos * elf32-vax.c (add_dynamic_entry): Likewise. 4116*75fd0b74Schristos * elf32-xtensa.c (add_dynamic_entry): Likewise. 4117*75fd0b74Schristos * elf64-alpha.c (add_dynamic_entry): Likewise. 4118*75fd0b74Schristos * elf64-hppa.c (add_dynamic_entry): Likewise. 4119*75fd0b74Schristos * elf64-ppc.c (add_dynamic_entry): Likewise. 4120*75fd0b74Schristos * elf64-s390.c (add_dynamic_entry): Likewise. 4121*75fd0b74Schristos * elf64-sparc.c (add_dynamic_entry): Likewise. 4122*75fd0b74Schristos * elf64-x86-64.c (add_dynamic_entry): Likewise. 4123*75fd0b74Schristos * elfxx-ia64.c (add_dynamic_entry): Likewise. 4124*75fd0b74Schristos * elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise. 4125*75fd0b74Schristos * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise. 4126*75fd0b74Schristos * elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise. 4127*75fd0b74Schristos * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise. 4128*75fd0b74Schristos 4129*75fd0b74Schristos2004-03-23 Paul Brook <paul@codesourcery.com> 4130*75fd0b74Schristos 4131*75fd0b74Schristos * elf32-arm.h (arm_print_private_bfd_data): Add EABI v3. 4132*75fd0b74Schristos 4133*75fd0b74Schristos2004-03-22 Bob Wilson <bob.wilson@acm.org> 4134*75fd0b74Schristos 4135*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read 4136*75fd0b74Schristos literal tables and check for relocs outside of literal pools. 4137*75fd0b74Schristos (elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag. 4138*75fd0b74Schristos (elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or 4139*75fd0b74Schristos set DF_TEXTREL. 4140*75fd0b74Schristos (elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry. 4141*75fd0b74Schristos (elf_xtensa_relocate_section): Read literal tables and check for 4142*75fd0b74Schristos dynamic relocations in read-only sections and not in literal pools. 4143*75fd0b74Schristos 4144*75fd0b74Schristos2004-03-23 Alan Modra <amodra@bigpond.net.au> 4145*75fd0b74Schristos 4146*75fd0b74Schristos PR 51. 4147*75fd0b74Schristos * linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char. 4148*75fd0b74Schristos 4149*75fd0b74Schristos2004-03-22 Hans-Peter Nilsson <hp@axis.com> 4150*75fd0b74Schristos 4151*75fd0b74Schristos * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT, 4152*75fd0b74Schristos R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol 4153*75fd0b74Schristos not defined by the executable, or defined in a DSO. 4154*75fd0b74Schristos <eliding run-time relocation of .got>: Initialize GOT entry for a 4155*75fd0b74Schristos function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an 4156*75fd0b74Schristos executable. 4157*75fd0b74Schristos (cris_elf_gc_sweep_hook): Improve fallthrough marking. 4158*75fd0b74Schristos (elf_cris_try_fold_plt_to_got): Improve head comment. Do not fold 4159*75fd0b74Schristos a PLT reloc to GOT for an executable. 4160*75fd0b74Schristos (elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with 4161*75fd0b74Schristos .got for a DSO and explain why. 4162*75fd0b74Schristos (elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs 4163*75fd0b74Schristos and unreferenced symbols for which a PLT is defined. Adjust 4164*75fd0b74Schristos dynamic-symbol pruning correspondingly, to make sure we don't lose 4165*75fd0b74Schristos a dynamic symbol also defined by a DSO. 4166*75fd0b74Schristos 4167*75fd0b74Schristos2004-03-22 Alan Modra <amodra@bigpond.net.au> 4168*75fd0b74Schristos 4169*75fd0b74Schristos * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section 4170*75fd0b74Schristos and rel args. Group input and output args. Wrap to 80 columns. 4171*75fd0b74Schristos * elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c, 4172*75fd0b74Schristos elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c, 4173*75fd0b74Schristos elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c, 4174*75fd0b74Schristos elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c, 4175*75fd0b74Schristos elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c, 4176*75fd0b74Schristos elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c, 4177*75fd0b74Schristos elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c, 4178*75fd0b74Schristos elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update 4179*75fd0b74Schristos RELOC_FOR_GLOBAL_SYMBOL invocation. 4180*75fd0b74Schristos 4181*75fd0b74Schristos2004-03-20 H.J. Lu <hongjiu.lu@intel.com> 4182*75fd0b74Schristos 4183*75fd0b74Schristos * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if 4184*75fd0b74Schristos unresolved symbols in objects aren't allowed. 4185*75fd0b74Schristos 4186*75fd0b74Schristos * elf-hppa.h (elf_hppa_relocate_section): Properly handle 4187*75fd0b74Schristos unresolved symbols. 4188*75fd0b74Schristos (elf_hppa_remark_useless_dynamic_symbols): Likewise. 4189*75fd0b74Schristos (elf_hppa_unmark_useless_dynamic_symbols): 4190*75fd0b74Schristos * elf32-frv.c (elf32_frv_relocate_section): Likewise. 4191*75fd0b74Schristos * elf32-hppa.c (elf32_hppa_size_stubs): Likewise. 4192*75fd0b74Schristos (elf32_hppa_relocate_section): Likewise. 4193*75fd0b74Schristos * elf32-i370.c (i370_elf_relocate_section): Likewise. 4194*75fd0b74Schristos * elf32-m32r.c (m32r_elf_relocate_section): Likewise. 4195*75fd0b74Schristos * elf32-sh.c (sh_elf_relocate_section): Likewise. 4196*75fd0b74Schristos * elf64-sh64.c (sh_elf64_relocate_section): Likewise. 4197*75fd0b74Schristos * elfxx-mips.c (mips_elf_calculate_relocation): Likewise. 4198*75fd0b74Schristos 4199*75fd0b74Schristos * elf-m10200.c (mn10200_elf_relocate_section): Use 4200*75fd0b74Schristos RELOC_FOR_GLOBAL_SYMBOL. 4201*75fd0b74Schristos * elf32-avr.c (elf32_avr_relocate_section): Likewise. 4202*75fd0b74Schristos * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. 4203*75fd0b74Schristos * elf32-fr30.c (fr30_elf_relocate_section): Likewise. 4204*75fd0b74Schristos * elf32-h8300.c (elf32_h8_relocate_section): Likewise. 4205*75fd0b74Schristos * elf32-i860.c (elf32_i860_relocate_section): Likewise. 4206*75fd0b74Schristos * elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise. 4207*75fd0b74Schristos * elf32-mcore.c (mcore_elf_relocate_section): Likewise. 4208*75fd0b74Schristos * elf32-msp430.c (elf32_msp430_relocate_section): Likewise. 4209*75fd0b74Schristos * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise. 4210*75fd0b74Schristos * elf32-v850.c (v850_elf_relocate_section): Likewise. 4211*75fd0b74Schristos * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise. 4212*75fd0b74Schristos * elf64-mmix.c (mmix_elf_relocate_section): Likewise. 4213*75fd0b74Schristos 4214*75fd0b74Schristos2004-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 4215*75fd0b74Schristos 4216*75fd0b74Schristos * elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32. 4217*75fd0b74Schristos (final_link_relocate): Likewise. 4218*75fd0b74Schristos * elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for 4219*75fd0b74Schristos R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations. 4220*75fd0b74Schristos 4221*75fd0b74Schristos2004-03-19 Alan Modra <amodra@bigpond.net.au> 4222*75fd0b74Schristos 4223*75fd0b74Schristos * Makefile.am: Run "make dep-am". 4224*75fd0b74Schristos * Makefile.in: Regenerate. 4225*75fd0b74Schristos * aclocal.m4: Regenerate. 4226*75fd0b74Schristos * config.in: Regenerate. 4227*75fd0b74Schristos * po/bfd.pot: Regenerate. 4228*75fd0b74Schristos 4229*75fd0b74Schristos2004-03-19 Alan Modra <amodra@bigpond.net.au> 4230*75fd0b74Schristos H.J. Lu <hongjiu.lu@intel.com> 4231*75fd0b74Schristos 4232*75fd0b74Schristos * elflink.c (_bfd_elf_merge_symbol): Revert last change. Move 4233*75fd0b74Schristos type and size change code to where it was previously. Remove 4234*75fd0b74Schristos dt_needed param. Treat old weak syms as strong if new sym is 4235*75fd0b74Schristos from a shared lib, even when old sym is from another shared 4236*75fd0b74Schristos lib. Remove unnecessary tests of oldweak and newweak. Correct 4237*75fd0b74Schristos comments. 4238*75fd0b74Schristos (_bfd_elf_add_default_symbol): Remove dt_needed param. Update 4239*75fd0b74Schristos _bfd_elf_merge_symbol calls. 4240*75fd0b74Schristos * elflink.h (elf_link_add_object_symbols): Update calls. Remove 4241*75fd0b74Schristos dt_needed local var. Update comments. 4242*75fd0b74Schristos * elf-bfd.h (_bfd_elf_merge_symbol): Update prototype. 4243*75fd0b74Schristos (_bfd_elf_add_default_symbol): Likewise. 4244*75fd0b74Schristos 4245*75fd0b74Schristos * elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle 4246*75fd0b74Schristos strong syms in one shared object overriding weak syms in another. 4247*75fd0b74Schristos 4248*75fd0b74Schristos2004-03-18 Alan Modra <amodra@bigpond.net.au> 4249*75fd0b74Schristos 4250*75fd0b74Schristos * elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field. Add 4251*75fd0b74Schristos dyn_lib_class field. Rearrange for better packing. 4252*75fd0b74Schristos (elf_dt_soname): Delete. 4253*75fd0b74Schristos (elf_dyn_lib_class): Define. 4254*75fd0b74Schristos * elf.c (bfd_elf_set_dt_needed_name): Update comment. 4255*75fd0b74Schristos (bfd_elf_set_dt_needed_soname): Delete. 4256*75fd0b74Schristos (bfd_elf_set_dyn_lib_class): New function. 4257*75fd0b74Schristos * elflink.h (add_dt_needed_tag): New function. Split out from.. 4258*75fd0b74Schristos (elf_link_add_object_symbols): ..here. Rename "name" to "soname". 4259*75fd0b74Schristos Use elf_dyn_lib_class to set dt_needed and add_needed. Move fallback 4260*75fd0b74Schristos initialization of soname. 4261*75fd0b74Schristos (elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of 4262*75fd0b74Schristos elf_dt_soname. 4263*75fd0b74Schristos * bfd-in.h (enum dynamic_lib_link_class): New. 4264*75fd0b74Schristos (bfd_elf_set_dt_needed_soname): Delete. 4265*75fd0b74Schristos (bfd_elf_set_dyn_lib_class): Declare. 4266*75fd0b74Schristos * bfd-in2.h: Regenerate. 4267*75fd0b74Schristos 4268*75fd0b74Schristos * elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling. 4269*75fd0b74Schristos (_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs. 4270*75fd0b74Schristos * elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in 4271*75fd0b74Schristos symbol loop. Instead use add_needed to flag tag as written. 4272*75fd0b74Schristos 4273*75fd0b74Schristos2004-03-17 Nathan Sidwell <nathan@codesourcery.com> 4274*75fd0b74Schristos 4275*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct 4276*75fd0b74Schristos logic for null_input_bfd detection. 4277*75fd0b74Schristos 4278*75fd0b74Schristos2004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de> 4279*75fd0b74Schristos 4280*75fd0b74Schristos * config.bfd: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff*. 4281*75fd0b74Schristos 4282*75fd0b74Schristos2004-03-16 Mark Kettenis <kettenis@gnu.org> 4283*75fd0b74Schristos 4284*75fd0b74Schristos * netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: Remove 4285*75fd0b74Schristos code. 4286*75fd0b74Schristos 4287*75fd0b74Schristos2004-03-16 Alan Modra <amodra@bigpond.net.au> 4288*75fd0b74Schristos 4289*75fd0b74Schristos * elflink.c (elf_link_read_relocs_from_section): Don't use 4290*75fd0b74Schristos NUM_SHDR_ENTRIES in end of reloc calc. Move NULL shdr check.. 4291*75fd0b74Schristos (_bfd_elf_link_read_relocs): ..to here. 4292*75fd0b74Schristos * elf32-ppc.c (ppc_elf_relax_section): Formatting. 4293*75fd0b74Schristos 4294*75fd0b74Schristos2004-03-16 Alan Modra <amodra@bigpond.net.au> 4295*75fd0b74Schristos 4296*75fd0b74Schristos * configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override 4297*75fd0b74Schristos values selected in configure.host. Require both to be defined 4298*75fd0b74Schristos before setting BFD_HOST_64_BIT_DEFINED. Protect assignment to 4299*75fd0b74Schristos corresponding BFD_HOST vars with quotes. 4300*75fd0b74Schristos <${host64}-${target64}-${want64} in *true*>: Don't exempt gcc; 4301*75fd0b74Schristos Always require BFD_HOST_64_BIT_DEFINED. 4302*75fd0b74Schristos <file_ptr type>: Find off_t size before emitting message. Combine 4303*75fd0b74Schristos off_t and ftello64 conditional. 4304*75fd0b74Schristos * configure: Regenerate. 4305*75fd0b74Schristos 4306*75fd0b74Schristos2004-03-16 Alan Modra <amodra@bigpond.net.au> 4307*75fd0b74Schristos 4308*75fd0b74Schristos * elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer 4309*75fd0b74Schristos aliasing warning. Remove trailing whitespace throughout file. 4310*75fd0b74Schristos 4311*75fd0b74Schristos2004-03-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 4312*75fd0b74Schristos 4313*75fd0b74Schristos * elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of 4314*75fd0b74Schristos input_section in calls to get_dyn_name. 4315*75fd0b74Schristos * elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *". Use section id of first section in input BFD to build dynamic name for 4316*75fd0b74Schristos local symbols. 4317*75fd0b74Schristos (elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name. 4318*75fd0b74Schristos 4319*75fd0b74Schristos2004-03-15 Alan Modra <amodra@bigpond.net.au> 4320*75fd0b74Schristos 4321*75fd0b74Schristos * bfd-in.h (bfd_int64_t, bfd_uint64_t): New types. 4322*75fd0b74Schristos (BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here. 4323*75fd0b74Schristos (bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t. 4324*75fd0b74Schristos (bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t. 4325*75fd0b74Schristos (bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t. 4326*75fd0b74Schristos * configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8. 4327*75fd0b74Schristos (BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set 4328*75fd0b74Schristos when using long. 4329*75fd0b74Schristos * libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t. 4330*75fd0b74Schristos (bfd_getb64): Return bfd_uint64_t. Enable when BFD_HOST_64_BIT. 4331*75fd0b74Schristos (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise. 4332*75fd0b74Schristos (bfd_putb64): Accept bfd_uint64_t. Enable when BFD_HOST_64_BIT. 4333*75fd0b74Schristos (bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise. 4334*75fd0b74Schristos * dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t. 4335*75fd0b74Schristos (read_8_bytes, read_indirect_string, read_address): Likewise. 4336*75fd0b74Schristos (read_abbrevs, parse_comp_unit): Likewise. 4337*75fd0b74Schristos * targets.c (struct bfd_target): Likewise. 4338*75fd0b74Schristos * aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use. 4339*75fd0b74Schristos * hppabsd-core.c: Likewise. Formatting. 4340*75fd0b74Schristos * hpux-core.c: Likewise. 4341*75fd0b74Schristos * irix-core.c: Likewise. 4342*75fd0b74Schristos * netbsd-core.c: Likewise. 4343*75fd0b74Schristos * osf-core.c: Likewise. 4344*75fd0b74Schristos * ptrace-core.c: Likewise. 4345*75fd0b74Schristos * sco5-core.c: Likewise. 4346*75fd0b74Schristos * trad-core.c: Likewise. 4347*75fd0b74Schristos * configure: Regenerate. 4348*75fd0b74Schristos * bfd-in2.h: Regenerate. 4349*75fd0b74Schristos 4350*75fd0b74Schristos2004-03-15 Alan Modra <amodra@bigpond.net.au> 4351*75fd0b74Schristos 4352*75fd0b74Schristos * bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*. 4353*75fd0b74Schristos (bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise. 4354*75fd0b74Schristos (bfd_getb_signed_64, bfd_getl_signed_64): Likewise. 4355*75fd0b74Schristos (bfd_getb_signed_32, bfd_getl_signed_32): Likewise. 4356*75fd0b74Schristos (bfd_getb_signed_16, bfd_getl_signed_16): Likewise. 4357*75fd0b74Schristos (bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise. 4358*75fd0b74Schristos (bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise. 4359*75fd0b74Schristos * libbfd.c: Likewise in function definitions. 4360*75fd0b74Schristos (bfd_put_8): Mask with 0xff rather than casting to char. 4361*75fd0b74Schristos (bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise. 4362*75fd0b74Schristos (bfd_putb64, bfd_putl64, bfd_put_bits): Likewise. 4363*75fd0b74Schristos (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify. 4364*75fd0b74Schristos (H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise. 4365*75fd0b74Schristos (H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise. 4366*75fd0b74Schristos (H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise. 4367*75fd0b74Schristos * libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify. 4368*75fd0b74Schristos (H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise. 4369*75fd0b74Schristos (H_GET_64, H_GET_32, H_GET_16): Likewise. 4370*75fd0b74Schristos (H_GET_S64, H_GET_S32, H_GET_S16): Likewise. 4371*75fd0b74Schristos * archive.c (do_slurp_coff_armap): Update swap prototype. 4372*75fd0b74Schristos * coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*. 4373*75fd0b74Schristos (tic54x_getl_signed_32): Likewise. 4374*75fd0b74Schristos (tic54x_putl32): Likewise. Mask with 0xff rather than casting to char. 4375*75fd0b74Schristos * mach-o.c (bfd_mach_o_read_header): Update get32 prototype. 4376*75fd0b74Schristos * pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*. 4377*75fd0b74Schristos (bfd_getp_signed_32, bfd_putp32): Likewise. 4378*75fd0b74Schristos * targets.c (struct bfd_target): Use void* in place of bfd_byte* for 4379*75fd0b74Schristos bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32, 4380*75fd0b74Schristos bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16, 4381*75fd0b74Schristos bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64, 4382*75fd0b74Schristos bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16, 4383*75fd0b74Schristos bfd_h_getx_signed_16, bfd_h_putx16. 4384*75fd0b74Schristos * aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes. 4385*75fd0b74Schristos * hppabsd-core.c: Similarly. Rename NO_SIGNED_GET to NO_GETS. 4386*75fd0b74Schristos * hpux-core.c: Likewise. 4387*75fd0b74Schristos * irix-core.c: Likewise. 4388*75fd0b74Schristos * netbsd-core.c: Likewise. 4389*75fd0b74Schristos * osf-core.c: Likewise. 4390*75fd0b74Schristos * ptrace-core.c: Likewise. 4391*75fd0b74Schristos * sco5-core.c: Likewise. 4392*75fd0b74Schristos * trad-core.c: Likewise. 4393*75fd0b74Schristos * bfd-in2.h: Regenerate. 4394*75fd0b74Schristos 4395*75fd0b74Schristos2004-03-15 Matt Thomas <matt@3am-software.com> 4396*75fd0b74Schristos 4397*75fd0b74Schristos * config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD is 4398*75fd0b74Schristos selected. 4399*75fd0b74Schristos 4400*75fd0b74Schristos2004-03-13 Mark Kettenis <kettenis@gnu.org> 4401*75fd0b74Schristos 4402*75fd0b74Schristos * config.bfd: Add x86_64-*-openbsd*. 4403*75fd0b74Schristos * configure.in (x86_64-*-openbsd*): Set COREFILE to 4404*75fd0b74Schristos netbsd-core.lo. 4405*75fd0b74Schristos * configure: Regenerate. 4406*75fd0b74Schristos 4407*75fd0b74Schristos2004-03-12 Nick Clifton <nickc@redhat.com> 4408*75fd0b74Schristos Dave Murphy <wintermute2k4@ntlworld.com> 4409*75fd0b74Schristos 4410*75fd0b74Schristos * elf32-arm.h (elf32_arm_merge_private_bfd_data): Skip most checks 4411*75fd0b74Schristos if the input bfd does not contain any code. 4412*75fd0b74Schristos 4413*75fd0b74Schristos2004-03-09 Steve Ellcey <sje@cup.hp.com> 4414*75fd0b74Schristos 4415*75fd0b74Schristos * elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq. 4416*75fd0b74Schristos 4417*75fd0b74Schristos2004-03-05 Fred Fish <fnf@redhat.com> 4418*75fd0b74Schristos 4419*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Just force 4420*75fd0b74Schristos mips16 symbols to be even rather than testing first for even/odd. 4421*75fd0b74Schristos (_bfd_mips_elf_link_output_symbol_hook): Ditto. 4422*75fd0b74Schristos 4423*75fd0b74Schristos2004-03-05 Nathan Sidwell <nathan@codesourcery.com> 4424*75fd0b74Schristos 4425*75fd0b74Schristos * elf.c (map_sections_to_segments): Ignore .tbss sections for 4426*75fd0b74Schristos layout purposes. 4427*75fd0b74Schristos 4428*75fd0b74Schristos2004-03-03 Alexandre Oliva <aoliva@redhat.com> 4429*75fd0b74Schristos 4430*75fd0b74Schristos * elflink.c (bfd_elf_record_link_assignment): Mark undefweak and 4431*75fd0b74Schristos undefined symbols as hash_new. 4432*75fd0b74Schristos 4433*75fd0b74Schristos2003-03-03 Andrew Stubbs <andrew.stubbs@superh.com> 4434*75fd0b74Schristos 4435*75fd0b74Schristos * archures.c: Add bfd_mach_sh4_nommu_nofpu. 4436*75fd0b74Schristos * cpu-sh.c: Ditto. 4437*75fd0b74Schristos * elf32-sh.c: Ditto. 4438*75fd0b74Schristos * bfd-in2.h: Regenerate. 4439*75fd0b74Schristos 4440*75fd0b74Schristos2004-03-02 Alexandre Oliva <aoliva@redhat.com> 4441*75fd0b74Schristos 4442*75fd0b74Schristos * elf32-frv.c (struct frv_pic_relocs_info): Added fixups and 4443*75fd0b74Schristos dynrelocs. 4444*75fd0b74Schristos (_frv_count_got_plt_entries): Initialize them. 4445*75fd0b74Schristos (frv_pic_relocs_info_find): Add insert argument. Adjust all 4446*75fd0b74Schristos callers. 4447*75fd0b74Schristos (frv_pic_relocs_info_for_global): Likewise. 4448*75fd0b74Schristos (frv_pic_relocs_info_for_local): Likewise. 4449*75fd0b74Schristos (frv_pic_merge_early_relocs_info): New. 4450*75fd0b74Schristos (_frv_resolve_final_relocs_info): Use it in case one entry maps to 4451*75fd0b74Schristos another. 4452*75fd0b74Schristos (_frv_add_dyn_reloc): Add entry argument. Adjust all callers. 4453*75fd0b74Schristos Check that we don't exceed the allocated count for entry. 4454*75fd0b74Schristos (_frv_add_rofixup): Likewise. 4455*75fd0b74Schristos (_frv_emit_got_relocs_plt_entries): Adjust for coding standards. 4456*75fd0b74Schristos (elf32_frv_finish_dynamic_sections): Improve error message in case 4457*75fd0b74Schristos we emit too few rofixup entries. 4458*75fd0b74Schristos 4459*75fd0b74Schristos2004-03-01 Richard Sandiford <rsandifo@redhat.com> 4460*75fd0b74Schristos 4461*75fd0b74Schristos * archures.c (bfd_mach_fr450): New. 4462*75fd0b74Schristos * bfd-in2.h: Regenerate. 4463*75fd0b74Schristos * cpu-frv.c (arch_info_450): New bfd_arch_info_type. 4464*75fd0b74Schristos (arch_info_500): Link to it. 4465*75fd0b74Schristos * elf32-frv.c (elf32_frv_machine, frv_elf_merge_private_bfd_data) 4466*75fd0b74Schristos (frv_elf_print_private_bfd_data): Handle fr405 and fr450 header flags. 4467*75fd0b74Schristos (frv_elf_arch_extension_p): New function. 4468*75fd0b74Schristos (frv_elf_merge_private_bfd_data): Use it. 4469*75fd0b74Schristos 4470*75fd0b74Schristos2004-02-28 H.J. Lu <hongjiu.lu@intel.com> 4471*75fd0b74Schristos 4472*75fd0b74Schristos * elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype. 4473*75fd0b74Schristos 4474*75fd0b74Schristos * elflink.h (is_global_data_symbol_definition): Moved to 4475*75fd0b74Schristos elflink.c. 4476*75fd0b74Schristos (elf_link_is_defined_archive_symbol): Likewise. 4477*75fd0b74Schristos (elf_link_add_archive_symbols): Likewise. Renamed to 4478*75fd0b74Schristos _bfd_elf_link_add_archive_symbols. 4479*75fd0b74Schristos 4480*75fd0b74Schristos * elflink.c (elf_link_is_defined_archive_symbol): Get the size 4481*75fd0b74Schristos of ELF symbol table entry from backend. 4482*75fd0b74Schristos (_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols 4483*75fd0b74Schristos instead of elf_link_add_object_symbols. 4484*75fd0b74Schristos 4485*75fd0b74Schristos2004-02-27 Alexandre Oliva <aoliva@redhat.com> 4486*75fd0b74Schristos 4487*75fd0b74Schristos * elf-bfd.h (struct elf_backend_data): Added 4488*75fd0b74Schristos elf_backend_can_make_relative_eh_frame, 4489*75fd0b74Schristos elf_backend_can_make_lsda_relative_eh_frame and 4490*75fd0b74Schristos elf_backend_encode_eh_address. 4491*75fd0b74Schristos (_bfd_elf_encode_eh_address): Declare. 4492*75fd0b74Schristos (_bfd_elf_can_make_relative): Declare. 4493*75fd0b74Schristos * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new 4494*75fd0b74Schristos hooks to decide whether to attempt to make_relative and 4495*75fd0b74Schristos make_lsda_relative. 4496*75fd0b74Schristos (_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address. 4497*75fd0b74Schristos (_bfd_elf_can_make_relative): New. 4498*75fd0b74Schristos (_bfd_elf_encode_eh_address): New. 4499*75fd0b74Schristos * elf32-frv.c (frv_elf_use_relative_eh_frame): New. 4500*75fd0b74Schristos (frv_elf_encode_eh_address): New. 4501*75fd0b74Schristos (elf_backend_can_make_relative_eh_frame): Define. 4502*75fd0b74Schristos (elf_backend_can_make_lsda_relative_eh_frame): Define. 4503*75fd0b74Schristos (elf_backend_encode_eh_address): Define. 4504*75fd0b74Schristos * elfxx-target.h 4505*75fd0b74Schristos (elf_backend_can_make_relative_eh_frame): Define. 4506*75fd0b74Schristos (elf_backend_can_make_lsda_relative_eh_frame): Define. 4507*75fd0b74Schristos (elf_backend_encode_eh_address): Define. 4508*75fd0b74Schristos (elfNN_bed): Add them. 4509*75fd0b74Schristos 4510*75fd0b74Schristos2004-02-27 Alexandre Oliva <aoliva@redhat.com> 4511*75fd0b74Schristos 4512*75fd0b74Schristos * elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set 4513*75fd0b74Schristos complain_on_overflow to signed. 4514*75fd0b74Schristos 4515*75fd0b74Schristos2004-02-27 H.J. Lu <hongjiu.lu@intel.com> 4516*75fd0b74Schristos 4517*75fd0b74Schristos * elflink.h (sort_symbol): New. 4518*75fd0b74Schristos (elf_link_add_object_symbols): Use a sorted symbol array for 4519*75fd0b74Schristos weakdef. 4520*75fd0b74Schristos 4521*75fd0b74Schristos2004-02-27 Jakub Jelinek <jakub@redhat.com> 4522*75fd0b74Schristos 4523*75fd0b74Schristos * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL 4524*75fd0b74Schristos for pc relative relocs. 4525*75fd0b74Schristos (elf_s390_relocate_section): Likewise. 4526*75fd0b74Schristos * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL 4527*75fd0b74Schristos for pc relative relocs. 4528*75fd0b74Schristos (elf_s390_relocate_section): Likewise. 4529*75fd0b74Schristos 4530*75fd0b74Schristos2004-02-26 H.J. Lu <hongjiu.lu@intel.com> 4531*75fd0b74Schristos 4532*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to 4533*75fd0b74Schristos count_dyn_reloc. 4534*75fd0b74Schristos 4535*75fd0b74Schristos2004-02-25 H.J. Lu <hongjiu.lu@intel.com> 4536*75fd0b74Schristos 4537*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext. 4538*75fd0b74Schristos field to track if a relocation is against readonly section. 4539*75fd0b74Schristos (count_dyn_reloc): Take a new argument for rent->reltext. 4540*75fd0b74Schristos (elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc. 4541*75fd0b74Schristos (get_reloc_section): Don't set ia64_info->reltext here. 4542*75fd0b74Schristos (allocate_dynrel_entries): Set ia64_info->reltext here. 4543*75fd0b74Schristos 4544*75fd0b74Schristos2004-02-24 Alexandre Oliva <aoliva@redhat.com> 4545*75fd0b74Schristos 4546*75fd0b74Schristos * elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local. 4547*75fd0b74Schristos (_frv_emit_got_relocs_plt_entries): Decay relocation to protected 4548*75fd0b74Schristos function's descriptor to symbol+offset, and map local undefweak 4549*75fd0b74Schristos symbol to NULL function descriptor. 4550*75fd0b74Schristos (elf32_frv_relocate_section): Likewise. 4551*75fd0b74Schristos 4552*75fd0b74Schristos2004-02-23 Mark Kettenis <kettenis@gnu.org> 4553*75fd0b74Schristos 4554*75fd0b74Schristos * libaout.h (enum machine_type): Add M_SPARC64_NETBSD and 4555*75fd0b74Schristos M_X86_64_NETBSD. 4556*75fd0b74Schristos * netbsd-core.c (M_SPARC64_OPENBSD): Define. 4557*75fd0b74Schristos (netbsd_core_file_p): Set architecture from machine ID for 4558*75fd0b74Schristos selected machines. 4559*75fd0b74Schristos 4560*75fd0b74Schristos2004-02-23 Jakub Jelinek <jakub@redhat.com> 4561*75fd0b74Schristos 4562*75fd0b74Schristos * elflink.h (size_dynamic_sections): If not adding DT_FLAGS and 4563*75fd0b74Schristos DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry. 4564*75fd0b74Schristos 4565*75fd0b74Schristos2004-02-21 H.J. Lu <hongjiu.lu@intel.com> 4566*75fd0b74Schristos 4567*75fd0b74Schristos * elflink.c (_bfd_elf_merge_symbol): Properly handle undefined 4568*75fd0b74Schristos symbols with non-default visibility. 4569*75fd0b74Schristos 4570*75fd0b74Schristos2004-02-21 Danny Smith <daanysmith@users.sourceforge.net> 4571*75fd0b74Schristos 4572*75fd0b74Schristos * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear 4573*75fd0b74Schristos IMAGE_SCN_MEM_WRITE on known sections only. 4574*75fd0b74Schristos 4575*75fd0b74Schristos2004-02-20 Jakub Jelinek <jakub@redhat.com> 4576*75fd0b74Schristos 4577*75fd0b74Schristos * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak 4578*75fd0b74Schristos symbols used in PIE relocs. 4579*75fd0b74Schristos 4580*75fd0b74Schristos2004-02-19 Jakub Jelinek <jakub@redhat.com> 4581*75fd0b74Schristos 4582*75fd0b74Schristos * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear 4583*75fd0b74Schristos .plt sh_entsize. 4584*75fd0b74Schristos 4585*75fd0b74Schristos2004-02-18 Daniel Jacobowitz <drow@mvista.com> 4586*75fd0b74Schristos 4587*75fd0b74Schristos * configure.in: Update version to 2.15.90. 4588*75fd0b74Schristos * configure: Regenerate. 4589*75fd0b74Schristos 4590*75fd0b74Schristos2004-02-17 Daniel Jacobowitz <drow@mvista.com> 4591*75fd0b74Schristos Richard Sandiford <rsandifo@redhat.com> 4592*75fd0b74Schristos 4593*75fd0b74Schristos * elfxx-mips.c (mips_elf_calculate_relocation): Use 4594*75fd0b74Schristos _bfd_elf_symbol_refs_local_p to decide whether to decay 4595*75fd0b74Schristos a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend. 4596*75fd0b74Schristos (_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE 4597*75fd0b74Schristos relocs if the symbol wasn't defined by a regular object file. 4598*75fd0b74Schristos Don't check the symbol's dynindx. 4599*75fd0b74Schristos 4600*75fd0b74Schristos2004-02-16 Andrew Cagney <cagney@redhat.com> 4601*75fd0b74Schristos 4602*75fd0b74Schristos * bfd-in.h (file_ptr, ufile_ptr): Configure type using 4603*75fd0b74Schristos @bfd_file_ptr@. 4604*75fd0b74Schristos * bfd-in2.h: Re-generate. 4605*75fd0b74Schristos 4606*75fd0b74Schristos2004-02-14 Andrew Cagney <cagney@redhat.com> 4607*75fd0b74Schristos 4608*75fd0b74Schristos * configure.host (HDEFINES): When hppa*-*-hpux*, define 4609*75fd0b74Schristos _LARGEFILE64_SOURCE. 4610*75fd0b74Schristos 4611*75fd0b74Schristos2004-02-13 Andrew Cagney <cagney@redhat.com> 4612*75fd0b74Schristos 4613*75fd0b74Schristos * elf.c (vma_page_aligned_bias): New function. 4614*75fd0b74Schristos (assign_file_positions_except_relocs) 4615*75fd0b74Schristos (assign_file_positions_for_segments): Replace broken modulo 4616*75fd0b74Schristos arithmetic with call to vma_page_aligned_bias. 4617*75fd0b74Schristos 4618*75fd0b74Schristos2004-02-11 Andrew Cagney <cagney@redhat.com> 4619*75fd0b74Schristos 4620*75fd0b74Schristos * bfd-in.h: Update copyright. 4621*75fd0b74Schristos (bfd_tell): Change return type to file_ptr. 4622*75fd0b74Schristos * bfd-in2.h: Re-generate. 4623*75fd0b74Schristos * cache.c: Update copyright. 4624*75fd0b74Schristos (bfd_cache_lookup_worker): Use real_fseek, do not cast offset 4625*75fd0b74Schristos parameter. 4626*75fd0b74Schristos (close_one): Use real_ftell. 4627*75fd0b74Schristos * bfdio.c: Update copyright. 4628*75fd0b74Schristos (real_ftell, real_fseek): New functions. 4629*75fd0b74Schristos (bfd_tell): Use real_fseek and real_ftell, change return type to 4630*75fd0b74Schristos file_ptr. 4631*75fd0b74Schristos (bfd_seek): Use real_ftell and real_fseek, change type of 4632*75fd0b74Schristos file_position to a file_ptr. 4633*75fd0b74Schristos * libbfd-in.h: Update copyright. 4634*75fd0b74Schristos (real_ftell, real_fseek): Declare. 4635*75fd0b74Schristos * libbfd.h: Re-generate. 4636*75fd0b74Schristos 4637*75fd0b74Schristos * configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64, 4638*75fd0b74Schristos fseeko and fseeko64. Determine bfd_file_ptr. 4639*75fd0b74Schristos * configure: Re-generate. 4640*75fd0b74Schristos * config.in: Re-generate. 4641*75fd0b74Schristos 4642*75fd0b74Schristos2004-02-09 Anil Paranjpe <anilp1@KPITCummins.com> 4643*75fd0b74Schristos 4644*75fd0b74Schristos * coff-h8300.c: Added comments about relaxation for ldc.w and stc.w. 4645*75fd0b74Schristos * elf32-h8300.c: Likewise. 4646*75fd0b74Schristos 4647*75fd0b74Schristos2004-02-09 Christian Vogel <vogelchr@vogel.cx> 4648*75fd0b74Schristos Nick Clifton <nickc@redhat.com> 4649*75fd0b74Schristos 4650*75fd0b74Schristos * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch 4651*75fd0b74Schristos GOT entries with no associated GOT subsection. 4652*75fd0b74Schristos 4653*75fd0b74Schristos2004-02-09 Richard Sandiford <rsandifo@redhat.com> 4654*75fd0b74Schristos 4655*75fd0b74Schristos * bfd-elf.h (elf_backend_name_local_section_symbols): New hook. 4656*75fd0b74Schristos * elf.c (swap_out_syms): Use it to decide whether local section 4657*75fd0b74Schristos symbols should be named. 4658*75fd0b74Schristos * elfxx-target.h (elf_backend_name_local_section_symbols): New macro. 4659*75fd0b74Schristos * elfxx-mips.h (_bfd_mips_elf_name_local_section_symbols): Declare. 4660*75fd0b74Schristos (elf_backend_name_local_section_symbols): Define. 4661*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): New. 4662*75fd0b74Schristos 4663*75fd0b74Schristos2004-01-30 H.J. Lu <hongjiu.lu@intel.com> 4664*75fd0b74Schristos 4665*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relax_brl): New function. 4666*75fd0b74Schristos (elfNN_ia64_relax_section): Optimize brl to br during the relax 4667*75fd0b74Schristos finalize pass. 4668*75fd0b74Schristos 4669*75fd0b74Schristos2004-01-30 Alexandre Oliva <aoliva@redhat.com> 4670*75fd0b74Schristos 4671*75fd0b74Schristos * elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer 4672*75fd0b74Schristos to bfd_link_hash_entry passed by reference to 4673*75fd0b74Schristos _bfd_generic_link_add_one_symbol. 4674*75fd0b74Schristos 4675*75fd0b74Schristos2004-01-25 H.J. Lu <hongjiu.lu@intel.com> 4676*75fd0b74Schristos 4677*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm 4678*75fd0b74Schristos relocations against dynamic symbols. 4679*75fd0b74Schristos 4680*75fd0b74Schristos2004-01-23 Daniel Jacobowitz <drow@mvista.com> 4681*75fd0b74Schristos 4682*75fd0b74Schristos * elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13 4683*75fd0b74Schristos change. 4684*75fd0b74Schristos 4685*75fd0b74Schristos2004-01-21 Tom Rix <tcrix@worldnet.att.net> 4686*75fd0b74Schristos 4687*75fd0b74Schristos * reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw. 4688*75fd0b74Schristos * bfd-in2.h, libbfd.h: Rebuilt. 4689*75fd0b74Schristos 4690*75fd0b74Schristos2004-01-20 Danny Smith <dannysmith@users.sourceforge.net> 4691*75fd0b74Schristos 4692*75fd0b74Schristos * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Don't remove 4693*75fd0b74Schristos IMAGE_SCN_MEM_WRITE flag from .text section if WP_TEXT 4694*75fd0b74Schristos flag has been cleared. 4695*75fd0b74Schristos 4696*75fd0b74Schristos2004-01-19 Kazu Hirata <kazu@cs.umass.edu> 4697*75fd0b74Schristos 4698*75fd0b74Schristos * coff-h8300.c: Add and adjust comments about relaxation. 4699*75fd0b74Schristos * elf32-h8300.c: Likewise. 4700*75fd0b74Schristos 4701*75fd0b74Schristos2004-01-16 Kazu Hirata <kazu@cs.umass.edu> 4702*75fd0b74Schristos 4703*75fd0b74Schristos * coff-h8300.c: Fix comment typos. 4704*75fd0b74Schristos * elf32-h8300.c: Likewise. 4705*75fd0b74Schristos 4706*75fd0b74Schristos2004-01-16 Kazu Hirata <kazu@cs.umass.edu> 4707*75fd0b74Schristos 4708*75fd0b74Schristos * coff-h8300.c: Add comments about relaxation. 4709*75fd0b74Schristos * elf32-h8300.c: Likewise. 4710*75fd0b74Schristos 4711*75fd0b74Schristos2004-01-14 Maciej W. Rozycki <macro@ds2.pg.gda.pl> 4712*75fd0b74Schristos 4713*75fd0b74Schristos * acinclude.m4: Quote names of macros to be defined by AC_DEFUN 4714*75fd0b74Schristos throughout. 4715*75fd0b74Schristos * aclocal.m4: Regenerate. 4716*75fd0b74Schristos * configure: Regenerate. 4717*75fd0b74Schristos 4718*75fd0b74Schristos2004-01-13 Ian Lance Taylor <ian@wasabisystems.com> 4719*75fd0b74Schristos 4720*75fd0b74Schristos * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call 4721*75fd0b74Schristos mips_elf64_rtype_to_howto instead of using howto_table. 4722*75fd0b74Schristos 4723*75fd0b74Schristos2004-01-13 Daniel Jacobowitz <drow@mvista.com> 4724*75fd0b74Schristos 4725*75fd0b74Schristos * elf32-arm.h (elf32_arm_final_link_relocate): Check that we created 4726*75fd0b74Schristos the .plt section. 4727*75fd0b74Schristos (elf32_arm_check_relocs): Don't increment the PLT refcount for 4728*75fd0b74Schristos relocs which would not use the PLT. 4729*75fd0b74Schristos 4730*75fd0b74Schristos2004-01-13 Alan Modra <amodra@bigpond.net.au> 4731*75fd0b74Schristos 4732*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_check_relocs): Ignore !SEC_ALLOC relocs. 4733*75fd0b74Schristos (ppc64_elf_gc_sweep_hook): Likewise. 4734*75fd0b74Schristos (ppc64_elf_size_dynamic_sections): Test for .plt directly. 4735*75fd0b74Schristos 4736*75fd0b74Schristos2004-01-12 Anil Paranjpe <anilp1@KPITCummins.com> 4737*75fd0b74Schristos 4738*75fd0b74Schristos Adds linker relaxation support for bit manipulation insns like 4739*75fd0b74Schristos band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset, 4740*75fd0b74Schristos bst, btst, bxor. 4741*75fd0b74Schristos * elf32-h8300.c: Opcode for bit manipulation insn is checked in 4742*75fd0b74Schristos elf32_h8_relax_section function while relxation for aa:16 and aa:32. 4743*75fd0b74Schristos * coff-h8300.c: Opcode for bit manipulation insn is checked in 4744*75fd0b74Schristos h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32. 4745*75fd0b74Schristos 4746*75fd0b74Schristos2004-01-12 Alan Modra <amodra@bigpond.net.au> 4747*75fd0b74Schristos 4748*75fd0b74Schristos * dwarf2.c: Convert to C90, remove unneeded casts and prototypes. 4749*75fd0b74Schristos 4750*75fd0b74Schristos2004-01-11 Kazu Hirata <kazu@cs.umass.edu> 4751*75fd0b74Schristos 4752*75fd0b74Schristos * elf32-h8300.c: Fix formatting. 4753*75fd0b74Schristos 4754*75fd0b74Schristos2004-01-11 Kazu Hirata <kazu@cs.umass.edu> 4755*75fd0b74Schristos 4756*75fd0b74Schristos * elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no 4757*75fd0b74Schristos dynamic object is present. Declare r_symndx and h in an inner 4758*75fd0b74Schristos scope. 4759*75fd0b74Schristos * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise. 4760*75fd0b74Schristos 4761*75fd0b74Schristos2004-01-09 Daniel Jacobowitz <drow@mvista.com> 4762*75fd0b74Schristos 4763*75fd0b74Schristos * elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count. 4764*75fd0b74Schristos (elf32_arm_copy_indirect_symbol): Don't copy pc_count. 4765*75fd0b74Schristos (elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs 4766*75fd0b74Schristos identically. Do not emit PC24 relocations for shared libraries. 4767*75fd0b74Schristos (elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs 4768*75fd0b74Schristos identically. Don't adjust pc_count. 4769*75fd0b74Schristos (elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically. 4770*75fd0b74Schristos Set ELF_LINK_HASH_NEEDS_PLT for both. Don't adjust pc_count; don't 4771*75fd0b74Schristos adjust count for branch relocations. 4772*75fd0b74Schristos (allocate_dynrelocs): Correct typo in call to 4773*75fd0b74Schristos WILL_CALL_FINISH_DYNAMIC_SYMBOL. Never allocate space for 4774*75fd0b74Schristos PC24 or PLT32 relocs when linking. 4775*75fd0b74Schristos 4776*75fd0b74Schristos2004-01-09 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru> 4777*75fd0b74Schristos 4778*75fd0b74Schristos * coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D 4779*75fd0b74Schristos relocation howto with ARM_26 one for consistency. 4780*75fd0b74Schristos (coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations 4781*75fd0b74Schristos that will be converted to ARM_26D ones, since we always want 'done' 4782*75fd0b74Schristos relocations to be reflected in section's data. 4783*75fd0b74Schristos (coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction 4784*75fd0b74Schristos offset. 4785*75fd0b74Schristos (_bfd_final_link_relocate): Do not modify "inplace" data, if not 4786*75fd0b74Schristos requested. 4787*75fd0b74Schristos 4788*75fd0b74Schristos2004-01-08 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru> 4789*75fd0b74Schristos 4790*75fd0b74Schristos * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that 4791*75fd0b74Schristos are not partial_inplace during a relocatable link. 4792*75fd0b74Schristos 4793*75fd0b74Schristos2004-01-08 Kazu Hirata <kazu@cs.umass.edu> 4794*75fd0b74Schristos 4795*75fd0b74Schristos * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early 4796*75fd0b74Schristos if no dynamic object is present. Declare r_symndx and h in an 4797*75fd0b74Schristos inner scope. 4798*75fd0b74Schristos 4799*75fd0b74Schristos2004-01-07 H.J. Lu <hongjiu.lu@intel.com> 4800*75fd0b74Schristos 4801*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install 4802*75fd0b74Schristos trampoline if it is known out of range. 4803*75fd0b74Schristos 4804*75fd0b74Schristos2004-01-06 Alexandre Oliva <aoliva@redhat.com> 4805*75fd0b74Schristos 4806*75fd0b74Schristos 2003-12-17 Alexandre Oliva <aoliva@redhat.com> 4807*75fd0b74Schristos * elf32-frv.c (_frv_osec_readonly_p): New. 4808*75fd0b74Schristos (_frv_emit_got_relocs_plt_entries): Don't emit rofixup for 4809*75fd0b74Schristos undefweak symbol. 4810*75fd0b74Schristos (_frv_count_got_plt_entries): Adjust expected count accordingly. 4811*75fd0b74Schristos (elf32_frv_relocate_section): Likewise. Error out if attempting 4812*75fd0b74Schristos to emit rofixups or dynamic relocs in read-only segments. Use 4813*75fd0b74Schristos _bfd_elf_section_offset to adjust r_offsets in rofixups and 4814*75fd0b74Schristos dynamic relocations. 4815*75fd0b74Schristos 2003-12-12 Alexandre Oliva <aoliva@redhat.com> 4816*75fd0b74Schristos * elf32-frv.c (elf32_frv_relocate_section): Compute dynamic 4817*75fd0b74Schristos relocations or fixups involving merged sections correctly. Avoid 4818*75fd0b74Schristos crash when undefined symbol is referenced by R_FRV_32 or 4819*75fd0b74Schristos R_FRV_FUNCDESC_VALUE. 4820*75fd0b74Schristos 2003-12-02 Alexandre Oliva <aoliva@redhat.com> 4821*75fd0b74Schristos * elf32-frv.c (elf32_frv_relocate_section): Add output_offset of 4822*75fd0b74Schristos input section holding local symbol to addend of R_FRV_32 or 4823*75fd0b74Schristos R_FRV_FUNCDESC_VALUE dynamic relocation. 4824*75fd0b74Schristos 2003-11-27 Alexandre Oliva <aoliva@redhat.com> 4825*75fd0b74Schristos * elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg. 4826*75fd0b74Schristos (elf32_frv_always_size_sections): Don't store pointer to 4827*75fd0b74Schristos __stacksize symbol in sec_info. 4828*75fd0b74Schristos (elf32_frv_modify_segment_map): Look it up here. 4829*75fd0b74Schristos 2003-11-26 Alexandre Oliva <aoliva@redhat.com> 4830*75fd0b74Schristos * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address 4831*75fd0b74Schristos of the lazy PLT entry, not only its offset, as the low word of a 4832*75fd0b74Schristos function descriptor. 4833*75fd0b74Schristos 2003-11-10 Alexandre Oliva <aoliva@redhat.com> 4834*75fd0b74Schristos * elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize 4835*75fd0b74Schristos if a hash table entry already exists but is not a definition. 4836*75fd0b74Schristos 2003-11-05 Alexandre Oliva <aoliva@redhat.com> 4837*75fd0b74Schristos * elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc. 4838*75fd0b74Schristos (_frv_add_rofixup): Don't inline. 4839*75fd0b74Schristos (_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address 4840*75fd0b74Schristos for undefweak symbols. 4841*75fd0b74Schristos (elf32_frv_relocate_section): Avoid crash while computing 4842*75fd0b74Schristos relocation when linking with shared library. Only emit rofixups 4843*75fd0b74Schristos and dynamic relocations for alloc&load sections. Mark binaries 4844*75fd0b74Schristos with inter-segment relocations for relocation as a unit. 4845*75fd0b74Schristos (_frv_create_got_section): Rename .rofixup.got to .rofixup. 4846*75fd0b74Schristos (DEFAULT_STACK_SIZE): New. 4847*75fd0b74Schristos (_frv_count_got_plt_entries): Fix thinko in deciding whether to 4848*75fd0b74Schristos emit rofixups or dynamic relocs when linking dynamic non-PIE 4849*75fd0b74Schristos executables. 4850*75fd0b74Schristos (elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and 4851*75fd0b74Schristos shared libs too. Reserve the last entry for the GOT pointer. 4852*75fd0b74Schristos (elf32_frv_finish_dynamic_sections): Emit it. 4853*75fd0b74Schristos (elf32_frv_always_size_sections): New. 4854*75fd0b74Schristos (elf32_frv_modify_segment_map): New. 4855*75fd0b74Schristos (elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC 4856*75fd0b74Schristos sections. 4857*75fd0b74Schristos (frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set. 4858*75fd0b74Schristos (frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC. 4859*75fd0b74Schristos (elf_backend_always_size_sections): New. 4860*75fd0b74Schristos (elf_backend_modify_segment_map): New. 4861*75fd0b74Schristos 2003-10-31 Alexandre Oliva <aoliva@redhat.com> 4862*75fd0b74Schristos * config.bfd: Added frv-*-*linux*. 4863*75fd0b74Schristos * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for 4864*75fd0b74Schristos ABS section, instead of crashing. 4865*75fd0b74Schristos (elf32_frv_relocate_section): Don't crash before warning about 4866*75fd0b74Schristos different segments in non-PIC relocation. 4867*75fd0b74Schristos 2003-10-17 Alexandre Oliva <aoliva@redhat.com> 4868*75fd0b74Schristos * elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24 4869*75fd0b74Schristos relocs to undefweak symbols. 4870*75fd0b74Schristos (elf32_frv_relocate_section): Ditto for undefined symbols. 4871*75fd0b74Schristos 2003-10-06 Alexandre Oliva <aoliva@redhat.com> 4872*75fd0b74Schristos * elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure 4873*75fd0b74Schristos gotfixup section was created. 4874*75fd0b74Schristos 2003-09-30 Alexandre Oliva <aoliva@redhat.com> 4875*75fd0b74Schristos * elf32-frv.c (elf32_frv_howto_table): Change GOT12, 4876*75fd0b74Schristos FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to 4877*75fd0b74Schristos complain_overflow_signed. 4878*75fd0b74Schristos * elf32-frv.c (_frv_add_rofixup): Do not error out if contents 4879*75fd0b74Schristos have not been allocated. 4880*75fd0b74Schristos (_frv_emit_got_relocs_plt_entries): Return non-void. Assert 4881*75fd0b74Schristos privfd only if dynamic sections were created. 4882*75fd0b74Schristos (elf32_frv_relocate_section): Compute gprel_segment, and use it 4883*75fd0b74Schristos for GPREL relocs. When linking relocatable FDPIC executables, 4884*75fd0b74Schristos emit warnings for relocations that would be illegal on PIE or 4885*75fd0b74Schristos shared libraries. Emit rofixup for R_FRV_32 only if input object 4886*75fd0b74Schristos is not FDPIC. 4887*75fd0b74Schristos (_frv_create_got_section): Define _gp symbol in the rofixup 4888*75fd0b74Schristos section. 4889*75fd0b74Schristos (elf32_frv_finish_dynamic_sections): If rofixups needed but 4890*75fd0b74Schristos dynamic sections missing, error out requesting -melf32frvfd. 4891*75fd0b74Schristos 2003-09-19 Alexandre Oliva <aoliva@redhat.com> 4892*75fd0b74Schristos * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange 4893*75fd0b74Schristos computation of addends from section and global or local symbol 4894*75fd0b74Schristos value. Change return type to bfd_boolean, and return a failure if 4895*75fd0b74Schristos a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a 4896*75fd0b74Schristos nonzero addend is required. 4897*75fd0b74Schristos (elf32_frv_relocate_section): Likewise. Print error for 4898*75fd0b74Schristos unsupported nonzero addends. 4899*75fd0b74Schristos 2003-09-18 Alexandre Oliva <aoliva@redhat.com> 4900*75fd0b74Schristos * elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections, 4901*75fd0b74Schristos force everything local. 4902*75fd0b74Schristos (_frv_emit_got_relocs_plt_entries): Cope with NULL sec. 4903*75fd0b74Schristos * elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup. 4904*75fd0b74Schristos (frv_gotfixup_section): New. 4905*75fd0b74Schristos (FRV_SYM_LOCAL): Accept undefweak and local common symbols. 4906*75fd0b74Schristos (struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd 4907*75fd0b74Schristos and relocsfdv. 4908*75fd0b74Schristos (_frv_add_rofixup): New. 4909*75fd0b74Schristos (_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE 4910*75fd0b74Schristos fdpic executables. Use FRV_SYM_LOCAL more widely to simplify and 4911*75fd0b74Schristos improve some ugly conditions. 4912*75fd0b74Schristos (elf32_frv_relocate_section): Likewise. Reject inter-segment 4913*75fd0b74Schristos relocations in fdpic. 4914*75fd0b74Schristos (_frv_create_got_section): Create .rofixup.got section. 4915*75fd0b74Schristos (struct _frv_dynamic_got_info): Added fixups. 4916*75fd0b74Schristos (_frv_count_got_plt_entries): Account in-GOT relocations into 4917*75fd0b74Schristos relocs32, relocsfd and relocsfdv. Account them into relocs or 4918*75fd0b74Schristos fixups, as appropriate. 4919*75fd0b74Schristos (elf32_frv_size_dynamic_sections): Size rofixup section. Simplify 4920*75fd0b74Schristos sizing of gotrel. 4921*75fd0b74Schristos (elf32_frv_finish_dynamic_sections): Verify that the right number 4922*75fd0b74Schristos of relocations and fixups was generated. 4923*75fd0b74Schristos (elf32_frv_check_relocs): Compute relocs32, relocsfd and 4924*75fd0b74Schristos relocsfdv. 4925*75fd0b74Schristos * elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of 4926*75fd0b74Schristos SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL. 4927*75fd0b74Schristos (FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function 4928*75fd0b74Schristos descriptor of a (formerly-)global symbol is local. 4929*75fd0b74Schristos (struct frv_pic_relocs_info): Adjust comments. 4930*75fd0b74Schristos (_frv_emit_got_relocs_plt_entries): Adjust. 4931*75fd0b74Schristos (elf32_frv_relocate_section): Likewise. 4932*75fd0b74Schristos (_frv_count_got_plt_entries): Likewise. 4933*75fd0b74Schristos * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global 4934*75fd0b74Schristos symbol's value to addend in the common preamble. Decay dynamic 4935*75fd0b74Schristos symbols to section+offset if they bind or call locally, for GOT 4936*75fd0b74Schristos and FUNCDESC_VALUE, respectively. 4937*75fd0b74Schristos (elf32_frv_relocate_section): Likewise. 4938*75fd0b74Schristos (elf32_frv_check_relocs): Don't register as dynamic symbols of 4939*75fd0b74Schristos internal or hidden visibility. 4940*75fd0b74Schristos 2003-09-17 Alexandre Oliva <aoliva@redhat.com> 4941*75fd0b74Schristos * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as 4942*75fd0b74Schristos argument, so as to not call _bfd_elf_rel_local_sym to compute it. 4943*75fd0b74Schristos (elf32_frv_relocate_section): Pass relocation addend in. Use 4944*75fd0b74Schristos original relocation addend to look up the got relocs/plt entries 4945*75fd0b74Schristos table. Do not call _bfd_elf_rel_local_sym. Don't error out when 4946*75fd0b74Schristos processing relocations that reference .scommon symbols. 4947*75fd0b74Schristos 2003-09-15 Alexandre Oliva <aoliva@redhat.com> 4948*75fd0b74Schristos Introduce support for dynamic linking. 4949*75fd0b74Schristos * elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits. 4950*75fd0b74Schristos (elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto, 4951*75fd0b74Schristos elf32_frv_rel_funcdesc_value_howto): New REL descriptors. 4952*75fd0b74Schristos (frv_reloc_type_lookup): Return REL howtos for executables and 4953*75fd0b74Schristos dynamic libraries. 4954*75fd0b74Schristos (frv_info_to_howto_rel): New. 4955*75fd0b74Schristos (struct frv_elf_link_hash_table): New. 4956*75fd0b74Schristos (frv_hash_table, frv_got_section, frv_gotrel_section, 4957*75fd0b74Schristos frv_plt_section, frv_pltrel_section, frv_relocs_info, 4958*75fd0b74Schristos frv_got_initial_offset, frv_plt_initial_offset): New macros. 4959*75fd0b74Schristos (frv_elf_link_hash_table_create): New. 4960*75fd0b74Schristos (struct frv_pic_relocs_info): New. 4961*75fd0b74Schristos (frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New. 4962*75fd0b74Schristos (frv_pic_relocs_info_find): New. 4963*75fd0b74Schristos (frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local): 4964*75fd0b74Schristos New. 4965*75fd0b74Schristos (FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New. 4966*75fd0b74Schristos (_frv_add_dyn_reloc, _frv_osec_to_segment): New. 4967*75fd0b74Schristos (_frv_emit_got_relocs_plt_entries): New. 4968*75fd0b74Schristos (elf32_frv_relocate_section): Add support for dynamic linking. 4969*75fd0b74Schristos Handle new relocations. 4970*75fd0b74Schristos (_frv_create_got_section): New. 4971*75fd0b74Schristos (elf32_frv_create_dynamic_sections): New. 4972*75fd0b74Schristos (ELF_DYNAMIC_INTERPRETER): New. 4973*75fd0b74Schristos (struct _frv_dynamic_got_info): New. 4974*75fd0b74Schristos (_frv_count_got_plt_entries): New. 4975*75fd0b74Schristos (struct _frv_dynamic_got_plt_info): New. 4976*75fd0b74Schristos (_frv_compute_got_alloc_data): New. 4977*75fd0b74Schristos (_frv_get_got_entry, _frv_get_fd_entry): New. 4978*75fd0b74Schristos (_frv_assign_got_entries, _frv_assign_plt_entries): New. 4979*75fd0b74Schristos (_frv_resolve_final_relocs_info): New. 4980*75fd0b74Schristos (elf32_frv_size_dynamic_sections): New. 4981*75fd0b74Schristos (elf32_frv_finish_dynamic_sections): New. 4982*75fd0b74Schristos (elf32_frv_adjust_dynamic_symbol): New. 4983*75fd0b74Schristos (elf32_frv_finish_dynamic_symbol): New. 4984*75fd0b74Schristos (elf32_frv_check_relocs): Handle new relocs. Explain how the 4985*75fd0b74Schristos whole thing works. 4986*75fd0b74Schristos (elf_info_to_howto_rel): Define. 4987*75fd0b74Schristos (bfd_elf32_bfd_link_hash_table_create): Define. 4988*75fd0b74Schristos (elf_backend_create_dynamic_sections): Define. 4989*75fd0b74Schristos (elf_backend_adjust_dynamic_symbol): Define. 4990*75fd0b74Schristos (elf_backend_size_dynamic_sections): Define. 4991*75fd0b74Schristos (elf_backend_finish_dynamic_symbol): Define. 4992*75fd0b74Schristos (elf_backend_finish_dynamic_sections): Define. 4993*75fd0b74Schristos (elf_backend_want_got_sym): Define. 4994*75fd0b74Schristos (elf_backend_got_header_size): Define. 4995*75fd0b74Schristos (elf_backend_want_got_plt): Define. 4996*75fd0b74Schristos (elf_backend_plt_readonly): Define. 4997*75fd0b74Schristos (elf_backend_want_plt_sym): Define. 4998*75fd0b74Schristos (elf_backend_plt_header_size): Define. 4999*75fd0b74Schristos (elf_backend_may_use_rel_p): Define. 5000*75fd0b74Schristos (elf_backend_may_use_rela_p): Define. 5001*75fd0b74Schristos (elf_backend_default_use_rela_p): Define. 5002*75fd0b74Schristos 2003-08-08 Alexandre Oliva <aoliva@redhat.com> 5003*75fd0b74Schristos * elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12, 5004*75fd0b74Schristos R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, 5005*75fd0b74Schristos R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New. 5006*75fd0b74Schristos (frv_reloc_map): Map the corresponding BFD relocs to them. 5007*75fd0b74Schristos (frv_reloc_type_lookup): ... and back to BFD relocs. 5008*75fd0b74Schristos * reloc.c: New relocs. 5009*75fd0b74Schristos * bfd-in2.h, libbfd.h: Rebuilt. 5010*75fd0b74Schristos 2003-08-04 Alexandre Oliva <aoliva@redhat.com> 5011*75fd0b74Schristos * elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO, 5012*75fd0b74Schristos R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI, 5013*75fd0b74Schristos R_FRV_FUNCDESC_GOTLO): New. 5014*75fd0b74Schristos (frv_reloc_map): Map the corresponding BFD relocs to them. 5015*75fd0b74Schristos (frv_reloc_type_lookup): ... and back to BFD relocs. 5016*75fd0b74Schristos * reloc.c: New relocs. 5017*75fd0b74Schristos * bfd-in2.h, libbfd.h: Rebuilt. 5018*75fd0b74Schristos 5019*75fd0b74Schristos2004-01-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl> 5020*75fd0b74Schristos 5021*75fd0b74Schristos * elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional 5022*75fd0b74Schristos targets to support pages of up to 64kB. 5023*75fd0b74Schristos (elf32_bed): Redefine to get a separate backend data structure for 5024*75fd0b74Schristos traditional targets. 5025*75fd0b74Schristos * elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional 5026*75fd0b74Schristos targets to support pages of up to 64kB. 5027*75fd0b74Schristos (elf64_bed): Redefine to get a separate backend data structure for 5028*75fd0b74Schristos traditional targets. 5029*75fd0b74Schristos * elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional 5030*75fd0b74Schristos targets to support pages of up to 64kB. 5031*75fd0b74Schristos (elf32_bed): Redefine to get a separate backend data structure for 5032*75fd0b74Schristos traditional targets. 5033*75fd0b74Schristos 5034*75fd0b74Schristos2004-01-04 Mark Kettenis <kettenis@gnu.org> 5035*75fd0b74Schristos 5036*75fd0b74Schristos * elf32-sparc.c (elf32_sparc_grok_psinfo): New function. 5037*75fd0b74Schristos 5038*75fd0b74Schristos2004-01-02 Mark Kettenis <kettenis@gnu.org> 5039*75fd0b74Schristos 5040*75fd0b74Schristos * elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD. 5041*75fd0b74Schristos (elf_i386_grok_psinfo): Likewise. 5042*75fd0b74Schristos 5043*75fd0b74Schristos2004-01-02 Bernardo Innocenti <bernie@develer.com> 5044*75fd0b74Schristos 5045*75fd0b74Schristos * config.bfd: Add m68k-uClinux target. 5046*75fd0b74Schristos 5047*75fd0b74Schristos2004-01-01 Grant Edwards <grante@visi.com> 5048*75fd0b74Schristos 5049*75fd0b74Schristos * elflink.h (elf_gc_sections): Warn when gc-sections option is ignored. 5050*75fd0b74Schristos * elf32-h8300.c (elf32_h8_gc_mark_hook): New function. 5051*75fd0b74Schristos (elf32_h8_gc_sweep_hook): New function. 5052*75fd0b74Schristos (elf_backend_gc_mark_hook): Define. 5053*75fd0b74Schristos (elf_backend_gc_sweep_hook): Define. 5054*75fd0b74Schristos (elf_backend_can_gc_sections): Define. 5055*75fd0b74Schristos 5056*75fd0b74SchristosFor older changes see ChangeLog-0203 5057*75fd0b74Schristos 5058*75fd0b74SchristosCopyright (C) 2004 Free Software Foundation, Inc. 5059*75fd0b74Schristos 5060*75fd0b74SchristosCopying and distribution of this file, with or without modification, 5061*75fd0b74Schristosare permitted in any medium without royalty provided the copyright 5062*75fd0b74Schristosnotice and this notice are preserved. 5063*75fd0b74Schristos 5064*75fd0b74SchristosLocal Variables: 5065*75fd0b74Schristosmode: change-log 5066*75fd0b74Schristosleft-margin: 8 5067*75fd0b74Schristosfill-column: 74 5068*75fd0b74Schristosversion-control: never 5069*75fd0b74SchristosEnd: 5070