1*75fd0b74Schristos2006-12-31 H.J. Lu <hongjiu.lu@intel.com> 2*75fd0b74Schristos 3*75fd0b74Schristos * bfd.c (bfd_record_phdr): Call bfd_zalloc instead of bfd_alloc 4*75fd0b74Schristos to allocate elf_segment_map. 5*75fd0b74Schristos 6*75fd0b74Schristos2006-12-29 H.J. Lu <hongjiu.lu@intel.com> 7*75fd0b74Schristos 8*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Remember the symbol 9*75fd0b74Schristos size only if it is defined. 10*75fd0b74Schristos 11*75fd0b74Schristos2006-12-25 Kazu Hirata <kazu@codesourcery.com> 12*75fd0b74Schristos 13*75fd0b74Schristos * archures.c (bfd_mach_cpu32_fido): New. 14*75fd0b74Schristos (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_a, 15*75fd0b74Schristos bfd_mach_mcf_isa_a_mac, bfd_mach_mcf_isa_a_emac, 16*75fd0b74Schristos bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac, 17*75fd0b74Schristos bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_b_nousp, 18*75fd0b74Schristos bfd_mach_mcf_isa_b_nousp_mac, bfd_mach_mcf_isa_b_nousp_emac, 19*75fd0b74Schristos bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac, 20*75fd0b74Schristos bfd_mach_mcf_isa_b_emac, bfd_mach_mcf_isa_b_float, 21*75fd0b74Schristos bfd_mach_mcf_isa_b_float_mac, bfd_mach_mcf_isa_b_float_emac): 22*75fd0b74Schristos Increment the defined values. 23*75fd0b74Schristos * bfd-in2.h: Regenerate. 24*75fd0b74Schristos * cpu-m68k.c (arch_info_struct): Add en entry for 25*75fd0b74Schristos bfd_mach_cpu32_fido. 26*75fd0b74Schristos * elf32-m68k.c (elf32_m68k_object_p): Handle 27*75fd0b74Schristos EF_M68K_CPU32_FIDO_A. 28*75fd0b74Schristos (elf32_m68k_merge_private_bfd_data): Use EF_M68K_CPU32_MASK. 29*75fd0b74Schristos (elf32_m68k_print_private_bfd_data): Handle 30*75fd0b74Schristos EF_M68K_CPU32_FIDO_A. 31*75fd0b74Schristos 32*75fd0b74Schristos2006-12-25 Mei Ligang <ligang@sunnorth.com.cn> 33*75fd0b74Schristos 34*75fd0b74Schristos * elf32-score.c (score_elf_got_lo16_reloc): Change some variables 35*75fd0b74Schristos type from unsigned to signed. 36*75fd0b74Schristos (score_elf_final_link_relocate): Fix bugs of handling relocation 37*75fd0b74Schristos type R_SCORE_GOT15, R_SCORE_GOT_LO16, and R_SCORE_REL32. 38*75fd0b74Schristos (_bfd_score_elf_relocate_section): Handle R_SCORE_GOT_LO16 39*75fd0b74Schristos specially. 40*75fd0b74Schristos 41*75fd0b74Schristos2006-12-23 Jakub Jelinek <jakub@redhat.com> 42*75fd0b74Schristos 43*75fd0b74Schristos * elf-bfd.h (struct elf_backend_data): Add as_needed_cleanup hook. 44*75fd0b74Schristos * elfxx-target.h (elf_backend_as_needed_cleanup): Define. 45*75fd0b74Schristos (elfNN_bed): Add as_needed_cleanup hook. 46*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Call it when reverting 47*75fd0b74Schristos hash table changes for unneeded --as-needed input. 48*75fd0b74Schristos * elf64-ppc64.c (elf_backend_as_needed_cleanup): Define. 49*75fd0b74Schristos (ppc64_elf_as_needed_cleanup): New function. 50*75fd0b74Schristos 51*75fd0b74Schristos2006-12-19 Kazu Hirata <kazu@codesourcery.com> 52*75fd0b74Schristos 53*75fd0b74Schristos * elf32-m68k.c (elf32_m68k_object_p, 54*75fd0b74Schristos elf32_m68k_print_private_bfd_data): Use EF_M68K_ARCH_MASK to 55*75fd0b74Schristos extract architecture mask. 56*75fd0b74Schristos 57*75fd0b74Schristos2006-12-19 Nathan Sidwell <nathan@codesourcery.com> 58*75fd0b74Schristos 59*75fd0b74Schristos * elf.c (assign_file_positions_for_load_sections): Adjust p_vaddr 60*75fd0b74Schristos by p_vaddr_offset. Copy alignment & use if it is valid. 61*75fd0b74Schristos (rewrite_elf_program_headers): Cope with leading padding in a 62*75fd0b74Schristos segment that does not contain file or program headers. 63*75fd0b74Schristos (copy_elf_program_header): Likewise. 64*75fd0b74Schristos 65*75fd0b74Schristos2006-12-15 Mark Kettenis <kettenis@gnu.org> 66*75fd0b74Schristos 67*75fd0b74Schristos * config.bfd: (sh*-*-openbsd*): Add target. 68*75fd0b74Schristos * configure.in (sh*-*-openbsd*): Set COREFILE to netbsd-core.lo. 69*75fd0b74Schristos * configure: Regenerate. 70*75fd0b74Schristos 71*75fd0b74Schristos2006-12-15 Alan Modra <amodra@bigpond.net.au> 72*75fd0b74Schristos 73*75fd0b74Schristos * opncls.c (bfd_openr_iovec): Add "stat" parameter. 74*75fd0b74Schristos (struct opncls): Add "stat" field. 75*75fd0b74Schristos (opncls_bstat): Call vec->stat. 76*75fd0b74Schristos * bfd-in2.h: Regenerate. 77*75fd0b74Schristos * elf32-spu.c (spu_elf_open_builtin_lib): Adjust. 78*75fd0b74Schristos 79*75fd0b74Schristos2006-12-14 Alan Modra <amodra@bigpond.net.au> 80*75fd0b74Schristos 81*75fd0b74Schristos * elf-bfd.h (struct bfd_elf_section_data): Clarify sec_group 82*75fd0b74Schristos and next_in_group usage. 83*75fd0b74Schristos 84*75fd0b74Schristos2006-12-14 Alan Modra <amodra@bigpond.net.au> 85*75fd0b74Schristos 86*75fd0b74Schristos PR 3704 87*75fd0b74Schristos * bfdio.c (bfd_bread): Don't read past end of archive elements. 88*75fd0b74Schristos 89*75fd0b74Schristos2006-12-12 Daniel Jacobowitz <dan@codesourcery.com> 90*75fd0b74Schristos 91*75fd0b74Schristos * doc/Makefile.am (bfd_TEXINFOS): Set. 92*75fd0b74Schristos (bfd.info bfd.dvi bfd.html): Delete rule. 93*75fd0b74Schristos * doc/Makefile.in: Regenerated. 94*75fd0b74Schristos 95*75fd0b74Schristos2006-12-11 Daniel Jacobowitz <dan@codesourcery.com> 96*75fd0b74Schristos 97*75fd0b74Schristos * configure.in: Define GENINSRC_NEVER. 98*75fd0b74Schristos * doc/Makefile.am (bfd.info): Remove srcdir prefix. 99*75fd0b74Schristos (MAINTAINERCLEANFILES): Add info file. 100*75fd0b74Schristos (DISTCLEANFILES): Pretend to add info file. 101*75fd0b74Schristos * po/Make-in (.po.gmo): Put gmo files in objdir. 102*75fd0b74Schristos * configure, Makefile.in, doc/Makefile.in: Regenerated. 103*75fd0b74Schristos 104*75fd0b74Schristos2006-12-11 Eric Botcazou <ebotcazou@adacore.com> 105*75fd0b74Schristos 106*75fd0b74Schristos * elflink.c (bfd_elf_gc_sections): Also search for corresponding 107*75fd0b74Schristos sections with .gnu.linkonce.t. prefix. 108*75fd0b74Schristos 109*75fd0b74Schristos2006-12-07 Kazu Hirata <kazu@codesourcery.com> 110*75fd0b74Schristos 111*75fd0b74Schristos * elf32-m68k.c: Update uses of EF_M68K_*. 112*75fd0b74Schristos 113*75fd0b74Schristos2006-12-07 H.J. Lu <hjl@gnu.org> 114*75fd0b74Schristos 115*75fd0b74Schristos PR ld/3666 116*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Keep symbol 117*75fd0b74Schristos visibility for symbols from discarded section. 118*75fd0b74Schristos 119*75fd0b74Schristos2006-12-06 Alan Modra <amodra@bigpond.net.au> 120*75fd0b74Schristos 121*75fd0b74Schristos * elf64-alpha.c (elf64_alpha_merge_symbol_attribute): New function. 122*75fd0b74Schristos (elf_backend_merge_symbol_attribute): Define. 123*75fd0b74Schristos 124*75fd0b74Schristos2006-12-04 Jan Beulich <jbeulich@novell.com> 125*75fd0b74Schristos 126*75fd0b74Schristos * elflink.c (_bfd_elf_link_create_dynamic_sections): Don't create 127*75fd0b74Schristos .eh_frame_hdr section from here anymore. 128*75fd0b74Schristos (bfd_elf_size_dynamic_sections): Call _bfd_elf_maybe_strip_eh_frame_hdr 129*75fd0b74Schristos a little earlier. 130*75fd0b74Schristos 131*75fd0b74Schristos2006-12-01 H.J. Lu <hongjiu.lu@intel.com> 132*75fd0b74Schristos 133*75fd0b74Schristos PR binutils/3609 134*75fd0b74Schristos * elf.c (rewrite_elf_program_header): Preserve segment physical 135*75fd0b74Schristos address in the output segment if the first section in the 136*75fd0b74Schristos corresponding input segment is null. 137*75fd0b74Schristos 138*75fd0b74Schristos2006-12-01 Nick Clifton <nickc@redhat.com> 139*75fd0b74Schristos 140*75fd0b74Schristos PR 3609 141*75fd0b74Schristos * elf.c (rewrite_elf_program_header): Do not use the first_section 142*75fd0b74Schristos pointer if it is null. 143*75fd0b74Schristos 144*75fd0b74Schristos2006-11-29 Paul Brook <paul@codesourcery.com> 145*75fd0b74Schristos 146*75fd0b74Schristos * elf32-arm.c (elf32_arm_to_thumb_export_stub): Assert that output 147*75fd0b74Schristos section is present. 148*75fd0b74Schristos (allocate_dynrelocs): Only add export stub for symbols defined in 149*75fd0b74Schristos this object. 150*75fd0b74Schristos 151*75fd0b74Schristos2006-11-29 Paul Brook <paul@codesourcery.com> 152*75fd0b74Schristos 153*75fd0b74Schristos * elf32-arm.c (elf32_arm_to_thumb_export_stub): Assert that output 154*75fd0b74Schristos section is present. 155*75fd0b74Schristos (allocate_dynrelocs): Only add export stub for symbols defined in 156*75fd0b74Schristos this object. 157*75fd0b74Schristos 158*75fd0b74Schristos2006-11-29 Paul Brook <paul@codesourcery.com> 159*75fd0b74Schristos Julian Brown <julian@codesourcery.com> 160*75fd0b74Schristos 161*75fd0b74Schristos * elf32-arm.c (copy_eabi_attributes): Correct starting offset. 162*75fd0b74Schristos (elf32_arm_merge_eabi_attributes): Mark output as initialized. 163*75fd0b74Schristos Only set Tag_CPU_name and Tag_ABI_PCS_R9_use if input attribute 164*75fd0b74Schristos is present. 165*75fd0b74Schristos 166*75fd0b74Schristos2006-11-27 Bob Wilson <bob.wilson@acm.org> 167*75fd0b74Schristos 168*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_special_sections): Add .xtensa.info. 169*75fd0b74Schristos 170*75fd0b74Schristos2006-11-24 H.J. Lu <hongjiu.lu@intel.com> 171*75fd0b74Schristos 172*75fd0b74Schristos * elf.c (IS_SECTION_IN_INPUT_SEGMENT): New. 173*75fd0b74Schristos (INCLUDE_SECTION_IN_SEGMENT): Use IS_SECTION_IN_INPUT_SEGMENT. 174*75fd0b74Schristos (rewrite_elf_program_header): Don't preserve segment physical 175*75fd0b74Schristos address in the output segment if the first section in the 176*75fd0b74Schristos corresponding input segment is removed. 177*75fd0b74Schristos 178*75fd0b74Schristos2006-11-22 Alan Modra <amodra@bigpond.net.au> 179*75fd0b74Schristos 180*75fd0b74Schristos * pef.c (bfd_pef_make_empty_symbol): Delete function. Define instead. 181*75fd0b74Schristos * xsym.c (bfd_sym_make_empty_symbol): Likewise. 182*75fd0b74Schristos * xsym.h (bfd_sym_make_empty_symbol): Delete. 183*75fd0b74Schristos 184*75fd0b74Schristos2006-11-21 Greg McGary <greg@mcgary.org> 185*75fd0b74Schristos 186*75fd0b74Schristos * elf32-ppc.c (ppc_elf_relocate_section): Fixup D field 187*75fd0b74Schristos at proper offset in little-endian mode. 188*75fd0b74Schristos * elf64-ppc.c (ppc_elf_relocate_section): Likewise. 189*75fd0b74Schristos 190*75fd0b74Schristos2006-11-21 Jakub Jelinek <jakub@redhat.com> 191*75fd0b74Schristos 192*75fd0b74Schristos * elf-eh-frame.c (struct cie): New type. 193*75fd0b74Schristos (cie_compare): Removed. 194*75fd0b74Schristos (cie_eq, cie_hash, cie_compute_hash): New functions. 195*75fd0b74Schristos (_bfd_elf_discard_section_eh_frame): Rewrite not to rely on FDEs 196*75fd0b74Schristos pointing only to last CIE and allow merging of any duplicate CIEs, 197*75fd0b74Schristos not just duplicate consecutive CIEs. 198*75fd0b74Schristos (_bfd_elf_discard_section_eh_frame_hdr): Delete cies hash table. 199*75fd0b74Schristos * elf-bfd.h (struct cie_header, struct cie): Removed. 200*75fd0b74Schristos (struct eh_frame_sec_info): Remove alloced field. 201*75fd0b74Schristos (struct eh_frame_hdr_info): Remove last_cie, last_cie_sec 202*75fd0b74Schristos and last_cie_inf fields. Add cies field. 203*75fd0b74Schristos 204*75fd0b74Schristos2006-11-20 Alan Modra <amodra@bigpond.net.au> 205*75fd0b74Schristos 206*75fd0b74Schristos * bfd-in.h (struct stat): Don't typedef. 207*75fd0b74Schristos * bfdio.c (bfd_get_size): Return a file_ptr. 208*75fd0b74Schristos * cisco-core.c (cisco_core_file_validate): Use bfd_size_type for nread. 209*75fd0b74Schristos * mmo.c (mmo_scan): Use file_ptr for curpos. 210*75fd0b74Schristos * trad-core.c (trad_unix_core): Don't cast statbuf.st_size to 211*75fd0b74Schristos unsigned long. 212*75fd0b74Schristos * bfd-in2.h: Regenerate. 213*75fd0b74Schristos 214*75fd0b74Schristos2006-11-20 Alan Modra <amodra@bigpond.net.au> 215*75fd0b74Schristos 216*75fd0b74Schristos PR 3532 217*75fd0b74Schristos * bfd-in.h (struct bfd_hash_table): Reorganize. Add "frozen". 218*75fd0b74Schristos * hash.c (bfd_hash_table_init_n): Init frozen. 219*75fd0b74Schristos (bfd_hash_lookup): Don't grow if frozen. 220*75fd0b74Schristos (bfd_hash_traverse): Freeze hash table during traversal. 221*75fd0b74Schristos * bfd-in2.h: Regenerate. 222*75fd0b74Schristos 223*75fd0b74Schristos2006-11-18 Alan Modra <amodra@bigpond.net.au> 224*75fd0b74Schristos 225*75fd0b74Schristos * elflink.c (_bfd_elf_check_kept_section): Test for kept group 226*75fd0b74Schristos section. Save result of checks in kept_section. 227*75fd0b74Schristos (_bfd_elf_section_already_linked): Tidy. Correct comments. 228*75fd0b74Schristos Ignore all group member sections. Handle special matching of 229*75fd0b74Schristos single-member groups against linkonce sections via their group 230*75fd0b74Schristos section. When such a match is found, set kept_section to the 231*75fd0b74Schristos group member section rather than to the group. 232*75fd0b74Schristos 233*75fd0b74Schristos2006-11-14 Phil Lello <phil.lello@homecall.co.uk> 234*75fd0b74Schristos 235*75fd0b74Schristos * peXXigen.c: Updates for PE/COFF V8.0, and clarification 236*75fd0b74Schristos (dir_names): Added CLR Runtime Header to dir_names[]. 237*75fd0b74Schristos (_bfd_XX_print_private_bfd_data_common): Added EFI_ROM and XBOX 238*75fd0b74Schristos subsystem names 239*75fd0b74Schristos (_bfd_XXi_swap_aouthdr_in, _bfd_XXi_swap_aouthdr_out) 240*75fd0b74Schristos (pe_print_idata, pe_print_edata) 241*75fd0b74Schristos (_bfd_XX_bfd_copy_private_bfd_data_common) 242*75fd0b74Schristos (_bfd_XXi_final_link_postscript): Use #DEFINEs for index into 243*75fd0b74Schristos DataDirectory. 244*75fd0b74Schristos 245*75fd0b74Schristos2006-11-13 Daniel Jacobowitz <dan@codesourcery.com> 246*75fd0b74Schristos 247*75fd0b74Schristos * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update 248*75fd0b74Schristos prototype. 249*75fd0b74Schristos (bfd_elf32_arm_set_byteswap_code): New prototype. 250*75fd0b74Schristos * bfd-in2.h: Regenerate. 251*75fd0b74Schristos * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Don't take 252*75fd0b74Schristos byteswap_code as an argument. Revert 2006-11-01 change. 253*75fd0b74Schristos (bfd_elf32_arm_set_byteswap_code): New. 254*75fd0b74Schristos (elf32_arm_size_dynamic_sections): Call 255*75fd0b74Schristos bfd_elf32_arm_process_before_allocation. 256*75fd0b74Schristos 257*75fd0b74Schristos2006-11-10 Thiemo Seufer <ths@mips.com> 258*75fd0b74Schristos 259*75fd0b74Schristos * config.bfd (mips*el-sde-elf*, mips*-sde-elf*): Drop ECOFF support 260*75fd0b74Schristos for SDE configs. 261*75fd0b74Schristos 262*75fd0b74Schristos2006-11-10 Nick Clifton <nickc@redhat.com> 263*75fd0b74Schristos 264*75fd0b74Schristos * config.bfd: Move previously obsoleted targets to the REMOVED 265*75fd0b74Schristos list. 266*75fd0b74Schristos Add maxq-*-coff to the obsolete list. 267*75fd0b74Schristos 268*75fd0b74Schristos2006-11-10 Pedro Alves <pedro_alves@portugalmail.pt> 269*75fd0b74Schristos 270*75fd0b74Schristos * pe-arm-wince.c (LOCAL_LABEL_PREFIX): Define as ".". 271*75fd0b74Schristos * pei-arm-wince.c (LOCAL_LABEL_PREFIX): Likewise. 272*75fd0b74Schristos * coff-arm.c (LOCAL_LABEL_PREFIX): Only define if not defined before. 273*75fd0b74Schristos 274*75fd0b74Schristos2006-11-07 Daniel Jacobowitz <dan@codesourcery.com> 275*75fd0b74Schristos 276*75fd0b74Schristos * elf32-arm.c (find_thumb_glue): Add ERROR_MESSAGE argument; set it 277*75fd0b74Schristos on error. 278*75fd0b74Schristos (find_arm_glue): Likewise. 279*75fd0b74Schristos (elf32_thumb_to_arm_stub, elf32_arm_create_thumb_stub) 280*75fd0b74Schristos (elf32_arm_to_thumb_stub, elf32_arm_final_link_relocate): Add 281*75fd0b74Schristos ERROR_MESSAGE argument and pass it through. 282*75fd0b74Schristos (elf32_arm_to_thumb_export_stub): Update. 283*75fd0b74Schristos (elf32_arm_relocate_section): Use ERROR_MESSAGE and reloc_dangerous. 284*75fd0b74Schristos 285*75fd0b74Schristos2006-11-07 Alan Modra <amodra@bigpond.net.au> 286*75fd0b74Schristos 287*75fd0b74Schristos * elf64-ppc.c (enum _ppc64_sec_type): New. 288*75fd0b74Schristos (struct _ppc64_elf_section_data): Move "t_symndx" into opd union, 289*75fd0b74Schristos and rename fields. Add sec_type and has_14bit_branch. 290*75fd0b74Schristos (struct ppc_link_hash_table): Remove has_14bit_branch. 291*75fd0b74Schristos (get_opd_info, get_tls_mask, ppc64_elf_edit_opd): Adjust. 292*75fd0b74Schristos (ppc64_elf_relocate_section): Likewise. 293*75fd0b74Schristos (ppc64_elf_check_relocs): Likewise. Set per-section has_14bit_branch. 294*75fd0b74Schristos (ppc64_elf_size_stubs): Don't set default group size here. 295*75fd0b74Schristos (group_sections): Instead do so here, and group sections using 296*75fd0b74Schristos their individual requirements. 297*75fd0b74Schristos 298*75fd0b74Schristos2006-11-07 Alan Modra <amodra@bigpond.net.au> 299*75fd0b74Schristos 300*75fd0b74Schristos * elf64-ppc.c (struct ppc64_elf_obj_tdata): Remove "has_dotsym" 301*75fd0b74Schristos and union. 302*75fd0b74Schristos (struct ppc_link_hash_entry): Add "next_dot_sym". 303*75fd0b74Schristos (struct ppc_link_hash_table): Add "dot_syms". 304*75fd0b74Schristos (link_hash_newfunc): Make list of syms starting with a dot. 305*75fd0b74Schristos (ppc_get_stub_entry, adjust_opd_syms): Adjust. 306*75fd0b74Schristos (ppc64_elf_add_symbol_hook): Don't set has_dotsym. 307*75fd0b74Schristos (struct add_symbol_adjust_data): Delete. 308*75fd0b74Schristos (add_symbol_adjust): Simplify params and return. 309*75fd0b74Schristos (ppc64_elf_check_directives): Just process the "dot_syms" lists, 310*75fd0b74Schristos not all syms. 311*75fd0b74Schristos 312*75fd0b74Schristos2006-11-02 Daniel Jacobowitz <dan@codesourcery.com> 313*75fd0b74Schristos 314*75fd0b74Schristos * libbfd-in.h (_bfd_clear_contents): New prototype. 315*75fd0b74Schristos * reloc.c (_bfd_clear_contents): New. 316*75fd0b74Schristos * libbfd.h: Regenerated. 317*75fd0b74Schristos 318*75fd0b74Schristos * elf32-arm.c (elf32_arm_final_link_relocate): Use 319*75fd0b74Schristos _bfd_clear_contents. 320*75fd0b74Schristos * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. 321*75fd0b74Schristos * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. 322*75fd0b74Schristos * elf32-i386.c (elf_i386_relocate_section): Likewise. 323*75fd0b74Schristos * elf32-ppc.c (ppc_elf_relocate_section): Likewise. 324*75fd0b74Schristos * elf32-s390.c (elf_s390_relocate_section): Likewise. 325*75fd0b74Schristos * elf32-sh.c (sh_elf_relocate_section): Likewise. 326*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. 327*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 328*75fd0b74Schristos * elf64-s390.c (elf_s390_relocate_section): Likewise. 329*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. 330*75fd0b74Schristos * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise. 331*75fd0b74Schristos 332*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relocate_section): Set value to 333*75fd0b74Schristos zero for discarded symbols. 334*75fd0b74Schristos * elfxx-mips.c (mips_elf_calculate_relocation): Likewise. 335*75fd0b74Schristos 336*75fd0b74Schristos2006-11-01 Thiemo Seufer <ths@mips.com> 337*75fd0b74Schristos David Ung <davidu@mips.com> 338*75fd0b74Schristos 339*75fd0b74Schristos * elf-bfd.h (local_call_stubs): New member. 340*75fd0b74Schristos * elfxx-mips.c (FN_STUB_P, CALL_STUB_P, CALL_FP_STUB_P): New macros. 341*75fd0b74Schristos (mips_elf_calculate_relocation): Handle local mips16 call stubs. 342*75fd0b74Schristos (mips16_stub_section_p): Rename from mips_elf_stub_section_p, use 343*75fd0b74Schristos the new stub macros. 344*75fd0b74Schristos (_bfd_mips_elf_check_relocs): Handle call stubs for code which 345*75fd0b74Schristos mixes mips16 and mips32 functions. Use mips16_stub_section_p. Mark 346*75fd0b74Schristos used stubs with SEC_KEEP. Use the new stub macros. 347*75fd0b74Schristos 348*75fd0b74Schristos2006-11-01 Alan Modra <amodra@bigpond.net.au> 349*75fd0b74Schristos 350*75fd0b74Schristos * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Correct 351*75fd0b74Schristos check for PLT usage. 352*75fd0b74Schristos 353*75fd0b74Schristos2006-11-01 Daniel Jacobowitz <dan@codesourcery.com> 354*75fd0b74Schristos 355*75fd0b74Schristos * elfxx-mips.c (mips_elf_merge_gots): Always use maxcnt. 356*75fd0b74Schristos 357*75fd0b74Schristos2006-10-31 Alan Modra <amodra@bigpond.net.au> 358*75fd0b74Schristos 359*75fd0b74Schristos * elf.c (elfcore_write_note): Pad note descriptor to 4-byte 360*75fd0b74Schristos boundary. Tidy. Comment. 361*75fd0b74Schristos 362*75fd0b74Schristos2006-10-30 H.J. Lu <hongjiu.lu@intel.com> 363*75fd0b74Schristos 364*75fd0b74Schristos PR ld/3111 365*75fd0b74Schristos * elf-bfd.h (elf_obj_tdata): Add symbuf. 366*75fd0b74Schristos (_bfd_elf_section_already_linked): Add struct bfd_link_info *. 367*75fd0b74Schristos (_bfd_elf_check_kept_section): Likewise. 368*75fd0b74Schristos (bfd_elf_match_symbols_in_sections): Likewise. 369*75fd0b74Schristos 370*75fd0b74Schristos * elf.c (assign_section_numbers): Updated to add 371*75fd0b74Schristos struct bfd_link_info *. 372*75fd0b74Schristos (bfd_elf_match_symbols_in_sections): Updated. Cache symbol 373*75fd0b74Schristos buffer if info->reduce_memory_overheads is false. 374*75fd0b74Schristos 375*75fd0b74Schristos * elflink.c (match_group_member): Updated to add 376*75fd0b74Schristos struct bfd_link_info *. 377*75fd0b74Schristos (_bfd_elf_check_kept_section): Likewise. 378*75fd0b74Schristos (elf_link_input_bfd): Likewise. 379*75fd0b74Schristos (_bfd_elf_section_already_linked): Likewise. 380*75fd0b74Schristos (bfd_elf_final_link): Free symbol buffer if 381*75fd0b74Schristos info->reduce_memory_overheads is false. 382*75fd0b74Schristos 383*75fd0b74Schristos * libbfd-in.h (_bfd_nolink_section_already_linked): Add 384*75fd0b74Schristos struct bfd_link_info *. 385*75fd0b74Schristos (_bfd_generic_section_already_linked): Likewise. 386*75fd0b74Schristos * libbfd.h: Regenerated. 387*75fd0b74Schristos 388*75fd0b74Schristos * linker.c (bfd_section_already_linked): Add 389*75fd0b74Schristos struct bfd_link_info *. 390*75fd0b74Schristos (_bfd_generic_section_already_linked): Likewise. 391*75fd0b74Schristos * targets.c (bfd_target): Add struct bfd_link_info * to 392*75fd0b74Schristos _section_already_linked. 393*75fd0b74Schristos * bfd-in2.h: Regenerated. 394*75fd0b74Schristos 395*75fd0b74Schristos2006-10-30 Alan Modra <amodra@bigpond.net.au> 396*75fd0b74Schristos 397*75fd0b74Schristos * bfd.c (bfd_error_type): Add bfd_error_on_input. 398*75fd0b74Schristos (input_bfd, input_error): New static vars. 399*75fd0b74Schristos (bfd_set_error): Handle bfd_error_on_input. 400*75fd0b74Schristos (bfd_errmsg): Likewise. 401*75fd0b74Schristos (bfd_perror): Simplify. 402*75fd0b74Schristos * archive.c (_bfd_write_archive_contents): Report errors on input. 403*75fd0b74Schristos * bfd-in2.h: Regenerate. 404*75fd0b74Schristos 405*75fd0b74Schristos2006-10-30 Alan Modra <amodra@bigpond.net.au> 406*75fd0b74Schristos 407*75fd0b74Schristos * elf.c (elfcore_write_note): Pad to 4-byte boundary. 408*75fd0b74Schristos 409*75fd0b74Schristos2006-10-28 Richard Sandiford <richard@codesourcery.com> 410*75fd0b74Schristos 411*75fd0b74Schristos * elf32-mips.c (elf_mips_howto_table_rel): Add R_MIPS_GLOB_DAT. 412*75fd0b74Schristos * elfn32-mips.c (elf_mips_howto_table_rel): Likewise. 413*75fd0b74Schristos (elf_mips_howto_table_rela): Likewise. 414*75fd0b74Schristos * elf64-mips.c (mips_elf64_howto_table_rel): Likewise. 415*75fd0b74Schristos (mips_elf64_howto_table_rela): Likewise. 416*75fd0b74Schristos 417*75fd0b74Schristos2006-10-26 H.J. Lu <hongjiu.lu@intel.com> 418*75fd0b74Schristos 419*75fd0b74Schristos * elf.c (_bfd_elf_init_private_section_data): Assert output 420*75fd0b74Schristos section ELF type instead of check if it is SHT_NULL. Copy 421*75fd0b74Schristos OS/PROC specific flags from input section to output section. 422*75fd0b74Schristos 423*75fd0b74Schristos2006-10-27 Alan Modra <amodra@bigpond.net.au> 424*75fd0b74Schristos 425*75fd0b74Schristos * section.c (SEC_KEEP): Update comment. 426*75fd0b74Schristos * bfd-in2.h: Regenerate. 427*75fd0b74Schristos * elflink.c (bfd_elf_gc_sections): Ignore SEC_EXCLUDE sections. 428*75fd0b74Schristos * merge.c (_bfd_merge_sections): Set SEC_KEEP on excluded sections. 429*75fd0b74Schristos * stabs.c (_bfd_discard_section_stabs): Likewise. 430*75fd0b74Schristos (_bfd_link_section_stabs): Likewise. Simplify abs_section check. 431*75fd0b74Schristos 432*75fd0b74Schristos2006-10-26 Ben Elliston <bje@au.ibm.com> 433*75fd0b74Schristos 434*75fd0b74Schristos * reloc.c (_bfd_relocate_contents): Remove explicit case 0. 435*75fd0b74Schristos 436*75fd0b74Schristos * elf.c (bfd_section_from_shdr): Remove extraneous breaks. 437*75fd0b74Schristos * targets.c (find_target): Remove extraneous break. 438*75fd0b74Schristos 439*75fd0b74Schristos2006-10-26 Ben Elliston <bje@au.ibm.com> 440*75fd0b74Schristos 441*75fd0b74Schristos * coff-maxq.c (coff_maxq20_reloc): Remove unused variable `howto'. 442*75fd0b74Schristos (struct maxq_reloc_map): Unused; remove. 443*75fd0b74Schristos (maxq_reloc_map): Likewise. 444*75fd0b74Schristos (maxq_reloc_type_lookup): Remove loop over maxq_reloc_map. 445*75fd0b74Schristos 446*75fd0b74Schristos2006-10-26 Ben Elliston <bje@au.ibm.com> 447*75fd0b74Schristos 448*75fd0b74Schristos * elf.c (bfd_elf_set_dyn_lib_class): Change second argument type 449*75fd0b74Schristos from int to enum dynamic_lib_link_class lib_class. 450*75fd0b74Schristos * bfd-in.h (bfd_elf_set_dyn_lib_class): Likewise. 451*75fd0b74Schristos * bfd-in2.h: Regenerate. 452*75fd0b74Schristos 453*75fd0b74Schristos2006-10-25 Alan Modra <amodra@bigpond.net.au> 454*75fd0b74Schristos Trevor Smigiel <Trevor_Smigiel@playstation.sony.com> 455*75fd0b74Schristos Yukishige Shibata <shibata@rd.scei.sony.co.jp> 456*75fd0b74Schristos Nobuhisa Fujinami <fnami@rd.scei.sony.co.jp> 457*75fd0b74Schristos Takeaki Fukuoka <fukuoka@rd.scei.sony.co.jp> 458*75fd0b74Schristos 459*75fd0b74Schristos * cpu-spu.c: New file. 460*75fd0b74Schristos * elf32-spu.c: New file. 461*75fd0b74Schristos * elf32-spu.h: New file. 462*75fd0b74Schristos * archures.c: Add SPU support. 463*75fd0b74Schristos * config.bfd: Likewise. 464*75fd0b74Schristos * configure.in: Likewise. 465*75fd0b74Schristos * reloc.c: Likewise. 466*75fd0b74Schristos * targets.c: Likewise. 467*75fd0b74Schristos * Makefile.am: Likewise. Run "make dep-am". 468*75fd0b74Schristos * libbfd.h: Regenerate. 469*75fd0b74Schristos * bfd-in2.h: Regenerate. 470*75fd0b74Schristos * Makefile.in: Regenerate. 471*75fd0b74Schristos * configure: Regenerate. 472*75fd0b74Schristos * po/SRC-POTFILES.in: Regenerate. 473*75fd0b74Schristos 474*75fd0b74Schristos2006-10-23 Alan Modra <amodra@bigpond.net.au> 475*75fd0b74Schristos 476*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_edit_opd): Clarify comment. 477*75fd0b74Schristos 478*75fd0b74Schristos2006-10-23 Alan Modra <amodra@bigpond.net.au> 479*75fd0b74Schristos 480*75fd0b74Schristos * elf32-score.c: Formatting. 481*75fd0b74Schristos (elf_backend_omit_section_dynsym): Define. 482*75fd0b74Schristos (score_elf_create_dynamic_relocation): Remove code copied from mips. 483*75fd0b74Schristos Don't use section syms in dynamic relocs. Remove unused param. 484*75fd0b74Schristos (score_elf_final_link_relocate): Remove unused param. 485*75fd0b74Schristos 486*75fd0b74Schristos2006-10-23 Alan Modra <amodra@bigpond.net.au> 487*75fd0b74Schristos 488*75fd0b74Schristos * linker.c (fix_syms): Choose best of previous and next 489*75fd0b74Schristos section based on section flags and vma. 490*75fd0b74Schristos 491*75fd0b74Schristos2006-10-21 Kaz Kojima <kkojima@rr.iij4u.or.jp> 492*75fd0b74Schristos 493*75fd0b74Schristos * elf32-sh64.c (sh64_elf_merge_symbol_attribute): Do merging 494*75fd0b74Schristos only when the non visibility part of st_other is non-zero. 495*75fd0b74Schristos * elf64-sh64.c (sh64_elf64_merge_symbol_attribute): Likewise. 496*75fd0b74Schristos 497*75fd0b74Schristos2006-10-20 Richard Sandiford <richard@codesourcery.com> 498*75fd0b74Schristos 499*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't extend 500*75fd0b74Schristos PT_DYNAMIC on GNU/Linux targets. 501*75fd0b74Schristos 502*75fd0b74Schristos2006-10-20 Richard Sandiford <richard@codesourcery.com> 503*75fd0b74Schristos 504*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make the 505*75fd0b74Schristos size of .rel.dyn reflect the value of DT_RELSZ. 506*75fd0b74Schristos 507*75fd0b74Schristos2006-10-20 Richard Sandiford <richard@codesourcery.com> 508*75fd0b74Schristos 509*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Allocate 510*75fd0b74Schristos a PT_NULL header for dynamic objects. 511*75fd0b74Schristos (_bfd_mips_elf_modify_segment_map): Add it. 512*75fd0b74Schristos 513*75fd0b74Schristos2006-10-19 Mei Ligang <ligang@sunnorth.com.cn> 514*75fd0b74Schristos 515*75fd0b74Schristos * elf32-score.c (score_elf_rel_dyn_section): Replace 516*75fd0b74Schristos bfd_make_section with bfd_make_section_with_flags. 517*75fd0b74Schristos (_bfd_score_elf_create_dynamic_sections): Ditto. 518*75fd0b74Schristos (score_elf_create_got_section): Ditto. 519*75fd0b74Schristos (score_elf_final_link_relocate): Delete referrence to 520*75fd0b74Schristos EF_SCORE_HASENTRY. 521*75fd0b74Schristos 522*75fd0b74Schristos2006-10-19 Richard Sandiford <richard@codesourcery.com> 523*75fd0b74Schristos 524*75fd0b74Schristos * elfxx-mips.c (sort_dynamic_relocs): Sort relocations against the 525*75fd0b74Schristos same symbol by increasing r_offset. 526*75fd0b74Schristos (sort_dynamic_relocs_64): Likewise. Fix comparisons between very 527*75fd0b74Schristos large and very small symbol indexes. 528*75fd0b74Schristos 529*75fd0b74Schristos2006-10-19 Richard Sandiford <richard@codesourcery.com> 530*75fd0b74Schristos 531*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG 532*75fd0b74Schristos and DT_MIPS_RLD_MAP tags for position-independent executables. 533*75fd0b74Schristos Do not add DT_DEBUG to shared libraries for any MIPS target. 534*75fd0b74Schristos 535*75fd0b74Schristos2006-10-18 H.J. Lu <hongjiu.lu@intel.com> 536*75fd0b74Schristos 537*75fd0b74Schristos PR ld/3290 538*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Hide definitions in 539*75fd0b74Schristos debug sections. 540*75fd0b74Schristos 541*75fd0b74Schristos2006-10-19 Alan Modra <amodra@bigpond.net.au> 542*75fd0b74Schristos 543*75fd0b74Schristos * elf32-arm.c (bfd_elf32_arm_allocate_interworking_sect): Check, 544*75fd0b74Schristos don't set, glue section size. 545*75fd0b74Schristos (record_arm_to_thumb_glue): Set glue section size here. 546*75fd0b74Schristos (record_thumb_to_arm_glue): Likewise. 547*75fd0b74Schristos (bfd_elf32_arm_add_glue_sections_to_bfd): Formatting. 548*75fd0b74Schristos (bfd_elf32_arm_process_before_allocation): Ignore exluded sections. 549*75fd0b74Schristos 550*75fd0b74Schristos2006-10-18 Roy Marples <uberlord@gentoo.org> 551*75fd0b74Schristos 552*75fd0b74Schristos * elf64-sparc.c: Add FreeBSD support. 553*75fd0b74Schristos (elf64_sparc_fbsd_post_process_headers): New function. 554*75fd0b74Schristos * targets.c (_bfd_target_vector): Add bfd_elf64_sparc_freebsd_vec. 555*75fd0b74Schristos * config.bfd (sparc64-*-freebsd*): Set targ_defvec to bfd_elf64_sparc_freebsd_vec. 556*75fd0b74Schristos * configure.in: Add entry for bfd_elf64_sparc_freebsd_vec. 557*75fd0b74Schristos * configure: Regenerate. 558*75fd0b74Schristos 559*75fd0b74Schristos2006-10-17 Mark Shinwell <shinwell@codesourcery.com> 560*75fd0b74Schristos 561*75fd0b74Schristos * elf32-arm.c (elf32_arm_final_link_relocate): Add support for 562*75fd0b74Schristos R_ARM_MOVW_BREL_NC, R_ARM_MOVW_BREL, R_ARM_MOVT_BREL, 563*75fd0b74Schristos R_ARM_THM_MOVW_BREL_NC, R_ARM_THM_MOVW_BREL and 564*75fd0b74Schristos R_ARM_THM_MOVT_BREL relocations. 565*75fd0b74Schristos 566*75fd0b74Schristos2006-10-17 Mark Shinwell <shinwell@codesourcery.com> 567*75fd0b74Schristos 568*75fd0b74Schristos * elf32-arm.c (elf32_arm_howto_table_1): Change offset for 569*75fd0b74Schristos R_THM_CALL to 25 and remove FIXME comment. 570*75fd0b74Schristos (using_thumb2): New function. 571*75fd0b74Schristos (elf32_arm_final_link_relocate): Cope with Thumb-2 BL encoding. 572*75fd0b74Schristos 573*75fd0b74Schristos2006-10-17 Mark Shinwell <shinwell@codesourcery.com> 574*75fd0b74Schristos 575*75fd0b74Schristos * elf32-arm.c (elf32_arm_final_link_relocate): Add cases 576*75fd0b74Schristos for R_ARM_ABS32_NOI and R_ARM_REL32_NOI. 577*75fd0b74Schristos (elf32_arm_gc_sweep_hook): Likewise. 578*75fd0b74Schristos (elf32_arm_check_relocs): Likewise. 579*75fd0b74Schristos (allocate_dynrelocs): Likewise. 580*75fd0b74Schristos 581*75fd0b74Schristos2006-10-17 Alan Modra <amodra@bigpond.net.au> 582*75fd0b74Schristos 583*75fd0b74Schristos * elf-bfd.h (struct elf_link_hash_table): Reorder. Add 584*75fd0b74Schristos text_index_section and data_index_section. 585*75fd0b74Schristos (struct elf_backend_data): Add elf_backend_init_index_section. 586*75fd0b74Schristos (_bfd_elf_init_1_index_section): Declare. 587*75fd0b74Schristos (_bfd_elf_init_2_index_sections): Declare. 588*75fd0b74Schristos * elfxx-target.h (elf_backend_init_index_section): Define. 589*75fd0b74Schristos (elfNN_bed): Init new field. 590*75fd0b74Schristos * elflink.c (_bfd_elf_link_omit_section_dynsym): Keep first tls 591*75fd0b74Schristos section and text_index_section plus data_index_section. 592*75fd0b74Schristos (_bfd_elf_link_renumber_dynsyms): Clear dynindx on omitted sections. 593*75fd0b74Schristos (_bfd_elf_init_1_index_section): New function. 594*75fd0b74Schristos (_bfd_elf_init_2_index_sections): New function. 595*75fd0b74Schristos (bfd_elf_size_dynsym_hash_dynstr): Call elf_backend_init_index_section. 596*75fd0b74Schristos (elf_link_input_bfd): When emitting relocs, use text_index_section 597*75fd0b74Schristos and data_index_section for removed sections. 598*75fd0b74Schristos * elf-m10300.c (elf_backend_omit_section_dynsym): Define. 599*75fd0b74Schristos * elf32-i386.c: Likewise. 600*75fd0b74Schristos * elf32-m32r.c: Likewise. 601*75fd0b74Schristos * elf32-sh.c: Likewise. 602*75fd0b74Schristos * elf32-xstormy16.c: Likewise. 603*75fd0b74Schristos * elf32-xtensa.c: Likewise. 604*75fd0b74Schristos * elf64-alpha.c: Likewise. 605*75fd0b74Schristos * elf64-hppa.c: Likewise. 606*75fd0b74Schristos * elf64-mmix.c: Likewise. 607*75fd0b74Schristos * elf64-sh64.c: Likewise. 608*75fd0b74Schristos * elfxx-ia64.c: Likewise. 609*75fd0b74Schristos * elf32-arm.c (elf32_arm_final_link_relocate): Use text_index_section 610*75fd0b74Schristos and data_index_section sym for relocs against sections with no dynamic 611*75fd0b74Schristos section sym. 612*75fd0b74Schristos (elf_backend_init_index_section): Define. 613*75fd0b74Schristos * elf32-cris.c: Similarly. 614*75fd0b74Schristos * elf32-hppa.c: Similarly. 615*75fd0b74Schristos * elf32-i370.c: Similarly. 616*75fd0b74Schristos * elf32-m68k.c: Similarly. 617*75fd0b74Schristos * elf32-mips.c: Similarly. 618*75fd0b74Schristos * elf32-ppc.c: Similarly. 619*75fd0b74Schristos * elf32-s390.c: Similarly. 620*75fd0b74Schristos * elf32-sparc.c: Similarly. 621*75fd0b74Schristos * elf32-vax.c: Similarly. 622*75fd0b74Schristos * elf64-mips.c: Similarly. 623*75fd0b74Schristos * elf64-ppc.c: Similarly. 624*75fd0b74Schristos * elf64-s390.c: Similarly. 625*75fd0b74Schristos * elf64-sparc.c: Similarly. 626*75fd0b74Schristos * elf64-x86-64.c: Similarly. 627*75fd0b74Schristos * elfn32-mips.c: Similarly. 628*75fd0b74Schristos * elfxx-mips.c: Similarly. 629*75fd0b74Schristos * elfxx-sparc.c: Similarly. 630*75fd0b74Schristos * linker.c (fix_syms): Base symbols in removed sections on 631*75fd0b74Schristos previous section in preference to using absolute section. 632*75fd0b74Schristos 633*75fd0b74Schristos2006-10-16 Andreas Schwab <schwab@suse.de> 634*75fd0b74Schristos 635*75fd0b74Schristos * elfxx-ia64.c (addend_compare): Properly compute return value. 636*75fd0b74Schristos 637*75fd0b74Schristos2006-10-15 H.J. Lu <hongjiu.lu@intel.com> 638*75fd0b74Schristos 639*75fd0b74Schristos PR ld/3314 640*75fd0b74Schristos * elf.c (assign_file_positions_for_non_load_sections): Don't 641*75fd0b74Schristos page align empty SHF_ALLOC sections. 642*75fd0b74Schristos 643*75fd0b74Schristos2006-10-13 Jakub Jelinek <jakub@redhat.com> 644*75fd0b74Schristos 645*75fd0b74Schristos * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): Set 646*75fd0b74Schristos .plt sh_entsize to 0 if plt header size isn't multiple of 647*75fd0b74Schristos plt entry size or for 32-bit which adds a nop insn at the 648*75fd0b74Schristos end of the .plt section. 649*75fd0b74Schristos 650*75fd0b74Schristos2006-10-12 Bob Wilson <bob.wilson@acm.org> 651*75fd0b74Schristos 652*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_action_discarded): New. 653*75fd0b74Schristos (elf_backend_action_discarded): Define. 654*75fd0b74Schristos 655*75fd0b74Schristos2006-10-11 Bob Wilson <bob.wilson@acm.org> 656*75fd0b74Schristos 657*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_relocate_section): Return after 658*75fd0b74Schristos unresolvable relocation error. 659*75fd0b74Schristos (elf_xtensa_finish_dynamic_symbol): Set value of undefined, weak 660*75fd0b74Schristos symbols to zero. 661*75fd0b74Schristos 662*75fd0b74Schristos2006-10-10 Bob Wilson <bob.wilson@acm.org> 663*75fd0b74Schristos 664*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Add DT_DEBUG 665*75fd0b74Schristos for PIE executables. 666*75fd0b74Schristos 667*75fd0b74Schristos2006-10-03 Jakub Jelinek <jakub@redhat.com> 668*75fd0b74Schristos 669*75fd0b74Schristos * elf-bfd.h (struct eh_cie_fde): Add set_loc pointer. 670*75fd0b74Schristos * elf-eh-frame.c (skip_cfa_op): Fix handling of DW_CFA_advance_loc. 671*75fd0b74Schristos Handle DW_CFA_{remember,restore}_state, DW_CFA_GNU_window_save, 672*75fd0b74Schristos DW_CFA_val_{offset{,_sf},expression}. 673*75fd0b74Schristos (skip_non_nops): Record number of DW_CFA_set_loc ops. 674*75fd0b74Schristos (_bfd_elf_discard_section_eh_frame): Require skip_non_nops recognizes 675*75fd0b74Schristos all ops. If there are any DW_CFA_set_loc ops and they are pcrel 676*75fd0b74Schristos or going to be pcrel, compute set_loc array. 677*75fd0b74Schristos (_bfd_elf_eh_frame_section_offset): If make_relative, kill relocations 678*75fd0b74Schristos against DW_CFA_set_loc operands. 679*75fd0b74Schristos (_bfd_elf_write_section_eh_frame): Handle DW_CFA_set_loc adjusting. 680*75fd0b74Schristos 681*75fd0b74Schristos2006-10-02 Daniel Jacobowitz <dan@codesourcery.com> 682*75fd0b74Schristos 683*75fd0b74Schristos * elflink.c (_bfd_elf_merge_symbol): Discard references to TLS 684*75fd0b74Schristos symbols from the --just-syms file. 685*75fd0b74Schristos 686*75fd0b74Schristos2006-10-01 Alan Modra <amodra@bigpond.net.au> 687*75fd0b74Schristos 688*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_build_stubs): Test glink size for 689*75fd0b74Schristos existence of PLT. 690*75fd0b74Schristos 691*75fd0b74Schristos2006-09-29 H.J. Lu <hongjiu.lu@intel.com> 692*75fd0b74Schristos 693*75fd0b74Schristos PR ld/3283 694*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_relocate_section): Don't ignore 695*75fd0b74Schristos relocation overflow on branches to undefweaks. 696*75fd0b74Schristos 697*75fd0b74Schristos2006-09-29 Alan Modra <amodra@bigpond.net.au> 698*75fd0b74Schristos 699*75fd0b74Schristos * po/BLD-POTFILES.in: Regenerate. 700*75fd0b74Schristos * po/SRC-POTFILES.in: Regenerate. 701*75fd0b74Schristos 702*75fd0b74Schristos2006-09-29 Danny Smith <dannysmith@users.sourceforge.net> 703*75fd0b74Schristos 704*75fd0b74Schristos PR 3276 705*75fd0b74Schristos * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte 706*75fd0b74Schristos alignment for .data$, .rdata$ and .text$ sections so that sse 707*75fd0b74Schristos and sse2 code will work for linkonce sections too. 708*75fd0b74Schristos * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise. 709*75fd0b74Schristos 710*75fd0b74Schristos2006-09-28 Alan Modra <amodra@bigpond.net.au> 711*75fd0b74Schristos 712*75fd0b74Schristos * elflink.c (_bfd_elf_gc_mark_hook): New function. 713*75fd0b74Schristos * elf-bfd.h (_bfd_elf_gc_mark_hook): Declare. 714*75fd0b74Schristos * elfxx-target.h (elf_backend_gc_mark_hook): Default to above. 715*75fd0b74Schristos * elf-m10300.c (mn10300_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 716*75fd0b74Schristos * elf32-arm.c (elf32_arm_gc_mark_hook): Likewise. 717*75fd0b74Schristos * elf32-cris.c (cris_elf_gc_mark_hook): Likewise. 718*75fd0b74Schristos * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise. 719*75fd0b74Schristos * elf32-i386.c (elf_i386_gc_mark_hook): Likewise. 720*75fd0b74Schristos * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise. 721*75fd0b74Schristos * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise. 722*75fd0b74Schristos * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise. 723*75fd0b74Schristos * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise. 724*75fd0b74Schristos * elf32-s390.c (elf_s390_gc_mark_hook): Likewise. 725*75fd0b74Schristos * elf32-score.c (_bfd_score_elf_gc_mark_hook): Likewise. 726*75fd0b74Schristos * elf32-sh.c (sh_elf_gc_mark_hook): Likewise. 727*75fd0b74Schristos * elf32-vax.c (elf_vax_gc_mark_hook): Likewise. 728*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Likewise. 729*75fd0b74Schristos * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise. 730*75fd0b74Schristos * elf64-s390.c (elf_s390_gc_mark_hook): Likewise. 731*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise. 732*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise. 733*75fd0b74Schristos * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Likewise. 734*75fd0b74Schristos * elf32-bfin.c (bfin_gc_mark_hook): Likewise. 735*75fd0b74Schristos (bfinfdpic_gc_sweep_hook): Delete. 736*75fd0b74Schristos (elf_backend_gc_sweep_hook): Don't define for elf32-bfinfdpic. 737*75fd0b74Schristos * elf32-d10v.c (elf32_d10v_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 738*75fd0b74Schristos (elf32_d10v_gc_sweep_hook): Delete. 739*75fd0b74Schristos (elf_backend_gc_sweep_hook): Don't define. 740*75fd0b74Schristos * elf32-fr30.c (fr30_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 741*75fd0b74Schristos (fr30_elf_gc_sweep_hook): Delete. 742*75fd0b74Schristos (elf_backend_gc_sweep_hook): Don't define. 743*75fd0b74Schristos * elf32-frv.c (elf32_frv_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 744*75fd0b74Schristos (elf32_frv_gc_sweep_hook): Delete. 745*75fd0b74Schristos (elf_backend_gc_sweep_hook): Don't define. 746*75fd0b74Schristos * elf32-iq2000.c (iq2000_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 747*75fd0b74Schristos (iq2000_elf_gc_sweep_hook): Delete. 748*75fd0b74Schristos (elf_backend_gc_sweep_hook): Don't define. 749*75fd0b74Schristos * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Use 750*75fd0b74Schristos _bfd_elf_gc_mark_hook. 751*75fd0b74Schristos (openrisc_elf_gc_sweep_hook): Delete. 752*75fd0b74Schristos (elf_backend_gc_sweep_hook): Don't define. 753*75fd0b74Schristos * elf32-v850.c (v850_elf_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 754*75fd0b74Schristos (v850_elf_gc_sweep_hook): Delete. 755*75fd0b74Schristos (elf_backend_gc_sweep_hook): Don't define. 756*75fd0b74Schristos * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Use 757*75fd0b74Schristos _bfd_elf_gc_mark_hook. 758*75fd0b74Schristos (xstormy16_elf_gc_sweep_hook): Delete. 759*75fd0b74Schristos (elf_backend_gc_sweep_hook): Don't define. 760*75fd0b74Schristos * elf64-sh64.c (sh_elf64_gc_mark_hook): Use _bfd_elf_gc_mark_hook. 761*75fd0b74Schristos (sh_elf64_gc_sweep_hook): Delete. 762*75fd0b74Schristos (elf_backend_gc_sweep_hook): Don't define. 763*75fd0b74Schristos * elf32-avr.c (elf32_avr_gc_mark_hook): Delete. 764*75fd0b74Schristos (elf32_avr_gc_sweep_hook): Delete. 765*75fd0b74Schristos (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 766*75fd0b74Schristos * elf32-cr16c.c (elf32_cr16c_gc_mark_hook): Delete. 767*75fd0b74Schristos (elf32_cr16c_gc_sweep_hook): Delete. 768*75fd0b74Schristos (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 769*75fd0b74Schristos * elf32-crx.c (elf32_crx_gc_mark_hook): Delete. 770*75fd0b74Schristos (elf32_crx_gc_sweep_hook): Delete. 771*75fd0b74Schristos (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 772*75fd0b74Schristos * elf32-h8300.c (elf32_h8_gc_mark_hook): Delete. 773*75fd0b74Schristos (elf32_h8_gc_sweep_hook): Delete. 774*75fd0b74Schristos (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 775*75fd0b74Schristos * elf32-ip2k.c (ip2k_elf_gc_mark_hook): Delete. 776*75fd0b74Schristos (ip2k_elf_gc_sweep_hook): Delete. 777*75fd0b74Schristos (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 778*75fd0b74Schristos * elf32-m32c.c (m32c_elf_gc_mark_hook, m32c_elf_gc_sweep_hook): Delete. 779*75fd0b74Schristos (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 780*75fd0b74Schristos * elf32-m68hc11.c (elf_backend_gc_mark_hook): Don't define. 781*75fd0b74Schristos (elf_backend_gc_sweep_hook): Don't define. 782*75fd0b74Schristos * elf32-m68hc12.c (elf_backend_gc_mark_hook): Don't define. 783*75fd0b74Schristos (elf_backend_gc_sweep_hook): Don't define. 784*75fd0b74Schristos * elf32-m68hc1x.c (elf32_m68hc11_gc_mark_hook): Delete. 785*75fd0b74Schristos (elf32_m68hc11_gc_sweep_hook): Delete. 786*75fd0b74Schristos * elf32-m68hc1x.h (elf32_m68hc11_gc_mark_hook): Delete. 787*75fd0b74Schristos (elf32_m68hc11_gc_sweep_hook): Delete. 788*75fd0b74Schristos * elf32-msp430.c (elf32_msp430_gc_mark_hook): Delete. 789*75fd0b74Schristos (elf32_msp430_gc_sweep_hook): Delete. 790*75fd0b74Schristos (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 791*75fd0b74Schristos * elf32-mt.c (mt_elf_gc_mark_hook, mt_elf_gc_sweep_hook): Delete. 792*75fd0b74Schristos (elf_backend_gc_mark_hook, elf_backend_gc_mark_hook): Don't define. 793*75fd0b74Schristos 794*75fd0b74Schristos2006-09-25 Pedro Alves <pedro_alves@portugalmail.pt> 795*75fd0b74Schristos 796*75fd0b74Schristos * bfd-in.h (CONST_STRNCPY) : Delete. 797*75fd0b74Schristos (LITSTRCPY) : New. 798*75fd0b74Schristos (LITMEMCPY) : New. 799*75fd0b74Schristos * bfd-in2.h : Regenerate. 800*75fd0b74Schristos * elflink.c (bfd_elf_gc_sections) : Use LITMEMCPY. Don't manually 801*75fd0b74Schristos calculate string lengths. 802*75fd0b74Schristos * nlmcode.h (nlm_swap_auxiliary_headers_in) : Use LITMEMCPY. 803*75fd0b74Schristos 804*75fd0b74Schristos2006-09-26 H.J. Lu <hongjiu.lu@intel.com> 805*75fd0b74Schristos 806*75fd0b74Schristos PR ld/3223 807*75fd0b74Schristos PR ld/3267 808*75fd0b74Schristos * elf.c (assign_file_positions_for_non_load_sections): Don't 809*75fd0b74Schristos warn zero size allocated sections. 810*75fd0b74Schristos 811*75fd0b74Schristos2006-09-27 Alan Modra <amodra@bigpond.net.au> 812*75fd0b74Schristos 813*75fd0b74Schristos * elf32-score.c (_bfd_score_elf_relocate_section): Move assignment 814*75fd0b74Schristos to "name" so that compiler realizes it is never uninitialized. 815*75fd0b74Schristos Use bfd_elf_sym_name. 816*75fd0b74Schristos 817*75fd0b74Schristos2006-09-26 H.J. Lu <hongjiu.lu@intel.com> 818*75fd0b74Schristos 819*75fd0b74Schristos PR binutils/3262 820*75fd0b74Schristos * elf.c (rewrite_elf_program_header): Use bfd_zalloc instead of 821*75fd0b74Schristos bfd_alloc to allocate segment map. 822*75fd0b74Schristos (copy_elf_program_header): Likewise. 823*75fd0b74Schristos 824*75fd0b74Schristos2006-09-26 Mark Shinwell <shinwell@codesourcery.com> 825*75fd0b74Schristos Joseph Myers <joseph@codesourcery.com> 826*75fd0b74Schristos Ian Lance Taylor <ian@wasabisystems.com> 827*75fd0b74Schristos Ben Elliston <bje@wasabisystems.com> 828*75fd0b74Schristos 829*75fd0b74Schristos * archures.c: Add definition for bfd_mach_arm_iWMMXt2. 830*75fd0b74Schristos * cpu-arm.c (processors): Add bfd_mach_arm_iWMMXt2. 831*75fd0b74Schristos (arch_info_struct, bfd_arm_update_notes): Likewise. 832*75fd0b74Schristos (architectures): Likewise. 833*75fd0b74Schristos (bfd_arm_merge_machines): Check for iWMMXt2. 834*75fd0b74Schristos * bfd-in2.h: Rebuild. 835*75fd0b74Schristos 836*75fd0b74Schristos2006-09-24 H.J. Lu <hongjiu.lu@intel.com> 837*75fd0b74Schristos 838*75fd0b74Schristos * configure: Regenerated. 839*75fd0b74Schristos 840*75fd0b74Schristos2006-09-22 Alan Modra <amodra@bigpond.net.au> 841*75fd0b74Schristos 842*75fd0b74Schristos * elfcode.h (elf_swap_symbol_in): Return bfd_boolean. Don't abort 843*75fd0b74Schristos on error. 844*75fd0b74Schristos * elf-bfd.h (elf_size_info <swap_symbol_in>): Adjust decl. 845*75fd0b74Schristos (bfd_elf32_swap_symbol_in, bfd_elf64_swap_symbol_in): Likewise. 846*75fd0b74Schristos * elf.c (bfd_elf_get_elf_syms): Test return of swap_symbol_in, 847*75fd0b74Schristos and report error. 848*75fd0b74Schristos * elf32-arm.c (elf32_arm_swap_symbol_in): Return bfd_boolean. 849*75fd0b74Schristos 850*75fd0b74Schristos2006-09-20 Martin Schwidefsky <schwidefsky@de.ibm.com> 851*75fd0b74Schristos 852*75fd0b74Schristos * elf32-s390.c (elf_s390_relocate_section): Remove check for code 853*75fd0b74Schristos section in LD to LE linker relaxation for R_390_TLS_LDO32. 854*75fd0b74Schristos * elf64-s390.c (elf_s390_relocate_section): Likewise for 855*75fd0b74Schristos R_390_TLS_LDO64. 856*75fd0b74Schristos 857*75fd0b74Schristos2006-09-20 Kai Tietz <Kai.Tietz@onevision.com> 858*75fd0b74Schristos 859*75fd0b74Schristos * configure.in: Added new target-vectors x86_64coff_vec, 860*75fd0b74Schristos x86_64pe_vec, and x86_64pei_vec. 861*75fd0b74Schristos * configure: Regenerate. 862*75fd0b74Schristos * config.bfd: Adjusted x86_64 target architecture detection. 863*75fd0b74Schristos * bfd.c: Add for new target "coff-x86-64" 864*75fd0b74Schristos (bfd_get_sign_extend): Add target vector idents for pe-x86-64. and pei-x86-64. 865*75fd0b74Schristos * coff-x86_64.c: Add new file for x86_64 (AMD64) coff support. 866*75fd0b74Schristos * libpei.h: Adjustments for COFF_WITH_pex64. 867*75fd0b74Schristos * coffcode.h: Add for new target machine, architecture, signature, and internal 868*75fd0b74Schristos signature handler. 869*75fd0b74Schristos * Makefile.am: Add new files to target-all and define make-rule for pex64igen.c 870*75fd0b74Schristos * Makefile.in: Regenerate. 871*75fd0b74Schristos * pe-x86_64.c: Add for new target "pe-x86-64". 872*75fd0b74Schristos * pei-x86_64.c: Add for new target "pei-x86-64". 873*75fd0b74Schristos * peicode.h: Adjusts for new targets. 874*75fd0b74Schristos (coff_swap_filehdr_out): Set for this target to 875*75fd0b74Schristos _bfd_pex64_only_swap_filehdr_out. 876*75fd0b74Schristos (SIZEOF_IDATA4): Define it as 8 byte size for this target. 877*75fd0b74Schristos (SIZEOF_IDATA5): Define it as 8 byte size for this target. 878*75fd0b74Schristos (jump_table jtab): Add for AMD64MAGIC. 879*75fd0b74Schristos (pe_ILF_build_a_bfd): Adjusts for new size of SIZEOF_IDATA4 and SIZE_IDATA5. 880*75fd0b74Schristos (pe_ILF_object_p): Add coff image-file signature to internal 881*75fd0b74Schristos signature translation. 882*75fd0b74Schristos * peXXigen.c: Adjust proper include of target coff-header and 883*75fd0b74Schristos introduced target specific code 884*75fd0b74Schristos (COFF_WITH_pex64): New macro for this target. 885*75fd0b74Schristos (pe_print_idata): New dumping method for import section of PE+ files. 886*75fd0b74Schristos * targets.c: Add new target vectors declarations for x86_64 coff targets. 887*75fd0b74Schristos * coffcode.h: Support code to support the x86_64 PE magic number. 888*75fd0b74Schristos * coff-x86_64.c: New file. 889*75fd0b74Schristos 890*75fd0b74Schristos2006-09-17 Hans-Peter Nilsson <hp@axis.com> 891*75fd0b74Schristos 892*75fd0b74Schristos * elf.c (special_sections_s): Revert last STRING_COMMA_LEN change 893*75fd0b74Schristos for .stabstr entry, explain why. 894*75fd0b74Schristos 895*75fd0b74Schristos2006-09-17 Anton Blanchard <anton@samba.org> 896*75fd0b74Schristos Alan Modra <amodra@bigpond.net.au> 897*75fd0b74Schristos 898*75fd0b74Schristos * dwarf2.c (concat_filename): Apply DW_AT_comp_dir if dir table 899*75fd0b74Schristos entry isn't absolute. 900*75fd0b74Schristos 901*75fd0b74Schristos2006-09-17 Mei Ligang <ligang@sunnorth.com.cn> 902*75fd0b74Schristos 903*75fd0b74Schristos * cpu-score.c: New file. 904*75fd0b74Schristos * elf32-score.c: New file. 905*75fd0b74Schristos * config.bfd: Add Score target. 906*75fd0b74Schristos * Makefile.am: Add Score files. 907*75fd0b74Schristos * Makefile.in: Regenerate. 908*75fd0b74Schristos * archures.c: Add Score architecture. 909*75fd0b74Schristos * reloc.c: Add Score relocs. 910*75fd0b74Schristos * targets.c: Add Score target vectors. 911*75fd0b74Schristos * bfd-in2.h: Regenerate. 912*75fd0b74Schristos * libbfd.h: Regenerate. 913*75fd0b74Schristos * configure.in: Add Score target. 914*75fd0b74Schristos * configure: Regenerate. 915*75fd0b74Schristos 916*75fd0b74Schristos2006-09-16 Nick Clifton <nickc@redhat.com> 917*75fd0b74Schristos Pedro Alves <pedro_alves@portugalmail.pt> 918*75fd0b74Schristos 919*75fd0b74Schristos * bfd-in.h (STRING_COMMA_LEN): New macro. Takes one constant 920*75fd0b74Schristos string as its argument and emits the string followed by a comma 921*75fd0b74Schristos and then the length of the string. 922*75fd0b74Schristos (CONST_STRNEQ): New macro. Checks to see if a variable string 923*75fd0b74Schristos has a constant string as its initial characters. 924*75fd0b74Schristos (CONST_STRNCPY): New macro. Copies a constant string to the start 925*75fd0b74Schristos of a variable string. 926*75fd0b74Schristos * bfd-in2.h: Regenerate. 927*75fd0b74Schristos * archive.c: Make use of the new macros. 928*75fd0b74Schristos * archive64.c: Likewise. 929*75fd0b74Schristos * bfd.c: Likewise. 930*75fd0b74Schristos * coff-ppc.c: Likewise. 931*75fd0b74Schristos * coff-stgo32.c: Likewise. 932*75fd0b74Schristos * coffcode.h: Likewise. 933*75fd0b74Schristos * cofflink.c: Likewise. 934*75fd0b74Schristos * cpu-i960.c: Likewise. 935*75fd0b74Schristos * dwarf2.c: Likewise. 936*75fd0b74Schristos * ecoff.c: Likewise. 937*75fd0b74Schristos * elf-m10300.c: Likewise. 938*75fd0b74Schristos * elf.c: Likewise. 939*75fd0b74Schristos * elf32-arm.c: Likewise. 940*75fd0b74Schristos * elf32-bfin.c: Likewise. 941*75fd0b74Schristos * elf32-cris.c: Likewise. 942*75fd0b74Schristos * elf32-hppa.c: Likewise. 943*75fd0b74Schristos * elf32-i370.c: Likewise. 944*75fd0b74Schristos * elf32-i386.c: Likewise. 945*75fd0b74Schristos * elf32-iq2000.c: Likewise. 946*75fd0b74Schristos * elf32-m32r.c: Likewise. 947*75fd0b74Schristos * elf32-m68hc11.c: Likewise. 948*75fd0b74Schristos * elf32-m68hc12.c: Likewise. 949*75fd0b74Schristos * elf32-m68k.c: Likewise. 950*75fd0b74Schristos * elf32-mcore.c: Likewise. 951*75fd0b74Schristos * elf32-ppc.c: Likewise. 952*75fd0b74Schristos * elf32-s390.c: Likewise. 953*75fd0b74Schristos * elf32-sh-symbian.c: Likewise. 954*75fd0b74Schristos * elf32-sh.c: Likewise. 955*75fd0b74Schristos * elf32-sh64.c: Likewise. 956*75fd0b74Schristos * elf32-v850.c: Likewise. 957*75fd0b74Schristos * elf32-vax.c: Likewise. 958*75fd0b74Schristos * elf32-xtensa.c: Likewise. 959*75fd0b74Schristos * elf64-alpha.c: Likewise. 960*75fd0b74Schristos * elf64-hppa.c: Likewise. 961*75fd0b74Schristos * elf64-mmix.c: Likewise. 962*75fd0b74Schristos * elf64-ppc.c: Likewise. 963*75fd0b74Schristos * elf64-s390.c: Likewise. 964*75fd0b74Schristos * elf64-sh64.c: Likewise. 965*75fd0b74Schristos * elf64-x86-64.c: Likewise. 966*75fd0b74Schristos * elflink.c: Likewise. 967*75fd0b74Schristos * elfxx-ia64.c: Likewise. 968*75fd0b74Schristos * elfxx-mips.c: Likewise. 969*75fd0b74Schristos * elfxx-sparc.c: Likewise. 970*75fd0b74Schristos * hpux-core.c: Likewise. 971*75fd0b74Schristos * i386linux.c: Likewise. 972*75fd0b74Schristos * ieee.c: Likewise. 973*75fd0b74Schristos * libpei.h: Likewise. 974*75fd0b74Schristos * linker.c: Likewise. 975*75fd0b74Schristos * m68klinux.c: Likewise. 976*75fd0b74Schristos * mmo.c: Likewise. 977*75fd0b74Schristos * nlmcode.h: Likewise. 978*75fd0b74Schristos * osf-core.c: Likewise. 979*75fd0b74Schristos * pef.c: Likewise. 980*75fd0b74Schristos * som.c: Likewise. 981*75fd0b74Schristos * sparclinux.c: Likewise. 982*75fd0b74Schristos * vms-hdr.c: Likewise. 983*75fd0b74Schristos 984*75fd0b74Schristos2006-09-14 Alan Modra <amodra@bigpond.net.au> 985*75fd0b74Schristos 986*75fd0b74Schristos PR 3181 987*75fd0b74Schristos * elf.c (_bfd_elf_copy_private_header_data): Fix group members 988*75fd0b74Schristos that have had their SHT_GROUP section removed. 989*75fd0b74Schristos 990*75fd0b74Schristos2006-09-12 H.J. Lu <hongjiu.lu@intel.com> 991*75fd0b74Schristos 992*75fd0b74Schristos PR ld/3197 993*75fd0b74Schristos * elflink.c (elf_link_output_extsym): Compute bucket only if 994*75fd0b74Schristos needed. 995*75fd0b74Schristos 996*75fd0b74Schristos2006-09-10 H.J. Lu <hongjiu.lu@intel.com> 997*75fd0b74Schristos 998*75fd0b74Schristos PR binutils/3186 999*75fd0b74Schristos * elf.c (_bfd_elf_make_section_from_shdr): Correct length of 1000*75fd0b74Schristos "gnu.linkonce.wi.". 1001*75fd0b74Schristos 1002*75fd0b74Schristos2006-09-08 Vladimir Prus <vladimir@codesourcery.com> 1003*75fd0b74Schristos 1004*75fd0b74Schristos * elf32-arm.c (elf32_arm_swap_symbol_out): Remove 1005*75fd0b74Schristos unconditional setting of low bit for Thumb symbol 1006*75fd0b74Schristos mistakenly left behind after check for external 1007*75fd0b74Schristos symbols was added. Fix comment typo. 1008*75fd0b74Schristos 1009*75fd0b74Schristos2006-09-07 H.J. Lu <hongjiu.lu@intel.com> 1010*75fd0b74Schristos 1011*75fd0b74Schristos * elf-bfd.h (elf_link_hash_entry): Add a dynamic field. 1012*75fd0b74Schristos (bfd_elf_link_mark_dynamic_symbol): New. 1013*75fd0b74Schristos (SYMBOLIC_BIND): New. 1014*75fd0b74Schristos 1015*75fd0b74Schristos * elf32-i386.c (elf_i386_check_relocs): Replace info->symbolic 1016*75fd0b74Schristos with SYMBOLIC_BIND (info, h). 1017*75fd0b74Schristos (elf_i386_relocate_section): Likewise. 1018*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise. 1019*75fd0b74Schristos (elf64_x86_64_relocate_section): Likewise. 1020*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise. 1021*75fd0b74Schristos 1022*75fd0b74Schristos * elflink.c (bfd_elf_link_mark_dynamic_symbol): New. 1023*75fd0b74Schristos (bfd_elf_record_link_assignment): Call 1024*75fd0b74Schristos bfd_elf_link_mark_dynamic_symbol on new entry. 1025*75fd0b74Schristos (_bfd_elf_merge_symbol): Likewise. 1026*75fd0b74Schristos (_bfd_elf_export_symbol): Return if the symbol isn't exported. 1027*75fd0b74Schristos (_bfd_elf_fix_symbol_flags): Replace info->symbolic with 1028*75fd0b74Schristos SYMBOLIC_BIND (info, h). 1029*75fd0b74Schristos (_bfd_elf_dynamic_symbol_p): Likewise. 1030*75fd0b74Schristos (_bfd_elf_symbol_refs_local_p): Likewise. 1031*75fd0b74Schristos (bfd_elf_size_dynamic_sections): Updated. 1032*75fd0b74Schristos 1033*75fd0b74Schristos2006-09-05 Bibo Mao <bibo.mao@intel.com> 1034*75fd0b74Schristos 1035*75fd0b74Schristos PR binutils/3171 1036*75fd0b74Schristos * coffcode.h (coff_write_object_contents): Set the optional 1037*75fd0b74Schristos header magic number to PE32PMAGIC instead of ZMAGIC for ia64. 1038*75fd0b74Schristos 1039*75fd0b74Schristos2006-09-04 Mark Shinwell <shinwell@codesourcery.com> 1040*75fd0b74Schristos 1041*75fd0b74Schristos * elf32-arm.c (elf32_arm_howto_table_1): Adjust entries for 1042*75fd0b74Schristos R_ARM_THM_ALU_PREL_11_0 and R_ARM_THM_PC12 relocations. 1043*75fd0b74Schristos (elf32_arm_final_link_relocate): Handle R_ARM_THM_ALU_PREL_11_0 1044*75fd0b74Schristos and R_ARM_THM_PC12 relocations. 1045*75fd0b74Schristos 1046*75fd0b74Schristos2006-08-24 Bob Wilson <bob.wilson@acm.org> 1047*75fd0b74Schristos 1048*75fd0b74Schristos * elf32-xtensa.c (xtensa_get_property_section_name): Delete. 1049*75fd0b74Schristos (xtensa_get_property_section): New. 1050*75fd0b74Schristos (xtensa_read_table_entries): Use xtensa_get_property_section. 1051*75fd0b74Schristos (relax_property_section, xtensa_get_property_predef_flags): Handle 1052*75fd0b74Schristos group name suffixes in property section names. 1053*75fd0b74Schristos (match_section_group): New. 1054*75fd0b74Schristos 1055*75fd0b74Schristos2006-08-23 Frediano Ziglio <Frediano.Ziglio@vodafone.com> 1056*75fd0b74Schristos 1057*75fd0b74Schristos * archive.c (hpux_uid_gid_encode): Fix thinko decrementing "cnt" 1058*75fd0b74Schristos variable. 1059*75fd0b74Schristos 1060*75fd0b74Schristos2006-08-22 Daniel Jacobowitz <dan@codesourcery.com> 1061*75fd0b74Schristos 1062*75fd0b74Schristos * elf32-arm.c (elf32_arm_copy_indirect_symbol): Only copy 1063*75fd0b74Schristos plt_thumb_refcount from indirect symbols. 1064*75fd0b74Schristos 1065*75fd0b74Schristos2006-08-22 Alan Modra <amodra@bigpond.net.au> 1066*75fd0b74Schristos 1067*75fd0b74Schristos * elf32-ppc.c (ppc_elf_relocate_section): Correct GOT and PLT HA 1068*75fd0b74Schristos reloc handling. 1069*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. 1070*75fd0b74Schristos 1071*75fd0b74Schristos2006-08-21 Mark Shinwell <shinwell@codesourcery.com> 1072*75fd0b74Schristos 1073*75fd0b74Schristos * elf32-arm.c (elf32_arm_link_hash_table): Correct typo in 1074*75fd0b74Schristos comment for target1_is_rel. 1075*75fd0b74Schristos 1076*75fd0b74Schristos2006-08-21 Pedro Alves <pedro_alves@portugalmail.pt> 1077*75fd0b74Schristos 1078*75fd0b74Schristos * Makefile.am: Add rules to build pe-arm-wince.lo 1079*75fd0b74Schristos and pei-arm-wince.lo objects. 1080*75fd0b74Schristos * Makefile.in: Regenerate. 1081*75fd0b74Schristos * pe-arm-wince.c: New file. 1082*75fd0b74Schristos * pei-arm-wince.c: New file. 1083*75fd0b74Schristos * pei-arm.c: Remove ARM_WINCE block. 1084*75fd0b74Schristos * pe-arm.c: Remove ARM_WINCE block. Rename 1085*75fd0b74Schristos bfd_arm_pe_allocate_interworking_sections, 1086*75fd0b74Schristos bfd_arm_pe_get_bfd_for_interworking, and 1087*75fd0b74Schristos bfd_arm_pe_process_before_allocation to 1088*75fd0b74Schristos bfd_armpe_allocate_interworking_sections, 1089*75fd0b74Schristos bfd_armpe_get_bfd_for_interworking, and 1090*75fd0b74Schristos bfd_armpe_process_before_allocation. Move them before 1091*75fd0b74Schristos including bfd.h. 1092*75fd0b74Schristos * bfd.c: ARM wince bfd format names were renamed. Adjust. 1093*75fd0b74Schristos * coff-arm.c [ARM_WINCE]: Adjust so Windows CE doesn't end up 1094*75fd0b74Schristos with unexpected/conflicting relocs. 1095*75fd0b74Schristos * targets.c: The arm-wince-pe target got its own new vector. 1096*75fd0b74Schristos Adjust. 1097*75fd0b74Schristos * config.bfd: Likewise. 1098*75fd0b74Schristos * configure.in: Likewise. 1099*75fd0b74Schristos * configure: Regenerate. 1100*75fd0b74Schristos 1101*75fd0b74Schristos2006-08-18 Paul Brook <paul@codesourcery.com> 1102*75fd0b74Schristos 1103*75fd0b74Schristos * elf32-arm.c (elf32_arm_link_hash_entry): Add export_glue. 1104*75fd0b74Schristos (elf32_arm_link_hash_newfunc): Initialize export_glue. 1105*75fd0b74Schristos (record_arm_to_thumb_glue): Return stub symbol. 1106*75fd0b74Schristos (elf32_arm_create_thumb_stub): New function. 1107*75fd0b74Schristos (elf32_arm_to_thumb_stub): Use it. 1108*75fd0b74Schristos (elf32_arm_to_thumb_export_stub): New function. 1109*75fd0b74Schristos (elf32_arm_begin_write_processing): New function. 1110*75fd0b74Schristos (allocate_dynrelocs): Allocate Arm stubs. 1111*75fd0b74Schristos (elf_backend_begin_write_processing): Define. 1112*75fd0b74Schristos (elf32_arm_symbian_begin_write_processing): Remove ATTRIBUTE_UNUSED. 1113*75fd0b74Schristos Call elf32_arm_begin_write_processing. 1114*75fd0b74Schristos 1115*75fd0b74Schristos2006-08-17 Alan Modra <amodra@bigpond.net.au> 1116*75fd0b74Schristos 1117*75fd0b74Schristos * elf64-ppc.c (create_linkage_sections): Align .glink to 8 bytes. 1118*75fd0b74Schristos (ppc64_elf_build_stubs): Use new lazy linking stub. 1119*75fd0b74Schristos 1120*75fd0b74Schristos2006-08-17 Alan Modra <amodra@bigpond.net.au> 1121*75fd0b74Schristos 1122*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_size_stubs): Ignore non-code sections. 1123*75fd0b74Schristos 1124*75fd0b74Schristos2006-08-16 H.J. Lu <hongjiu.lu@intel.com> 1125*75fd0b74Schristos 1126*75fd0b74Schristos PR ld/3015 1127*75fd0b74Schristos * elf.c (get_program_header_size): Add a PT_GNU_RELRO segment 1128*75fd0b74Schristos only if there is a PT_DYNAMIC segment. 1129*75fd0b74Schristos (_bfd_elf_map_sections_to_segments): Likewise. 1130*75fd0b74Schristos (assign_file_positions_for_load_sections): Set PT_GNU_RELRO 1131*75fd0b74Schristos segment alignment to 1. 1132*75fd0b74Schristos 1133*75fd0b74Schristos2006-08-15 Thiemo Seufer <ths@mips.com> 1134*75fd0b74Schristos Nigel Stephens <nigel@mips.com> 1135*75fd0b74Schristos 1136*75fd0b74Schristos * elf32-mips.c, elf64-mips.c, elfn32-mips.c 1137*75fd0b74Schristos (elf_backend_merge_symbol_attribute): Define. 1138*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Merge only the ELF 1139*75fd0b74Schristos visibility flags. 1140*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_merge_symbol_attribute): New function. 1141*75fd0b74Schristos 1142*75fd0b74Schristos2006-08-15 Thiemo Seufer <ths@mips.com> 1143*75fd0b74Schristos Nigel Stephens <nigel@mips.com> 1144*75fd0b74Schristos David Ung <davidu@mips.com> 1145*75fd0b74Schristos 1146*75fd0b74Schristos * config.bfd: Add configurations for mips*el-sde-elf* and 1147*75fd0b74Schristos mips*-sde-elf*. 1148*75fd0b74Schristos 1149*75fd0b74Schristos2006-08-14 DJ Delorie <dj@redhat.com> 1150*75fd0b74Schristos 1151*75fd0b74Schristos * elf-m10300.c (elf32_mn10300_link_hash_entry): Add value. 1152*75fd0b74Schristos (elf32_mn10300_count_hash_table_entries): New. 1153*75fd0b74Schristos (elf32_mn10300_list_hash_table_entries): New. 1154*75fd0b74Schristos (sort_by_value): New. 1155*75fd0b74Schristos (mn10300_elf_relax_section): Don't skip data sections; restrict 1156*75fd0b74Schristos code-specific tests to code-specific areas so that potential 1157*75fd0b74Schristos indirect calls can be detected. Check for multiple local symbols 1158*75fd0b74Schristos at the same address and merge their flags. 1159*75fd0b74Schristos (elf32_mn10300_link_hash_newfunc): Initialize value. 1160*75fd0b74Schristos 1161*75fd0b74Schristos2006-08-14 Thiemo Seufer <ths@mips.com> 1162*75fd0b74Schristos 1163*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_symbol_processing, 1164*75fd0b74Schristos _bfd_mips_elf_add_symbol_hook): Don't try to place small common TLS 1165*75fd0b74Schristos symbols in .scommon. 1166*75fd0b74Schristos 1167*75fd0b74Schristos2006-08-11 Thiemo Seufer <ths@mips.com> 1168*75fd0b74Schristos 1169*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Set 1170*75fd0b74Schristos sh_entsize only when sgot was already initialized. 1171*75fd0b74Schristos 1172*75fd0b74Schristos2006-08-08 DJ Delorie <dj@redhat.com> 1173*75fd0b74Schristos 1174*75fd0b74Schristos * elf32-sh.c (sh_elf_relax_section): Allow for branches across 1175*75fd0b74Schristos non-moving .align directives. Preserve any DIR32 offset when 1176*75fd0b74Schristos converting bsr's to jsr's. 1177*75fd0b74Schristos 1178*75fd0b74Schristos2006-08-08 Alan Modra <amodra@bigpond.net.au> 1179*75fd0b74Schristos 1180*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_build_stubs): Clear relbrlt reloc_count 1181*75fd0b74Schristos after stubs have been built. 1182*75fd0b74Schristos 1183*75fd0b74Schristos2006-08-07 Nick Clifton <nickc@redhat.com> 1184*75fd0b74Schristos 1185*75fd0b74Schristos * elf32-sh.c (vxworks_object_p): Only check for vxworks target 1186*75fd0b74Schristos vectors if they are going to be created. 1187*75fd0b74Schristos 1188*75fd0b74Schristos2006-08-07 Nick Clifton <nickc@redhat.com> 1189*75fd0b74Schristos 1190*75fd0b74Schristos * configure.in (bfd_elf32_shnbsd_vec): Fix typo. 1191*75fd0b74Schristos * configure: Regenerate. 1192*75fd0b74Schristos 1193*75fd0b74Schristos2006-08-07 Nick Clifton <nickc@redhat.com> 1194*75fd0b74Schristos 1195*75fd0b74Schristos * coff-arm.c (coff_arm_rtype_to_howto): Only check for ARM_SECREL 1196*75fd0b74Schristos relocation types if the target is ARM_WINCE. 1197*75fd0b74Schristos 1198*75fd0b74Schristos2006-08-05 Pedro Alves <pedro_alves@portugalmail.pt> 1199*75fd0b74Schristos 1200*75fd0b74Schristos * bfd.c (bfd_get_sign_extend_vma): Add cases for pe-arm-little 1201*75fd0b74Schristos and pei-arm-little. 1202*75fd0b74Schristos * coff-arm.c (coff_arm_rtype_to_howto) [COFF_WITH_PE]: Handle 1203*75fd0b74Schristos ARM_SECREL. 1204*75fd0b74Schristos (coff_arm_reloc_type_lookup): Map BFD_RELOC_32_SECREL to 1205*75fd0b74Schristos ARM_SECREL. 1206*75fd0b74Schristos * pe-arm.c [COFF_SECTION_ALIGNMENT_ENTRIES]: Define. 1207*75fd0b74Schristos * pei-arm.c [TARGET_UNDERSCORE]: Define for ARM_WINCE like in 1208*75fd0b74Schristos pe-arm.c. 1209*75fd0b74Schristos [COFF_SECTION_ALIGNMENT_ENTRIES]: Define. 1210*75fd0b74Schristos 1211*75fd0b74Schristos2006-08-04 Marcelo Tosatti <marcelo@kvack.org> 1212*75fd0b74Schristos 1213*75fd0b74Schristos * elflink.c (elf_gc_sweep): If info.print_gc_sections is true, 1214*75fd0b74Schristos list removed sections to stderr. 1215*75fd0b74Schristos 1216*75fd0b74Schristos2006-08-04 Richard Sandiford <richard@codesourcery.com> 1217*75fd0b74Schristos Kazu Hirata <kazu@codesourcery.com> 1218*75fd0b74Schristos Phil Edwards <phil@codesourcery.com> 1219*75fd0b74Schristos Nathan Sidwell <nathan@codesourcery.com> 1220*75fd0b74Schristos 1221*75fd0b74Schristos * config.bfd (sh-*-vxworks): Use bfd_elf32_shvxworks_vec and 1222*75fd0b74Schristos bfd_elf32_shlvxworks_vec. 1223*75fd0b74Schristos * configure.in (bfd_elf32_sh64_vec): Add elf-vxworks.lo. 1224*75fd0b74Schristos (bfd_elf32_sh64l_vec, bfd_elf32_sh64lin_vec): Likewise. 1225*75fd0b74Schristos (bfd_elf32_sh64blin_vec, bfd_elf32_sh64lnbsd_vec): Likewise. 1226*75fd0b74Schristos (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh_vec): Likewise. 1227*75fd0b74Schristos (bfd_elf32_shblin_vec, bfd_elf32_shl_vec): Likewise. 1228*75fd0b74Schristos (bfd_elf32_shl_symbian_vec, bfd_elf32_shlin_vec): Likewise. 1229*75fd0b74Schristos (bfd_elf32_shlnbsd_vec, bfd_elf32_shnbsd_vec): Likewise. 1230*75fd0b74Schristos (bfd_elf32_shlvxworks_vec, bfd_elf32_shvxworks_vec): New stanzas. 1231*75fd0b74Schristos * configure: Regenerate. 1232*75fd0b74Schristos * Makefile.am: Regenerate dependencies. 1233*75fd0b74Schristos * Makefile.in: Regenerate. 1234*75fd0b74Schristos * elf-vxworks.c (elf_vxworks_gott_symbol_p): New function. 1235*75fd0b74Schristos (elf_vxworks_add_symbol_hook): Use it. 1236*75fd0b74Schristos (elf_vxworks_link_output_symbol_hook): Likewise. Use the hash 1237*75fd0b74Schristos table entry to check for weak undefined symbols and to obtain 1238*75fd0b74Schristos the original bfd. 1239*75fd0b74Schristos (elf_vxworks_emit_relocs): Use target_index instead of this_idx. 1240*75fd0b74Schristos * elf32-sh-relocs.h: New file, split from elf32-sh.c. 1241*75fd0b74Schristos (R_SH_DIR32): Use SH_PARTIAL32 for the partial_inplace field, 1242*75fd0b74Schristos SH_SRC_MASK32 for the src_mask field, and SH_ELF_RELOC for the 1243*75fd0b74Schristos special_function field. 1244*75fd0b74Schristos (R_SH_REL32): Use SH_PARTIAL32 and SH_SRC_MASK32 here too. 1245*75fd0b74Schristos (R_SH_REL32, R_SH_TLS_GD_32, R_SH_TLS_LD_32): Likewise. 1246*75fd0b74Schristos (R_SH_TLS_LDO_32, R_SH_TLS_IE_32, R_SH_TLS_LE_32): Likewise. 1247*75fd0b74Schristos (R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32, R_SH_TLS_TPOFF32): Likewise. 1248*75fd0b74Schristos (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT): Likewise. 1249*75fd0b74Schristos (R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): Likewise. 1250*75fd0b74Schristos (SH_PARTIAL32, SH_SRC_MASK32, SH_ELF_RELOC): Undefine at end of file. 1251*75fd0b74Schristos * elf32-sh.c: Include elf32-vxworks.h. 1252*75fd0b74Schristos (MINUS_ONE): Define. 1253*75fd0b74Schristos (sh_elf_howto_table): Include elf32-sh-relocs.h with SH_PARTIAL32 1254*75fd0b74Schristos set to TRUE, SH_SRC_MASK32 set to 0xffffffff, and SH_ELF_RELOC set 1255*75fd0b74Schristos to sh_elf_reloc. 1256*75fd0b74Schristos (sh_vxworks_howto_table): New variable. Include elf32-sh-relocs.h 1257*75fd0b74Schristos with SH_PARTIAL32 set to FALSE, SH_SRC_MASK32 set to 0, and 1258*75fd0b74Schristos SH_ELF_RELOC set to bfd_elf_generic_reloc. 1259*75fd0b74Schristos (vxworks_object_p, get_howto_table): New functions. 1260*75fd0b74Schristos (sh_elf_reloc_type_lookup): Fix typo. Use get_howto_table. 1261*75fd0b74Schristos (sh_elf_info_to_howto): Use get_howto_table. 1262*75fd0b74Schristos (sh_elf_relax_section): Honor the partial_inplace field of the 1263*75fd0b74Schristos R_SH_DIR32 howto. 1264*75fd0b74Schristos (sh_elf_relax_delete_bytes): Likewise. 1265*75fd0b74Schristos (elf_sh_plt_info): New structure. 1266*75fd0b74Schristos (PLT_ENTRY_SIZE): Replace both definitions with... 1267*75fd0b74Schristos (ELF_PLT_ENTRY_SIZE): ...this new macro, with separate definitions for 1268*75fd0b74Schristos INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA. 1269*75fd0b74Schristos (elf_sh_plt0_entry_be): Update sizes of both definitions accordingly. 1270*75fd0b74Schristos (elf_sh_plt0_entry_le): Likewise. 1271*75fd0b74Schristos (elf_sh_plt_entry_be, elf_sh_plt_entry_le): Likewise. 1272*75fd0b74Schristos (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le): Likewise. 1273*75fd0b74Schristos (elf_sh_plts): New structure, with separate definitions for 1274*75fd0b74Schristos INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA. 1275*75fd0b74Schristos (elf_sh_plt0_entry): Delete both definitions. 1276*75fd0b74Schristos (elf_sh_plt_entry, elf_sh_pic_plt_entry): Likewise. 1277*75fd0b74Schristos (elf_sh_sizeof_plt, elf_sh_plt_plt0_offset): Likewise. 1278*75fd0b74Schristos (elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset): Likewise. 1279*75fd0b74Schristos (elf_sh_plt_reloc_offset): Likewise. 1280*75fd0b74Schristos (movi_shori_putval): Delete in favor of... 1281*75fd0b74Schristos (install_plt_field): ...this new function, with separate definitions 1282*75fd0b74Schristos for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA. 1283*75fd0b74Schristos (get_plt_info): New function, with separate definitions 1284*75fd0b74Schristos for INCLUDE_SHMEDIA and !INCLUDE_SHMEDIA. 1285*75fd0b74Schristos (elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset): Delete. 1286*75fd0b74Schristos (VXWORKS_PLT_HEADER_SIZE, VXWORKS_PLT_ENTRY_SIZE): New macros. 1287*75fd0b74Schristos (vxworks_sh_plt0_entry_be, vxworks_sh_plt0_entry_le): New constants. 1288*75fd0b74Schristos (vxworks_sh_plt_entry_be, vxworks_sh_plt_entry_le): Likewise. 1289*75fd0b74Schristos (vxworks_sh_pic_plt_entry_be, vxworks_sh_pic_plt_entry_le): Likewise. 1290*75fd0b74Schristos (get_plt_index, get_plt_offset): New functions. 1291*75fd0b74Schristos (elf_sh_link_hash_table): Add srelplt2, plt_info and vxworks_p fields. 1292*75fd0b74Schristos (sh_elf_link_hash_table_create): Initialize them. 1293*75fd0b74Schristos (sh_elf_create_dynamic_sections): Call 1294*75fd0b74Schristos elf_vxworks_create_dynamic_sections for VxWorks. 1295*75fd0b74Schristos (allocate_dynrelocs): Use htab->plt_info to get the size of PLT 1296*75fd0b74Schristos entries. Allocate relocation entries in .rela.plt.unloaded if 1297*75fd0b74Schristos generating a VxWorks executable. 1298*75fd0b74Schristos (sh_elf_always_size_sections): New function. 1299*75fd0b74Schristos (sh_elf_size_dynamic_sections): Extend .rela.plt handling to 1300*75fd0b74Schristos .rela.plt.unloaded. 1301*75fd0b74Schristos (sh_elf_relocate_section): Use get_howto_table. Honor 1302*75fd0b74Schristos partial_inplace when calculating the addend for dynamic 1303*75fd0b74Schristos relocations. Use get_plt_index. 1304*75fd0b74Schristos (sh_elf_finish_dynamic_symbol): Use get_plt_index, install_plt_field 1305*75fd0b74Schristos and htab->plt_info. Fill in the bra .plt offset for VxWorks 1306*75fd0b74Schristos executables. Populate .rela.plt.unloaded. Do not make 1307*75fd0b74Schristos _GLOBAL_OFFSET_TABLE_ absolute on VxWorks. 1308*75fd0b74Schristos (sh_elf_finish_dynamic_sections): Use install_plt_field and 1309*75fd0b74Schristos htab->plt_info. Handle cases where there is no special PLT header. 1310*75fd0b74Schristos Populate the first relocation in .rela.plt.unloaded and fix up 1311*75fd0b74Schristos the remaining entries. 1312*75fd0b74Schristos (sh_elf_plt_sym_val): Use get_plt_info. 1313*75fd0b74Schristos (elf_backend_always_size_sections): Define. 1314*75fd0b74Schristos (TARGET_BIG_SYM, TARGET_BIG_NAME): Override for VxWorks. 1315*75fd0b74Schristos (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise. 1316*75fd0b74Schristos (elf32_bed, elf_backend_want_plt_sym): Likewise. 1317*75fd0b74Schristos (elf_symbol_leading_char, elf_backend_want_got_underscore): Likewise. 1318*75fd0b74Schristos (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Likewise. 1319*75fd0b74Schristos (elf_backend_add_symbol_hook): Likewise. 1320*75fd0b74Schristos (elf_backend_link_output_symbol_hook): Likewise. 1321*75fd0b74Schristos (elf_backend_emit_relocs): Likewise. 1322*75fd0b74Schristos (elf_backend_final_write_processing): Likewise. 1323*75fd0b74Schristos (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): Likewise. 1324*75fd0b74Schristos * targets.c (bfd_elf32_shlvxworks_vec): Declare. 1325*75fd0b74Schristos (bfd_elf32_shvxworks_vec): Likewise. 1326*75fd0b74Schristos (_bfd_target_vector): Include bfd_elf32_shlvxworks_vec and 1327*75fd0b74Schristos bfd_elf32_shvxworks_vec. 1328*75fd0b74Schristos 1329*75fd0b74Schristos2006-08-02 Mark Kettenis <kettenis@gnu.org> 1330*75fd0b74Schristos 1331*75fd0b74Schristos * configure.in (arm-*-openbsd*): Set COREFILE to netbsd-core.lo. 1332*75fd0b74Schristos * configure: Regenerate. 1333*75fd0b74Schristos 1334*75fd0b74Schristos2006-08-02 Petr Salinger <Petr.Salinger@seznam.cz> 1335*75fd0b74Schristos 1336*75fd0b74Schristos PR binutils/2983 1337*75fd0b74Schristos * elf64-x86-64.c: Add FreeBSD support. 1338*75fd0b74Schristos (elf64_x86_64_fbsd_post_process_headers): New function. 1339*75fd0b74Schristos * targets.c (_bfd_target_vector): Add bfd_elf64_x86_64_freebsd_vec. 1340*75fd0b74Schristos * config.bfd (x64_64-*-freebsd*): Add bfd_elf64_x86_64_freebsd_vec 1341*75fd0b74Schristos to the targ_selvecs. 1342*75fd0b74Schristos * configure.in: Add entry for bfd_elf64_x86_64_freebsd_vec. 1343*75fd0b74Schristos * configure: Regenerate. 1344*75fd0b74Schristos 1345*75fd0b74Schristos2006-07-26 Andreas Schwab <schwab@suse.de> 1346*75fd0b74Schristos 1347*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_choose_gp): Use rawsize if set. 1348*75fd0b74Schristos 1349*75fd0b74Schristos2006-07-26 Alan Modra <amodra@bigpond.net.au> 1350*75fd0b74Schristos 1351*75fd0b74Schristos * elf.c (elf_modify_segment_map): Delete empty PT_LOAD segments. 1352*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_modify_segment_map): Delete. 1353*75fd0b74Schristos (define elf_backend_modify_segment_map): Don't define. 1354*75fd0b74Schristos 1355*75fd0b74Schristos2006-07-25 Thiemo Seufer <ths@networkno.de> 1356*75fd0b74Schristos 1357*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Allow 1358*75fd0b74Schristos linking of objects for compatible machine types. 1359*75fd0b74Schristos 1360*75fd0b74Schristos2006-07-25 Thiemo Seufer <ths@networkno.de> 1361*75fd0b74Schristos 1362*75fd0b74Schristos * elfxx-mips.c (mips_elf_next_relocation): Tighten check to test 1363*75fd0b74Schristos also for same symbol. 1364*75fd0b74Schristos 1365*75fd0b74Schristos2006-07-25 Thiemo Seufer <ths@mips.com> 1366*75fd0b74Schristos 1367*75fd0b74Schristos * elfxx-mips.c (mips_elf_calculate_relocation): Remove magic constant. 1368*75fd0b74Schristos 1369*75fd0b74Schristos2006-07-24 Michael Wetherell <mike.wetherell@ntlworld.com> 1370*75fd0b74Schristos 1371*75fd0b74Schristos * elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific 1372*75fd0b74Schristos sections only if the SHF_OS_NONCONFORMING flag is present. 1373*75fd0b74Schristos 1374*75fd0b74Schristos2006-07-24 Nick Clifton <nickc@redhat.com> 1375*75fd0b74Schristos 1376*75fd0b74Schristos PR ld/2729 1377*75fd0b74Schristos * peXXigen.c (_bfd_XXi_final_link_postscript): Check for the 1378*75fd0b74Schristos existance of output sections before putting their entries into the 1379*75fd0b74Schristos DataDictionary. 1380*75fd0b74Schristos 1381*75fd0b74Schristos2006-07-20 Thiemo Seufer <ths@mips.com> 1382*75fd0b74Schristos 1383*75fd0b74Schristos * elf32-mips.c (mips16_jump_reloc): Remove function. 1384*75fd0b74Schristos (elf_mips16_howto_table_rel): Use _bfd_mips_elf_generic_reloc 1385*75fd0b74Schristos instead of mips16_jump_reloc. 1386*75fd0b74Schristos * elf64_mips.c, wlfn32-mips.c (mips16_jump_reloc): Remove function. 1387*75fd0b74Schristos (elf_mips16_howto_table_rel, elf_mips16_howto_table_rela): Use 1388*75fd0b74Schristos _bfd_mips_elf_generic_reloc instead of mips16_jump_reloc. 1389*75fd0b74Schristos 1390*75fd0b74Schristos2006-07-19 Alan Modra <amodra@bigpond.net.au> 1391*75fd0b74Schristos 1392*75fd0b74Schristos * bfd-in.h (enum notice_asneeded_action): Define. 1393*75fd0b74Schristos * bfd-in2.h: Regenerate. 1394*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Call linker "notice" 1395*75fd0b74Schristos function with NULL name for as-needed handling. 1396*75fd0b74Schristos 1397*75fd0b74Schristos2006-07-18 Paul Brook <paul@codesourcery.com> 1398*75fd0b74Schristos 1399*75fd0b74Schristos * bfd-in2.h: Regenerate. 1400*75fd0b74Schristos * libbfd.h: Regenerate. 1401*75fd0b74Schristos * reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM. 1402*75fd0b74Schristos 1403*75fd0b74Schristos2006-07-18 Nick Clifton <nickc@redhat.com> 1404*75fd0b74Schristos 1405*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_common_definition): New function. 1406*75fd0b74Schristos Consider SHN_MIPS_ACOMMON and SHN_MIPS_SCOMMON as being common 1407*75fd0b74Schristos sections. 1408*75fd0b74Schristos * elfxx-mips.h (_bfd_mips_elf_common_definition): Prototype. 1409*75fd0b74Schristos 1410*75fd0b74Schristos2006-07-14 Jakub Jelinek <jakub@redhat.com> 1411*75fd0b74Schristos 1412*75fd0b74Schristos * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Fix cinfo.shift2 value. 1413*75fd0b74Schristos 1414*75fd0b74Schristos2006-07-14 Mark Kettenis <kettenis@gnu.org> 1415*75fd0b74Schristos 1416*75fd0b74Schristos * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Move declarations 1417*75fd0b74Schristos to the start of a block. 1418*75fd0b74Schristos 1419*75fd0b74Schristos2006-07-13 Nick Clifton <nickc@redhat.com> 1420*75fd0b74Schristos 1421*75fd0b74Schristos * coff-sh.c (_bfd_sh_align_load_span): Catch sh_insn_info() 1422*75fd0b74Schristos returning a NULL value. 1423*75fd0b74Schristos 1424*75fd0b74Schristos2006-07-12 H.J. Lu <hongjiu.lu@intel.com> 1425*75fd0b74Schristos 1426*75fd0b74Schristos PR ld/2884 1427*75fd0b74Schristos * elflink.c (_bfd_elf_merge_symbol): Copy the symbol info from 1428*75fd0b74Schristos the old versioned dynamic definition to the new one with 1429*75fd0b74Schristos non-default visibility. Hide the symbol if it is hidden or 1430*75fd0b74Schristos internal. 1431*75fd0b74Schristos 1432*75fd0b74Schristos2006-07-12 Matthew R. Dempsky <mrd@alkemio.org> 1433*75fd0b74Schristos 1434*75fd0b74Schristos * cpu-m68k.c (bfd_m68k_compatible): Handle CPU32. 1435*75fd0b74Schristos 1436*75fd0b74Schristos2006-07-10 Jakub Jelinek <jakub@redhat.com> 1437*75fd0b74Schristos 1438*75fd0b74Schristos * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_GNU_HASH. 1439*75fd0b74Schristos (bfd_section_from_shdr, elf_fake_sections, assign_section_numbers): 1440*75fd0b74Schristos Handle SHT_GNU_HASH. 1441*75fd0b74Schristos (special_sections_g): Include .gnu.hash section. 1442*75fd0b74Schristos (bfd_elf_gnu_hash): New function. 1443*75fd0b74Schristos * elf-bfd.h (bfd_elf_gnu_hash, _bfd_elf_hash_symbol): New prototypes. 1444*75fd0b74Schristos (struct elf_backend_data): Add elf_hash_symbol method. 1445*75fd0b74Schristos * elflink.c (_bfd_elf_link_create_dynamic_sections): Create .hash 1446*75fd0b74Schristos only if info->emit_hash, create .gnu.hash section if 1447*75fd0b74Schristos info->emit_gnu_hash. 1448*75fd0b74Schristos (struct collect_gnu_hash_codes): New type. 1449*75fd0b74Schristos (elf_collect_gnu_hash_codes, elf_renumber_gnu_hash_syms, 1450*75fd0b74Schristos _bfd_elf_hash_symbol): New functions. 1451*75fd0b74Schristos (compute_bucket_count): Don't compute HASHCODES array, instead add 1452*75fd0b74Schristos that and NSYMS as arguments. Use bed->s->sizeof_hash_entry 1453*75fd0b74Schristos instead of bed->s->arch_size / 8. Fix .hash size estimation. 1454*75fd0b74Schristos When not optimizing, use the number of hashed symbols rather than 1455*75fd0b74Schristos dynsymcount. 1456*75fd0b74Schristos (bfd_elf_size_dynamic_sections): Only add DT_HASH if info->emit_hash, 1457*75fd0b74Schristos and ADD DT_GNU_HASH if info->emit_gnu_hash. 1458*75fd0b74Schristos (bfd_elf_size_dynsym_hash_dynstr): Size .hash only if info->emit_hash, 1459*75fd0b74Schristos adjust compute_bucket_count caller. Create and populate .gnu.hash 1460*75fd0b74Schristos section if info->emit_gnu_hash. 1461*75fd0b74Schristos (elf_link_output_extsym): Only populate .hash section if 1462*75fd0b74Schristos finfo->hash_sec != NULL. 1463*75fd0b74Schristos (bfd_elf_final_link): Adjust assertion. Handle DT_GNU_HASH. 1464*75fd0b74Schristos * elfxx-target.h (elf_backend_hash_symbol): Define if not yet defined. 1465*75fd0b74Schristos (elfNN_bed): Add elf_backend_hash_symbol. 1466*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_hash_symbol): New function. 1467*75fd0b74Schristos (elf_backend_hash_symbol): Define. 1468*75fd0b74Schristos * elf32-i386.c (elf_i386_hash_symbol): New function. 1469*75fd0b74Schristos (elf_backend_hash_symbol): Define. 1470*75fd0b74Schristos 1471*75fd0b74Schristos2006-07-05 Nick Clifton <nickc@redhat.com> 1472*75fd0b74Schristos 1473*75fd0b74Schristos PR ld/2659 1474*75fd0b74Schristos * cofflink.c (_bfd_coff_link_input_bfd): Fix selection of aux 1475*75fd0b74Schristos entry when multiple definitions of a symbol are encountered. 1476*75fd0b74Schristos 1477*75fd0b74Schristos2006-06-30 H.J. Lu <hongjiu.lu@intel.com> 1478*75fd0b74Schristos 1479*75fd0b74Schristos * elf32-i386.c (elf_i386_relocate_section): Use xchg %ax,%ax 1480*75fd0b74Schristos instead of 2 nops. 1481*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. 1482*75fd0b74Schristos (elf64_x86_64_plt0_entry): Use nopl 0(%rax) instead of 4 nops. 1483*75fd0b74Schristos 1484*75fd0b74Schristos2006-06-29 Jakub Jelinek <jakub@redhat.com> 1485*75fd0b74Schristos 1486*75fd0b74Schristos PR ld/2513 1487*75fd0b74Schristos * elf32-i386.c (GOT_TLS_MASK, GOT_TLS_IE_IE, GOT_TLS_IE_GD, 1488*75fd0b74Schristos GOT_TLS_IE_MASK, elf_i386_check_relocs, allocate_dynrelocs): Revert 1489*75fd0b74Schristos 2006-04-08 changes. 1490*75fd0b74Schristos (elf_i386_relocate_section): Likewise. For GD->IE transition 1491*75fd0b74Schristos change subl into addl whenever tls_type is GOT_TLS_IE_POS. 1492*75fd0b74Schristos 1493*75fd0b74Schristos2006-06-23 Alan Modra <amodra@bigpond.net.au> 1494*75fd0b74Schristos 1495*75fd0b74Schristos PR ld/2754 1496*75fd0b74Schristos * elf.c (bfd_elf_mkobject): Don't alloc if already done. Set 1497*75fd0b74Schristos program_header_size to -1. 1498*75fd0b74Schristos (_bfd_elf_map_sections_to_segments): Adjust program_header_size check. 1499*75fd0b74Schristos (assign_file_positions_for_load_sections ): Likewise. 1500*75fd0b74Schristos (_bfd_elf_sizeof_headers): Use saved program_header_size if 1501*75fd0b74Schristos available. 1502*75fd0b74Schristos * elf32-arm.c (elf32_arm_mkobject): Call bfd_elf_mkobject, don't 1503*75fd0b74Schristos alloc if already done. 1504*75fd0b74Schristos * elf32-i386.c (elf_i386_mkobject): Likewise. 1505*75fd0b74Schristos * elf32-ppc.c (ppc_elf_mkobject): Likewise. 1506*75fd0b74Schristos * elf32-s390.c (elf_s390_mkobject): Likewise. 1507*75fd0b74Schristos * elf32-sh.c (sh_elf_mkobject): Likewise. 1508*75fd0b74Schristos * elf64-alpha.c (elf64_alpha_mkobject): Likewise. 1509*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_mkobject): Likewise. 1510*75fd0b74Schristos * elf64-s390.c (elf_s390_mkobject): Likewise. 1511*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_mkobject): Likewise. 1512*75fd0b74Schristos * elfxx-sparc.c (_bfd_sparc_elf_mkobject): Likewise. 1513*75fd0b74Schristos 1514*75fd0b74Schristos2006-06-20 Jakub Jelinek <jakub@redhat.com> 1515*75fd0b74Schristos 1516*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Don't create .tcommon 1517*75fd0b74Schristos section for relocatable link. 1518*75fd0b74Schristos 1519*75fd0b74Schristos2006-06-21 Alan Modra <amodra@bigpond.net.au> 1520*75fd0b74Schristos 1521*75fd0b74Schristos * elf-bfd.h (struct elf_backend_data): Add 1522*75fd0b74Schristos elf_backend_modify_program_headers. 1523*75fd0b74Schristos * elfxx-target.h (elf_backend_modify_program_headers): Define. 1524*75fd0b74Schristos (elfNN_bed): Init new field. 1525*75fd0b74Schristos * elf.c (elf_modify_segment_map): Remove comment. 1526*75fd0b74Schristos (assign_file_positions_for_load_sections): Only call 1527*75fd0b74Schristos elf_modify_segment_map for objcopy/strip. 1528*75fd0b74Schristos (assign_file_positions_except_relocs): Call 1529*75fd0b74Schristos elf_backend_modify_program_headers. 1530*75fd0b74Schristos * elf32-frv.c (elf32_frvfdpic_always_size_sections): Don't make 1531*75fd0b74Schristos .stack section. 1532*75fd0b74Schristos (elf32_frvfdpic_modify_segment_map): Delete. 1533*75fd0b74Schristos (elf32_frvfdpic_modify_program_headers): New. 1534*75fd0b74Schristos (elf_backend_modify_segment_map): Don't define. 1535*75fd0b74Schristos (elf_backend_modify_program_headers): Define. 1536*75fd0b74Schristos * elf32-bfin.c (elf32_bfinfdpic_always_size_sections): Don't make 1537*75fd0b74Schristos .stack section. 1538*75fd0b74Schristos (elf32_bfinfdpic_modify_segment_map): Delete. 1539*75fd0b74Schristos (elf32_bfinfdpic_modify_program_headers): New. 1540*75fd0b74Schristos (elf_backend_modify_segment_map): Don't define. 1541*75fd0b74Schristos (elf_backend_modify_program_headers): Define. 1542*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_modify_program_headers): New function. 1543*75fd0b74Schristos Split out from.. 1544*75fd0b74Schristos (elfNN_ia64_modify_segment_map): ..here. 1545*75fd0b74Schristos (elf_backend_modify_program_headers): Define. 1546*75fd0b74Schristos 1547*75fd0b74Schristos2006-06-20 Jakub Jelinek <jakub@redhat.com> 1548*75fd0b74Schristos 1549*75fd0b74Schristos * bfd.c (bfd_record_phdr): Clear p_align and p_align_valid fields. 1550*75fd0b74Schristos * elf.c (_bfd_elf_link_hash_table_init): Clear hplt field. 1551*75fd0b74Schristos 1552*75fd0b74Schristos2006-06-20 Alan Modra <amodra@bigpond.net.au> 1553*75fd0b74Schristos 1554*75fd0b74Schristos * elf-bfd.h: Formatting. 1555*75fd0b74Schristos (_bfd_elf_map_sections_to_segments): Declare. 1556*75fd0b74Schristos * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame_hdr): Don't 1557*75fd0b74Schristos clear program_header_size. 1558*75fd0b74Schristos * elf.c (get_program_header_size): Move. Don't use or set saved 1559*75fd0b74Schristos program_header_size here. 1560*75fd0b74Schristos (elf_modify_segment_map): New function. Split out from.. 1561*75fd0b74Schristos (assign_file_positions_for_load_sections): ..here. Assert 1562*75fd0b74Schristos header size is correct. Remove dead code. 1563*75fd0b74Schristos (_bfd_elf_map_sections_to_segments): Rename from 1564*75fd0b74Schristos map_sections_to_segments. Make global. Use get_program_header_size 1565*75fd0b74Schristos when we need estimate of header size. Call elf_modify_segment_map. 1566*75fd0b74Schristos Set program_header_size. 1567*75fd0b74Schristos (print_segment_map): Delete. 1568*75fd0b74Schristos (_bfd_elf_sizeof_headers): If segment_map available, get the 1569*75fd0b74Schristos actual size. 1570*75fd0b74Schristos * elf32-arm.c (elf32_arm_symbian_modify_segment_map): Make safe 1571*75fd0b74Schristos for calling more than once. 1572*75fd0b74Schristos * elf32-bfin.c (elf32_bfinfdpic_modify_segment_map): Likewise. 1573*75fd0b74Schristos * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Likewise. 1574*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise. 1575*75fd0b74Schristos * elf32-i370.c (elf_backend_add_symbol_hook): Delete. 1576*75fd0b74Schristos (elf_backend_additional_program_headers): Delete. 1577*75fd0b74Schristos (elf_backend_modify_segment_map): Delete. 1578*75fd0b74Schristos * elf64-hppa.c (elf64_hppa_modify_segment_map): Convert to ISO C. 1579*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise. 1580*75fd0b74Schristos * doc/bfdint.texi: Delete SIZEOF_HEADERS difficulties. 1581*75fd0b74Schristos 1582*75fd0b74Schristos2006-06-19 Vladimir Prus <vladimir@codesourcery.com> 1583*75fd0b74Schristos 1584*75fd0b74Schristos * elf32-arm.c (elf32_arm_swap_symbol_out): Don't set low 1585*75fd0b74Schristos bit for undefined symbols. 1586*75fd0b74Schristos 1587*75fd0b74Schristos2006-06-19 Alan Modra <amodra@bigpond.net.au> 1588*75fd0b74Schristos 1589*75fd0b74Schristos * elf-bfd.h (struct elf_backend_data): Add bfd_link_info pointer 1590*75fd0b74Schristos parameter. 1591*75fd0b74Schristos (_bfd_elf_sizeof_headers): Replace bfd_boolean param with 1592*75fd0b74Schristos bfd_link_info pointer. 1593*75fd0b74Schristos * targets.c (struct bfd_target <_bfd_sizeof_headers>): Likewise. 1594*75fd0b74Schristos * bfd.c (bfd_sizeof_headers): Tweak param name. 1595*75fd0b74Schristos * aout-adobe.c (aout_adobe_sizeof_headers): Adjust. 1596*75fd0b74Schristos * aoutx.h (NAME (aout, sizeof_headers)): Adjust. 1597*75fd0b74Schristos * binary.c (binary_sizeof_headers): Adjust. 1598*75fd0b74Schristos * bout.c (b_out_sizeof_headers): Adjust. 1599*75fd0b74Schristos * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Adjust. 1600*75fd0b74Schristos * coff64-rs6000.c (xcoff64_sizeof_headers): Adjust. 1601*75fd0b74Schristos * coffgen.c (coff_sizeof_headers): Adjust. 1602*75fd0b74Schristos * ecoff.c (_bfd_ecoff_sizeof_headers): Adjust. 1603*75fd0b74Schristos (ecoff_compute_section_file_positions): Adjust. 1604*75fd0b74Schristos (_bfd_ecoff_write_object_contents): Adjust. 1605*75fd0b74Schristos * elf.c (get_program_header_size, _bfd_elf_sizeof_headers): Adjust. 1606*75fd0b74Schristos * elf32-arm.c (elf32_arm_additional_program_headers): Adjust. 1607*75fd0b74Schristos * elf32-i370.c (elf_backend_additional_program_headers): Adjust. 1608*75fd0b74Schristos * elf32-ppc.c (ppc_elf_additional_program_headers): Adjust. 1609*75fd0b74Schristos * elf64-hppa.c (elf64_hppa_additional_program_headers): Adjust. 1610*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_additional_program_headers): Adjust. 1611*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_additional_program_headers): Adjust. 1612*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_additional_program_headers): Adjust. 1613*75fd0b74Schristos * elfxx-mips.h (_bfd_mips_elf_additional_program_headers): Adjust. 1614*75fd0b74Schristos * i386msdos.c: Convert to ISO C. 1615*75fd0b74Schristos (msdos_sizeof_headers): Adjust. 1616*75fd0b74Schristos * i386os9k.c: Convert to ISO C. 1617*75fd0b74Schristos (os9k_sizeof_headers): Adjust. 1618*75fd0b74Schristos * ieee.c (ieee_sizeof_headers): Adjust. 1619*75fd0b74Schristos * ihex.c (ihex_sizeof_headers): Adjust. 1620*75fd0b74Schristos * libaout.h (NAME (aout, sizeof_headers)): Adjust. 1621*75fd0b74Schristos * libbfd-in.h (_bfd_nolink_sizeof_headers): Adjust. 1622*75fd0b74Schristos * libcoff-in.h (coff_sizeof_headers): Adjust. 1623*75fd0b74Schristos * libecoff.h (_bfd_ecoff_sizeof_headers): Adjust. 1624*75fd0b74Schristos * mach-o.c (bfd_mach_o_sizeof_headers): Adjust. 1625*75fd0b74Schristos * mmo.c (mmo_sizeof_headers): Adjust. 1626*75fd0b74Schristos * oasys.c (oasys_sizeof_headers): Adjust. 1627*75fd0b74Schristos * pdp11.c (NAME (aout, sizeof_headers)): Adjust. 1628*75fd0b74Schristos * pef.c (bfd_pef_sizeof_headers): Adjust. 1629*75fd0b74Schristos * ppcboot.c (ppcboot_sizeof_headers): Adjust. 1630*75fd0b74Schristos * som.c (som_sizeof_headers): Adjust. 1631*75fd0b74Schristos * srec.c (srec_sizeof_headers): Adjust. 1632*75fd0b74Schristos * tekhex.c (tekhex_sizeof_headers): Adjust. 1633*75fd0b74Schristos * versados.c (versados_sizeof_headers): Adjust. 1634*75fd0b74Schristos * vms.c (vms_sizeof_headers): Adjust. 1635*75fd0b74Schristos * xcoff-target.h (_bfd_xcoff_sizeof_headers): Adjust. 1636*75fd0b74Schristos * xsym.c (bfd_sym_sizeof_headers): Adjust. 1637*75fd0b74Schristos * xsym.h (bfd_sym_sizeof_headers): Adjust. 1638*75fd0b74Schristos * bfd-in2.h: Regenerate. 1639*75fd0b74Schristos * libbfd.h: Regenerate. 1640*75fd0b74Schristos * libcoff.h: Regenerate. 1641*75fd0b74Schristos 1642*75fd0b74Schristos2006-06-15 Mark Shinwell <shinwell@codesourcery.com> 1643*75fd0b74Schristos 1644*75fd0b74Schristos * bfd-in2.h: Regenerate. 1645*75fd0b74Schristos * elf32-arm.c (R_ARM_ALU_PC_G0_NC, R_ARM_ALU_PC_G0, 1646*75fd0b74Schristos R_ARM_ALU_PC_G1_NC, R_ARM_ALU_PC_G1, R_ARM_ALU_PC_G2, 1647*75fd0b74Schristos R_ARM_LDR_PC_G1, R_ARM_LDR_PC_G2, R_ARM_LDRS_PC_G0, 1648*75fd0b74Schristos R_ARM_LDRS_PC_G1, R_ARM_LDRS_PC_G2, R_ARM_LDC_PC_G0, 1649*75fd0b74Schristos R_ARM_LDC_PC_G1, R_ARM_LDC_PC_G2, R_ARM_ALU_SB_G0_NC, 1650*75fd0b74Schristos R_ARM_ALU_SB_G0, R_ARM_ALU_SB_G1_NC, R_ARM_ALU_SB_G1, 1651*75fd0b74Schristos R_ARM_ALU_SB_G2, R_ARM_LDR_SB_G0, R_ARM_LDR_SB_G1, 1652*75fd0b74Schristos R_ARM_LDR_SB_G2, R_ARM_LDRS_SB_G0, R_ARM_LDRS_SB_G1, 1653*75fd0b74Schristos R_ARM_LDRS_SB_G2, R_ARM_LDC_SB_G0, R_ARM_LDC_SB_G1, 1654*75fd0b74Schristos R_ARM_LDC_SB_G2): New relocation types. 1655*75fd0b74Schristos (R_ARM_PC13): Rename to AAELF name R_ARM_LDR_PC_G0 and 1656*75fd0b74Schristos adjust HOWTO entry to be consistent with R_ARM_LDR_PC_G1 1657*75fd0b74Schristos and friends. 1658*75fd0b74Schristos (elf32_arm_howto_table_3): Delete; contents merged into 1659*75fd0b74Schristos elf32_arm_howto_table_2. 1660*75fd0b74Schristos (elf32_arm_howto_from_type): Adjust correspondingly. 1661*75fd0b74Schristos (elf32_arm_reloc_map): Extend with the above relocations. 1662*75fd0b74Schristos (calculate_group_reloc_mask): New function. 1663*75fd0b74Schristos (identify_add_or_sub): New function. 1664*75fd0b74Schristos (elf32_arm_final_link_relocate): Support for the above 1665*75fd0b74Schristos relocations. 1666*75fd0b74Schristos * reloc.c: Add enumeration entries for BFD_RELOC_ARM_... 1667*75fd0b74Schristos codes to correspond to the above relocations. 1668*75fd0b74Schristos 1669*75fd0b74Schristos2006-06-14 Richard Sandiford <richard@codesourcery.com> 1670*75fd0b74Schristos 1671*75fd0b74Schristos * elf32-m68k.c (elf_m68k_plt_info): New structure. 1672*75fd0b74Schristos (elf_m68k_plt0_entry): Add R_68K_PC32-style in-place addends. 1673*75fd0b74Schristos (elf_m68k_plt_entry): Likewise. 1674*75fd0b74Schristos (elf_m68k_plt_info): New table. 1675*75fd0b74Schristos (CFV4E_PLT_ENTRY_SIZE): Rename to... 1676*75fd0b74Schristos (ISAB_PLT_ENTRY_SIZE): ...this. 1677*75fd0b74Schristos (CFV4E_FLAG): Delete. 1678*75fd0b74Schristos (elf_cfv4e_plt0_entry): Rename to... 1679*75fd0b74Schristos (elf_isab_plt0_entry): ...this. Adjust comments. Use (-6,%pc,%d0) 1680*75fd0b74Schristos for the second instruction too. 1681*75fd0b74Schristos (elf_cfv4e_plt_entry): Rename to... 1682*75fd0b74Schristos (elf_isab_plt_entry): ...this. Adjust comments and use (-6,%pc,%d0). 1683*75fd0b74Schristos (elf_isab_plt_info): New table. 1684*75fd0b74Schristos (CPU32_FLAG): Delete. 1685*75fd0b74Schristos (PLT_CPU32_ENTRY_SIZE): Rename to... 1686*75fd0b74Schristos (CPU32_PLT_ENTRY_SIZE): ...this. 1687*75fd0b74Schristos (elf_cpu32_plt0_entry): Update bounds accordingly. Add R_68K_PC32- 1688*75fd0b74Schristos style in-place addends. 1689*75fd0b74Schristos (elf_cpu32_plt_entry): Likewise. 1690*75fd0b74Schristos (elf_cpu32_plt_info): New table. 1691*75fd0b74Schristos (elf_m68k_link_hash_table): Add a plt_info field. 1692*75fd0b74Schristos (elf_m68k_link_hash_table_create): Initialize it. 1693*75fd0b74Schristos (elf_m68k_get_plt_info): New function. 1694*75fd0b74Schristos (elf_m68k_always_size_sections): Likewise. 1695*75fd0b74Schristos (elf_m68k_adjust_dynamic_symbol): Use the plt_info hash table field. 1696*75fd0b74Schristos (elf_m68k_install_pc32): New function. 1697*75fd0b74Schristos (elf_m68k_finish_dynamic_symbol): Factor code using plt_info and 1698*75fd0b74Schristos elf_m68k_install_pc32. 1699*75fd0b74Schristos (elf_m68k_finish_dynamic_sections): Likewise. 1700*75fd0b74Schristos (elf_m68k_plt_sym_val): Use elf_m68k_get_plt_info. 1701*75fd0b74Schristos (elf_backend_always_size_sections): Define. 1702*75fd0b74Schristos 1703*75fd0b74Schristos2006-06-14 Alan Modra <amodra@bigpond.net.au> 1704*75fd0b74Schristos 1705*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Save and restore 1706*75fd0b74Schristos struct bfd_hash_table table, size and count fields for 1707*75fd0b74Schristos as-needed libs. 1708*75fd0b74Schristos 1709*75fd0b74Schristos2006-06-12 Thiemo Seufer <ths@mips.com> 1710*75fd0b74Schristos 1711*75fd0b74Schristos * elf32-mips.c: Expand comment about ABI-mandated pagesize values. 1712*75fd0b74Schristos (ELF_MAXPAGESIZE, ELF_COMMONPAGESIZE): define in a more obvious way. 1713*75fd0b74Schristos * elf64-mips.c, elfn32-mips.c (ELF_MAXPAGESIZE): Fix value for IRIX6. 1714*75fd0b74Schristos Delete old comments. 1715*75fd0b74Schristos (ELF_COMMONPAGESIZE): Define in a more obvious way. 1716*75fd0b74Schristos 1717*75fd0b74Schristos2006-06-12 Nick Clifton <nickc@redhat.com> 1718*75fd0b74Schristos 1719*75fd0b74Schristos PR binutils/2735 1720*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Fix the warning message 1721*75fd0b74Schristos about mismatched alignments to allow for the case where the common 1722*75fd0b74Schristos alignment has been deduced from the section alignment. 1723*75fd0b74Schristos * bfd.c (_bfd_default_error_handler): Update comment to explain 1724*75fd0b74Schristos why bfd and asection varargs are out of order. Explicitly catch 1725*75fd0b74Schristos and abort on NULL bfd and asection arguments. 1726*75fd0b74Schristos 1727*75fd0b74Schristos2006-06-11 Richard Sandiford <richard@codesourcery.com> 1728*75fd0b74Schristos Thiemo Seufer <ths@mips.com> 1729*75fd0b74Schristos 1730*75fd0b74Schristos * elfxx-mips.c (mips_elf_link_hash_table): Add function_stub_size. 1731*75fd0b74Schristos (STUB_ORI): New macro. 1732*75fd0b74Schristos (STUB_LI16U): Fix formatting. 1733*75fd0b74Schristos (MIPS_FUNCTION_STUB_SIZE): Delete. 1734*75fd0b74Schristos (MIPS_FUNCTION_STUB_MAX_SIZE): Likewise. 1735*75fd0b74Schristos (MIPS_FUNCTION_STUB_NORMAL_SIZE): New macro. 1736*75fd0b74Schristos (MIPS_FUNCTION_STUB_BIG_SIZE): Likewise. 1737*75fd0b74Schristos (_bfd_mips_elf_adjust_dynamic_symbol): Use htab->function_stub_size 1738*75fd0b74Schristos instead of MIPS_FUNCTION_STUB_SIZE. 1739*75fd0b74Schristos (count_section_dynsyms): New function, split out from 1740*75fd0b74Schristos _bfd_mips_elf_final_link. 1741*75fd0b74Schristos (_bfd_mips_elf_always_size_sections): Get a worst-case estimate 1742*75fd0b74Schristos of the number of dynamic symbols needed and use it to set up 1743*75fd0b74Schristos function_stub_size. Use function_stub_size rather than 1744*75fd0b74Schristos MIPS_FUNCTION_STUB_SIZE to determine the size of the stub section. 1745*75fd0b74Schristos Use 16-byte stubs for 0x10000 dynamic symbols. 1746*75fd0b74Schristos (_bfd_mips_elf_size_dynamic_sections): Use htab->function_stub_size 1747*75fd0b74Schristos instead of MIPS_FUNCTION_STUB_SIZE. Fix formatting. 1748*75fd0b74Schristos (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Change the 1749*75fd0b74Schristos size of the stub buffer from MIPS_FUNCTION_STUB_MAX_SIZE to 1750*75fd0b74Schristos MIPS_FUNCTION_STUB_BIG_SIZE. Tweak the check for unhandled dynindxes. 1751*75fd0b74Schristos Use MIPS_FUNCTION_STUB_BIG_SIZE rather than a hard-coded 20. 1752*75fd0b74Schristos Use STUB_ORI rather than STUB_LI16U for big stubs. 1753*75fd0b74Schristos (_bfd_mips_elf_link_hash_table_create): Initialize function_stub_size. 1754*75fd0b74Schristos (_bfd_mips_elf_final_link): Use count_section_dynsyms. 1755*75fd0b74Schristos 1756*75fd0b74Schristos2006-06-09 David Ung <davidu@mips.com> 1757*75fd0b74Schristos 1758*75fd0b74Schristos * bfd/elfxx-mips.c (mips_elf_calculate_relocation): Fix mode for stub 1759*75fd0b74Schristos calling relocations. 1760*75fd0b74Schristos 1761*75fd0b74Schristos2006-06-08 David Daney <ddaney@avtrex.com> 1762*75fd0b74Schristos 1763*75fd0b74Schristos * elfxx-mips.c (STUB_LI16): Removed. 1764*75fd0b74Schristos (STUB_LUI): New macro. 1765*75fd0b74Schristos (STUB_LI16U): Ditto. 1766*75fd0b74Schristos (STUB_LI16S): Ditto. 1767*75fd0b74Schristos (MIPS_FUNCTION_STUB_SIZE): Rewrote to take info parameter. 1768*75fd0b74Schristos (_bfd_mips_elf_adjust_dynamic_symbol): Pass info parameter to 1769*75fd0b74Schristos MIPS_FUNCTION_STUB_SIZE. 1770*75fd0b74Schristos (_bfd_mips_elf_always_size_sections): Ditto. 1771*75fd0b74Schristos (_bfd_mips_elf_size_dynamic_sections): Ditto. 1772*75fd0b74Schristos (_bfd_mips_elf_finish_dynamic_sections): Ditto. 1773*75fd0b74Schristos (_bfd_mips_elf_finish_dynamic_symbol): Rewrote stub generation 1774*75fd0b74Schristos to allow larger symbol table indexes. 1775*75fd0b74Schristos 1776*75fd0b74Schristos2006-06-07 Joseph S. Myers <joseph@codesourcery.com> 1777*75fd0b74Schristos 1778*75fd0b74Schristos * po/Make-in (pdf, ps): New dummy targets. 1779*75fd0b74Schristos 1780*75fd0b74Schristos2006-06-06 Alan Modra <amodra@bigpond.net.au> 1781*75fd0b74Schristos 1782*75fd0b74Schristos * hash.c (bfd_hash_lookup): Correct stray line. 1783*75fd0b74Schristos 1784*75fd0b74Schristos * elf.c (_bfd_elf_init_private_section_data): Comment typo. 1785*75fd0b74Schristos (elfcore_grok_nto_status): Use long instead of pid_t. 1786*75fd0b74Schristos (elfcore_grok_nto_regs, elfcore_grok_nto_note): Likewise. 1787*75fd0b74Schristos 1788*75fd0b74Schristos2006-06-05 Daniel Jacobowitz <dan@codesourcery.com> 1789*75fd0b74Schristos 1790*75fd0b74Schristos * po/Make-in (top_builddir): Define. 1791*75fd0b74Schristos 1792*75fd0b74Schristos2006-06-05 Alan Modra <amodra@bigpond.net.au> 1793*75fd0b74Schristos 1794*75fd0b74Schristos * Makefile.am: Run "make dep-am". 1795*75fd0b74Schristos * Makefile.in: Regenerate. 1796*75fd0b74Schristos * config.in: Regenerate. 1797*75fd0b74Schristos 1798*75fd0b74Schristos2006-06-02 Alan Modra <amodra@bigpond.net.au> 1799*75fd0b74Schristos H.J. Lu <hongjiu.lu@intel.com> 1800*75fd0b74Schristos 1801*75fd0b74Schristos PR ld/2723 1802*75fd0b74Schristos * elflink.c (bfd_elf_final_link): Don't output section symbols 1803*75fd0b74Schristos for special ELF sections. 1804*75fd0b74Schristos 1805*75fd0b74Schristos2006-06-01 Alan Modra <amodra@bigpond.net.au> 1806*75fd0b74Schristos 1807*75fd0b74Schristos * stabs.c (_bfd_link_section_stabs): Use bfd_make_section*_with_flags 1808*75fd0b74Schristos instead of bfd_make_section*. 1809*75fd0b74Schristos * aix386-core.c: Likewise. 1810*75fd0b74Schristos * aix5ppc-core.c: Likewise. 1811*75fd0b74Schristos * aout-adobe.c: Likewise. 1812*75fd0b74Schristos * aoutf1.h: Likewise. 1813*75fd0b74Schristos * binary.c: Likewise. 1814*75fd0b74Schristos * cisco-core.c: Likewise. 1815*75fd0b74Schristos * coff-arm.c: Likewise. 1816*75fd0b74Schristos * coff-h8300.c: Likewise. 1817*75fd0b74Schristos * elf.c: Likewise. 1818*75fd0b74Schristos * elf32-bfin.c: Likewise. 1819*75fd0b74Schristos * elf32-m32c.c: Likewise. 1820*75fd0b74Schristos * hppabsd-core.c: Likewise. 1821*75fd0b74Schristos * hpux-core.c: Likewise. 1822*75fd0b74Schristos * i386linux.c: Likewise. 1823*75fd0b74Schristos * ieee.c: Likewise. 1824*75fd0b74Schristos * ihex.c: Likewise. 1825*75fd0b74Schristos * irix-core.c: Likewise. 1826*75fd0b74Schristos * lynx-core.c: Likewise. 1827*75fd0b74Schristos * m68klinux.c: Likewise. 1828*75fd0b74Schristos * mach-o.c: Likewise. 1829*75fd0b74Schristos * netbsd-core.c: Likewise. 1830*75fd0b74Schristos * nlmcode.h: Likewise. 1831*75fd0b74Schristos * opncls.c: Likewise. 1832*75fd0b74Schristos * osf-core.c: Likewise. 1833*75fd0b74Schristos * peXXigen.c: Likewise. 1834*75fd0b74Schristos * ppcboot.c: Likewise. 1835*75fd0b74Schristos * ptrace-core.c: Likewise. 1836*75fd0b74Schristos * rs6000-core.c: Likewise. 1837*75fd0b74Schristos * sco5-core.c: Likewise. 1838*75fd0b74Schristos * sparclinux.c: Likewise. 1839*75fd0b74Schristos * srec.c: Likewise. 1840*75fd0b74Schristos * sunos.c: Likewise. 1841*75fd0b74Schristos * trad-core.c: Likewise. 1842*75fd0b74Schristos * xcofflink.c: Likewise. 1843*75fd0b74Schristos * xsym.c: Likewise. 1844*75fd0b74Schristos 1845*75fd0b74Schristos2006-05-31 Daniel Jacobowitz <dan@codesourcery.com> 1846*75fd0b74Schristos 1847*75fd0b74Schristos * Makefile.am (INCLUDES): Use @INCINTL@. 1848*75fd0b74Schristos * acinclude.m4: Include new gettext macros. 1849*75fd0b74Schristos * configure.in: Use ZW_GNU_GETTEXT_SISTER_DIR and AM_PO_SUBDIRS. 1850*75fd0b74Schristos Manually substitute POFILES and GMOFILES. 1851*75fd0b74Schristos * Makefile.in, aclocal.m4, configure, doc/Makefile.in: Regenerated. 1852*75fd0b74Schristos 1853*75fd0b74Schristos2006-05-30 H.J. Lu <hongjiu.lu@intel.com> 1854*75fd0b74Schristos 1855*75fd0b74Schristos * bfd.c (bfd_emul_get_maxpagesize): New. 1856*75fd0b74Schristos (bfd_elf_set_pagesize): Likewise. 1857*75fd0b74Schristos (bfd_emul_set_maxpagesize): Likewise. 1858*75fd0b74Schristos (bfd_emul_get_commonpagesize): Likewise. 1859*75fd0b74Schristos (bfd_emul_set_commonpagesize): Likewise. 1860*75fd0b74Schristos * bfd-in2.h: Regenerated. 1861*75fd0b74Schristos 1862*75fd0b74Schristos * elf-bfd.h (elf_backend_data): Add commonpagesize. 1863*75fd0b74Schristos (xvec_get_elf_backend_data): New. 1864*75fd0b74Schristos (get_elf_backend_data): Use xvec_get_elf_backend_data. 1865*75fd0b74Schristos 1866*75fd0b74Schristos * elf32-arm.c (elf32_arm_vxworks_bed): Remove const. 1867*75fd0b74Schristos * elfxx-target.h (elfNN_bed): Likewise. 1868*75fd0b74Schristos 1869*75fd0b74Schristos * elf32-arm.c (ELF_COMMONPAGESIZE): Defined. 1870*75fd0b74Schristos * elf32-mips.c (ELF_COMMONPAGESIZE): Likewise. 1871*75fd0b74Schristos * elf32-ppc.c (ELF_COMMONPAGESIZE): Likewise. 1872*75fd0b74Schristos * elf32-sh.c (ELF_COMMONPAGESIZE): Likewise. 1873*75fd0b74Schristos * elf32-sh64.c (ELF_COMMONPAGESIZE): Likewise. 1874*75fd0b74Schristos * elf32-sparc.c (ELF_COMMONPAGESIZE): Likewise. 1875*75fd0b74Schristos * elf64-alpha.c (ELF_COMMONPAGESIZE): Likewise. 1876*75fd0b74Schristos * elf64-ppc.c (ELF_COMMONPAGESIZE): Likewise. 1877*75fd0b74Schristos * elf64-sparc.c (ELF_COMMONPAGESIZE): Likewise. 1878*75fd0b74Schristos * elf64-x86-64.c (ELF_COMMONPAGESIZE): Likewise. 1879*75fd0b74Schristos * elfn32-mips.c (ELF_COMMONPAGESIZE): Likewise. 1880*75fd0b74Schristos * elfxx-ia64.c (ELF_COMMONPAGESIZE): Likewise. 1881*75fd0b74Schristos 1882*75fd0b74Schristos * elfxx-target.h (ELF_COMMONPAGESIZE): Define if not defined. 1883*75fd0b74Schristos (elfNN_bed): Initialize commonpagesize with ELF_COMMONPAGESIZE. 1884*75fd0b74Schristos 1885*75fd0b74Schristos * targets.c (bfd_find_target): Support NULL abfd. 1886*75fd0b74Schristos 1887*75fd0b74Schristos2006-05-30 Nick Clifton <nickc@redhat.com> 1888*75fd0b74Schristos 1889*75fd0b74Schristos * po/es.po: Updated Spanish translation. 1890*75fd0b74Schristos 1891*75fd0b74Schristos2006-05-27 Alan Modra <amodra@bigpond.net.au> 1892*75fd0b74Schristos H.J. Lu <hongjiu.lu@intel.com> 1893*75fd0b74Schristos 1894*75fd0b74Schristos * elf.c (assign_file_positions_for_load_sections): Retrieve 1895*75fd0b74Schristos maxpagesize from m->p_align if it is valid. Set p_vaddr, 1896*75fd0b74Schristos p_paddr and p_align earlier. Revert 2006-05-19 change to p_align. 1897*75fd0b74Schristos (copy_elf_program_header): Copy p_align. Set p_align_valid. 1898*75fd0b74Schristos 1899*75fd0b74Schristos2006-05-26 H.J. Lu <hongjiu.lu@intel.com> 1900*75fd0b74Schristos 1901*75fd0b74Schristos * elf64-x86-64.c (ELF_MINPAGESIZE): Changed to 0x1000. 1902*75fd0b74Schristos 1903*75fd0b74Schristos2006-05-25 H.J. Lu <hongjiu.lu@intel.com> 1904*75fd0b74Schristos 1905*75fd0b74Schristos * elf64-x86-64.c (ELF_MINPAGESIZE): Set to 0x100000. 1906*75fd0b74Schristos 1907*75fd0b74Schristos2006-05-25 H.J. Lu <hongjiu.lu@intel.com> 1908*75fd0b74Schristos 1909*75fd0b74Schristos * elf64-x86-64.c (ELF_MAXPAGESIZE): Updated to 0x200000. 1910*75fd0b74Schristos 1911*75fd0b74Schristos2006-05-26 Alan Modra <amodra@bigpond.net.au> 1912*75fd0b74Schristos 1913*75fd0b74Schristos * elf.c (sym_is_global): Return a bfd_boolean. 1914*75fd0b74Schristos (ignore_section_sym): New function. 1915*75fd0b74Schristos (elf_map_symbols): Use ignore_section_sym to discard some syms. 1916*75fd0b74Schristos (_bfd_elf_symbol_from_bfd_symbol): Ensure section belongs to 1917*75fd0b74Schristos bfd before using elf_section_syms. 1918*75fd0b74Schristos 1919*75fd0b74Schristos2006-05-25 H.J. Lu <hongjiu.lu@intel.com> 1920*75fd0b74Schristos 1921*75fd0b74Schristos * config.bfd: (sh-*-linux*): Treat as 64bit target. 1922*75fd0b74Schristos (sh*l*-*-netbsdelf*): Likewise. 1923*75fd0b74Schristos (sh-*-netbsdelf*): Likewise. 1924*75fd0b74Schristos (shl*-*-elf*): Likewise. 1925*75fd0b74Schristos (sh[1234]l*-*-elf*): Likewise. 1926*75fd0b74Schristos (sh3el*-*-elf*): Likewise. 1927*75fd0b74Schristos (shl*-*-kaos*): Likewise. 1928*75fd0b74Schristos (sh-*-elf*): Likewise. 1929*75fd0b74Schristos (sh[1234]*-elf*): Likewise. 1930*75fd0b74Schristos (sh-*-rtems*): Likewise. 1931*75fd0b74Schristos (sh-*-kaos*): Likewise. 1932*75fd0b74Schristos 1933*75fd0b74Schristos2006-05-24 H.J. Lu <hongjiu.lu@intel.com> 1934*75fd0b74Schristos 1935*75fd0b74Schristos PR ld/1485 1936*75fd0b74Schristos * config.bfd: Set want64 to true if 64bit bfd is used. 1937*75fd0b74Schristos (sh-*-linux*): Use targ64_selvecs for 64bit targets. 1938*75fd0b74Schristos (sh*l*-*-netbsdelf*): Likewise. 1939*75fd0b74Schristos (sh-*-netbsdelf*): Likewise. 1940*75fd0b74Schristos (shl*-*-elf*): Likewise. 1941*75fd0b74Schristos (sh[1234]l*-*-elf*): Likewise. 1942*75fd0b74Schristos (sh3el*-*-elf*): Likewise. 1943*75fd0b74Schristos (shl*-*-kaos*): Likewise. 1944*75fd0b74Schristos (sh-*-elf*): Likewise. 1945*75fd0b74Schristos (sh[1234]*-elf*): Likewise. 1946*75fd0b74Schristos (sh-*-rtems*): Likewise. 1947*75fd0b74Schristos (sh-*-kaos*): Likewise. 1948*75fd0b74Schristos 1949*75fd0b74Schristos2006-05-24 Paul Brook <paul@codesourcery.com> 1950*75fd0b74Schristos 1951*75fd0b74Schristos * elf-bfd.h (elf_backend_data): Add elf_backend_output_arch_local_syms 1952*75fd0b74Schristos * elf32-arm.c (output_arch_syminfo): Define. 1953*75fd0b74Schristos (elf32_arm_ouput_plt_map_sym, elf32_arm_output_plt_map, 1954*75fd0b74Schristos elf32_arm_output_arch_local_syms): New functions. 1955*75fd0b74Schristos (elf_backend_output_arch_local_syms): Define. 1956*75fd0b74Schristos * elflink.c (bfd_elf_final_link): Call 1957*75fd0b74Schristos elf_backend_output_arch_local_syms. 1958*75fd0b74Schristos * elfxx-target.h (elf_backend_output_arch_local_syms): Provide default 1959*75fd0b74Schristos definition. 1960*75fd0b74Schristos (elfNN_bed): Add elf_backend_output_arch_local_syms. 1961*75fd0b74Schristos 1962*75fd0b74Schristos2006-05-24 Paul Brook <paul@codesourcery.com> 1963*75fd0b74Schristos 1964*75fd0b74Schristos * elf32-arm.c (put_arm_insn, put_thumb_insn): New functions. 1965*75fd0b74Schristos (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub, 1966*75fd0b74Schristos elf32_arm_finish_dynamic_symbol): Use them. 1967*75fd0b74Schristos 1968*75fd0b74Schristos2006-05-24 Carlos O'Donell <carlos@systemhalted.org> 1969*75fd0b74Schristos Randolph Chung <tausq@debian.org> 1970*75fd0b74Schristos 1971*75fd0b74Schristos * elf-hppa.h (reloc_hppa_howto_table): Check bitfield for 1972*75fd0b74Schristos TPREL21L/TPREL14R relocations. Handle LTOFF_TP14R relocations. 1973*75fd0b74Schristos Add handling for TLS relocations. 1974*75fd0b74Schristos (elf_hpp_reloc_final_type): Handle TLS relocs. 1975*75fd0b74Schristos * elf32-hppa.c: Add authors for cleanup and TLS support. 1976*75fd0b74Schristos (hppa_elf_local_got_tls_type, hh_name, eh_name): Define. 1977*75fd0b74Schristos (elf32_hppa_link_hash_entry): Add tls_type. 1978*75fd0b74Schristos (elf32_hppa_link_hash_table): Add tld_ldm_got. 1979*75fd0b74Schristos (hppa_link_has_newfunc): Set tls_type. 1980*75fd0b74Schristos (elf32_hppa_link_hash_table_create): Set tls_ldm_got refcount. 1981*75fd0b74Schristos (hppa_stub_name): Use hh_name macro. 1982*75fd0b74Schristos (elf32_hppa_copy_indirect_symbol): Copy TLS information. 1983*75fd0b74Schristos (elf32_hppa_check_relocs): Call elf32_hppa_optimized_tls_reloc. 1984*75fd0b74Schristos Handle TLS relocs. 1985*75fd0b74Schristos (elf32_hppa_gc_sweep_hook): Likewise. 1986*75fd0b74Schristos (allocate_dynrelocs): Handle TLS relocs. 1987*75fd0b74Schristos (elf32_hppa_size_dynamic_sections): Count space required by TLS 1988*75fd0b74Schristos relocs. Use hh_name macro. 1989*75fd0b74Schristos (dtpoff_base): New function. 1990*75fd0b74Schristos (tpoff): Likewise. 1991*75fd0b74Schristos (elf32_hppa_optimized_tls_reloc): Likewise. 1992*75fd0b74Schristos (final_link_relocate): Handle TLS relocs. 1993*75fd0b74Schristos (elf32_hppa_relocate_section): Handle TLS relocs. Use eh_name 1994*75fd0b74Schristos and hh_name macros. 1995*75fd0b74Schristos (elf32_hppa_finish_dynamic_symbol): Setup TLS got entries. Use 1996*75fd0b74Schristos hh_name and eh_name macros. 1997*75fd0b74Schristos (elf32_hppa_reloc_type_clas): Handle TLS relocs. 1998*75fd0b74Schristos 1999*75fd0b74Schristos2006-05-24 Bjoern Haase <bjoern.m.haase@web.de> 2000*75fd0b74Schristos 2001*75fd0b74Schristos * archures.c: Add bfd_mach_avr6. 2002*75fd0b74Schristos * cpu-avr.c: Likewise. 2003*75fd0b74Schristos * reloc.c (BFD_RELOC_AVR_LO8_LDI_GS, BFD_RELOC_AVR_HI8_LDI_GS): 2004*75fd0b74Schristos New relocations. 2005*75fd0b74Schristos * libbfd.h: Regenerate. 2006*75fd0b74Schristos * bfd-in2.h:Regenerate. 2007*75fd0b74Schristos * elf32-avr.h: New file. Protoypes for functions accessed from ld. 2008*75fd0b74Schristos * elf32-avr.c: Add elf32-avr.h to include list. 2009*75fd0b74Schristos (elf32_avr_stub_hash_entry): New function. 2010*75fd0b74Schristos (elf32_avr_link_hash_table): New struct. 2011*75fd0b74Schristos (avr_link_hash_table): Likewise. 2012*75fd0b74Schristos (avr_stub_hash_entry): Likewise. 2013*75fd0b74Schristos (avr_stub_hash_lookup): New function. 2014*75fd0b74Schristos (stub_hash_newfunc): New function. 2015*75fd0b74Schristos (elf32_avr_link_hash_table_create): New function. 2016*75fd0b74Schristos (elf32_avr_link_hash_table_free): New function. 2017*75fd0b74Schristos (avr_get_stub_addr): New function. 2018*75fd0b74Schristos (debug_relax, debug_stubs): Add new global variables controlling 2019*75fd0b74Schristos debugging printout to stdout. 2020*75fd0b74Schristos (avr_pc_wrap_around): Change the type to bfd_vma. 2021*75fd0b74Schristos (avr_replace_call_ret_sequences): Add a new variable controling 2022*75fd0b74Schristos linkrelax optimizations. 2023*75fd0b74Schristos (avr_stub_is_required_for_16_bit_reloc): New function. 2024*75fd0b74Schristos (avr_final_link_relocate): 2025*75fd0b74Schristos Add linker hash table to parameter list. Use stub addr. if necessary. 2026*75fd0b74Schristos (elf32_avr_relocate_section): 2027*75fd0b74Schristos Add linker hashtable to parameter list of avr_final_link_relocate. 2028*75fd0b74Schristos (bfd_elf_avr_final_write_processing): Add support for bfd_mach_avr6. 2029*75fd0b74Schristos (elf32_avr_object_p): Add support for E_AVR_MACH_AVR6. 2030*75fd0b74Schristos (elf32_avr_relax_delete_bytes): 2031*75fd0b74Schristos Iterate over all sections of a bfd when adjusting relocs addends. 2032*75fd0b74Schristos (elf32_avr_relax_section): 2033*75fd0b74Schristos Evaluate avr_replace_call_ret_sequences and recalculate the size of 2034*75fd0b74Schristos stub section. 2035*75fd0b74Schristos (avr_stub_name): New function. 2036*75fd0b74Schristos (avr_get_stub_entry): New function. 2037*75fd0b74Schristos (avr_add_stub): New function. 2038*75fd0b74Schristos (avr_build_one_stub): New function. 2039*75fd0b74Schristos (avr_size_one_stub): New function. 2040*75fd0b74Schristos (elf32_avr_setup_params): New function. 2041*75fd0b74Schristos (elf32_avr_setup_section_lists): New function. 2042*75fd0b74Schristos (get_local_syms): New function. 2043*75fd0b74Schristos (elf32_avr_size_stubs): New function. 2044*75fd0b74Schristos (bfd_elf32_bfd_link_hash_table_create): New function. 2045*75fd0b74Schristos (bfd_elf32_bfd_link_hash_table_free): New function. 2046*75fd0b74Schristos 2047*75fd0b74Schristos2006-05-23 H.J. Lu <hongjiu.lu@intel.com> 2048*75fd0b74Schristos 2049*75fd0b74Schristos PR ld/2655 2050*75fd0b74Schristos PR ld/2657 2051*75fd0b74Schristos * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Properly 2052*75fd0b74Schristos update CIE/FDE length. Don't pad to the section alignment. 2053*75fd0b74Schristos 2054*75fd0b74Schristos2006-05-23 Jie Zhang <jie.zhang@analog.com> 2055*75fd0b74Schristos 2056*75fd0b74Schristos * elf32-bfin.c (bfinfdpic_relocate_section): Clear reloc for 2057*75fd0b74Schristos deteted entries in .eh_frame section. 2058*75fd0b74Schristos 2059*75fd0b74Schristos2006-05-23 Jie Zhang <jie.zhang@analog.com> 2060*75fd0b74Schristos 2061*75fd0b74Schristos * elf32-bfin.c (bfin_check_relocs): Use __GLOBAL_OFFSET_TABLE_ 2062*75fd0b74Schristos instead of _GLOBAL_OFFSET_TABLE_. 2063*75fd0b74Schristos (bfin_relocate_section): Ditto. 2064*75fd0b74Schristos (_bfin_create_got_section): Ditto. 2065*75fd0b74Schristos (elf32_bfinfdpic_create_dynamic_sections): Use 2066*75fd0b74Schristos __PROCEDURE_LINKAGE_TABLE_ instead of _PROCEDURE_LINKAGE_TABLE_. 2067*75fd0b74Schristos (bfin_finish_dynamic_symbol): Use __DYNAMIC instead of _DYNAMIC. 2068*75fd0b74Schristos 2069*75fd0b74Schristos2006-05-23 Alan Modra <amodra@bigpond.net.au> 2070*75fd0b74Schristos 2071*75fd0b74Schristos * elf64-ppc.c (compare_symbols): Prefer strong dynamic global 2072*75fd0b74Schristos function syms over other syms. 2073*75fd0b74Schristos 2074*75fd0b74Schristos2006-05-22 Daniel Jacobowitz <dan@codesourcery.com> 2075*75fd0b74Schristos 2076*75fd0b74Schristos * elflink.c (_bfd_elf_add_dynamic_entry): Remove DT_TEXTREL 2077*75fd0b74Schristos check. 2078*75fd0b74Schristos (bfd_elf_final_link): Add a late DT_TEXTREL check. 2079*75fd0b74Schristos * elfxx-mips.c (MIPS_ELF_READONLY_SECTION): Define. 2080*75fd0b74Schristos (mips_elf_create_dynamic_relocation): Set DF_TEXTREL. 2081*75fd0b74Schristos (_bfd_mips_elf_check_relocs): Delete MIPS_READONLY_SECTION. 2082*75fd0b74Schristos Use MIPS_ELF_READONLY_SECTION. 2083*75fd0b74Schristos (_bfd_mips_elf_size_dynamic_sections): Clear DF_TEXTREL after 2084*75fd0b74Schristos creating DT_TEXTREL. 2085*75fd0b74Schristos (_bfd_mips_elf_finish_dynamic_sections): Clear textrel markers 2086*75fd0b74Schristos if no text relocations were generated. 2087*75fd0b74Schristos 2088*75fd0b74Schristos2006-05-19 H.J. Lu <hongjiu.lu@intel.com> 2089*75fd0b74Schristos 2090*75fd0b74Schristos * elfxx-ia64.c (ELF_MAXPAGESIZE): Fix a typo in comment. 2091*75fd0b74Schristos 2092*75fd0b74Schristos2006-05-19 Alan Modra <amodra@bigpond.net.au> 2093*75fd0b74Schristos 2094*75fd0b74Schristos * elf.c (elf_fake_sections): Formatting. 2095*75fd0b74Schristos (assign_file_positions_for_load_sections): Only add SEC_ALLOC 2096*75fd0b74Schristos sections to p_memsz. Remove hack for PT_NOTE sections. Allow 2097*75fd0b74Schristos section alignment to increase p_align for PT_LOAD. 2098*75fd0b74Schristos (assign_file_positions_for_non_load_sections): Remove ARM BPABI 2099*75fd0b74Schristos hack for PT_DYNAMIC. Instead, set p_filesz for all segments 2100*75fd0b74Schristos other than PT_LOAD, and PT_NOTE in core. 2101*75fd0b74Schristos 2102*75fd0b74Schristos2006-05-17 Alan Modra <amodra@bigpond.net.au> 2103*75fd0b74Schristos 2104*75fd0b74Schristos * elf.c (assign_file_positions_for_segments): Split into.. 2105*75fd0b74Schristos (assign_file_positions_for_load_sections): ..this, and.. 2106*75fd0b74Schristos (assign_file_positions_for_non_load_sections): ..this new function,.. 2107*75fd0b74Schristos (assign_file_positions_except_relocs): ..writing program headers here. 2108*75fd0b74Schristos 2109*75fd0b74Schristos2006-05-17 Alan Modra <amodra@bigpond.net.au> 2110*75fd0b74Schristos 2111*75fd0b74Schristos * elflink.c (elf_gc_sweep): Don't specially keep non-alloc, 2112*75fd0b74Schristos non-load sections if they have relocs. 2113*75fd0b74Schristos 2114*75fd0b74Schristos2006-05-15 Paul Brook <paul@codesourcery.com> 2115*75fd0b74Schristos 2116*75fd0b74Schristos * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename ... 2117*75fd0b74Schristos (bfd_is_arm_special_symbol_name): ... to this. Add type argument. 2118*75fd0b74Schristos Check symbol name is of specified type. 2119*75fd0b74Schristos * elf32-arm.c (elf32_arm_is_target_special_symbol, 2120*75fd0b74Schristos arm_elf_find_function, elf32_arm_output_symbol_hook): Use 2121*75fd0b74Schristos bfd_is_arm_special_symbol_name. 2122*75fd0b74Schristos * bfd-in.h (BFD_ARM_SPECIAL_SYM_TYPE_MAP, 2123*75fd0b74Schristos BFD_ARM_SPECIAL_SYM_TYPE_TAG, BFD_ARM_SPECIAL_SYM_TYPE_OTHER, 2124*75fd0b74Schristos BFD_ARM_SPECIAL_SYM_TYPE_ANY): Define. 2125*75fd0b74Schristos (bfd_is_arm_mapping_symbol_name): Remove prototype. 2126*75fd0b74Schristos (bfd_is_arm_special_symbol_name): Add prototype. 2127*75fd0b74Schristos * bfd-in2.h: Regenerate. 2128*75fd0b74Schristos 2129*75fd0b74Schristos2006-05-15 David Heine <dlheine@tensilica.com> 2130*75fd0b74Schristos Bob Wilson <bob.wilson@acm.org> 2131*75fd0b74Schristos 2132*75fd0b74Schristos * elf32-xtensa.c (check_loop_aligned): Fix reversed check for 2133*75fd0b74Schristos undefined opcode. Clean up assertions. 2134*75fd0b74Schristos (narrow_instruction, widen_instruction): Remove "do_it" parameters. 2135*75fd0b74Schristos Factor most of the code into separate functions.... 2136*75fd0b74Schristos (can_narrow_instruction, can_widen_instruction): New. 2137*75fd0b74Schristos (prev_instr_is_a_loop): New. 2138*75fd0b74Schristos (compute_ebb_proposed_actions): Combine error handling code for 2139*75fd0b74Schristos decode errors. Replace call to insn_decode_len with inline code. 2140*75fd0b74Schristos Use can_narrow_instruction and can_widen_instruction. Handle errors 2141*75fd0b74Schristos from call to xtensa_opcode_is_loop. 2142*75fd0b74Schristos (relax_section): Adjust calls to narrow_instruction and 2143*75fd0b74Schristos widen_instruction. 2144*75fd0b74Schristos 2145*75fd0b74Schristos2006-05-15 Alan Modra <amodra@bigpond.net.au> 2146*75fd0b74Schristos 2147*75fd0b74Schristos PR 2658 2148*75fd0b74Schristos * elf32-ppc.c (ppc_elf_relax_section): Don't segfault on non-pic 2149*75fd0b74Schristos -shared link. 2150*75fd0b74Schristos 2151*75fd0b74Schristos2006-05-11 Michael Matz <matz@suse.de> 2152*75fd0b74Schristos 2153*75fd0b74Schristos * elflink.c (match_group_member): Correctly iterate group 2154*75fd0b74Schristos members. 2155*75fd0b74Schristos 2156*75fd0b74Schristos2006-05-11 Paul Brook <paul@codesourcery.com> 2157*75fd0b74Schristos 2158*75fd0b74Schristos * elf32-arm.c (elf32_arm_reloc_map): Add MOVW and MOVT relocs. 2159*75fd0b74Schristos (elf32_arm_final_link_relocate): Handle MOVW and MOVT relocs. 2160*75fd0b74Schristos (elf32_arm_gc_sweep_hook, elf32_arm_check_relocs): Ditto. 2161*75fd0b74Schristos * reloc.c: Ditto. 2162*75fd0b74Schristos * bfd-in2.h: Regenerate. 2163*75fd0b74Schristos * libbfd.h: Regenerate. 2164*75fd0b74Schristos * libcoff.h: Regenerate. 2165*75fd0b74Schristos 2166*75fd0b74Schristos2006-05-11 Mike Bland <mbland@google.com> 2167*75fd0b74Schristos 2168*75fd0b74Schristos * elf.c (_bfd_elf_init_private_section_data): Don't change 2169*75fd0b74Schristos section type if already set. 2170*75fd0b74Schristos 2171*75fd0b74Schristos2006-05-10 Nick Clifton <nickc@redhat.com> 2172*75fd0b74Schristos 2173*75fd0b74Schristos PR ld/2607 2174*75fd0b74Schristos * elfcode.h (valid_section_index_p): New function: Checks for a 2175*75fd0b74Schristos valid section index. Allows indicies in the range SHN_LOPROC to 2176*75fd0b74Schristos SHN_HIOS. 2177*75fd0b74Schristos (elf_object_p): Use valid_section_index_p. 2178*75fd0b74Schristos 2179*75fd0b74Schristos2006-05-11 Pedro Alves <pedro_alves@portugalmail.pt> 2180*75fd0b74Schristos 2181*75fd0b74Schristos * coff-arm.c (ARM_26D, ARM_32, ARM_RVA_32, ARM_SECTION, 2182*75fd0b74Schristos ARM_SECREL): Mark WinCE versions of these relocs as partial 2183*75fd0b74Schristos inplace. 2184*75fd0b74Schristos (coff_arm_relocate_section): Adjust addend for WinCE. 2185*75fd0b74Schristos 2186*75fd0b74Schristos2006-05-10 Alan Modra <amodra@bigpond.net.au> 2187*75fd0b74Schristos 2188*75fd0b74Schristos PR 2342 2189*75fd0b74Schristos * elflink.c (_bfd_elf_default_action_discarded): Revert 2006-02-16. 2190*75fd0b74Schristos 2191*75fd0b74Schristos2006-05-09 Nick Clifton <nickc@redhat.com> 2192*75fd0b74Schristos 2193*75fd0b74Schristos * coffcode.h (coff_write_relocs): Produce an error message if a an 2194*75fd0b74Schristos out-of-range symbol index is detected in a reloc. 2195*75fd0b74Schristos 2196*75fd0b74Schristos2006-05-09 Ben Elliston <bje@au.ibm.com> 2197*75fd0b74Schristos 2198*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Remove unused 2199*75fd0b74Schristos local variable `dynobj'. 2200*75fd0b74Schristos 2201*75fd0b74Schristos2006-05-05 Bjoern Haase <bjoern.m.haase@web.de> 2202*75fd0b74Schristos 2203*75fd0b74Schristos * elf32-avr.c (elf32_avr_relax_delete_bytes): Iterate over all 2204*75fd0b74Schristos of the bfd's sections for the reloc-addend adjustments. 2205*75fd0b74Schristos 2206*75fd0b74Schristos2006-05-05 Martin Schwidefsky <schwidefsky@de.ibm.com> 2207*75fd0b74Schristos 2208*75fd0b74Schristos * elf32-s390.c (invalid_tls_insn): Call bfd_set_error. 2209*75fd0b74Schristos (elf_s390_relocate_section): Add code to do the GD->LE and 2210*75fd0b74Schristos LD->LE TLS linker optimizations if a brasl instruction is used 2211*75fd0b74Schristos for the __tls_get_offset function call. 2212*75fd0b74Schristos * elf64-s390.c (invalid_tls_insn): Call bfd_set_error. 2213*75fd0b74Schristos 2214*75fd0b74Schristos2006-05-05 Alan Modra <amodra@bigpond.net.au> 2215*75fd0b74Schristos 2216*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_tls_optimize): Only optimize 2217*75fd0b74Schristos R_PPC64_TPREL64 and R_PPC64_DTPMOD64 relocs when they are in 2218*75fd0b74Schristos the .toc and referenced by a TLS code sequence. 2219*75fd0b74Schristos (ppc64_elf_edit_toc): Cater for the unlikely situation that 2220*75fd0b74Schristos .toc is the first section in a file. 2221*75fd0b74Schristos 2222*75fd0b74Schristos2006-05-04 Andreas Schwab <schwab@suse.de> 2223*75fd0b74Schristos 2224*75fd0b74Schristos * aoutf1.h (struct external_sparc_core): Declare c_regs as struct 2225*75fd0b74Schristos regs instead of an array of int. 2226*75fd0b74Schristos (struct external_solaris_bcp_core): Likewise. 2227*75fd0b74Schristos (swapcore_sun3): Use offsetof instead of computing the offset 2228*75fd0b74Schristos manually. 2229*75fd0b74Schristos (swapcore_sparc): Likewise. Simplify reference to c_regs. 2230*75fd0b74Schristos (swapcore_solaris_bcp): Likewise. 2231*75fd0b74Schristos 2232*75fd0b74Schristos2006-05-04 Daniel Jacobowitz <dan@codesourcery.com> 2233*75fd0b74Schristos 2234*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Adjust handling 2235*75fd0b74Schristos for missing GOTs. 2236*75fd0b74Schristos 2237*75fd0b74Schristos2006-05-04 Daniel Jacobowitz <dan@codesourcery.com> 2238*75fd0b74Schristos 2239*75fd0b74Schristos * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Accept more 2240*75fd0b74Schristos mapping symbols. 2241*75fd0b74Schristos 2242*75fd0b74Schristos2006-05-04 Ben Elliston <bje@au.ibm.com> 2243*75fd0b74Schristos 2244*75fd0b74Schristos * coff-or32.c (bfd_section_from_shdr): Remove unused local 2245*75fd0b74Schristos variable `ptr'. 2246*75fd0b74Schristos * cofflink.c (process_embedded_commands): Remove unused local 2247*75fd0b74Schristos variables `had_read' and `had_shared'. 2248*75fd0b74Schristos * ecofflink.c (bfd_ecoff_debug_accumulate): Remove unused local 2249*75fd0b74Schristos variable `fdr_adr'. 2250*75fd0b74Schristos * ihex.c (ihex_read_section): Remove unused local variable `addr'. 2251*75fd0b74Schristos 2252*75fd0b74Schristos2006-05-03 Alan Modra <amodra@bigpond.net.au> 2253*75fd0b74Schristos 2254*75fd0b74Schristos * libbfd-in.h (_bfd_generic_new_section_hook): Declare. 2255*75fd0b74Schristos * section.c (bfd_abs_symbol, bfd_com_symbol): Delete. 2256*75fd0b74Schristos (bfd_und_symbol, bfd_ind_symbol): Delete. 2257*75fd0b74Schristos (BFD_FAKE_SECTION): Remove SYM_PTR param, set symbol_ptr_ptr to 2258*75fd0b74Schristos &SEC.symbol. 2259*75fd0b74Schristos (STD_SECTION): Adjust. 2260*75fd0b74Schristos (_bfd_generic_new_section_hook): New function, extracted from.. 2261*75fd0b74Schristos (bfd_section_init): ..here. 2262*75fd0b74Schristos (bfd_make_section_old_way): Call new_section_hook for abs, com, 2263*75fd0b74Schristos und and ind sections. 2264*75fd0b74Schristos * elf.c (_bfd_elf_large_com_section): Adjust. 2265*75fd0b74Schristos * aoutx.h (new_section_hook): Call _bfd_generic_new_section_hook. 2266*75fd0b74Schristos * pdp11.c (new_section_hook): Likewise. 2267*75fd0b74Schristos * coffcode.h (coff_new_section_hook): Likewise. 2268*75fd0b74Schristos * ecoff.c (_bfd_ecoff_new_section_hook): Likewise. 2269*75fd0b74Schristos * elf.c (_bfd_elf_new_section_hook): Likewise. 2270*75fd0b74Schristos * vms.c (vms_new_section_hook): Likwise. 2271*75fd0b74Schristos * elf32-arm.c (elf32_arm_new_section_hook): Check used_by_bfd isn't 2272*75fd0b74Schristos already set. 2273*75fd0b74Schristos * elf32-sh64.c (sh64_elf_new_section_hook): Likewise. 2274*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_new_section_hook): Likewise. 2275*75fd0b74Schristos * elf64-mmix.c (mmix_elf_new_section_hook): Likewise. 2276*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_new_section_hook): Likewise. 2277*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_new_section_hook): Likewise. 2278*75fd0b74Schristos * elfxx-sparc.c (_bfd_sparc_elf_new_section_hook): Likewise. 2279*75fd0b74Schristos * ieee.c (ieee_new_section_hook): Likewise. Call 2280*75fd0b74Schristos _bfd_generic_new_section_hook too. 2281*75fd0b74Schristos * mmo.c (mmo_new_section_hook): Likewise. 2282*75fd0b74Schristos * oasys.c (oasys_new_section_hook): Likewise. 2283*75fd0b74Schristos * som.c (som_new_section_hook): Likewise. 2284*75fd0b74Schristos * coff-w65.c (reloc_processing): Don't use bfd_abs_symbol. 2285*75fd0b74Schristos * bfd-in2.h: Regenerate. 2286*75fd0b74Schristos * libbfd.h: Regenerate. 2287*75fd0b74Schristos 2288*75fd0b74Schristos2006-05-03 Alan Modra <amodra@bigpond.net.au> 2289*75fd0b74Schristos 2290*75fd0b74Schristos * hash.c (DEFAULT_SIZE): Revert last change. 2291*75fd0b74Schristos (higher_prime_number): Correct test for no larger prime. Don't 2292*75fd0b74Schristos abort on error, instead return 0. Depopulate primes[]. 2293*75fd0b74Schristos (bfd_hash_lookup): If we overflow size, refuse to grow table. 2294*75fd0b74Schristos 2295*75fd0b74Schristos2006-05-02 Paul Brook <paul@codesourcery.com> 2296*75fd0b74Schristos 2297*75fd0b74Schristos * elf32-arm.c (elf32_arm_final_link_relocate): Set thumb funciton bit 2298*75fd0b74Schristos for R_ARM_REL32. 2299*75fd0b74Schristos 2300*75fd0b74Schristos2006-05-02 Ben Elliston <bje@au.ibm.com> 2301*75fd0b74Schristos 2302*75fd0b74Schristos * archive.c (bfd_generic_archive_p): Remove unused local variable 2303*75fd0b74Schristos `fail'. 2304*75fd0b74Schristos * dwarf2.c (decode_line_info): Remove unused local variable 2305*75fd0b74Schristos `basic_block'. 2306*75fd0b74Schristos * elfcode.h (elf_slurp_reloc_table_from_section): Remove unused 2307*75fd0b74Schristos local variable `s'. 2308*75fd0b74Schristos * tekhex.c (tekhex_write_object_contents): Remove unused local 2309*75fd0b74Schristos variable `bytes_written'. 2310*75fd0b74Schristos * aout-ns32k.c (MY_swap_std_reloc_out): Remove unused local 2311*75fd0b74Schristos variable `r_addend'. 2312*75fd0b74Schristos * elf32-dlx.c (dlx_rtype_to_howto): Remove breaks after returns. 2313*75fd0b74Schristos * elfxx-mips.c (_bfd_elf_mips_mach): Remove breaks after returns. 2314*75fd0b74Schristos (_bfd_ns32k_relocate_contents): Remove break after return. 2315*75fd0b74Schristos * elf.c (bfd_section_from_shdr): Remove breaks after returns. 2316*75fd0b74Schristos 2317*75fd0b74Schristos2006-05-02 Nick Clifton <nickc@redhat.com> 2318*75fd0b74Schristos 2319*75fd0b74Schristos * elf32-sh-symbian.c: Rename local define DEBUG to SYMBIAN_DEBUG 2320*75fd0b74Schristos in order to avoid conflicts with the global DEBUG define. 2321*75fd0b74Schristos 2322*75fd0b74Schristos2006-05-02 Alan Modra <amodra@bigpond.net.au> 2323*75fd0b74Schristos 2324*75fd0b74Schristos * dwarf2.c: Formatting. 2325*75fd0b74Schristos * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Simplify 2326*75fd0b74Schristos output section check. 2327*75fd0b74Schristos * elf32-i370.c: Warning fixes inside #ifdef DEBUG. 2328*75fd0b74Schristos * elf32-m32c.c: Similarly. 2329*75fd0b74Schristos * elf32-ppc.c: Similarly. 2330*75fd0b74Schristos * elf32-v850.c: Similarly. 2331*75fd0b74Schristos * nlm32-sparc.c: Similarly. 2332*75fd0b74Schristos * elfcode.h: Similarly. 2333*75fd0b74Schristos (elf_symbol_flags): Delete. 2334*75fd0b74Schristos * elflink.c (elf_link_input_bfd): Comment typo. 2335*75fd0b74Schristos 2336*75fd0b74Schristos2006-05-01 DJ Delorie <dj@redhat.com> 2337*75fd0b74Schristos 2338*75fd0b74Schristos * bfd-in.h (bfd_hash_table): Add count field. 2339*75fd0b74Schristos * bfd-in2.h: Regenerate. 2340*75fd0b74Schristos * hash.c (higher_prime_number): New. 2341*75fd0b74Schristos (bfd_hash_table_inint_n): Init count field. 2342*75fd0b74Schristos (bfd_hash_lookup): Grow table as needed. 2343*75fd0b74Schristos 2344*75fd0b74Schristos2006-04-27 Kaz Kojima <kkojima@rr.iij4u.or.jp> 2345*75fd0b74Schristos 2346*75fd0b74Schristos PR binutils/2584 2347*75fd0b74Schristos * tekhex.c (getvalue): Change return type to bfd_boolean and 2348*75fd0b74Schristos add the new parameter. Return false if the unexpected character 2349*75fd0b74Schristos is found. 2350*75fd0b74Schristos (getsym): Likewise. 2351*75fd0b74Schristos (first_phase): Change return type to bfd_boolean and return 2352*75fd0b74Schristos false if the unexpected character is found. Replace abort 2353*75fd0b74Schristos with returning false. 2354*75fd0b74Schristos (pass_over): Change return type to bfd_boolean and the type of 2355*75fd0b74Schristos the second argument to bfd_boolean (*) (bfd *, int, char *). 2356*75fd0b74Schristos Return false if FUNC returns false. 2357*75fd0b74Schristos (tekhex_object_p): Return NULL if pass_over fails. 2358*75fd0b74Schristos 2359*75fd0b74Schristos2006-04-27 Alan Modra <amodra@bigpond.net.au> 2360*75fd0b74Schristos 2361*75fd0b74Schristos * coff-rs6000.c (xcoff_write_archive_contents_old): Warning fix. 2362*75fd0b74Schristos 2363*75fd0b74Schristos2006-04-26 H.J. Lu <hongjiu.lu@intel.com> 2364*75fd0b74Schristos 2365*75fd0b74Schristos PR binutils/2593 2366*75fd0b74Schristos * elf.c (_bfd_elf_new_section_hook): Don't set section ELF type 2367*75fd0b74Schristos and flags if its BFD flags have been set. 2368*75fd0b74Schristos (_bfd_elf_init_private_section_data): Don't copy the output ELF 2369*75fd0b74Schristos section type from input if it has been set to something 2370*75fd0b74Schristos different. 2371*75fd0b74Schristos 2372*75fd0b74Schristos2006-04-25 H.J. Lu <hongjiu.lu@intel.com> 2373*75fd0b74Schristos 2374*75fd0b74Schristos PR binutils/2467 2375*75fd0b74Schristos * elf.c (_bfd_elf_close_and_cleanup): Check elf_tdata (abfd) 2376*75fd0b74Schristos is NULL first. 2377*75fd0b74Schristos 2378*75fd0b74Schristos * elf32-arm.c (elf32_arm_close_and_cleanup): Check if 2379*75fd0b74Schristos abfd->sections is NULL. 2380*75fd0b74Schristos (elf32_arm_bfd_free_cached_info): New. 2381*75fd0b74Schristos (bfd_elf32_bfd_free_cached_info): Defined. 2382*75fd0b74Schristos 2383*75fd0b74Schristos * elfxx-target.h (bfd_elfNN_bfd_free_cached_info): Default it 2384*75fd0b74Schristos to _bfd_free_cached_info. 2385*75fd0b74Schristos 2386*75fd0b74Schristos * libbfd-in.h (_bfd_free_cached_info): New. 2387*75fd0b74Schristos * libbfd: Regenerated. 2388*75fd0b74Schristos 2389*75fd0b74Schristos * opncls.c (_bfd_delete_bfd): Check if abfd->memory is NULL. 2390*75fd0b74Schristos (_bfd_free_cached_info): New. 2391*75fd0b74Schristos 2392*75fd0b74Schristos2006-04-21 Alan Modra <amodra@bigpond.net.au> 2393*75fd0b74Schristos 2394*75fd0b74Schristos * elf.c (assign_file_positions_except_relocs): Move code setting 2395*75fd0b74Schristos file position of non-loaded sections.. 2396*75fd0b74Schristos (assign_file_positions_for_segments): ..to here. 2397*75fd0b74Schristos 2398*75fd0b74Schristos2006-04-20 H.J. Lu <hongjiu.lu@intel.com> 2399*75fd0b74Schristos 2400*75fd0b74Schristos PR ld/2537 2401*75fd0b74Schristos * elf.c (bfd_section_from_shdr): Allow sections reserved for 2402*75fd0b74Schristos applications. Issue an error on sections we don't know how 2403*75fd0b74Schristos to handle. 2404*75fd0b74Schristos 2405*75fd0b74Schristos2006-04-19 Alan Modra <amodra@bigpond.net.au> 2406*75fd0b74Schristos 2407*75fd0b74Schristos * Makefile.am: Run "make dep-am". 2408*75fd0b74Schristos * Makefile.in: Regenerate. 2409*75fd0b74Schristos 2410*75fd0b74Schristos2006-04-19 Alan Modra <amodra@bigpond.net.au> 2411*75fd0b74Schristos 2412*75fd0b74Schristos * warning.m4 (--enable-werror): Format help message. 2413*75fd0b74Schristos (--enable-build-warnings): Likewise. 2414*75fd0b74Schristos * configure: Regenerate. 2415*75fd0b74Schristos 2416*75fd0b74Schristos2006-04-18 Nick Clifton <nickc@redhat.com> 2417*75fd0b74Schristos 2418*75fd0b74Schristos PR 2257 2419*75fd0b74Schristos * elfcode.h (elf_object_p): Allow files with corrupt e_shstrndx 2420*75fd0b74Schristos fields to still be handled as ELF files. 2421*75fd0b74Schristos 2422*75fd0b74Schristos2006-04-16 Daniel Jacobowitz <dan@codesourcery.com> 2423*75fd0b74Schristos 2424*75fd0b74Schristos * po/SRC-POTFILES.in: Regenerated. 2425*75fd0b74Schristos 2426*75fd0b74Schristos2006-04-16 Daniel Jacobowitz <dan@codesourcery.com> 2427*75fd0b74Schristos 2428*75fd0b74Schristos * configure.in: Update version to 2.17.50. 2429*75fd0b74Schristos * configure: Regenerated. 2430*75fd0b74Schristos 2431*75fd0b74Schristos2006-04-14 David Heine <dlheine@tensilica.com> 2432*75fd0b74Schristos 2433*75fd0b74Schristos * elf32-xtensa.c (build_reloc_opcodes): New. 2434*75fd0b74Schristos (compute_text_actions): Use it to decode opcodes outside inner loop. 2435*75fd0b74Schristos (check_section_ebb_pcrels_fit): Add "reloc_opcodes" argument, and if 2436*75fd0b74Schristos it is set, use it to get the opcodes for relocations. 2437*75fd0b74Schristos (move_shared_literal): Adjust call to check_section_ebb_pcrels_fit. 2438*75fd0b74Schristos 2439*75fd0b74Schristos2006-04-08 H.J. Lu <hongjiu.lu@intel.com> 2440*75fd0b74Schristos 2441*75fd0b74Schristos PR ld/2513 2442*75fd0b74Schristos * elf32-i386.c (GOT_TLS_MASK): New macro for tls_type. 2443*75fd0b74Schristos (GOT_TLS_IE_IE): Likewise. 2444*75fd0b74Schristos (GOT_TLS_IE_GD): Likewise. 2445*75fd0b74Schristos (GOT_TLS_IE_MASK): Likewise. 2446*75fd0b74Schristos (elf_i386_check_relocs): For global symbols, set GOT_TLS_IE_GD 2447*75fd0b74Schristos and GOT_TLS_IE_IE for R_386_TLS_GD and R_386_TLS_IE 2448*75fd0b74Schristos respectively. 2449*75fd0b74Schristos (allocate_dynrelocs): If both GOT_TLS_IE_IE and GOT_TLS_IE_GD 2450*75fd0b74Schristos are set, treat tls_type as GOT_TLS_IE_BOTH. 2451*75fd0b74Schristos (elf_i386_relocate_section): Likewise. 2452*75fd0b74Schristos 2453*75fd0b74Schristos2006-04-07 Randolph Chung <tausq@debian.org> 2454*75fd0b74Schristos 2455*75fd0b74Schristos * elf64-hppa.c (elf64_hppa_grok_prstatus): New function. 2456*75fd0b74Schristos (elf64_hppa_grok_psinfo): Likewise. 2457*75fd0b74Schristos (elf_backend_grok_pstatus, elf_backend_grok_psinfo): Define. 2458*75fd0b74Schristos 2459*75fd0b74Schristos2006-04-06 DJ Delorie <dj@redhat.com> 2460*75fd0b74Schristos 2461*75fd0b74Schristos * elf32-m32c.c (m32c_elf_relocate_section): Generate a symbol for 2462*75fd0b74Schristos each plt entry we create. 2463*75fd0b74Schristos 2464*75fd0b74Schristos2006-04-06 Carlos O'Donell <carlos@codesourcery.com> 2465*75fd0b74Schristos 2466*75fd0b74Schristos * po/Make-in: Add install-html target. 2467*75fd0b74Schristos * Makefile.am: Rename docdir to bfddocdir. Add datarootdir, docdir 2468*75fd0b74Schristos htmldir. Add install-html and install-html-recursive targets. 2469*75fd0b74Schristos * Makefile.in: Regenerate. 2470*75fd0b74Schristos * configure.in: AC_SUBST for datarootdir, docdir and htmldir. 2471*75fd0b74Schristos * configure: Regenerate. 2472*75fd0b74Schristos 2473*75fd0b74Schristos2006-04-06 H.J. Lu <hongjiu.lu@intel.com> 2474*75fd0b74Schristos 2475*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_relax_section): Skip unneeded passes 2476*75fd0b74Schristos with the skip_relax_pass_0 and skip_relax_pass_1 bits in the 2477*75fd0b74Schristos section structure. 2478*75fd0b74Schristos 2479*75fd0b74Schristos2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com> 2480*75fd0b74Schristos 2481*75fd0b74Schristos * elf32-bfin.c (bfinfdpic_relocs_info_hash): Sprinkle casts to 2482*75fd0b74Schristos eliminate warnings. 2483*75fd0b74Schristos 2484*75fd0b74Schristos2006-04-05 H.J. Lu <hongjiu.lu@intel.com> 2485*75fd0b74Schristos James E Wilson <wilson@specifixinc.com> 2486*75fd0b74Schristos 2487*75fd0b74Schristos PR ld/2442 2488*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_dyn_sym_info): Remove next. 2489*75fd0b74Schristos (elfNN_ia64_local_hash_entry): Add count, sorted_count and 2490*75fd0b74Schristos size. 2491*75fd0b74Schristos (elfNN_ia64_link_hash_entry): Likewise. 2492*75fd0b74Schristos (elfNN_ia64_new_elf_hash_entry): Initialize count, sorted_count 2493*75fd0b74Schristos and size. 2494*75fd0b74Schristos (elfNN_ia64_hash_copy_indirect): Updated elfNN_ia64_dyn_sym_info 2495*75fd0b74Schristos processing. 2496*75fd0b74Schristos (elfNN_ia64_hash_hide_symbol): Likewise. 2497*75fd0b74Schristos (elfNN_ia64_global_dyn_sym_thunk): Likewise. 2498*75fd0b74Schristos (elfNN_ia64_local_dyn_sym_thunk): Likewise. 2499*75fd0b74Schristos (elfNN_ia64_global_dyn_info_free): New function. 2500*75fd0b74Schristos (elfNN_ia64_local_dyn_info_free): Likewise. 2501*75fd0b74Schristos (elfNN_ia64_hash_table_free): Free local and global 2502*75fd0b74Schristos elfNN_ia64_dyn_sym_info. 2503*75fd0b74Schristos (addend_compare): New function. 2504*75fd0b74Schristos (sort_dyn_sym_info): Likewise. 2505*75fd0b74Schristos (get_dyn_sym_info): Updated to use binary search for addend. 2506*75fd0b74Schristos (elfNN_ia64_check_relocs): Scan relocations to create dynamic 2507*75fd0b74Schristos relocation arrays first. 2508*75fd0b74Schristos 2509*75fd0b74Schristos2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com> 2510*75fd0b74Schristos 2511*75fd0b74Schristos * elf32-bfin.c (_bfin_create_got_section): Don't generate a _gp 2512*75fd0b74Schristos symbol. 2513*75fd0b74Schristos 2514*75fd0b74Schristos2006-04-05 H.J. Lu <hongjiu.lu@intel.com> 2515*75fd0b74Schristos 2516*75fd0b74Schristos PR ld/2411 2517*75fd0b74Schristos * elflink.c (check_dynsym): New. 2518*75fd0b74Schristos (elf_link_output_extsym): Use it. 2519*75fd0b74Schristos (bfd_elf_final_link): Likewise. 2520*75fd0b74Schristos 2521*75fd0b74Schristos2006-04-05 H.J. Lu <hongjiu.lu@intel.com> 2522*75fd0b74Schristos 2523*75fd0b74Schristos PR ld/2404 2524*75fd0b74Schristos * elflink.c (_bfd_elf_merge_symbol): Skip the default indirect 2525*75fd0b74Schristos symbol from the dynamic definition with the default version if 2526*75fd0b74Schristos its type and the type of existing regular definition mismatch. 2527*75fd0b74Schristos 2528*75fd0b74Schristos2006-04-05 Richard Sandiford <richard@codesourcery.com> 2529*75fd0b74Schristos Daniel Jacobowitz <dan@codesourcery.com> 2530*75fd0b74Schristos 2531*75fd0b74Schristos * config.bfd (sparc-*-vxworks*): New stanza. 2532*75fd0b74Schristos * configure.in (bfd_elf32_sparc_vxworks_vec): New stanza. 2533*75fd0b74Schristos (bfd_elf32_sparc_vec, bfd_elf64_sparc_vec): Add elf-vxworks.lo. 2534*75fd0b74Schristos * configure: Regenerate. 2535*75fd0b74Schristos * elf32-sparc.c: Include elf-vxworks.h. 2536*75fd0b74Schristos (elf32_sparc_vxworks_link_hash_table_create: New. 2537*75fd0b74Schristos (elf32_sparc_vxworks_final_write_processing): New. 2538*75fd0b74Schristos (TARGET_BIG_SYM): Override for VxWorks. 2539*75fd0b74Schristos (TARGET_BIG_NAME, ELF_MINPAGESIZE): Likewise. 2540*75fd0b74Schristos (bfd_elf32_bfd_link_hash_table_create): Likewise. 2541*75fd0b74Schristos (elf_backend_want_got_plt, elf_backend_plt_readonly): Likewise. 2542*75fd0b74Schristos (elf_backend_got_header_size, elf_backend_add_symbol_hook): Likewise. 2543*75fd0b74Schristos (elf_backend_link_output_symbol_hook): Likewise. 2544*75fd0b74Schristos (elf_backend_emit_relocs): Likewise. 2545*75fd0b74Schristos (elf_backend_final_write_processing, elf32_bed): Likewise. 2546*75fd0b74Schristos * elfxx-sparc.c: Include libiberty.h and elf-vxworks.h. 2547*75fd0b74Schristos (sparc_vxworks_exec_plt0_entry, sparc_vxworks_exec_plt_entry): New. 2548*75fd0b74Schristos (sparc_vxworks_shared_plt0_entry, sparc_vxworks_shared_plt_entry): New. 2549*75fd0b74Schristos (_bfd_sparc_elf_link_hash_table_create): Don't initialize 2550*75fd0b74Schristos build_plt_entry here. 2551*75fd0b74Schristos (create_got_section): Initialize sgotplt for VxWorks. 2552*75fd0b74Schristos (_bfd_sparc_elf_create_dynamic_sections): Initialize build_plt_entry, 2553*75fd0b74Schristos plt_header_size and plt_entry_size, with new VxWorks-specific settings. 2554*75fd0b74Schristos Call elf_vxworks_create_dynamic_sections for VxWorks. 2555*75fd0b74Schristos (allocate_dynrelocs): Use plt_header_size and plt_entry_size. 2556*75fd0b74Schristos Allocate room for .got.plt and .rela.plt.unloaded entries on VxWorks. 2557*75fd0b74Schristos (_bfd_sparc_elf_size_dynamic_sections): Don't allocate a nop in .plt 2558*75fd0b74Schristos for VxWorks. Check for the .got.plt section. 2559*75fd0b74Schristos (sparc_vxworks_build_plt_entry): New function. 2560*75fd0b74Schristos (_bfd_sparc_elf_finish_dynamic_symbol): Add handling of VxWorks PLTs. 2561*75fd0b74Schristos Don't make _GLOBAL_OFFSET_TABLE_ and _PROCEDURE_LINKAGE_TABLE_ 2562*75fd0b74Schristos absolute on VxWorks. 2563*75fd0b74Schristos (sparc32_finish_dyn): Add special handling for DT_RELASZ 2564*75fd0b74Schristos and DT_PLTGOT on VxWorks. 2565*75fd0b74Schristos (sparc_vxworks_finish_exec_plt): New. 2566*75fd0b74Schristos (sparc_vxworks_finish_shared_plt): New. 2567*75fd0b74Schristos (_bfd_sparc_elf_finish_dynamic_sections): Call them. 2568*75fd0b74Schristos Use plt_header_size and plt_entry_size. 2569*75fd0b74Schristos * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add is_vxworks, 2570*75fd0b74Schristos srelplt2, sgotplt, plt_header_size and plt_entry_size fields. 2571*75fd0b74Schristos * Makefile.am (elfxx-sparc.lo): Depend on elf-vxworks.h. 2572*75fd0b74Schristos (elf32-sparc.lo): Likewise. 2573*75fd0b74Schristos * Makefile.in: Regenerate. 2574*75fd0b74Schristos * targets.c (bfd_elf32_sparc_vxworks_vec): Declare. 2575*75fd0b74Schristos (_bfd_target_vector): Add a pointer to it. 2576*75fd0b74Schristos 2577*75fd0b74Schristos2006-03-30 Ben Elliston <bje@au.ibm.com> 2578*75fd0b74Schristos 2579*75fd0b74Schristos PR ld/2267 2580*75fd0b74Schristos * elflink.c (elf_fixup_link_order): Ensure `elfsec' is not a 2581*75fd0b74Schristos special section number that exceeds the number of ELF sections 2582*75fd0b74Schristos (eg. SHN_MIPS_SCOMMON). 2583*75fd0b74Schristos 2584*75fd0b74Schristos2006-03-27 Richard Sandiford <richard@codesourcery.com> 2585*75fd0b74Schristos 2586*75fd0b74Schristos * elfxx-mips.c (mips_got_entry): Add more commentary. 2587*75fd0b74Schristos (mips_elf_local_got_index): Use the hash table entry to record 2588*75fd0b74Schristos the GOT index of forced-local symbols. 2589*75fd0b74Schristos (mips_elf_initialize_tls_index): Rearrange code. Store the index 2590*75fd0b74Schristos in either the hash table entry or the mips_got_entry, not both. 2591*75fd0b74Schristos Add more commentary. 2592*75fd0b74Schristos (mips_elf_multi_got): Make sure the g->next is nonnull when calling 2593*75fd0b74Schristos mips_elf_initialize_tls_index. 2594*75fd0b74Schristos 2595*75fd0b74Schristos2006-03-25 Bernd Schmidt <bernd.schmidt@analog.com> 2596*75fd0b74Schristos 2597*75fd0b74Schristos * elf32-bfin.c (bfd_const_reloc, bfd_oper_reloc, bfin_push_reloc, 2598*75fd0b74Schristos RELOC_STACK_SIZE, reloc_stack, reloc_stack_tos, is_reloc_stack_empty, 2599*75fd0b74Schristos reloc_stack_push, reloc_stack_pop, reloc_stack_operate, 2600*75fd0b74Schristos bfin_areloc_howto_table): Delete. All 2601*75fd0b74Schristos uses deleted as well. 2602*75fd0b74Schristos (bfin_reloc_map): Delete all stack relocs. 2603*75fd0b74Schristos (bfin_info_to_howto, bfin_bfd_reloc_type_lookup, 2604*75fd0b74Schristos bfin_reloc_type_lookup): Don't support them. 2605*75fd0b74Schristos (bfin_relocate_section): Don't try to handle them. 2606*75fd0b74Schristos 2607*75fd0b74Schristos * config.bfd (bfin-*-*): Add bfd_elf32_bfinfdpic_vec. 2608*75fd0b74Schristos * configure.in: Likewise. 2609*75fd0b74Schristos * configure: Regenerate. 2610*75fd0b74Schristos * elf32-bfin.c: Include "elf/dwarf2.h" and "hashtab.h". 2611*75fd0b74Schristos (BFIN_RELOC_MAX): Now 0x21. 2612*75fd0b74Schristos (bfin_howto_table, bfin_reloc_map): Add FD-PIC relocs. 2613*75fd0b74Schristos (bfd_elf32_bfinfdpic_vec): Declare. 2614*75fd0b74Schristos (IS_FDPIC): New macro. 2615*75fd0b74Schristos (struct bfinfdpic_elf_link_hash_table): New struct. 2616*75fd0b74Schristos (bfinfdpic_hash_table, bfinfdpic_got_section, 2617*75fd0b74Schristos bfinfdpic_gotrel_section, bfinfdpic_gotfixup_section, 2618*75fd0b74Schristos bfinfdpic_plt_setion, bfinfdpic_pltrel_section, 2619*75fd0b74Schristos bfinfdpic_relocs_info, bfinfdpic_got_initial_offset, 2620*75fd0b74Schristos bfinfdpic_plt_initial_offset): Accessor macros for it. 2621*75fd0b74Schristos (BFINFDPIC_SYM_LOCAL, BFINFDPIC_FUNCDESC_LOCAL): New macros. 2622*75fd0b74Schristos (struct bfinfdpic_relocs_info): New struct. 2623*75fd0b74Schristos (LZPLT_RESOLVER_EXTRA, LZPLT_NORMAL_SIZE, LZPLT_ENTRIES, 2624*75fd0b74Schristos BFINFDPIC_LZPLT_BLOCK_SIZE, BFINFDPIC_LZPLT_RESOLV_LOC, 2625*75fd0b74Schristos DEFAULT_STACK_SIZE): New macros. 2626*75fd0b74Schristos (bfinfdpic_elf_link_hash_table_create, bfinfdpic_relocs_info_hash, 2627*75fd0b74Schristos bfinfdpic_relocs_info_eq, bfinfdpics_relocs_info_find, 2628*75fd0b74Schristos bfinfdpic_relocs_info_for_global, bfinfdpic_relocs_info_for_local, 2629*75fd0b74Schristos bfinfdpic_pic_merge_early_relocs_info, _bfinfdpic_add_dyn_reloc, 2630*75fd0b74Schristos _bfinfdpic_add_rofixup, _bfinfdpic_osec_to_segment, 2631*75fd0b74Schristos _bfinfdpic_osec_readonly_p, bfinfdpic_relocate_section, 2632*75fd0b74Schristos bfinfdpic_check_relocs, bfinfdpic_gc_sweep_hook, 2633*75fd0b74Schristos _bfinfdpic_link_omit_section_dynsym, _bfin_create_got_section, 2634*75fd0b74Schristos elf32_bfinfdpic_create_dynamic_sections, _bfinfdpic_get_fd_entry, 2635*75fd0b74Schristos _bfinfdpic_compute_got_alloc_data, _bfinfdpic_get_got_entry, 2636*75fd0b74Schristos _bfinfdpic_assign_got_entries, _bfinfdpic_assign_plt_entries, 2637*75fd0b74Schristos _bfinfdpic_resolve_final_relocs_info, 2638*75fd0b74Schristos elf32_bfinfdpic_size_dynamic_sections, 2639*75fd0b74Schristos elf32_bfinfdpic_always_size_sections, 2640*75fd0b74Schristos elf32_bfinfdpic_modify_segment_map, 2641*75fd0b74Schristos _bfinfdpic_count_got_plt_entries, 2642*75fd0b74Schristos elf32_bfinfdpic_finish_dynamic_sections, 2643*75fd0b74Schristos elf32_bfinfdpic_adjust_dynamic_symbol, 2644*75fd0b74Schristos elf32_bfinfdpic_finish_dynamic_symbol, 2645*75fd0b74Schristos elf32_bfinfdpic_elf_use_relative_eh_frame, 2646*75fd0b74Schristos elf32_bfinfdpic_elf_encode_eh_address, 2647*75fd0b74Schristos elf32_bfin_object_p, bfin_elf_copy_private_bfd_data, 2648*75fd0b74Schristos elf32_bfinfdpic_copy_private_bfd_data, 2649*75fd0b74Schristos (struct _bfinfdpic_dynamic_got_info, 2650*75fd0b74Schristos struct _bfinfdpic_dynamic_got_plt_info): New structs. 2651*75fd0b74Schristos (elf32_bfin_print_private_bfd_data): Print PIC flags. 2652*75fd0b74Schristos (elf32_bfin_merge_private_bfd_data): Extend to support FD-PIC. 2653*75fd0b74Schristos (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, elf32_bed, 2654*75fd0b74Schristos elf_backend_got_header_size, bfd_elf32_bfd_link_hash_table_create, 2655*75fd0b74Schristos elf_backend_always_size_sectinos, elf_backend_modify_segment_map, 2656*75fd0b74Schristos bfd_elf32_bfd_copy_private_bfd_data, 2657*75fd0b74Schristos elf_backend_create_dynamic_sections, elf_backend_adjust_dynamic_symbol, 2658*75fd0b74Schristos elf_backend_size_dynamic_sections, elf_backend_finish_dynamic_symbol, 2659*75fd0b74Schristos elf_backend_finish_dynamic_sections, elf_backend_relocate_section, 2660*75fd0b74Schristos elf_backend_can_make_relative_eh_frame, elf_backend_check_relocs, 2661*75fd0b74Schristos elf_backend_can_make_ldsa_relative_eh_frame, elf_backend_may_use_rel_p, 2662*75fd0b74Schristos elf_backend_may_use_rela_p, elf_backend_default_use_rela_p, 2663*75fd0b74Schristos elf_backend_omit_section_dynsym): Redefine these macros and include 2664*75fd0b74Schristos "elf32-target.h" again to create the elf32-bfinfdpic target. 2665*75fd0b74Schristos * reloc.c (BFD_RELOC_BFIN_GOT17M4, BFD_RELOC_BFIN_GOTHI, 2666*75fd0b74Schristos BFD_RELOC_BFIN_GOTLO, BFD_RELOC_BFIN_FUNCDESC, 2667*75fd0b74Schristos BFD_RELOC_BFIN_FUNCDESC_GOT17M4, BFD_RELOC_BFIN_FUNCDESC_GOTHI, 2668*75fd0b74Schristos BFD_RELOC_BFIN_FUNCDESC_GOTLO, BFD_RELOC_BFIN_FUNCDESC_VALUE, 2669*75fd0b74Schristos BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4, BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI, 2670*75fd0b74Schristos BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO, BFD_RELOC_BFIN_GOTOFFHI, 2671*75fd0b74Schristos BFD_RELOC_BFIN_GOTOFFLO): New. 2672*75fd0b74Schristos * targets.c (bfd_elf32_bfinfdpic_vec): New bfd_target. 2673*75fd0b74Schristos (_bfd_target_vector): Add it. 2674*75fd0b74Schristos * bfd-in2.h: Regenerate. 2675*75fd0b74Schristos * libbfd.h: Regenerate. 2676*75fd0b74Schristos 2677*75fd0b74Schristos2006-03-25 Richard Sandiford <richard@codesourcery.com> 2678*75fd0b74Schristos 2679*75fd0b74Schristos * cpu-m68k.c (bfd_m68k_compatible): Treat ISA A+ and ISA B code as 2680*75fd0b74Schristos incompatible. Likewise MAC and EMAC code. 2681*75fd0b74Schristos * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Use 2682*75fd0b74Schristos bfd_get_compatible to set the new bfd architecture. Rely on it 2683*75fd0b74Schristos to detect incompatibilities. 2684*75fd0b74Schristos 2685*75fd0b74Schristos2006-03-23 Michael Matz <matz@suse.de> 2686*75fd0b74Schristos 2687*75fd0b74Schristos * reloc.c: Add BFD_RELOC_X86_64_GOT64, BFD_RELOC_X86_64_GOTPCREL64, 2688*75fd0b74Schristos BFD_RELOC_X86_64_GOTPC64, BFD_RELOC_X86_64_GOTPLT64, 2689*75fd0b74Schristos BFD_RELOC_X86_64_PLTOFF64. 2690*75fd0b74Schristos * bfd-in2.h: Regenerated. 2691*75fd0b74Schristos * libbfd.h: Regenerated. 2692*75fd0b74Schristos * elf64-x86-64.c (x86_64_elf_howto_table): Correct comment. 2693*75fd0b74Schristos Add howtos for above relocs. 2694*75fd0b74Schristos (x86_64_reloc_map): Add mappings for new relocs. 2695*75fd0b74Schristos (elf64_x86_64_check_relocs): R_X86_64_GOT64, R_X86_64_GOTPCREL64, 2696*75fd0b74Schristos R_X86_64_GOTPLT64 need a got entry. R_X86_64_GOTPLT64 also a PLT 2697*75fd0b74Schristos entry. R_X86_64_GOTPC64 needs a .got section. R_X86_64_PLTOFF64 2698*75fd0b74Schristos needs a PLT entry. 2699*75fd0b74Schristos (elf64_x86_64_gc_sweep_hook): Reflect changes from 2700*75fd0b74Schristos elf64_x86_64_check_relocs for the new relocs. 2701*75fd0b74Schristos (elf64_x86_64_relocate_section): Handle new relocs. 2702*75fd0b74Schristos 2703*75fd0b74Schristos2006-03-22 Bob Wilson <bob.wilson@acm.org> 2704*75fd0b74Schristos 2705*75fd0b74Schristos * elf32-xtensa.c (xtensa_read_table_entries): Remove assertion that 2706*75fd0b74Schristos rel->r_addend is zero. 2707*75fd0b74Schristos 2708*75fd0b74Schristos2006-03-22 Richard Sandiford <richard@codesourcery.com> 2709*75fd0b74Schristos 2710*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Fix type 2711*75fd0b74Schristos of "loc". 2712*75fd0b74Schristos 2713*75fd0b74Schristos2006-03-22 Richard Sandiford <richard@codesourcery.com> 2714*75fd0b74Schristos Daniel Jacobowitz <dan@codesourcery.com> 2715*75fd0b74Schristos Phil Edwards <phil@codesourcery.com> 2716*75fd0b74Schristos Zack Weinberg <zack@codesourcery.com> 2717*75fd0b74Schristos Mark Mitchell <mark@codesourcery.com> 2718*75fd0b74Schristos Nathan Sidwell <nathan@codesourcery.com> 2719*75fd0b74Schristos 2720*75fd0b74Schristos * bfd-in2.h: Regenerate. 2721*75fd0b74Schristos * config.bfd (mips*-*-vxworks*, mips*el-*-vxworks*): New stanzas. 2722*75fd0b74Schristos * configure.in (bfd_elf32_bigmips_vxworks_vec): New stanza. 2723*75fd0b74Schristos (bfd_elf32_littlemips_vxworks_vec): Likewise. 2724*75fd0b74Schristos (bfd_elf32_bigmips_vec): Add elf-vxworks.lo. 2725*75fd0b74Schristos (bfd_elf32_littlemips_vec): Likewise. 2726*75fd0b74Schristos (bfd_elf32_nbigmips_vec): Likewise. 2727*75fd0b74Schristos (bfd_elf32_nlittlemips_vec): Likewise. 2728*75fd0b74Schristos (bfd_elf32_ntradbigmips_vec): Likewise. 2729*75fd0b74Schristos (bfd_elf32_ntradlittlemips_vec): Likewise. 2730*75fd0b74Schristos (bfd_elf32_tradbigmips_vec): Likewise. 2731*75fd0b74Schristos (bfd_elf32_tradlittlemips_vec): Likewise. 2732*75fd0b74Schristos (bfd_elf64_bigmips_vec): Likewise. 2733*75fd0b74Schristos (bfd_elf64_littlemips_vec): Likewise. 2734*75fd0b74Schristos (bfd_elf64_tradbigmips_vec): Likewise. 2735*75fd0b74Schristos (bfd_elf64_tradlittlemips_vec): Likewise. 2736*75fd0b74Schristos * elf32-mips.c: Include elf-vxworks.h. 2737*75fd0b74Schristos (mips_info_to_howto_rel): Use elf_backend_mips_rtype_to_howto 2738*75fd0b74Schristos instead of calling mips_elf32_rtype_to_howto directly. 2739*75fd0b74Schristos (mips_vxworks_copy_howto_rela): New reloc howto. 2740*75fd0b74Schristos (mips_vxworks_jump_slot_howto_rela): Likewise. 2741*75fd0b74Schristos (mips_vxworks_bfd_reloc_type_lookup): New function. 2742*75fd0b74Schristos (mips_vxworks_rtype_to_howto): Likewise. 2743*75fd0b74Schristos (mips_vxworks_final_write_processing): Likewise. 2744*75fd0b74Schristos (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Override for VxWorks. 2745*75fd0b74Schristos (TARGET_BIG_SYM, TARGET_BIG_NAME, elf_bed, ELF_MAXPAGESIZE): Likewise. 2746*75fd0b74Schristos (elf_backend_want_got_plt): Likewise. 2747*75fd0b74Schristos (elf_backend_want_plt_sym): Likewise. 2748*75fd0b74Schristos (elf_backend_got_symbol_offset): Likewise. 2749*75fd0b74Schristos (elf_backend_want_dynbss): Likewise. 2750*75fd0b74Schristos (elf_backend_may_use_rel_p): Likewise. 2751*75fd0b74Schristos (elf_backend_may_use_rela_p): Likewise. 2752*75fd0b74Schristos (elf_backend_default_use_rela_p): Likewise. 2753*75fd0b74Schristos (elf_backend_got_header_size: Likewise. 2754*75fd0b74Schristos (elf_backend_plt_readonly): Likewise. 2755*75fd0b74Schristos (bfd_elf32_bfd_reloc_type_lookup): Likewise. 2756*75fd0b74Schristos (elf_backend_mips_rtype_to_howto): Likewise. 2757*75fd0b74Schristos (elf_backend_adjust_dynamic_symbol): Likewise. 2758*75fd0b74Schristos (elf_backend_finish_dynamic_symbol): Likewise. 2759*75fd0b74Schristos (bfd_elf32_bfd_link_hash_table_create): Likewise. 2760*75fd0b74Schristos (elf_backend_add_symbol_hook): Likewise. 2761*75fd0b74Schristos (elf_backend_link_output_symbol_hook): Likewise. 2762*75fd0b74Schristos (elf_backend_emit_relocs): Likewise. 2763*75fd0b74Schristos (elf_backend_final_write_processing: Likewise. 2764*75fd0b74Schristos (elf_backend_additional_program_headers): Likewise. 2765*75fd0b74Schristos (elf_backend_modify_segment_map): Likewise. 2766*75fd0b74Schristos (elf_backend_symbol_processing): Likewise. 2767*75fd0b74Schristos * elfxx-mips.c: Include elf-vxworks.h. 2768*75fd0b74Schristos (mips_elf_link_hash_entry): Add is_relocation_target and 2769*75fd0b74Schristos is_branch_target fields. 2770*75fd0b74Schristos (mips_elf_link_hash_table): Add is_vxworks, srelbss, sdynbss, srelplt, 2771*75fd0b74Schristos srelplt2, sgotplt, splt, plt_header_size and plt_entry_size fields. 2772*75fd0b74Schristos (MIPS_ELF_RELA_SIZE, MIPS_ELF_REL_DYN_NAME): New macros. 2773*75fd0b74Schristos (MIPS_RESERVED_GOTNO): Take a mips_elf_link_hash_table argument. 2774*75fd0b74Schristos Return 3 for VxWorks. 2775*75fd0b74Schristos (ELF_MIPS_GP_OFFSET): Change the argument from a bfd to a 2776*75fd0b74Schristos mips_elf_link_hash_table. Return 0 for VxWorks. 2777*75fd0b74Schristos (MIPS_ELF_GOT_MAX_SIZE): Change the argument from a bfd to a 2778*75fd0b74Schristos mips_elf_link_hash_table. Update the call to ELF_MIPS_GP_OFFSET. 2779*75fd0b74Schristos (mips_vxworks_exec_plt0_entry): New variable. 2780*75fd0b74Schristos (mips_vxworks_exec_plt_entry): Likewise. 2781*75fd0b74Schristos (mips_vxworks_shared_plt0_entry): Likewise. 2782*75fd0b74Schristos (mips_vxworks_shared_plt_entry): Likewise. 2783*75fd0b74Schristos (mips_elf_link_hash_newfunc): Initialize the new hash_entry fields. 2784*75fd0b74Schristos (mips_elf_rel_dyn_section): Change the bfd argument to a 2785*75fd0b74Schristos mips_elf_link_hash_table. Use MIPS_ELF_REL_DYN_NAME to get 2786*75fd0b74Schristos the name of the section. 2787*75fd0b74Schristos (mips_elf_initialize_tls_slots): Update the call to 2788*75fd0b74Schristos mips_elf_rel_dyn_section. 2789*75fd0b74Schristos (mips_elf_gotplt_index): New function. 2790*75fd0b74Schristos (mips_elf_local_got_index): Add an input_section argument. 2791*75fd0b74Schristos Update the call to mips_elf_create_local_got_entry. 2792*75fd0b74Schristos (mips_elf_got_page): Likewise. 2793*75fd0b74Schristos (mips_elf_got16_entry): Likewise. 2794*75fd0b74Schristos (mips_elf_create_local_got_entry): Add bfd_link_info and input_section 2795*75fd0b74Schristos arguments. Create dynamic relocations for each entry on VxWorks. 2796*75fd0b74Schristos (mips_elf_merge_gots): Update the use of MIPS_ELF_GOT_MAX_SIZE. 2797*75fd0b74Schristos (mips_elf_multi_got): Update the uses of MIPS_ELF_GOT_MAX_SIZE 2798*75fd0b74Schristos and MIPS_RESERVED_GOTNO. 2799*75fd0b74Schristos (mips_elf_create_got_section): Update the uses of 2800*75fd0b74Schristos MIPS_ELF_GOT_MAX_SIZE. Create .got.plt on VxWorks. 2801*75fd0b74Schristos (is_gott_symbol): New function. 2802*75fd0b74Schristos (mips_elf_calculate_relocation): Use a dynobj local variable. 2803*75fd0b74Schristos Update the calls to mips_elf_local_got_index, mips_elf_got16_entry and 2804*75fd0b74Schristos mips_elf_got_page_entry. Set G to the .got.plt entry when calculating 2805*75fd0b74Schristos VxWorks R_MIPS_CALL* relocations. Calculate and use G for all GOT 2806*75fd0b74Schristos relocations on VxWorks. Add dynamic relocations for references 2807*75fd0b74Schristos to the VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols. Don't 2808*75fd0b74Schristos create dynamic relocations for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 2809*75fd0b74Schristos in VxWorks executables. 2810*75fd0b74Schristos (mips_elf_allocate_dynamic_relocations): Add a bfd_link_info argument. 2811*75fd0b74Schristos Use MIPS_ELF_RELA_SIZE to calculate the size of a VxWorks entry. 2812*75fd0b74Schristos Don't allocate a null entry on VxWorks. 2813*75fd0b74Schristos (mips_elf_create_dynamic_relocation): Update the call to 2814*75fd0b74Schristos mips_elf_rel_dyn_section. Use absolute rather than relative 2815*75fd0b74Schristos relocations for VxWorks, and make them RELA rather than REL. 2816*75fd0b74Schristos (_bfd_mips_elf_create_dynamic_sections): Don't make .dynamic 2817*75fd0b74Schristos read-only on VxWorks. Update the call to mips_elf_rel_dyn_section. 2818*75fd0b74Schristos Create the .plt, .rela.plt, .dynbss and .rela.bss sections on 2819*75fd0b74Schristos VxWorks. Likewise create the _PROCEDURE_LINKAGE_TABLE symbol. 2820*75fd0b74Schristos Call elf_vxworks_create_dynamic_sections for VxWorks and 2821*75fd0b74Schristos initialize the plt_header_size and plt_entry_size fields. 2822*75fd0b74Schristos (_bfd_mips_elf_check_relocs): Don't allow GOT relocations to be 2823*75fd0b74Schristos used in VxWorks executables. Don't allocate dynamic relocations 2824*75fd0b74Schristos for R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 in VxWorks executables. 2825*75fd0b74Schristos Set is_relocation_target for each symbol referenced by a relocation. 2826*75fd0b74Schristos Allocate .rela.dyn entries for relocations against the special 2827*75fd0b74Schristos VxWorks __GOTT_BASE__ and __GOTT_INDEX__ symbols. Create GOT 2828*75fd0b74Schristos entries for all VxWorks R_MIPS_GOT16 relocations. Don't allocate 2829*75fd0b74Schristos a global GOT entry for symbols mentioned in VxWorks R_MIPS_CALL*, 2830*75fd0b74Schristos R_MIPS_32, R_MIPS_REL32 or R_MIPS_64 relocations. Update the calls 2831*75fd0b74Schristos to mips_elf_rel_dyn_section and mips_elf_allocate_dynamic_relocations. 2832*75fd0b74Schristos Set is_branch_target for symbols mentioned in R_MIPS_PC16 or R_MIPS_26 2833*75fd0b74Schristos relocations. Don't set no_fn_stub on VxWorks. 2834*75fd0b74Schristos (_bfd_mips_elf_adjust_dynamic_symbol): Update the call to 2835*75fd0b74Schristos mips_elf_allocate_dynamic_relocations. 2836*75fd0b74Schristos (_bfd_mips_vxworks_adjust_dynamic_symbol): New function. 2837*75fd0b74Schristos (_bfd_mips_elf_always_size_sections): Do not allocate GOT page 2838*75fd0b74Schristos entries for VxWorks, and do not create multiple GOTs. 2839*75fd0b74Schristos (_bfd_mips_elf_size_dynamic_sections): Use MIPS_ELF_REL_DYN_NAME. 2840*75fd0b74Schristos Handle .got specially for VxWorks. Update the uses of 2841*75fd0b74Schristos MIPS_RESERVED_GOTNO and mips_elf_allocate_dynamic_relocations. 2842*75fd0b74Schristos Check for sgotplt and splt. Allocate the .rel(a).dyn contents last, 2843*75fd0b74Schristos once its final size is known. Set DF_TEXTREL for VxWorks. Add 2844*75fd0b74Schristos DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL, DT_PLTRELSZ and DT_JMPREL 2845*75fd0b74Schristos tags on VxWorks. Do not add the MIPS-specific tags for VxWorks. 2846*75fd0b74Schristos (_bfd_mips_vxworks_finish_dynamic_symbol): New function. 2847*75fd0b74Schristos (mips_vxworks_finish_exec_plt): Likewise. 2848*75fd0b74Schristos (mips_vxworks_finish_shared_plt): Likewise. 2849*75fd0b74Schristos (_bfd_mips_elf_finish_dynamic_sections): Remove an unncessary call 2850*75fd0b74Schristos to mips_elf_rel_dyn_section. Use a VxWorks-specific value of 2851*75fd0b74Schristos DT_PLTGOT. Handle DT_RELA, DT_RELASZ, DT_RELAENT, DT_PLTREL, 2852*75fd0b74Schristos DT_PLTRELSZ and DT_JMPREL. Update the uses of MIPS_RESERVED_GOTNO 2853*75fd0b74Schristos and mips_elf_rel_dyn_section. Use a different GOT header for 2854*75fd0b74Schristos VxWorks. Don't sort .rela.dyn on VxWorks. Finish the PLT on VxWorks. 2855*75fd0b74Schristos (_bfd_mips_elf_link_hash_table_create): Initialize the new 2856*75fd0b74Schristos mips_elf_link_hash_table fields. 2857*75fd0b74Schristos (_bfd_mips_vxworks_link_hash_table_create): New function. 2858*75fd0b74Schristos (_bfd_mips_elf_final_link): Set the GP value to _GLOBAL_OFFSET_TABLE_ 2859*75fd0b74Schristos on VxWorks. Update the call to ELF_MIPS_GP_OFFSET. 2860*75fd0b74Schristos * elfxx-mips.h (_bfd_mips_vxworks_adjust_dynamic_symbol): Declare. 2861*75fd0b74Schristos (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. 2862*75fd0b74Schristos (_bfd_mips_vxworks_link_hash_table_create): Likewise. 2863*75fd0b74Schristos * libbfd.h: Regenerate. 2864*75fd0b74Schristos * Makefile.am (elfxx-mips.lo): Depend on elf-vxworks.h. 2865*75fd0b74Schristos (elf32-mips.lo): Likewise. 2866*75fd0b74Schristos * Makefile.in: Regenerate. 2867*75fd0b74Schristos * reloc.c (BFD_RELOC_MIPS_COPY, BFD_RELOC_MIPS_JUMP_SLOT): Declare. 2868*75fd0b74Schristos * targets.c (bfd_elf32_bigmips_vxworks_vec): Declare. 2869*75fd0b74Schristos (bfd_elf32_littlemips_vxworks_vec): Likewise. 2870*75fd0b74Schristos (_bfd_target_vector): Add entries for them. 2871*75fd0b74Schristos 2872*75fd0b74Schristos2006-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2873*75fd0b74Schristos 2874*75fd0b74Schristos * elf64-hppa.c (elf64_hppa_special_sections): Change flags for .tbss 2875*75fd0b74Schristos section from SHF_PARISC_WEAKORDER to SHF_HP_TLS. 2876*75fd0b74Schristos (elf_backend_special_sections): Remove #undef. 2877*75fd0b74Schristos 2878*75fd0b74Schristos2006-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2879*75fd0b74Schristos 2880*75fd0b74Schristos * elf64-hppa.c (allocate_global_data_opd): Don't create an OPD entry 2881*75fd0b74Schristos for undefined weak symbols. 2882*75fd0b74Schristos 2883*75fd0b74Schristos2006-03-17 Daniel Jacobowitz <dan@codesourcery.com> 2884*75fd0b74Schristos 2885*75fd0b74Schristos PR ld/2462 2886*75fd0b74Schristos * elflink.c (bfd_elf_final_link): Remove 2887*75fd0b74Schristos bed->elf_backend_emit_relocs from emit_relocs. 2888*75fd0b74Schristos 2889*75fd0b74Schristos2006-03-17 Alexandre Oliva <aoliva@redhat.com> 2890*75fd0b74Schristos 2891*75fd0b74Schristos * elf32-ppc.c (ppc_elf_relocate_section): Copy addend from 2892*75fd0b74Schristos first relocation to the second when relaxing TLS GD to LE; 2893*75fd0b74Schristos zero it out when relaxing to IE. 2894*75fd0b74Schristos 2895*75fd0b74Schristos2006-03-17 Alan Modra <amodra@bigpond.net.au> 2896*75fd0b74Schristos 2897*75fd0b74Schristos PR 2434 2898*75fd0b74Schristos * elflink.c (elf_link_add_object_symbols): Save and restore 2899*75fd0b74Schristos warning sym's linked sym. 2900*75fd0b74Schristos 2901*75fd0b74Schristos2006-03-16 Alan Modra <amodra@bigpond.net.au> 2902*75fd0b74Schristos 2903*75fd0b74Schristos PR 2434 2904*75fd0b74Schristos * elflink.c (struct elf_smash_syms_data, elf_smash_syms): Delete. 2905*75fd0b74Schristos (elf_link_add_object_symbols): Delete unnecessary locals. Rename 2906*75fd0b74Schristos hash_table -> htab. Formatting. Save entire symbol table 2907*75fd0b74Schristos before loading as-needed syms, and restore afterwards if lib not 2908*75fd0b74Schristos needed. Use bfd_hash_allocate rather than bfd_alloc for sym 2909*75fd0b74Schristos name. Free some buffers earlier. 2910*75fd0b74Schristos * bfd-in.h (struct bfd_hash_table): Add entsize. 2911*75fd0b74Schristos (bfd_hash_table_init, bfd_hash_table_init_n): Adjust prototype. 2912*75fd0b74Schristos * elf-bfd.h (_bfd_elf_link_hash_table_init): Likewise 2913*75fd0b74Schristos * hash.c (bfd_hash_table_init_n): Add entsize param, save to 2914*75fd0b74Schristos hash table. 2915*75fd0b74Schristos (bfd_hash_table_init): Add param, adjust calls. 2916*75fd0b74Schristos * aoutx.h: Adjust all hash_table_init functions and calls. 2917*75fd0b74Schristos * bfd.c: Likewise. 2918*75fd0b74Schristos * coff-arm.c: Likewise. 2919*75fd0b74Schristos * coff-h8300.c: Likewise. 2920*75fd0b74Schristos * coff-ppc.c: Likewise. 2921*75fd0b74Schristos * cofflink.c: Likewise. 2922*75fd0b74Schristos * ecoff.c: Likewise. 2923*75fd0b74Schristos * ecofflink.c: Likewise. 2924*75fd0b74Schristos * elf-m10300.c: Likewise. 2925*75fd0b74Schristos * elf-strtab.c: Likewise. 2926*75fd0b74Schristos * elf.c: Likewise. 2927*75fd0b74Schristos * elf32-arm.c: Likewise. 2928*75fd0b74Schristos * elf32-bfin.c: Likewise. 2929*75fd0b74Schristos * elf32-cris.c: Likewise. 2930*75fd0b74Schristos * elf32-frv.c: Likewise. 2931*75fd0b74Schristos * elf32-hppa.c: Likewise. 2932*75fd0b74Schristos * elf32-i386.c: Likewise. 2933*75fd0b74Schristos * elf32-m32r.c: Likewise. 2934*75fd0b74Schristos * elf32-m68hc1x.c: Likewise. 2935*75fd0b74Schristos * elf32-m68k.c: Likewise. 2936*75fd0b74Schristos * elf32-ppc.c: Likewise. 2937*75fd0b74Schristos * elf32-s390.c: Likewise. 2938*75fd0b74Schristos * elf32-sh.c: Likewise. 2939*75fd0b74Schristos * elf32-vax.c: Likewise. 2940*75fd0b74Schristos * elf64-alpha.c: Likewise. 2941*75fd0b74Schristos * elf64-hppa.c: Likewise. 2942*75fd0b74Schristos * elf64-ppc.c: Likewise. 2943*75fd0b74Schristos * elf64-s390.c: Likewise. 2944*75fd0b74Schristos * elf64-sh64.c: Likewise. 2945*75fd0b74Schristos * elf64-x86-64.c: Likewise. 2946*75fd0b74Schristos * elfxx-ia64.c: Likewise. 2947*75fd0b74Schristos * elfxx-mips.c: Likewise. 2948*75fd0b74Schristos * elfxx-sparc.c: Likewise. 2949*75fd0b74Schristos * i386linux.c: Likewise. 2950*75fd0b74Schristos * libaout.h: Likewise. 2951*75fd0b74Schristos * libbfd-in.h: Likewise. 2952*75fd0b74Schristos * libcoff-in.h: Likewise. 2953*75fd0b74Schristos * linker.c: Likewise. 2954*75fd0b74Schristos * m68klinux.c: Likewise. 2955*75fd0b74Schristos * merge.c: Likewise. 2956*75fd0b74Schristos * opncls.c: Likewise. 2957*75fd0b74Schristos * pdp11.c: Likewise. 2958*75fd0b74Schristos * sparclinux.c: Likewise. 2959*75fd0b74Schristos * stabs.c: Likewise. 2960*75fd0b74Schristos * sunos.c: Likewise. 2961*75fd0b74Schristos * vms.c: Likewise. 2962*75fd0b74Schristos * xcofflink.c: Likewise. 2963*75fd0b74Schristos * section.c (struct section_hash_entry): Move to.. 2964*75fd0b74Schristos * libbfd-in.h: ..here. 2965*75fd0b74Schristos * Makefile.am: Run "make dep-am" 2966*75fd0b74Schristos * Makefile.in: Regenerate. 2967*75fd0b74Schristos * bfd-in2.h: Regenerate. 2968*75fd0b74Schristos * libbfd.h: Regenerate. 2969*75fd0b74Schristos * libcoff.h: Regenerate. 2970*75fd0b74Schristos 2971*75fd0b74Schristos2006-03-16 Alan Modra <amodra@bigpond.net.au> 2972*75fd0b74Schristos 2973*75fd0b74Schristos * elf32-ppc.c (ppc_elf_check_relocs): REL24 and REL14 relocs 2974*75fd0b74Schristos against __GLOBAL_OFFSET_TABLE__ need never be dynamic. Tweak 2975*75fd0b74Schristos last change to REL32 relocs so that they are counted as 2976*75fd0b74Schristos possibly dynamic as per REL24 and REL14. 2977*75fd0b74Schristos 2978*75fd0b74Schristos2006-03-16 Alan Modra <amodra@bigpond.net.au> 2979*75fd0b74Schristos 2980*75fd0b74Schristos * elf32-ppc.c (ppc_elf_check_relocs): Don't fall into REL24 2981*75fd0b74Schristos checks from REL32. 2982*75fd0b74Schristos 2983*75fd0b74Schristos2006-03-15 Ben Elliston <bje@au.ibm.com> 2984*75fd0b74Schristos 2985*75fd0b74Schristos * elf32-arm.c (elf32_arm_merge_eabi_attributes): Iterate over all 2986*75fd0b74Schristos in_list elements, not just the first. 2987*75fd0b74Schristos 2988*75fd0b74Schristos2006-03-14 Richard Sandiford <richard@codesourcery.com> 2989*75fd0b74Schristos 2990*75fd0b74Schristos * elf32-mips.c (mips_elf_adjust_addend): New function, mostly split 2991*75fd0b74Schristos out from... 2992*75fd0b74Schristos (_bfd_mips_elf_relocate_section): ...here. Use it to adjust r_addend 2993*75fd0b74Schristos for final links too. 2994*75fd0b74Schristos 2995*75fd0b74Schristos2006-03-13 Richard Sandiford <richard@codesourcery.com> 2996*75fd0b74Schristos 2997*75fd0b74Schristos * elfxx-mips.c (mips_elf_create_got_section): Initialize hgot. 2998*75fd0b74Schristos 2999*75fd0b74Schristos2006-03-11 H.J. Lu <hongjiu.lu@intel.com> 3000*75fd0b74Schristos 3001*75fd0b74Schristos PR ld/2443 3002*75fd0b74Schristos * dwarf2.c (concat_filename): Don't issue an error if file is 0. 3003*75fd0b74Schristos 3004*75fd0b74Schristos2006-03-10 Paul Brook <paul@codesourcery.com> 3005*75fd0b74Schristos 3006*75fd0b74Schristos * elf32-arm.c (INTERWORK_FLAG): Handle EABIv5. 3007*75fd0b74Schristos (elf32_arm_print_private_bfd_data): Ditto. 3008*75fd0b74Schristos 3009*75fd0b74Schristos2006-03-09 Paul Brook <paul@codesourcery.com> 3010*75fd0b74Schristos 3011*75fd0b74Schristos * cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional 3012*75fd0b74Schristos mapping symbols. 3013*75fd0b74Schristos 3014*75fd0b74Schristos2006-03-09 Khem Raj <khem@mvista.com> 3015*75fd0b74Schristos 3016*75fd0b74Schristos * elf32-arm.c(elf32_arm_finish_dynamic_sections): Use unsigned 3017*75fd0b74Schristos char type. 3018*75fd0b74Schristos 3019*75fd0b74Schristos2006-03-08 H.J. Lu <hongjiu.lu@intel.com> 3020*75fd0b74Schristos 3021*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_choose_gp): Properly choose gp. 3022*75fd0b74Schristos 3023*75fd0b74Schristos2006-03-07 Richard Sandiford <richard@codesourcery.com> 3024*75fd0b74Schristos Daniel Jacobowitz <dan@codesourcery.com> 3025*75fd0b74Schristos Zack Weinberg <zack@codesourcery.com> 3026*75fd0b74Schristos Nathan Sidwell <nathan@codesourcery.com> 3027*75fd0b74Schristos Paul Brook <paul@codesourcery.com> 3028*75fd0b74Schristos Ricardo Anguiano <anguiano@codesourcery.com> 3029*75fd0b74Schristos Phil Edwards <phil@codesourcery.com> 3030*75fd0b74Schristos 3031*75fd0b74Schristos * configure.in (bfd_elf32_bigarm_vec): Include elf-vxworks.lo. 3032*75fd0b74Schristos (bfd_elf32_bigarm_symbian_vec): Likewise. 3033*75fd0b74Schristos (bfd_elf32_bigarm_vxworks_vec): Likewise. 3034*75fd0b74Schristos (bfd_elf32_littlearm_vec): Likewise. 3035*75fd0b74Schristos (bfd_elf32_littlearm_symbian_vec): Likewise. 3036*75fd0b74Schristos (bfd_elf32_littlearm_vxworks_vec): Likewise. 3037*75fd0b74Schristos * configure: Regenerate. 3038*75fd0b74Schristos * elf32-arm.c: Include libiberty.h and elf-vxworks.h. 3039*75fd0b74Schristos (RELOC_SECTION, RELOC_SIZE, SWAP_RELOC_IN, SWAP_RELOC_OUT): New macros. 3040*75fd0b74Schristos (elf32_arm_vxworks_bed): Add forward declaration. 3041*75fd0b74Schristos (elf32_arm_howto_table_1): Fix the masks for R_ASM_ABS12. 3042*75fd0b74Schristos (elf32_arm_vxworks_exec_plt0_entry): New table. 3043*75fd0b74Schristos (elf32_arm_vxworks_exec_plt_entry): Likewise. 3044*75fd0b74Schristos (elf32_arm_vxworks_shared_plt_entry): Likewise. 3045*75fd0b74Schristos (elf32_arm_link_hash_table): Add vxworks_p and srelplt2 fields. 3046*75fd0b74Schristos (reloc_section_p): New function. 3047*75fd0b74Schristos (create_got_section): Use RELOC_SECTION. 3048*75fd0b74Schristos (elf32_arm_create_dynamic_sections): Likewise. Call 3049*75fd0b74Schristos elf_vxworks_create_dynamic_sections for VxWorks targets. 3050*75fd0b74Schristos Choose between the two possible values of plt_header_size 3051*75fd0b74Schristos and plt_entry_size. 3052*75fd0b74Schristos (elf32_arm_link_hash_table_create): Initialize vxworks_p and srelplt2. 3053*75fd0b74Schristos (elf32_arm_abs12_reloc): New function. 3054*75fd0b74Schristos (elf32_arm_final_link_relocate): Call it. Allow the creation of 3055*75fd0b74Schristos dynamic R_ARM_ABS12 relocs on VxWorks. Use reloc_section_p, 3056*75fd0b74Schristos RELOC_SIZE, SWAP_RELOC_OUT and RELOC_SECTION. Initialize the 3057*75fd0b74Schristos r_addend fields of relocs. On rela targets, skip any code that 3058*75fd0b74Schristos adjusts in-place addends. When using _bfd_link_final_relocate 3059*75fd0b74Schristos to perform a final relocation, pass rel->r_addend as the addend 3060*75fd0b74Schristos argument. 3061*75fd0b74Schristos (elf32_arm_merge_private_bfd_data): If one of the bfds is a VxWorks 3062*75fd0b74Schristos object, ignore flags that are not standard on VxWorks. 3063*75fd0b74Schristos (elf32_arm_check_relocs): Allow the creation of dynamic R_ARM_ABS12 3064*75fd0b74Schristos relocs on VxWorks. Use reloc_section_p. 3065*75fd0b74Schristos (elf32_arm_adjust_dynamic_symbol): Use RELOC_SECTION and RELOC_SIZE. 3066*75fd0b74Schristos (allocate_dynrelocs): Use RELOC_SIZE. Account for the size of 3067*75fd0b74Schristos .rela.plt.unloaded relocs on VxWorks targets. 3068*75fd0b74Schristos (elf32_arm_size_dynamic_sections): Use RELOC_SIZE. Check for 3069*75fd0b74Schristos .rela.plt.unloaded as well as .rel(a).plt. Add DT_RELA* tags 3070*75fd0b74Schristos instead of DT_REL* tags on RELA targets. 3071*75fd0b74Schristos (elf32_arm_finish_dynamic_symbol): Use RELOC_SECTION, RELOC_SIZE 3072*75fd0b74Schristos and SWAP_RELOC_OUT. Initialize r_addend fields. Handle VxWorks 3073*75fd0b74Schristos PLT entries. Do not make _GLOBAL_OFFSET_TABLE_ absolute on VxWorks. 3074*75fd0b74Schristos (elf32_arm_finish_dynamic_sections): Use RELOC_SECTION, RELOC_SIZE 3075*75fd0b74Schristos and SWAP_RELOC_OUT. Initialize r_addend fields. Handle DT_RELASZ 3076*75fd0b74Schristos like DT_RELSZ. Handle the VxWorks form of initial PLT entry. 3077*75fd0b74Schristos Correct the .rela.plt.unreloaded symbol indexes. 3078*75fd0b74Schristos (elf32_arm_output_symbol_hook): Call the VxWorks version of this 3079*75fd0b74Schristos hook on VxWorks targets. 3080*75fd0b74Schristos (elf32_arm_vxworks_link_hash_table_create): Set vxworks_p to true. 3081*75fd0b74Schristos Minor formatting tweak. 3082*75fd0b74Schristos (elf32_arm_vxworks_final_write_processing): New function. 3083*75fd0b74Schristos (elf_backend_add_symbol_hook): Override for VxWorks and reset 3084*75fd0b74Schristos for Symbian. 3085*75fd0b74Schristos (elf_backend_final_write_processing): Likewise. 3086*75fd0b74Schristos (elf_backend_emit_relocs): Likewise. 3087*75fd0b74Schristos (elf_backend_want_plt_sym): Likewise. 3088*75fd0b74Schristos (ELF_MAXPAGESIZE): Likewise. 3089*75fd0b74Schristos (elf_backend_may_use_rel_p): Minor formatting tweak. 3090*75fd0b74Schristos (elf_backend_may_use_rela_p): Likewise. 3091*75fd0b74Schristos (elf_backend_default_use_rela_p): Likewise. 3092*75fd0b74Schristos (elf_backend_rela_normal): Likewise. 3093*75fd0b74Schristos * Makefile.in (elf32-arm.lo): Depend on elf-vxworks.h. 3094*75fd0b74Schristos 3095*75fd0b74Schristos2006-03-06 Nathan Sidwell <nathan@codesourcery.com> 3096*75fd0b74Schristos 3097*75fd0b74Schristos * archures.c (bfd_mach_mcf_isa_a_nodiv, bfd_mach_mcf_isa_b_nousp): 3098*75fd0b74Schristos New. Adjust other variants. 3099*75fd0b74Schristos (bfd_default_scan): Update. 3100*75fd0b74Schristos * bfd-in2.h: Rebuilt. 3101*75fd0b74Schristos * cpu-m68k.c: Adjust. 3102*75fd0b74Schristos (bfd_m68k_compatible): New. Use it for architectures. 3103*75fd0b74Schristos * elf32-m68k.c (elf32_m68k_object_p): Adjust. 3104*75fd0b74Schristos (elf32_m68k_merge_private_bfd_data): Adjust. Correct isa-a/b 3105*75fd0b74Schristos mismatch. 3106*75fd0b74Schristos (elf32_m68k_print_private_bfd_data): Adjust. 3107*75fd0b74Schristos * ieee.c (ieee_write_processor): Adjust. 3108*75fd0b74Schristos 3109*75fd0b74Schristos2006-03-06 Alan Modra <amodra@bigpond.net.au> 3110*75fd0b74Schristos 3111*75fd0b74Schristos * dwarf2.c: Formatting. 3112*75fd0b74Schristos (add_line_info): Remove outer loop. 3113*75fd0b74Schristos 3114*75fd0b74Schristos2006-03-05 H.J. Lu <hongjiu.lu@intel.com> 3115*75fd0b74Schristos Alan Modra <amodra@bigpond.net.au> 3116*75fd0b74Schristos 3117*75fd0b74Schristos PR binutils/2338 3118*75fd0b74Schristos * dwarf2.c (loadable_section): New struct. 3119*75fd0b74Schristos (dwarf2_debug): Add loadable_section_count and 3120*75fd0b74Schristos loadable_sections. 3121*75fd0b74Schristos (new_line_sorts_after): New. 3122*75fd0b74Schristos (add_line_info): Use new_line_sorts_after to compare line 3123*75fd0b74Schristos addresses. 3124*75fd0b74Schristos (check_function_name): Removed. 3125*75fd0b74Schristos (unset_sections): New. 3126*75fd0b74Schristos (place_sections): New. 3127*75fd0b74Schristos (_bfd_dwarf2_find_nearest_line): Updated. Call place_sections 3128*75fd0b74Schristos and unset_sections on relocatable files. 3129*75fd0b74Schristos (_bfd_dwarf2_find_line): Likewise. 3130*75fd0b74Schristos 3131*75fd0b74Schristos2006-03-03 Nick Clifton <nickc@redhat.com> 3132*75fd0b74Schristos 3133*75fd0b74Schristos * cpu-avr.c: Update to ISO-C90 formatting. 3134*75fd0b74Schristos * elf32-avr.c: Likewise. 3135*75fd0b74Schristos 3136*75fd0b74Schristos2006-03-03 Bjoern Haase <bjoern.m.haase@web.de> 3137*75fd0b74Schristos 3138*75fd0b74Schristos * elf32-avr.c (avr_reloc_map): Insert BFD_RELOC_AVR_MS8_LDI 3139*75fd0b74Schristos and R_AVR_MS8_LDI 3140*75fd0b74Schristos (bfd_elf_avr_final_write_processing): Set 3141*75fd0b74Schristos EF_AVR_LINKRELAX_PREPARED in e_flags field. 3142*75fd0b74Schristos (elf32_avr_relax_section): New function. 3143*75fd0b74Schristos (elf32_avr_relax_delete_bytes): New function. 3144*75fd0b74Schristos (elf32_avr_get_relocated_section_contents): New function. 3145*75fd0b74Schristos (avr_pc_wrap_around): New function. 3146*75fd0b74Schristos (avr_relative_distance_considering_wrap_around): New function. 3147*75fd0b74Schristos (avr_final_link_relocate): Handle negative int8t_t immediate for R_AVR_LDI. 3148*75fd0b74Schristos * reloc.c: Add BFD_RELOC_AVR_MS8_LDI and BFD_RELOC_AVR_LDI_NEG 3149*75fd0b74Schristos * libbfd.h: Regenerate. 3150*75fd0b74Schristos * bfd-in2.h: Regenerate. 3151*75fd0b74Schristos 3152*75fd0b74Schristos2006-03-02 DJ Delorie <dj@redhat.com> 3153*75fd0b74Schristos 3154*75fd0b74Schristos * elf32-m32c.c (m32c_offset_for_reloc): Fix local symbol 3155*75fd0b74Schristos calculations. 3156*75fd0b74Schristos 3157*75fd0b74Schristos2006-03-02 Richard Sandiford <richard@codesourcery.com> 3158*75fd0b74Schristos 3159*75fd0b74Schristos * elf32-ppc.c (is_ppc_elf_target): Return true if the target is 3160*75fd0b74Schristos bfd_elf32_powerpc_vxworks_vec. 3161*75fd0b74Schristos 3162*75fd0b74Schristos2006-03-02 Nick Clifton <nickc@redhat.com> 3163*75fd0b74Schristos 3164*75fd0b74Schristos * elf32-m32c.c (m32c_elf_relax_section): Initialise 'gap'. 3165*75fd0b74Schristos 3166*75fd0b74Schristos2006-03-02 Richard Sandiford <richard@codesourcery.com> 3167*75fd0b74Schristos 3168*75fd0b74Schristos * elf32-i386.c (elf_i386_create_dynamic_sections): Use 3169*75fd0b74Schristos elf_vxworks_create_dynamic_sections. 3170*75fd0b74Schristos (elf_i386_size_dynamic_sections): Remove VxWorks GOT and PLT 3171*75fd0b74Schristos symbol handling. 3172*75fd0b74Schristos * elf32-ppc.c (ppc_elf_create_dynamic_sections): Use 3173*75fd0b74Schristos elf_vxworks_create_dynamic_sections. 3174*75fd0b74Schristos (ppc_elf_size_dynamic_sections): Remove VxWorks GOT and PLT 3175*75fd0b74Schristos symbol handling. 3176*75fd0b74Schristos * elf-vxworks.c (elf_vxworks_create_dynamic_sections): New function. 3177*75fd0b74Schristos * elf-vxworks.h (elf_vxworks_create_dynamic_sections): Declare. 3178*75fd0b74Schristos 3179*75fd0b74Schristos2006-03-02 Richard Sandiford <richard@codesourcery.com> 3180*75fd0b74Schristos 3181*75fd0b74Schristos * elf32-i386.c (elf_i386_vxworks_link_output_symbol_hook): Delete. 3182*75fd0b74Schristos (elf_backend_link_output_symbol_hook): Use 3183*75fd0b74Schristos elf_vxworks_link_output_symbol_hook instead. 3184*75fd0b74Schristos * elf32-ppc.c (elf_i386_vxworks_link_output_symbol_hook): Delete. 3185*75fd0b74Schristos (elf_backend_link_output_symbol_hook): Use 3186*75fd0b74Schristos elf_vxworks_link_output_symbol_hook instead. 3187*75fd0b74Schristos * elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Provide the 3188*75fd0b74Schristos same interface as elf_backend_link_output_symbol_hook. 3189*75fd0b74Schristos * elf-vxworks.h (elf_vxworks_link_output_symbol_hook): Update 3190*75fd0b74Schristos prototype accordingly. 3191*75fd0b74Schristos 3192*75fd0b74Schristos2006-03-02 Richard Sandiford <richard@codesourcery.com> 3193*75fd0b74Schristos 3194*75fd0b74Schristos * elf32-ppc.c (ppc_elf_plt_type): New enumeration. 3195*75fd0b74Schristos (ppc_elf_link_hash_table): Replace old_got and new_got with 3196*75fd0b74Schristos plt_type and can_use_new_plt. 3197*75fd0b74Schristos (ppc_elf_create_dynamic_sections): Add SEC_HAS_CONTENTS, 3198*75fd0b74Schristos SEC_LOAD and SEC_READONLY to the VxWorks .plt flags. 3199*75fd0b74Schristos (ppc_elf_check_relocs): Set can_use_new_plt instead of new_plt. 3200*75fd0b74Schristos Move from plt_type == PLT_UNSET to PLT_OLD instead of setting old_plt. 3201*75fd0b74Schristos (ppc_elf_select_plt_layout): Move from plt_type == PLT_UNSET to 3202*75fd0b74Schristos either plt_type == PLT_OLD or plt_type == PLT_NEW. Assert that 3203*75fd0b74Schristos this function should not be called for VxWorks targets. 3204*75fd0b74Schristos (ppc_elf_tls_setup): Use plt_type instead of old_got. 3205*75fd0b74Schristos (allocate_got): Likewise. Rearrange so that max_before_header 3206*75fd0b74Schristos is only used for PLT_OLD and PLT_NEW. 3207*75fd0b74Schristos (allocate_dynrelocs): Use plt_type instead of old_got and is_vxworks. 3208*75fd0b74Schristos (ppc_elf_size_dynamic_sections): Likewise. 3209*75fd0b74Schristos (ppc_elf_relax_section): Likewise. 3210*75fd0b74Schristos (ppc_elf_relocate_section): Likewise. 3211*75fd0b74Schristos (ppc_elf_finish_dynamic_symbol): Likewise. 3212*75fd0b74Schristos (ppc_elf_vxworks_link_hash_table_create): Initialize plt_type. 3213*75fd0b74Schristos 3214*75fd0b74Schristos2006-02-28 Richard Sandiford <richard@codesourcery.com> 3215*75fd0b74Schristos 3216*75fd0b74Schristos * elf32-i386.c (elf_i386_link_hash_table): Add next_tls_desc_index. 3217*75fd0b74Schristos (elf_i386_link_hash_table_create): Initialize it. 3218*75fd0b74Schristos (elf_i386_compute_jump_table_size): Use it instead of 3219*75fd0b74Schristos srelplt->reloc_count. 3220*75fd0b74Schristos (allocate_dynrelocs): Likewise. 3221*75fd0b74Schristos (elf_i386_size_dynamic_sections): Likewise. 3222*75fd0b74Schristos (elf_i386_relocate_section): Likewise. 3223*75fd0b74Schristos 3224*75fd0b74Schristos2006-02-27 Jakub Jelinek <jakub@redhat.com> 3225*75fd0b74Schristos 3226*75fd0b74Schristos * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle S flag. 3227*75fd0b74Schristos (_bfd_elf_write_section_eh_frame): Likewise. 3228*75fd0b74Schristos 3229*75fd0b74Schristos2006-02-27 Carlos O'Donell <carlos@codesourcery.com> 3230*75fd0b74Schristos 3231*75fd0b74Schristos * po/Make-in: Add html target. 3232*75fd0b74Schristos 3233*75fd0b74Schristos2006-02-27 Richard Sandiford <richard@codesourcery.com> 3234*75fd0b74Schristos 3235*75fd0b74Schristos * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_symbol): Use the 3236*75fd0b74Schristos cached hgot entry to check for _GLOBAL_OFFSET_TABLE_. 3237*75fd0b74Schristos * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Likewise. 3238*75fd0b74Schristos * elf32-bfin.c (bfin_finish_dynamic_symbol): Likewise. 3239*75fd0b74Schristos * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise. 3240*75fd0b74Schristos * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise. 3241*75fd0b74Schristos * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise. 3242*75fd0b74Schristos * elf32-m32r.c (m32r_elf_finish_dynamic_symbol): Likewise. 3243*75fd0b74Schristos * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Likewise. 3244*75fd0b74Schristos * elf32-sh.c (sh_elf_finish_dynamic_symbol): Likewise. 3245*75fd0b74Schristos * elf32-vax.c (elf_vax_finish_dynamic_symbol): Likewise. 3246*75fd0b74Schristos * elf32-xtensa.c (elf_xtensa_finish_dynamic_symbol): Likewise. 3247*75fd0b74Schristos * elf64-sh64.c (sh64_elf64_finish_dynamic_symbol): Likewise. 3248*75fd0b74Schristos * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Likewise. 3249*75fd0b74Schristos * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Likewise. 3250*75fd0b74Schristos * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise. Also use 3251*75fd0b74Schristos the cached hplt entry to check for _PROCEDURE_LINKAGE_TABLE_. 3252*75fd0b74Schristos * elf64-alpha.c (elf64_alpha_finish_dynamic_symbol): Likewise. 3253*75fd0b74Schristos * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise. 3254*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Likewise. 3255*75fd0b74Schristos * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise. 3256*75fd0b74Schristos 3257*75fd0b74Schristos2006-02-25 Richard Sandiford <richard@codesourcery.com> 3258*75fd0b74Schristos 3259*75fd0b74Schristos * elf-bfd.h (elf_link_hash_table): Add hplt field. 3260*75fd0b74Schristos * elflink.c (_bfd_elf_create_dynamic_sections): Initialize it. 3261*75fd0b74Schristos * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise. 3262*75fd0b74Schristos * elf32-frv.c (_frv_create_got_section): Likewise. 3263*75fd0b74Schristos * elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise. 3264*75fd0b74Schristos * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise. 3265*75fd0b74Schristos * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise. 3266*75fd0b74Schristos * elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise. 3267*75fd0b74Schristos * elf32-i386.c (elf_i386_link_hash_table): Remove hgot and hplt. 3268*75fd0b74Schristos (elf_i386_link_hash_table_create): Don't initialize them. 3269*75fd0b74Schristos (elf_i386_size_dynamic_sections): Use the generic ELF hplt and 3270*75fd0b74Schristos hgot fields. 3271*75fd0b74Schristos (elf_i386_finish_dynamic_symbol): Likewise. 3272*75fd0b74Schristos * elf32-ppc.c (ppc_elf_link_hash_table): Remove hplt. 3273*75fd0b74Schristos (ppc_elf_size_dynamic_sections): Use the generic ELF hplt fields. 3274*75fd0b74Schristos (ppc_elf_finish_dynamic_symbol): Likewise. 3275*75fd0b74Schristos 3276*75fd0b74Schristos2006-02-24 DJ Delorie <dj@redhat.com> 3277*75fd0b74Schristos 3278*75fd0b74Schristos * elf32-m32c.c (m32c_elf_howto_table): Add relaxation relocs. 3279*75fd0b74Schristos (m32c_elf_relocate_section): Don't relocate them. 3280*75fd0b74Schristos (compare_reloc): New. 3281*75fd0b74Schristos (relax_reloc): Remove. 3282*75fd0b74Schristos (m32c_offset_for_reloc): New. 3283*75fd0b74Schristos (m16c_addr_encodings): New. 3284*75fd0b74Schristos (m16c_jmpaddr_encodings): New. 3285*75fd0b74Schristos (m32c_addr_encodings): New. 3286*75fd0b74Schristos (m32c_elf_relax_section): Relax jumps and address displacements. 3287*75fd0b74Schristos (m32c_elf_relax_delete_bytes): Adjust for internal syms. Fix up 3288*75fd0b74Schristos short jumps. 3289*75fd0b74Schristos 3290*75fd0b74Schristos * reloc.c: Add m32c relax relocs. 3291*75fd0b74Schristos * libbfd.h: Regenerate. 3292*75fd0b74Schristos * bfd-in2.h: Regenerate. 3293*75fd0b74Schristos 3294*75fd0b74Schristos2006-02-24 H.J. Lu <hongjiu.lu@intel.com> 3295*75fd0b74Schristos 3296*75fd0b74Schristos PR ld/2218 3297*75fd0b74Schristos * elf-bfd.h (elf_backend_data): Add elf_backend_fixup_symbol. 3298*75fd0b74Schristos (_bfd_elf_link_hash_fixup_symbol): New. 3299*75fd0b74Schristos 3300*75fd0b74Schristos * elflink.c (_bfd_elf_link_hash_fixup_symbol): New. 3301*75fd0b74Schristos (_bfd_elf_fix_symbol_flags): Call elf_backend_fixup_symbol if 3302*75fd0b74Schristos it isn't NULL. 3303*75fd0b74Schristos 3304*75fd0b74Schristos * elfxx-ia64.c (elf_backend_fixup_symbol): Defined. 3305*75fd0b74Schristos 3306*75fd0b74Schristos * elfxx-target.h (elf_backend_fixup_symbol): New. 3307*75fd0b74Schristos (elfNN_bed): Initialize elf_backend_fixup_symbol. 3308*75fd0b74Schristos 3309*75fd0b74Schristos2006-02-23 H.J. Lu <hongjiu.lu@intel.com> 3310*75fd0b74Schristos 3311*75fd0b74Schristos * cpu-ia64-opc.c (ins_immu5b): New. 3312*75fd0b74Schristos (ext_immu5b): Likewise. 3313*75fd0b74Schristos (elf64_ia64_operands): Add IMMU5b. 3314*75fd0b74Schristos 3315*75fd0b74Schristos2006-02-21 Alan Modra <amodra@bigpond.net.au> 3316*75fd0b74Schristos 3317*75fd0b74Schristos PR ld/2218 3318*75fd0b74Schristos * elf32-arm.c (allocate_dynrelocs): Ensure undef weak sym in pie 3319*75fd0b74Schristos is dynamic. 3320*75fd0b74Schristos * elf32-hppa.c (allocate_dynrelocs): Likewise. 3321*75fd0b74Schristos * elf32-i386.c (allocate_dynrelocs): Likewise. 3322*75fd0b74Schristos * elf32-s390.c (allocate_dynrelocs): Likewise. 3323*75fd0b74Schristos * elf32-sh.c (allocate_dynrelocs): Likewise. 3324*75fd0b74Schristos * elf64-s390.c (allocate_dynrelocs): Likewise. 3325*75fd0b74Schristos * elf64-x86-64.c (allocate_dynrelocs): Likewise. 3326*75fd0b74Schristos * elf32-m32r.c (allocate_dynrelocs): Likewise. Discard relocs 3327*75fd0b74Schristos on undef weak with non-default visibility too. 3328*75fd0b74Schristos * elfxx-sparc.c (allocate_dynrelocs): Ditto. 3329*75fd0b74Schristos 3330*75fd0b74Schristos2006-02-21 Alan Modra <amodra@bigpond.net.au> 3331*75fd0b74Schristos 3332*75fd0b74Schristos * bfd.c: (_bfd_default_error_handler): Don't call abort on 3333*75fd0b74Schristos error, instead call _exit. 3334*75fd0b74Schristos (_bfd_abort): Call _exit not xexit. 3335*75fd0b74Schristos 3336*75fd0b74Schristos2006-02-17 Kevin Buettner <kevinb@redhat.com> 3337*75fd0b74Schristos 3338*75fd0b74Schristos * elf32-frv.c (elf32_frv_grok_prstatus, elf32_frv_grok_psinfo): 3339*75fd0b74Schristos New functions. 3340*75fd0b74Schristos * elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define. 3341*75fd0b74Schristos 3342*75fd0b74Schristos2006-02-17 Shrirang Khisti <shrirangk@kpitcummins.com> 3343*75fd0b74Schristos Anil Paranjape <anilp1@kpitcummins.com> 3344*75fd0b74Schristos Shilin Shakti <shilins@kpitcummins.com> 3345*75fd0b74Schristos 3346*75fd0b74Schristos * Makefile.am: Add xc16x related entry 3347*75fd0b74Schristos * Makefile.in: Regenerate 3348*75fd0b74Schristos * archures.c: Add bfd_xc16x_arch 3349*75fd0b74Schristos * bfd-in2.h: Regenerate 3350*75fd0b74Schristos * config.bfd: Add xc16x-*-elf 3351*75fd0b74Schristos * configure.in: Add bfd_elf32_xc16x_vec 3352*75fd0b74Schristos * configure: Regenerate. 3353*75fd0b74Schristos * targets.c: Added xc16x related information 3354*75fd0b74Schristos * cpu-xc16x.c: New file 3355*75fd0b74Schristos * reloc.c: Add new relocations specific to xc16x: 3356*75fd0b74Schristos BFD_RELOC_XC16X_PAG, BFD_RELOC_XC16X_POF, BFD_RELOC_XC16X_SEG, 3357*75fd0b74Schristos BFD_RELOC_XC16X_SOF 3358*75fd0b74Schristos * elf32-xc16x.c: New file. 3359*75fd0b74Schristos 3360*75fd0b74Schristos2006-02-17 Alan Modra <amodra@bigpond.net.au> 3361*75fd0b74Schristos 3362*75fd0b74Schristos * elf32-ppc.c (allocate_dynrelocs): Tweak undef weak handling. 3363*75fd0b74Schristos * elf64-ppc.c (allocate_dynrelocs): Likewise. 3364*75fd0b74Schristos 3365*75fd0b74Schristos2006-02-17 Alan Modra <amodra@bigpond.net.au> 3366*75fd0b74Schristos 3367*75fd0b74Schristos PR ld/2218 3368*75fd0b74Schristos * elf64-ppc.c (allocate_dynrelocs): Ensure undef weak sym is 3369*75fd0b74Schristos dynamic. 3370*75fd0b74Schristos (ppc64_elf_relocate_section): Check output reloc section size. 3371*75fd0b74Schristos * elf32-ppc.c (allocate_dynrelocs): Simplify undef weak test. 3372*75fd0b74Schristos 3373*75fd0b74Schristos2006-02-16 H.J. Lu <hongjiu.lu@intel.com> 3374*75fd0b74Schristos 3375*75fd0b74Schristos PR ld/2322 3376*75fd0b74Schristos * elf.c (get_segment_type): New function. 3377*75fd0b74Schristos (_bfd_elf_print_private_bfd_data): Use it. 3378*75fd0b74Schristos (print_segment_map): New function. 3379*75fd0b74Schristos (assign_file_positions_for_segments): Call print_segment_map 3380*75fd0b74Schristos when there are not enough room for program headers. 3381*75fd0b74Schristos 3382*75fd0b74Schristos2006-02-16 Nick Hudson <nick.hudson@dsl.pipex.com> 3383*75fd0b74Schristos 3384*75fd0b74Schristos * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Use 3385*75fd0b74Schristos traditional MIPS ELF targets. 3386*75fd0b74Schristos 3387*75fd0b74Schristos2006-02-15 H.J. Lu <hongjiu.lu@intel.com> 3388*75fd0b74Schristos 3389*75fd0b74Schristos PR binutils/2338 3390*75fd0b74Schristos * dwarf2.c (check_function_name): New function. 3391*75fd0b74Schristos (_bfd_dwarf2_find_nearest_line): Use check_function_name to 3392*75fd0b74Schristos check if function is correct. 3393*75fd0b74Schristos 3394*75fd0b74Schristos2006-02-16 Alan Modra <amodra@bigpond.net.au> 3395*75fd0b74Schristos 3396*75fd0b74Schristos * elflink.c (_bfd_elf_default_action_discarded): Return 0 for 3397*75fd0b74Schristos debug sections. 3398*75fd0b74Schristos (elf_link_input_bfd): Adjust comments. 3399*75fd0b74Schristos 3400*75fd0b74Schristos2006-02-10 H.J. Lu <hongjiu.lu@intel.com> 3401*75fd0b74Schristos 3402*75fd0b74Schristos * elf.c (copy_private_bfd_data): Minor update. 3403*75fd0b74Schristos 3404*75fd0b74Schristos2006-02-10 H.J. Lu <hongjiu.lu@intel.com> 3405*75fd0b74Schristos 3406*75fd0b74Schristos PR binutils/2258 3407*75fd0b74Schristos * elf.c (copy_private_bfd_data): Renamed to ... 3408*75fd0b74Schristos (rewrite_elf_program_header): This. 3409*75fd0b74Schristos (copy_elf_program_header): New function. 3410*75fd0b74Schristos (copy_private_bfd_data): Likewise. 3411*75fd0b74Schristos 3412*75fd0b74Schristos2006-02-07 Nathan Sidwell <nathan@codesourcery.com> 3413*75fd0b74Schristos 3414*75fd0b74Schristos * archures.c (bfd_mach_mcf5200, bfd_mach_mcf5206e, 3415*75fd0b74Schristos bfd_mach_mcf5307, bfd_mach_mcf5407, bfd_mach_mcf528x, 3416*75fd0b74Schristos bfd_mach_mcfv4e, bfd_mach_mcf521x, bfd_mach_mcf5249, 3417*75fd0b74Schristos bfd_mach_mcf547x, bfd_mach_mcf548x): Remove. 3418*75fd0b74Schristos (bfd_mach_mcf_isa_a, bfd_mach_mcf_isa_a_div, 3419*75fd0b74Schristos bfd_mach_mcf_isa_a_div_mac, bfd_mach_mcf_isa_a_div_emac, 3420*75fd0b74Schristos bfd_mach_mcf_isa_aplus, bfd_mach_mcf_isa_aplus_mac, 3421*75fd0b74Schristos bfd_mach_mcf_isa_aplus_emac, bfd_mach_mcf_isa_aplus_usp, 3422*75fd0b74Schristos bfd_mach_mcf_isa_aplus_usp_mac, bfd_mach_mcf_isa_aplus_usp_emac, 3423*75fd0b74Schristos bfd_mach_mcf_isa_b, bfd_mach_mcf_isa_b_mac, bfd_mach_mcf_isa_b_emac, 3424*75fd0b74Schristos bfd_mach_mcf_isa_b_usp_float, bfd_mach_mcf_isa_b_usp_float_mac, 3425*75fd0b74Schristos bfd_mach_mcf_isa_b_usp_float_emac): New. 3426*75fd0b74Schristos (bfd_default_scan): Update coldfire mapping. 3427*75fd0b74Schristos * bfd-in.h (bfd_m68k_mach_to_features, 3428*75fd0b74Schristos bfd_m68k_features_to_mach): Declare. 3429*75fd0b74Schristos * bfd-in2.h: Rebuilt. 3430*75fd0b74Schristos * cpu-m68k.c (arch_info_struct): Add new coldfire machines, 3431*75fd0b74Schristos adjust legacy names. 3432*75fd0b74Schristos (m68k_arch_features): New. 3433*75fd0b74Schristos (bfd_m68k_mach_to_features, 3434*75fd0b74Schristos bfd_m68k_features_to_mach): Define. 3435*75fd0b74Schristos * elf32-m68k.c (elf32_m68k_object_p): New. 3436*75fd0b74Schristos (elf32_m68k_merge_private_bfd_data): Merge the CF EF flags. 3437*75fd0b74Schristos (elf32_m68k_print_private_bfd_data): Print the CF EF flags. 3438*75fd0b74Schristos (elf_backend_object_p): Define. 3439*75fd0b74Schristos * ieee.c (ieee_write_processor): Update coldfire machines. 3440*75fd0b74Schristos * libbfd.h: Rebuilt. 3441*75fd0b74Schristos 3442*75fd0b74Schristos2006-02-06 Steve Ellcey <sje@cup.hp.com> 3443*75fd0b74Schristos 3444*75fd0b74Schristos * elfxx-ia64.c (elfNN_ia64_fake_sections): Set SHF_IA_64_HP_TLS 3445*75fd0b74Schristos if SHF_TLS is set. 3446*75fd0b74Schristos 3447*75fd0b74Schristos2006-02-05 Arnold Metselaar <arnold.metselaar@planet.nl> 3448*75fd0b74Schristos 3449*75fd0b74Schristos * coff-z80.c (r_imm24): New howto. 3450*75fd0b74Schristos (rtype2howto): New case R_IMM24. 3451*75fd0b74Schristos (coff_z80_reloc_type_lookup): New case BFD_RELOC_24. 3452*75fd0b74Schristos (extra_case): Use bfd_get_8 for R_IMM8, new case R_IMM24. 3453*75fd0b74Schristos 3454*75fd0b74Schristos2006-02-04 Richard Sandiford <richard@codesourcery.com> 3455*75fd0b74Schristos 3456*75fd0b74Schristos * elfxx-mips.c (mips_elf_initialize_tls_index): If a TLS symbol 3457*75fd0b74Schristos has already been assigned a GOT index, copy that index to the 3458*75fd0b74Schristos current hash table entry. 3459*75fd0b74Schristos 3460*75fd0b74Schristos2006-02-01 Eric Botcazou <ebotcazou@libertysurf.fr> 3461*75fd0b74Schristos 3462*75fd0b74Schristos * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass 3463*75fd0b74Schristos for call-to-undefweak reloc overflow. 3464*75fd0b74Schristos 3465*75fd0b74Schristos2006-01-31 Eric Botcazou <ebotcazou@libertysurf.fr> 3466*75fd0b74Schristos 3467*75fd0b74Schristos * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Reinstate bypass 3468*75fd0b74Schristos for 32-bit relocs overflow. 3469*75fd0b74Schristos 3470*75fd0b74Schristos2006-01-27 Paul Brook <paul@codesourcery.com> 3471*75fd0b74Schristos 3472*75fd0b74Schristos * elf32-arm.c (elf32_arm_get_symbol_type): Allow STT_TLS thumb 3473*75fd0b74Schristos objects. 3474*75fd0b74Schristos 3475*75fd0b74Schristos2006-01-18 Alexandre Oliva <aoliva@redhat.com> 3476*75fd0b74Schristos 3477*75fd0b74Schristos Introduce TLS descriptors for i386 and x86_64. 3478*75fd0b74Schristos * reloc.c (BFD_RELOC_386_TLS_GOTDESC, BFD_RELOC_386_TLS_DESC, 3479*75fd0b74Schristos BFD_RELOC_386_TLS_DESC_CALL, BFD_RELOC_X86_64_GOTPC32_TLSDESC, 3480*75fd0b74Schristos BFD_RELOC_X86_64_TLSDESC, BFD_RELOC_X86_64_TLSDESC_CALL): New. 3481*75fd0b74Schristos * libbfd.h, bfd-in2.h: Rebuilt. 3482*75fd0b74Schristos * elf32-i386.c (elf_howto_table): New relocations. 3483*75fd0b74Schristos (R_386_tls): Adjust. 3484*75fd0b74Schristos (elf_i386_reloc_type_lookup): Map new relocations. 3485*75fd0b74Schristos (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros. 3486*75fd0b74Schristos (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros. 3487*75fd0b74Schristos (struct elf_i386_link_hash_entry): Add tlsdesc_got field. 3488*75fd0b74Schristos (struct elf_i386_obj_tdata): Add local_tlsdesc_gotent field. 3489*75fd0b74Schristos (elf_i386_local_tlsdesc_gotent): New macro. 3490*75fd0b74Schristos (struct elf_i386_link_hash_table): Add sgotplt_jump_table_size. 3491*75fd0b74Schristos (elf_i386_compute_jump_table_size): New macro. 3492*75fd0b74Schristos (link_hash_newfunc): Initialize tlsdesc_got. 3493*75fd0b74Schristos (elf_i386_link_hash_table_create): Set sgotplt_jump_table_size. 3494*75fd0b74Schristos (elf_i386_tls_transition): Handle R_386_TLS_GOTDESC and 3495*75fd0b74Schristos R_386_TLS_DESC_CALL. 3496*75fd0b74Schristos (elf_i386_check_relocs): Likewise. Allocate space for 3497*75fd0b74Schristos local_tlsdesc_gotent. 3498*75fd0b74Schristos (elf_i386_gc_sweep_hook): Handle R_386_TLS_GOTDESC and 3499*75fd0b74Schristos R_386_TLS_DESC_CALL. 3500*75fd0b74Schristos (allocate_dynrelocs): Count function PLT relocations. Reserve 3501*75fd0b74Schristos space for TLS descriptors and relocations. 3502*75fd0b74Schristos (elf_i386_size_dynamic_sections): Reserve space for TLS 3503*75fd0b74Schristos descriptors and relocations. Set up sgotplt_jump_table_size. 3504*75fd0b74Schristos Don't zero reloc_count in srelplt. 3505*75fd0b74Schristos (elf_i386_always_size_sections): New. Set up _TLS_MODULE_BASE_. 3506*75fd0b74Schristos (elf_i386_relocate_section): Handle R_386_TLS_GOTDESC and 3507*75fd0b74Schristos R_386_TLS_DESC_CALL. 3508*75fd0b74Schristos (elf_i386_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P. 3509*75fd0b74Schristos (elf_backend_always_size_sections): Define. 3510*75fd0b74Schristos * elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_GOTPC32_TLSDESC, 3511*75fd0b74Schristos R_X86_64_TLSDESC, R_X86_64_TLSDESC_CALL. 3512*75fd0b74Schristos (R_X86_64_standard): Adjust. 3513*75fd0b74Schristos (x86_64_reloc_map): Map new relocs. 3514*75fd0b74Schristos (elf64_x86_64_rtype_to_howto): New, split out of... 3515*75fd0b74Schristos (elf64_x86_64_info_to_howto): ... this function, and... 3516*75fd0b74Schristos (elf64_x86_64_reloc_type_lookup): ... use it to map elf_reloc_val. 3517*75fd0b74Schristos (GOT_TLS_GDESC, GOT_TLS_GD_BOTH_P): New macros. 3518*75fd0b74Schristos (GOT_TLS_GD_P, GOT_TLS_GDESC_P, GOT_TLS_GD_ANY_P): New macros. 3519*75fd0b74Schristos (struct elf64_x86_64_link_hash_entry): Add tlsdesc_got field. 3520*75fd0b74Schristos (struct elf64_x86_64_obj_tdata): Add local_tlsdesc_gotent field. 3521*75fd0b74Schristos (elf64_x86_64_local_tlsdesc_gotent): New macro. 3522*75fd0b74Schristos (struct elf64_x86_64_link_hash_table): Add tlsdesc_plt, 3523*75fd0b74Schristos tlsdesc_got and sgotplt_jump_table_size fields. 3524*75fd0b74Schristos (elf64_x86_64_compute_jump_table_size): New macro. 3525*75fd0b74Schristos (link_hash_newfunc): Initialize tlsdesc_got. 3526*75fd0b74Schristos (elf64_x86_64_link_hash_table_create): Initialize new fields. 3527*75fd0b74Schristos (elf64_x86_64_tls_transition): Handle R_X86_64_GOTPC32_TLSDESC and 3528*75fd0b74Schristos R_X86_64_TLSDESC_CALL. 3529*75fd0b74Schristos (elf64_x86_64_check_relocs): Likewise. Allocate space for 3530*75fd0b74Schristos local_tlsdesc_gotent. 3531*75fd0b74Schristos (elf64_x86_64_gc_sweep_hook): Handle R_X86_64_GOTPC32_TLSDESC and 3532*75fd0b74Schristos R_X86_64_TLSDESC_CALL. 3533*75fd0b74Schristos (allocate_dynrelocs): Count function PLT relocations. Reserve 3534*75fd0b74Schristos space for TLS descriptors and relocations. 3535*75fd0b74Schristos (elf64_x86_64_size_dynamic_sections): Reserve space for TLS 3536*75fd0b74Schristos descriptors and relocations. Set up sgotplt_jump_table_size, 3537*75fd0b74Schristos tlsdesc_plt and tlsdesc_got. Make room for them. Don't zero 3538*75fd0b74Schristos reloc_count in srelplt. Add dynamic entries for DT_TLSDESC_PLT 3539*75fd0b74Schristos and DT_TLSDESC_GOT. 3540*75fd0b74Schristos (elf64_x86_64_always_size_sections): New. Set up 3541*75fd0b74Schristos _TLS_MODULE_BASE_. 3542*75fd0b74Schristos (elf64_x86_64_relocate_section): Handle R_386_TLS_GOTDESC and 3543*75fd0b74Schristos R_386_TLS_DESC_CALL. 3544*75fd0b74Schristos (elf64_x86_64_finish_dynamic_symbol): Use GOT_TLS_GD_ANY_P. 3545*75fd0b74Schristos (elf64_x86_64_finish_dynamic_sections): Set DT_TLSDESC_PLT and 3546*75fd0b74Schristos DT_TLSDESC_GOT. Set up TLS descriptor lazy resolver PLT entry. 3547*75fd0b74Schristos (elf_backend_always_size_sections): Define. 3548*75fd0b74Schristos 3549*75fd0b74Schristos2006-01-17 H.J. Lu <hongjiu.lu@intel.com> 3550*75fd0b74Schristos 3551*75fd0b74Schristos PR binutils/2096 3552*75fd0b74Schristos * dwarf2.c (comp_unit_contains_address): Update comment. 3553*75fd0b74Schristos (_bfd_dwarf2_find_nearest_line): Use section's vma, instead of 3554*75fd0b74Schristos lma. Return TRUE only if both comp_unit_contains_address and 3555*75fd0b74Schristos comp_unit_find_nearest_line return TRUE. 3556*75fd0b74Schristos (_bfd_dwarf2_find_line): Use section's vma, instead of lma. 3557*75fd0b74Schristos 3558*75fd0b74Schristos2006-01-18 Alan Modra <amodra@bigpond.net.au> 3559*75fd0b74Schristos 3560*75fd0b74Schristos * elf-bfd.h (struct elf_backend_data): Add gc_mark_dynamic_ref. 3561*75fd0b74Schristos (bfd_elf_gc_mark_dynamic_ref_symbol): Declare. 3562*75fd0b74Schristos * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Rename from 3563*75fd0b74Schristos elf_gc_mark_dynamic_ref_symbol. Make global. 3564*75fd0b74Schristos (bfd_elf_gc_sections): Call bed->gc_mark_dynamic_ref. 3565*75fd0b74Schristos * elfxx-target.h (elf_backend_gc_mark_dynamic_ref): Define. 3566*75fd0b74Schristos (elfNN_bed): Init new field. 3567*75fd0b74Schristos * elf64-ppc.c (elf_backend_gc_mark_dynamic_ref): Define. 3568*75fd0b74Schristos (ppc64_elf_gc_mark_dynamic_ref): New function. 3569*75fd0b74Schristos 3570*75fd0b74Schristos2006-01-17 Alan Modra <amodra@bigpond.net.au> 3571*75fd0b74Schristos 3572*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_gc_mark_hook): Don't hang forever in loop. 3573*75fd0b74Schristos 3574*75fd0b74Schristos2006-01-17 Nick Clifton <nickc@redhat.com> 3575*75fd0b74Schristos 3576*75fd0b74Schristos PR binutils/2159 3577*75fd0b74Schristos * elf.c (elfcore_write_pstatus): Add ATTRIBUTE_UNUSED to unused 3578*75fd0b74Schristos parameters. 3579*75fd0b74Schristos 3580*75fd0b74Schristos2006-01-11 Nick Clifton <nickc@redhat.com> 3581*75fd0b74Schristos 3582*75fd0b74Schristos * elf32-arm.c (elf32_arm_output_symbol_hook): Install new entry 3583*75fd0b74Schristos into the newly (re)allocated map array. 3584*75fd0b74Schristos 3585*75fd0b74Schristos2006-01-09 Alexis Wilke <alexis_wilke@yahoo.com> 3586*75fd0b74Schristos 3587*75fd0b74Schristos * peXXigen.c (tbl): Add comma after "HIGH3ADJ". 3588*75fd0b74Schristos 3589*75fd0b74Schristos2006-01-01 Jakub Jelinek <jakub@redhat.com> 3590*75fd0b74Schristos 3591*75fd0b74Schristos * elf64-ppc.c (ppc64_elf_action_discarded): Return 0 3592*75fd0b74Schristos for .toc1 section. 3593*75fd0b74Schristos 3594*75fd0b74SchristosFor older changes see ChangeLog-2005 3595*75fd0b74Schristos 3596*75fd0b74SchristosCopyright (C) 2006 Free Software Foundation, Inc. 3597*75fd0b74Schristos 3598*75fd0b74SchristosCopying and distribution of this file, with or without modification, 3599*75fd0b74Schristosare permitted in any medium without royalty provided the copyright 3600*75fd0b74Schristosnotice and this notice are preserved. 3601*75fd0b74Schristos 3602*75fd0b74SchristosLocal Variables: 3603*75fd0b74Schristosmode: change-log 3604*75fd0b74Schristosleft-margin: 8 3605*75fd0b74Schristosfill-column: 74 3606*75fd0b74Schristosversion-control: never 3607*75fd0b74SchristosEnd: 3608