| 1 |
2008-12-23 Nick Clifton <nickc@redhat.com> |
2009-07-27 H.J. Lu <hongjiu.lu@intel.com> |
| 2 |
|
|
| 3 |
PR 7093 |
* archures.c bfd_*_arch): Sorted. |
| 4 |
* elf32-arm.c (bfd_elf32_arm_init_maps): Only process ARM ELF |
(bfd_archures_list): Likewise. |
|
object files. |
|
|
|
|
|
2008-12-23 Tristan Gingold <gingold@adacore.com> |
|
|
|
|
|
* mach-o.c (bfd_mach_o_make_bfd_section): Use the standard ELF name |
|
|
.eh_frame for __TEXT.__eh_frame so that it is recognized by gdb. |
|
|
Use shorter sections name for well known sections. |
|
|
(bfd_mach_o_scan_read_dylinker): Only put dylinker name in the |
|
|
section content. |
|
|
(bfd_mach_o_scan_read_segment): Use shorter sections name for |
|
|
well known segments. |
|
|
(bfd_mach_o_scan_read_command): Ignore some new commands. |
|
|
(bfd_mach_o_openr_next_archived_file): Use more descriptive names |
|
|
for members filename. |
|
|
(bfd_mach_o_fat_extract): New function to easily extract members |
|
|
of a fat binary. |
|
|
* mach-o.h (bfd_mach_o_load_command_type): Add new constants. |
|
|
(bfd_mach_o_dylinker_command): Fix comment and reindent. |
|
|
(bfd_mach_o_fat_extract): New prototype. |
|
|
|
|
|
2008-12-23 Johan Olmutz Nielsen <jnielsen@ddci.com> |
|
|
|
|
|
* coffcode.h (coff_write_object_contents): Always initialise |
|
|
section.s_page. |
|
|
|
|
|
2008-12-23 Andreas Schwab <schwab@suse.de> |
|
|
|
|
|
* elf32-m68k.c (elf_m68k_discard_copies): Use SYMBOL_CALLS_LOCAL. |
|
|
(elf_m68k_relocate_section): Use SYMBOL_CALLS_LOCAL and |
|
|
SYMBOL_REFERENCES_LOCAL. |
|
|
(elf_m68k_relocate_section): Likewise. |
|
| 5 |
|
|
| 6 |
2008-12-23 Nick Clifton <nickc@redhat.com> |
2009-07-27 M R Swami Reddy <MR.Swami.Reddy@nsc.com> |
| 7 |
|
|
| 8 |
* elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs |
* elf32-cr16.c (elf_cr16_final_link_relocate): Add code to handle |
| 9 |
field. |
to R_cr16_NUM32 relocation. |
| 10 |
(_bfd_elf_make_ifunc_reloc_section): Remove prototype. |
|
| 11 |
* elf.c (swap_out_syms): Remove STT_IFUNC support. |
2009-07-26 Michael Eager <eager@eagercon.com> |
| 12 |
(elf_find_function): Likewise. |
|
| 13 |
* elf32-arm.c (arm_elf_find_function): Likewise. |
* archures.c: Add bfd_mach_ppc_405 |
| 14 |
(elf32_arm_adjust_dynamic_symbol): Likewise. |
* bfd-in2.h: Same. |
| 15 |
(elf32_arm_swap_symbol_in): Likewise. |
|
| 16 |
(elf32_arm_is_function_type): Likewise. |
2009-07-25 H.J. Lu <hongjiu.lu@intel.com> |
| 17 |
* elf32-i386.c (is_indirect_symbol): Delete. |
|
| 18 |
(elf_i386_check_relocs): Remove STT_IFUNC support. |
* cpu-i386.c (bfd_x86_64_arch): Fix comment typos. |
| 19 |
(allocate_dynrelocs): Likewise. |
* cpu-l1om.c (bfd_l1om_arch): Likewise. |
| 20 |
(elf_i386_relocate_section): Likewise. |
|
| 21 |
* elf64-x86-64.c (is_indirect_symbol): Delete. |
2009-07-25 H.J. Lu <hongjiu.lu@intel.com> |
| 22 |
(elf64_x86_64_check_relocs): Remove STT_IFUNC support. |
|
| 23 |
(allocate_dynrelocs): Likewise. |
* archures.c (bfd_architecture): Add bfd_arch_l1om. |
| 24 |
|
(bfd_l1om_arch): New. |
| 25 |
|
(bfd_archures_list): Add &bfd_l1om_arch. |
| 26 |
|
* bfd-in2.h: Regenerated. |
| 27 |
|
|
| 28 |
|
* config.bfd (targ64_selvecs): Add bfd_elf64_l1om_vec if |
| 29 |
|
bfd_elf64_x86_64_vec is supported. Add bfd_elf64_l1om_freebsd_vec |
| 30 |
|
if bfd_elf64_x86_64_freebsd_vec is supported. |
| 31 |
|
(targ_selvecs): Likewise. |
| 32 |
|
|
| 33 |
|
* configure.in: Support bfd_elf64_l1om_vec and |
| 34 |
|
bfd_elf64_l1om_freebsd_vec. |
| 35 |
|
* configure: Regenerated. |
| 36 |
|
|
| 37 |
|
* cpu-l1om.c: New. |
| 38 |
|
|
| 39 |
|
* elf64-x86-64.c (elf64_l1om_elf_object_p): New. |
| 40 |
|
(bfd_elf64_l1om_vec): Likewise. |
| 41 |
|
(bfd_elf64_l1om_freebsd_vec): Likewise. |
| 42 |
|
|
| 43 |
|
* Makefile.am (ALL_MACHINES): Add cpu-l1om.lo. |
| 44 |
|
(ALL_MACHINES_CFILES): Add cpu-l1om.c. |
| 45 |
|
* Makefile.in: Regenerated. |
| 46 |
|
|
| 47 |
|
* targets.c (bfd_elf64_l1om_vec): New. |
| 48 |
|
(bfd_elf64_l1om_freebsd_vec): Likewise. |
| 49 |
|
(_bfd_target_vector): Add bfd_elf64_l1om_vec and |
| 50 |
|
bfd_elf64_l1om_freebsd_vec. |
| 51 |
|
|
| 52 |
|
2009-07-24 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com> |
| 53 |
|
Alan Modra <amodra@bigpond.net.au> |
| 54 |
|
|
| 55 |
|
* reloc.c (BFD_RELOC_SPU_ADD_PIC): Define. |
| 56 |
|
* bfd-in2.h: Regenerate. |
| 57 |
|
* libbfd.h: Regenerate. |
| 58 |
|
* elf32-spu.c (elf_howto_table): Add entries SPU_ADD_PIC. |
| 59 |
|
(spu_elf_bfd_to_reloc_type): Handle SPU_ADD_PIC. |
| 60 |
|
(spu_elf_relocate_section): Patch instructions marked by SPU_ADD_PIC. |
| 61 |
|
|
| 62 |
|
2009-07-23 H.J. Lu <hongjiu.lu@intel.com> |
| 63 |
|
|
| 64 |
|
PR ld/10434 |
| 65 |
|
* elf64-x86-64.c (elf64_x86_64_check_relocs): Check executable |
| 66 |
|
instead of shared for R_X86_64_TPOFF32. |
| 67 |
(elf64_x86_64_relocate_section): Likewise. |
(elf64_x86_64_relocate_section): Likewise. |
| 68 |
* elfcode.h (elf_slurp_symbol_table): Likewise. |
|
| 69 |
* elflink.c (_bfd_elf_adjust_symbol): Likewise. |
2009-07-23 Ulrich Drepper <drepper@redhat.com> |
| 70 |
(get_ifunc_reloc_section_name): Delete. |
|
| 71 |
(_bfd_elf_make_ifunc_reloc_section): Delete. |
* elf-bfd.h (struct elf_link_hash_entry): Add unique_global field. |
| 72 |
* syms.c (BSF_INDIRECT_FUNCTION): Delete. |
* elf.c (swap_out_syms): Set binding to STB_GNU_UNIQUE for symbols |
| 73 |
(bfd_print_symbol_vandf): Remove STT_IFUNC support. |
with the BSF_GNU_UNIQUE flag bit set. |
| 74 |
(bfd_decode_symclass): Likewise. |
* elfcode.h (elf_slurp_symbol_table): Set the BSF_GNU_UNIQUE flag |
| 75 |
|
for symbols with STB_GNU_UNIQUE binding. |
| 76 |
|
* elflink.c (_bfd_elf_merge_symbol): Set unique_global for symbols |
| 77 |
|
with the STB_GNU_UNIQUE binding. |
| 78 |
|
(elf_link_add_object_symbols): Set the BSF_GNU_UNIQUE flag for |
| 79 |
|
symbols with STB_GNU_UNIQUE binding. Set STB_GNU_UNIQUE for |
| 80 |
|
symbols with the unique_global field set. |
| 81 |
|
(elf_link_output_extsym): Set unique_global field for symbols with |
| 82 |
|
the STB_GNU_UNIQUE binding. |
| 83 |
|
* syms.c (struct bfd_symbol): Define BSF_GNU_UNIQUE flag bit. |
| 84 |
|
(bfd_print_symbol_vandf): Print a 'u' character for BSF_GNU_UNIQUE |
| 85 |
|
symbols. |
| 86 |
|
(bfd_decode_symclass): Return a 'u' character for BSF_GNU_UNIQUE |
| 87 |
|
symbols. |
| 88 |
* bfd-in2.h: Regenerate. |
* bfd-in2.h: Regenerate. |
| 89 |
|
|
| 90 |
2008-12-20 Hans-Peter Nilsson <hp@axis.com> |
2009-07-22 H.J. Lu <hongjiu.lu@intel.com> |
| 91 |
|
|
| 92 |
* elf32-cris.c (cris_elf_howto_table): Add entry for R_CRIS_32_IE. |
* elflink.c (elf_link_output_extsym): Revert the last change. |
|
(cris_reloc_map): Similarly. |
|
|
(cris_elf_relocate_section, cris_elf_gc_sweep_hook) |
|
|
(cris_elf_check_relocs): Handle R_CRIS_32_IE. |
|
|
* reloc.c (bfd_reloc_code_type): Add entry for R_CRIS_32_IE. |
|
|
* bfd-in2.h, libbfd.h: Regenerate. |
|
| 93 |
|
|
| 94 |
2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
2009-07-22 H.J. Lu <hongjiu.lu@intel.com> |
| 95 |
|
|
| 96 |
* configure: Regenerate. |
PR ld/10433 |
| 97 |
|
* elflink.c (elf_link_output_extsym): Special case ifunc syms |
| 98 |
|
when ref_regular, not def_regular. |
| 99 |
|
|
| 100 |
2008-12-17 Hans-Peter Nilsson <hp@axis.com> |
2009-07-21 H.J. Lu <hongjiu.lu@intel.com> |
| 101 |
|
|
| 102 |
* elf32-cris.c (elf_cris_copy_indirect_symbol): Return without |
PR ld/10426 |
| 103 |
action for symbols other than bfd_link_hash_indirect. |
* elflink.c (elf_link_add_object_symbols): Turn an IFUNC symbol |
| 104 |
(cris_elf_relocate_section) <R_CRIS_8, R_CRIS_16, R_CRIS_32>: Add missing |
from a DSO into a normal FUNC symbol. |
| 105 |
gate h != NULL for h->def_regular test. |
(elf_link_output_extsym): Turn an undefined IFUNC symbol into |
| 106 |
|
a normal FUNC symbol. |
| 107 |
2008-12-15 Hans-Peter Nilsson <hp@axis.com> |
|
| 108 |
|
2009-07-17 Chao-ying Fu <fu@mips.com> |
| 109 |
* elf32-cris.c (elf_cris_copy_indirect_symbol): New function. |
|
| 110 |
(elf_backend_copy_indirect_symbol): Define to above. |
* elfxx-mips.c (LOAD_INTERLOCKS_P): New define. |
| 111 |
|
(_bfd_mips_elf_size_dynamic_sections): For CPUs without load |
| 112 |
* elf32-cris.c (struct elf_cris_pcrel_relocs_copied): New member |
interlocking, the last PLT entry needs a nop in the branch delay slot. |
| 113 |
r_type. Fix formatting. |
(_bfd_mips_elf_finish_dynamic_symbol): For CPUs with load itnerlocking, |
| 114 |
(cris_elf_relocate_section) <R_CRIS_8_PCREL, R_CRIS_16_PCREL> |
output the last two PLT entries in reverse order. |
| 115 |
<R_CRIS_32_PCREL>: Also break early if the symbol doesn't get |
|
| 116 |
emitted as a dynamic one. |
2009-07-16 H.J. Lu <hongjiu.lu@intel.com> |
| 117 |
(cris_elf_check_relocs) <R_CRIS_7, R_CRIS_16, R_CRIS_32>: Fork |
|
| 118 |
from PCREL relocs code and simplify; don't fall through. |
* elf32-i386.c (elf_i386_relocate_section): Don't get local |
| 119 |
<R_CRIS_8_PCREL, R_CRIS_16_PCREL, R_CRIS_32_PCREL>: Simplify for |
STT_GNU_IFUNC symbol for relocatable link. |
| 120 |
pcrel only. For non-local or overridable symbols in a DSO, always |
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise. |
| 121 |
keep count of relocs, not just when -Bsymbolic. Don't emit |
|
| 122 |
message nor mark as TEXTREL here. |
2009-07-10 H.J. Lu <hongjiu.lu@intel.com> |
| 123 |
(elf_cris_discard_excess_dso_dynamics): Emit warning and mark as |
|
| 124 |
TEXTREL here, if there are nondiscarded pcrel relocs. |
* bfdio.c (bfd_iovec): Add comments for bmmap. |
| 125 |
|
* bfd-in2.h: Regenerated. |
| 126 |
* elf32-cris.c (elf_cris_got_elt_size) <symtab_hdr>: Initialize |
|
| 127 |
using ibfd, not abfd. |
2009-07-10 H.J. Lu <hongjiu.lu@intel.com> |
| 128 |
|
|
| 129 |
2008-12-11 Alan Modra <amodra@bigpond.net.au> |
* Makefile.am: Run "make dep-am". |
| 130 |
|
* Makefile.in: Regenerated. |
| 131 |
PR 7041 |
|
| 132 |
* elf64-ppc.c (func_desc_adjust): Correct logic making fake function |
2009-07-10 Doug Kwan <dougkwan@google.com> |
| 133 |
descriptors. Similarly correct making function descriptors dynamic. |
|
| 134 |
|
* elf32-arm.c (stub_hash_newfunc): Initialize fields |
| 135 |
2008-12-10 Alan Modra <amodra@bigpond.net.au> |
target_addend and orig_insn. |
| 136 |
|
|
| 137 |
* elf32-spu.h (struct spu_elf_params): Add num_regions. |
2009-07-10 Tom Tromey <tromey@redhat.com> |
| 138 |
* elf32-spu.c (spu_elf_auto_overlay): Handle multiple overlay regions. |
|
| 139 |
|
* Makefile.am (dwarf2.lo): Use dwarf2.h, not elf/dwarf2.h. |
| 140 |
2008-12-10 Alan Modra <amodra@bigpond.net.au> |
(elf-eh-frame.lo): Likewise. |
| 141 |
|
(elf32-bfin.lo): Likewise. |
| 142 |
* elf32-spu.g (struct spu_elf_params, enum _ovly_flavour): New. |
(elf32-frv.lo): Likewise. |
| 143 |
(spu_elf_setup): Declare. |
(elf32-xc16x.lo): Likewise. |
| 144 |
(spu_elf_create_sections, spu_elf_size_stubs): Update prototype. |
* Makefile.in: Rebuild. |
| 145 |
(spu_elf_build_stubs, spu_elf_check_vma): Likewise. |
* dwarf2.c: Included dwarf.h, not elf/dwarf2.h. |
| 146 |
* elf32-spu.c (struct spu_link_hash_table): Add "params". Remove |
* elf-eh-frame.c: Likewise. |
| 147 |
various other fields now in "params". Adjust code throughout. |
* elf32-bfin.c: Likewise. |
| 148 |
(struct call_info, struct function_info): Move earlier in file. |
* elf32-frv.c: Likewise. |
| 149 |
(struct spu_elf_stack_info): Likewise. |
* elf32-xc16x.c: Likewise. |
| 150 |
(spu_elf_setup): New function. |
|
| 151 |
(spu_elf_create_sections): Remove args other than "info". |
2009-07-10 Julian Brown <julian@codesourcery.com> |
| 152 |
(spu_elf_size_stubs, spu_elf_build_stubs, spu_elf_check_vma): Likewise. |
|
| 153 |
(maybe_needs_stubs): Remove "output_bfd" arg. Adjust all calls. |
* elf32-arm.c (arm_build_one_stub): Use the hash entry of the |
| 154 |
(interesting_section): Similarly with "obfd" arg. |
symbol a stub entry is derived from, not the entry for the stub |
| 155 |
(needs_ovl_stub): Adjust output_section test. |
itself, in call to elf32_arm_final_link_relocate. |
| 156 |
(allocate_spuear_stubs): Likewise. |
|
| 157 |
(OVL_STUB_SIZE): Don't define. |
2009-07-10 H.J. Lu <hongjiu.lu@intel.com> |
| 158 |
(ovl_stub_size): New function, use in place of OVL_STUB_SIZE. |
|
| 159 |
(build_stub): Test params->ovly_flavour rather than OVL_STUB_SIZE. |
* elf.c (_bfd_elf_get_synthetic_symtab): Remove leading zeros |
| 160 |
(spu_elf_auto_overlay): Remove args other than "info". Make use |
when reporting addends. |
| 161 |
of size returned from spu_elf_load_ovl_mgr. |
|
| 162 |
(spu_elf_stack_analysis): Remove args other than "info". |
2009-07-10 Alan Modra <amodra@bigpond.net.au> |
| 163 |
(spu_elf_relocate_section): Tidy setting of "ea". |
|
| 164 |
|
* elf32-spu.c (spu_elf_size_stubs): Do set up soft-icache manager |
| 165 |
2008-12-10 Alan Modra <amodra@bigpond.net.au> |
data even when no stubs. |
| 166 |
|
(spu_elf_place_overlay_data, spu_elf_build_stubs): Adjust. |
| 167 |
* elf32-spu.c (find_function_stack_adjust): Don't limit number |
|
| 168 |
of insns scanned. Correct sp tests. Handle "fsmbi" and "andbi". |
2009-07-10 Alan Modra <amodra@bigpond.net.au> |
| 169 |
(mark_detached_root): New function. |
|
| 170 |
(build_call_tree): Call it. |
* elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_IRELATIVE. |
| 171 |
(sort_calls): Don't do void* arithmetic. |
(ppc_elf_get_synthetic_symtab): Report addend. |
| 172 |
(define_ovtab_symbol): Don't abort on symbols defined in linker scripts. |
(PLT_IFUNC): Define. |
| 173 |
(discover_functions): Consider STT_SECTION symbols too. |
(struct ppc_elf_link_hash_table): Add iplt and reliplt. |
| 174 |
(collect_lib_sections): Don't cut short call tree traversal |
(ppc_elf_create_glink): New function. |
| 175 |
when function size is too large. |
(ppc_elf_create_dynamic_sections): Use it. |
| 176 |
|
(ppc_elf_add_symbol_hook): Set has_ifunc_symbols. |
| 177 |
2008-12-09 Tom Tromey <tromey@redhat.com> |
(update_local_sym_info): Allocate space for local_plt array. |
| 178 |
|
Don't bump local_got_refcounts for PLT_IFUNC. Return local_plt |
| 179 |
* pef.c (bfd_pef_parse_traceback_table): Add parens to placate gcc |
entry pointer. |
| 180 |
4.4. |
(is_branch_reloc): New function. |
| 181 |
|
(ppc_elf_check_relocs): Handle STT_GNU_IFUNC symbols. |
| 182 |
2008-12-09 Tristan Gingold <gingold@adacore.com> |
(ppc_elf_gc_sweep_hook): Likewise. |
| 183 |
|
(ppc_elf_adjust_dynamic_symbol): Likewise. |
|
* cpu-avr.c (compatible): Makes avr-6 compatible only with itself. |
|
|
|
|
|
2008-12-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> |
|
|
|
|
|
* elf64-s390.c (elf_s390_check_relocs): Initialize |
|
|
htab->elf.dynobj if necessary. |
|
|
|
|
|
2008-12-03 Nick Clifton <nickc@redhat.com> |
|
|
|
|
|
* syms.c (struct bfd_symbol): Add new flag BSF_INDIRECT_FUNCTION. |
|
|
Remove redundant flag BFD_FORT_COMM_DEFAULT_VALUE. Renumber flags |
|
|
to remove gaps. |
|
|
(bfd_print_symbol_vandf): Return 'i' for BSF_INDIRECT_FUNCTION. |
|
|
(bfd_decode_symclass): Likewise. |
|
|
* elf.c (swap_out_syms): Translate BSF_INDIRECT_FUNCTION into |
|
|
STT_IFUNC. |
|
|
(elf_find_function): Treat STT_IFUNC in the same way as STT_FUNC. |
|
|
(_bfd_elf_is_function_type): Likewise. |
|
|
* elf32-arm.c (arm_elf_find_function): Likewise. |
|
|
(elf32_arm_adjust_dynamic_symbol): Likewise. |
|
|
(elf32_arm_swap_symbol_in): Likewise. |
|
|
(elf32_arm_additional_program_headers): Likewise. |
|
|
* elf32-i386.c (is_indirect_symbol): New function. |
|
|
(elf_i386_check_relocs): Also generate dynamic relocs for |
|
|
relocations against STT_IFUNC symbols. |
|
| 184 |
(allocate_dynrelocs): Likewise. |
(allocate_dynrelocs): Likewise. |
| 185 |
(elf_i386_relocate_section): Likewise. |
(ppc_elf_size_dynamic_sections): Likewise. |
| 186 |
* elf64-x86-64.c (is_indirect_symbol): New function. |
(ppc_elf_relocate_section): Likewise. |
| 187 |
(elf64_x86_64_check_relocs): Also generate dynamic relocs for |
(branch_reloc_hash_match): Use is_branch_reloc. |
| 188 |
relocations against STT_IFUNC symbols. |
(ppc_elf_tls_optimize): Adjust for local_plt. |
| 189 |
|
(write_glink_stub): New function, extracted from.. |
| 190 |
|
(ppc_elf_finish_dynamic_symbol): ..here. Handle STT_GNU_IFUNC. |
| 191 |
|
(ppc_elf_finish_dynamic_sections): Only write plt resolver and |
| 192 |
|
branch table when dynamic. |
| 193 |
|
(elf_backend_post_process_headers): Define. |
| 194 |
|
* elf64-ppc.c (elf_backend_post_process_headers): Define. |
| 195 |
|
(ppc64_elf_howto_raw): Add R_PPC64_IRELATIVE. |
| 196 |
|
(ppc64_elf_get_synthetic_symtab): Report addend. |
| 197 |
|
(struct ppc_stub_hash_entry): Add plt_ent. |
| 198 |
|
(PLT_IFUNC): Define. |
| 199 |
|
(struct ppc_link_hash_table): Add iplt and reliplt. |
| 200 |
|
(create_linkage_sections): Make .iplt and .rela.iplt sections. |
| 201 |
|
(ppc64_elf_add_symbol_hook): Set has_ifunc_symbols. |
| 202 |
|
(update_local_sym_info): Allocate space for local_plt array. |
| 203 |
|
Don't bump local_got_ents for PLT_IFUNC. Return local_plt |
| 204 |
|
entry pointer. |
| 205 |
|
(update_plt_info): Pass pointer to plt_entry rather than sym hash, |
| 206 |
|
and don't change hash flags here. |
| 207 |
|
(is_branch_reloc): New function. |
| 208 |
|
(ppc64_elf_check_relocs): Handle STT_GNU_IFUNC. |
| 209 |
|
(ppc64_elf_gc_sweep_hook): Likewise. |
| 210 |
|
(ppc64_elf_adjust_dynamic_symbol): Likewise. |
| 211 |
(allocate_dynrelocs): Likewise. |
(allocate_dynrelocs): Likewise. |
| 212 |
(elf64_x86_64_relocate_section): Likewise. |
(ppc64_elf_size_dynamic_sections): Likewise. |
| 213 |
* elfcode.h (elf_slurp_symbol_table): Translate STT_IFUNC into |
(ppc_build_one_stub, ppc_size_one_stub): Likewise. |
| 214 |
BSF_INDIRECT_FUNCTION. |
(ppc64_elf_size_stubs): Likewise. |
| 215 |
* elflink.c (_bfd_elf_adjust_dynamic_reloc_section): Add support |
(ppc64_elf_relocate_section): Likewise. |
| 216 |
for STT_IFUNC symbols. |
(get_sym_h): Adjust for local_plt. |
| 217 |
(get_ifunc_reloc_section_name): New function. |
(branch_reloc_hash_match): Use is_branch_reloc. |
| 218 |
(_bfd_elf_make_ifunc_reloc_section): New function. |
(ppc_type_of_stub): Pass plt_entry pointer and handle ifunc. |
| 219 |
* elf-bfd.h (struct bfd_elf_section_data): Add indirect_relocs field. |
(ppc64_elf_toc): Ignore SEC_EXCLUDE sections. |
|
* bfd-in2.h: Regenerate. |
|
| 220 |
|
|
| 221 |
2008-12-02 Tristan Gingold <gingold@adacore.com> |
2009-07-10 Alan Modra <amodra@bigpond.net.au> |
| 222 |
|
|
| 223 |
* config.bfd: Add x86_64-*-darwin* |
* elf.c (_bfd_elf_get_synthetic_symtab): Report addends. |
| 224 |
|
|
| 225 |
2008-11-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
2009-07-10 Alan Modra <amodra@bigpond.net.au> |
| 226 |
|
|
| 227 |
* hpux-core.c: Don't include sys/file.h. |
* elf-bfd.h (struct elf_link_hash_entry): Clarify ref_regular |
| 228 |
|
and ref_regular_nonweak comment. |
| 229 |
|
* elflink.c (elf_link_output_extsym): Special case ifunc syms |
| 230 |
|
when def_regular, not ref_regular. |
| 231 |
|
(elf_link_add_object_symbols): Don't set needs_plt on ifunc syms,.. |
| 232 |
|
* elf32-i386.c (elf_i386_check_relocs): ..set it here instead.. |
| 233 |
|
* elf64-x86-64.c (elf64_x86_64_check_relocs): ..and here. |
| 234 |
|
|
| 235 |
2008-11-28 Joshua Kinard <kumba@gentoo.org> |
2009-07-09 Alan Modra <amodra@bigpond.net.au> |
| 236 |
|
|
| 237 |
* aoutx.h (NAME): Add case statements for bfd_mach_mips14000, |
* elf32-spu.c (mark_functions_via_relocs): Init broken_cycle field |
| 238 |
bfd_mach_mips16000. |
of malloc'd struct call_info. |
| 239 |
* archures.c (bfd_architecture): Add .#defines for bfd_mach_mips14000, |
(pasted_function): Likewise, priority too. |
|
bfd_mach_mips16000. |
|
|
* bfd-in2.h: Regenerate. |
|
|
* cpu-mips.c: Add enums I_mips14000, I_mips16000. |
|
|
(arch_info_struct): Add refs to R14000, R16000. |
|
|
* elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips14000, |
|
|
bfd_mach_mips16000. |
|
|
(mips_mach_extensions): Map R14000, R16000 to R10000. |
|
|
|
|
|
2008-11-27 M R Swami Reddy <MR.Swami.Reddy@nsc.com> |
|
|
|
|
|
* Add PIC support for CR16 target. |
|
|
* elf32-cr16.c (R_CR16_GOT_REGREL20, R_CR16_GOTC_REGREL20 and |
|
|
R_CR16_GLOB_DAT): New macros |
|
|
(cr16_elf_howto_table): Add entries for for R_CR16_GOT_REGREL20, |
|
|
R_CR16_GOTC_REGREL20 and R_CR16_GLOB_DAT. |
|
|
(cr16_reloc_map): Ditto |
|
|
(_bfd_cr16_elf_create_got_section): New function to create GOT section. |
|
|
(_bfd_cr16_elf_create_dynamic_sections): New function to create dynamic |
|
|
section. |
|
|
(_bfd_cr16_elf_adjust_dynamic_symbol): New function to adjust symbol |
|
|
defined by dynamic object. |
|
|
(_bfd_cr16_elf_size_dynamic_sections): New function to find the size of |
|
|
dynamic sections. |
|
|
(_bfd_cr16_elf_finish_dynamic_symbol): New function to handle dynamic |
|
|
symbols. |
|
|
(_bfd_cr16_elf_finish_dynamic_symbol): New function to handle dynamic |
|
|
sections. |
|
|
(bfd_cr16_elf32_create_embedded_relocs): New function to create |
|
|
embedded relocs in .emreloc section in memory for .data.rel section. |
|
|
(_bfd_cr16_elf_reloc_type_class): New function for classify reloc types. |
|
|
(cr16_elf_check_relocs): New function for checking reloc types in first |
|
|
phase. |
|
|
(cr16_elf_final_link_relocate): Update for handling the new reloc types |
|
|
R_CR16_GOT_REGREL20 and R_CR16_GOTC_REGREL20. |
|
|
(elf32_cr16_relax_section): Update relax implementation. |
|
|
* reloc.c (bfd_reloc_code_type): Add entries for R_CR16_GOT_REGREL20, |
|
|
R_CR16_GOTC_REGREL20 and R_CR16_GLOB_DAT. |
|
|
* bfd-in.h (bfd_boolean bfd_cr16_elf32_create_embedded_relocs): Declared |
|
|
* libbfd.h, bfd-in2.h: Regenerate. |
|
| 240 |
|
|
| 241 |
2008-11-26 Alan Modra <amodra@bigpond.net.au> |
2009-07-07 Alan Modra <amodra@bigpond.net.au> |
| 242 |
|
|
| 243 |
PR 7047 |
* elf32-spu.c (spu_elf_auto_overlay): Take into account section |
| 244 |
* configure.in: Bump version. |
alignment when packing sections into overlays. |
|
* configure: Regenerate. |
|
|
* elflink.c (_bfd_elf_link_assign_sym_version): Continue matching |
|
|
against version nodes when a global match is a wildcard. Similarly |
|
|
continue matching on local wildcard matches, rather than only |
|
|
continuing for "*". Have any global wildcard match override a |
|
|
local wildcard match. Correct logic hiding unversioned symbol. |
|
|
(bfd_elf_size_dynamic_sections): Update for changes to struct |
|
|
bfd_elf_version_expr. |
|
| 245 |
|
|
| 246 |
2008-11-25 Joel Brobecker <brobecker@adacore.com> |
2009-07-03 Cary Coutant <ccoutant@google.com> |
| 247 |
|
|
| 248 |
* configure.in: Deactivate large-file support on native x86-solaris |
* dwarf2.c (decode_line_info): Ignore DW_LNE_set_discriminator. |
| 249 |
as well unless the user explicitly requested it. |
|
| 250 |
|
2009-07-03 Dave Korn <dave.korn.cygwin@gmail.com> |
| 251 |
|
|
| 252 |
|
* coffcode.h (sec_to_styp_flags): Partially revert (functional |
| 253 |
|
changes only) earlier patch:- |
| 254 |
|
|
| 255 |
|
2009-06-25 Kai Tietz <kai.tietz@onevision.com> |
| 256 |
|
|
| 257 |
|
* coffcode.h (sec_to_styp_flags): Set discardable for .reloc and |
| 258 |
|
give .debug and .reloc data characteristics. |
| 259 |
|
(DOT_RELOC): New define for .reloc section string. |
| 260 |
|
(coff_write_object_contents): Use DOT_RELOC instead of string. |
| 261 |
|
|
| 262 |
|
2009-07-02 Tom Tromey <tromey@redhat.com> |
| 263 |
|
|
| 264 |
|
* aoutx.h (aout_get_external_symbols): Declare 'amt' locally. |
| 265 |
|
* bfdwin.c (bfd_free_window): Cast to unsigned long. |
| 266 |
|
|
| 267 |
|
2009-07-01 Nick Clifton <nickc@redhat.com> |
| 268 |
|
|
| 269 |
|
* elf-m10300.c: Remove trailing white space. |
| 270 |
|
* reloc.c: Likewise. |
| 271 |
|
|
| 272 |
|
2009-07-01 Douglas B Rupp <rupp@gnat.com> |
| 273 |
|
|
| 274 |
|
* bfd.m4 (BFD_HAVE_TIME_TYPE_MEMBER, |
| 275 |
|
BFD_HAVE_SYS_STAT_TYPE_MEMBER): New config functions. |
| 276 |
|
* configure.in: Use them. |
| 277 |
* configure: Regenerate. |
* configure: Regenerate. |
| 278 |
|
* config.in: Regnerate. |
| 279 |
|
* vmsutil.c: Include sysdep.h, remove ansidecl.h. |
| 280 |
|
#define _BSD_SOURCE. Add comments. |
| 281 |
|
(vms_file_stats_name): Calculate creation date based on available |
| 282 |
|
runtime data. Return 1 for version instead of 0. |
| 283 |
|
|
| 284 |
|
2009-07-01 Nick Clifton <nickc@redhat.com> |
| 285 |
|
|
| 286 |
|
PR 10072 |
| 287 |
|
* elf32-arm.c (elf32_arm_final_link_relocate): Add code to handle |
| 288 |
|
to R_ARM_THM_PC8 relocation. |
| 289 |
|
|
| 290 |
|
2009-06-29 Nick Clifton <nickc@redhat.com> |
| 291 |
|
|
| 292 |
|
* elf-m10300.c (mn10300_elf_relax_section): Allow for the |
| 293 |
|
different uses of the relocations addend when a symbol is in a |
| 294 |
|
merged section. |
| 295 |
|
|
| 296 |
|
2009-06-27 H.J. Lu <hongjiu.lu@intel.com> |
| 297 |
|
|
| 298 |
|
PR ld/10337 |
| 299 |
|
* elf.c (bfd_section_from_shdr): Don't change sh_link for |
| 300 |
|
SHT_REL/SHT_RELA sections on executable nor shared library. |
| 301 |
|
Treat SHT_REL/SHT_RELA sections with sh_link set to SHN_UNDEF |
| 302 |
|
as a normal section. |
| 303 |
|
|
| 304 |
|
2009-06-25 Nick Clifton <nickc@redhat.com> |
| 305 |
|
|
| 306 |
|
* elf-m10300.c (mn10300_elf_relax_section): Handle non-section |
| 307 |
|
symbols with SEC_MERGE flag. |
| 308 |
|
|
| 309 |
|
2009-06-25 Kai Tietz <kai.tietz@onevision.com> |
| 310 |
|
|
| 311 |
|
* coffcode.h (sec_to_styp_flags): Set discardable for .reloc and |
| 312 |
|
give .debug and .reloc data characteristics. |
| 313 |
|
(DOT_RELOC): New define for .reloc section string. |
| 314 |
|
(coff_write_object_contents): Use DOT_RELOC instead of string. |
| 315 |
|
|
| 316 |
|
2009-06-25 Tristan Gingold <gingold@adacore.com> |
| 317 |
|
|
| 318 |
|
* mach-o-target.c (bfd_mach_o_get_dynamic_symtab_upper_bound) |
| 319 |
|
(bfd_mach_o_canonicalize_dynamic_symtab) |
| 320 |
|
(bfd_mach_o_get_synthetic_symtab): Defines. |
| 321 |
|
(TARGET_NAME_BACKEND): Add bfd_mach_o_print_thread entry. |
| 322 |
|
(TARGET_NAME): Use Mach-O specific functions for dynamic. |
| 323 |
|
|
| 324 |
|
* mach-o-i386.c (bfd_mach_o_i386_swap_reloc_in): Fix howto indexes |
| 325 |
|
for scattered relocations. |
| 326 |
|
(bfd_mach_o_i386_print_thread): New function. |
| 327 |
|
(bfd_mach_o_print_thread): Define. |
| 328 |
|
|
| 329 |
|
* mach-o.c (text_section_names_xlat): Add an entry for __const. |
| 330 |
|
(bfd_mach_o_canonicalize_one_reloc, bfd_mach_o_canonicalize_relocs): |
| 331 |
|
New functions extracted from ... |
| 332 |
|
(bfd_mach_o_canonicalize_reloc): ... This. Simplified. |
| 333 |
|
(bfd_mach_o_get_dynamic_reloc_upper_bound): New function. |
| 334 |
|
(bfd_mach_o_canonicalize_dynamic_reloc): New function. |
| 335 |
|
(bfd_mach_o_i386_flavour_string): Adjusted after enum renaming. |
| 336 |
|
(bfd_mach_o_ppc_flavour_string): Reindentation. Add 64 bits cases. |
| 337 |
|
(bfd_mach_o_scan_read_dylinker): Do not create a section anymore. |
| 338 |
|
Set name_str field. |
| 339 |
|
(bfd_mach_o_scan_read_dylib): Ditto. |
| 340 |
|
(bfd_mach_o_scan_read_thread): Set mdata at declaration. Add comments, |
| 341 |
|
reindent. |
| 342 |
|
(bfd_mach_o_scan_read_dysymtab): Set mdata at declaration. Correctly |
| 343 |
|
decode isym and flags on little endian targets. Set dysymtab field. |
| 344 |
|
(bfd_mach_o_scan_start_address): Adjust for enum names. |
| 345 |
|
(bfd_mach_o_lookup_section): Do not look for segments anymore. |
| 346 |
|
(bfd_mach_o_print_section): Display bfd section name. |
| 347 |
|
(bfd_mach_o_print_segment): Display none if no name. |
| 348 |
|
(bfd_mach_o_print_dysymtab): Display next index for local, external |
| 349 |
|
and undefined symbols. |
| 350 |
|
(bfd_mach_o_bfd_print_private_bfd_data): Adjust code by using name_str. |
| 351 |
|
Display dylinker name. Display thread and unixthread commands content. |
| 352 |
|
(bfd_mach_o_print_thread): New macro. |
| 353 |
|
|
| 354 |
|
* mach-o.h (bfd_mach_o_mach_header_magic): Align numbers. |
| 355 |
|
(bfd_mach_o_ppc_thread_flavour): Ditto. |
| 356 |
|
(bfd_mach_o_i386_thread_flavour): Ditto. |
| 357 |
|
(BFD_MACH_O_PPC_THREAD_STATE_NONE): New enum. |
| 358 |
|
(BFD_MACH_O_x86_THREAD_STATE_NONE): Replaces |
| 359 |
|
BFD_MACH_O_THREAD_STATE_NONE. |
| 360 |
|
(bfd_mach_o_segment_command): Remove segment field. |
| 361 |
|
(bfd_mach_o_thread_flavour): Field offset is now unsigned long. |
| 362 |
|
(bfd_mach_o_dylinker_command): Remove section field, add name_str. |
| 363 |
|
(bfd_mach_o_prebound_dylib_command): Ditto. |
| 364 |
|
(bfd_mach_o_dylib_command): Ditto. |
| 365 |
|
(bfd_mach_o_prebound_dylib_command): Remove section field. |
| 366 |
|
(mach_o_data_struct): Add dysymtab field. |
| 367 |
|
(bfd_mach_o_backend_data): Add _bfd_mach_o_print_thread field. |
| 368 |
|
(bfd_mach_o_get_reloc_upper_bound, bfd_mach_o_canonicalize_reloc) |
| 369 |
|
(bfd_mach_o_build_commands): Remove parameter names and attributes. |
| 370 |
|
(bfd_mach_o_get_dynamic_reloc_upper_bound) |
| 371 |
|
(bfd_mach_o_canonicalize_dynamic_reloc): New prototypes. |
| 372 |
|
|
| 373 |
|
2009-06-25 Rafael Avila de Espindola <espindola@google.com> |
| 374 |
|
|
| 375 |
|
* plugin.c (load_plugin): Use stat and S_ISREG instead of the d_type |
| 376 |
|
field of struct dirent. |
| 377 |
|
|
| 378 |
|
2009-06-23 Tristan Gingold <gingold@adacore.com> |
| 379 |
|
|
| 380 |
|
* vms.c (vms_get_synthetic_symtab): Remove duplicate definition |
| 381 |
|
of this macro. Fix indentation. |
| 382 |
|
|
| 383 |
|
2009-06-22 Christophe Lyon <christophe.lyon@st.com> |
| 384 |
|
|
| 385 |
|
* elf32-arm.c (elf32_arm_size_stubs): Use PLT address as |
| 386 |
|
destination for defined dynamic symbols when deciding whether to |
| 387 |
|
insert a stub or not. |
| 388 |
|
(allocate_dynrelocs): Make sure functions are not marked as Thumb |
| 389 |
|
when actually accessed through a PLT, even when generating a |
| 390 |
|
shared lib. |
| 391 |
|
|
| 392 |
|
2009-06-22 Tristan Gingold <gingold@adacore.com> |
| 393 |
|
|
| 394 |
|
* mach-o.c (bfd_mach_o_canonicalize_reloc): Append a sentinel to |
| 395 |
|
the relocs array. |
| 396 |
|
|
| 397 |
|
2009-06-22 Alan Modra <amodra@bigpond.net.au> |
| 398 |
|
|
| 399 |
|
* elf32-ppc.c (ppc_elf_check_relocs): Handle R_PPC_RELAX* in switch. |
| 400 |
|
* elf32-v850.c (v850_elf_relocate_section): Warning fix. |
| 401 |
|
|
| 402 |
|
2009-06-22 Alan Modra <amodra@bigpond.net.au> |
| 403 |
|
|
| 404 |
|
* elf64-ppc.c (ppc64_elf_edit_opd): Avoid gcc warning. |
| 405 |
|
|
| 406 |
|
2009-06-19 H.J. Lu <hongjiu.lu@intel.com> |
| 407 |
|
|
| 408 |
2008-11-25 Joseph Myers <joseph@codesourcery.com> |
* elflink.c (elf_link_add_object_symbols): Avoid warning |
| 409 |
|
from -Wjump-misses-init in gcc 4.5.0. |
| 410 |
|
|
| 411 |
* elf32-arm.c (elf32_arm_final_link_relocate): Do not turn |
2009-06-19 H.J. Lu <hongjiu.lu@intel.com> |
| 412 |
branches to undefine weak symbols into branches to the next |
|
| 413 |
instruction if creating PLT entries for those symbols. |
* elf32-i386.c (elf_i386_check_relocs): Properly check local |
| 414 |
|
symbol on error. |
|
2008-11-25 Nick Clifton <nickc@redhat.com> |
|
|
|
|
|
* elflink.c (is_reloc_section): New function. Returns true if the |
|
|
given name matches the name of the reloc-containing section |
|
|
associated with the given section. |
|
|
(get_dynamic_reloc_section_name): New function. Computes the name |
|
|
of the section that contains the dynamic relocs associated with |
|
|
the given section. |
|
|
(_bfd_elf_get_dynamic_reloc_section): New function. Returns a |
|
|
pointer to the section containing the dynamic relocs associated |
|
|
with the given section. |
|
|
(_bfd_elf_make_dynamic_reloc_section): New function. Creates a |
|
|
section to contain the dynamic relocs associated with a given |
|
|
section. |
|
|
* elf-bfd.h: Prototype the new functions. |
|
|
* elf-m10300.c (mn10300_elf_check_relocs): Use new functions. |
|
|
(mn10300_elf_final_link_relocs): Likewise. |
|
|
* elf32-arm.c (reloc_section_p): Delete - replaced by new |
|
|
functions. |
|
|
(elf32_arm_final_link_relocate): Use new functions. |
|
|
(elf32_arm_check_relocs): Likewise. |
|
|
* elf32-cris.c (cris_elf_relocate_section): Likewise. |
|
|
(elf_cris_check_relocs): Likewise. |
|
|
* elf32-hppa.c (elf32_hppa_check_relocs): Likewise. |
|
|
* elf32-i370.c (i370_elf_check_relocs): Likewise. |
|
|
(i370_elf_relocate_section): Likewise. |
|
|
* elf32-i386.c (elf_i386_check_relocs): Likewise. |
|
|
* elf32-m32r.c (m32r_elf_relocate_section): Likewise. |
|
|
(m32r_elf_check_relocs): Likewise. |
|
|
* elf32-m68k.c (elf_m68k_check_relocs): Likewise. |
|
|
* elf32_ppc.c (ppc_elf_check_relocs): Likewise. |
|
|
(ppc_elf_relocate_section): Likewise. |
|
|
* elf32-s390.c (elf_s390_check_relocs): Likewise. |
|
|
* elf32-sh.c (sh_elf_relocate_section): Likewise. |
|
|
(sh_elf_check_relocs): Likewise. |
|
|
* elf32-vax.c (elf_vax_check_relocs): Likewise. |
|
|
(elf_vax_relocate_section): Likewise. |
|
|
* elf64-alpha.c (elf64_alpha_check_relocs): Likewise. |
|
|
* elf64-ppc.c (ppc64_elf_check_relocs): Likewise. |
|
|
* elf64-s390.c (elf_s390_check_relocs): Likewise. |
|
|
* elf64-sh64.c (sh_elf64_relocate_section): Likewise. |
|
| 415 |
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise. |
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise. |
|
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise. |
|
|
* elf32-bfin.c (bfin_check_relocs): Remove redundant local |
|
|
variable 'sreloc'. |
|
|
(bfin_relocate_section): Likewise. |
|
|
* elf32-v850.c (v850_elf_check_relocs): Likewise. |
|
|
|
|
|
2008-11-23 Hans-Peter Nilsson <hp@axis.com> |
|
|
|
|
|
Implement TLS for CRIS. |
|
|
* elf32-cris.c: Include limits.h. |
|
|
(TLSHOWTO16): Redefine in terms of and move contents to... |
|
|
(TLSHOWTO16X): New macro. |
|
|
(TLSHOWTO16S, LGOT_REG_NDX, LGOT_DTP_NDX, LGOT_ALLOC_NELTS_FOR) |
|
|
(elf_cris_hash_entry): New macros. |
|
|
(cris_elf_howto_table): Make R_CRIS_16_DTPREL, |
|
|
R_CRIS_16_GOT_TPREL, R_CRIS_16_TPREL check overflow for signed, |
|
|
not unsigned values. |
|
|
(cris_info_to_howto_rela): Make r_type a enum elf_cris_reloc_type, |
|
|
not unsigned int. |
|
|
(struct elf_cris_link_hash_entry): New members reg_got_refcount, |
|
|
tprel_refcount, and dtp_refcount. |
|
|
(struct elf_cris_link_hash_table): New member dtpmod_refcount. |
|
|
(elf_cris_link_hash_newfunc): Initialize new members. |
|
|
(elf_cris_link_hash_table_create): Similar. |
|
|
(cris_final_link_relocate, elf_cris_reloc_type_class): Use a |
|
|
temporary variable when testing the relocation type. |
|
|
(cris_elf_gc_mark_hook): Ditto. Add default case where needed. |
|
|
(cris_elf_gc_sweep_hook): Ditto. Handle reference-counting for |
|
|
the new assembly-generated relocs. Rewrite refcount handling to |
|
|
set temporary variables to pointers to reloc-specific variables |
|
|
and entry size and common code for the update. |
|
|
(additional_relocation_error_msg_count): New variable. |
|
|
(cris_elf_relocate_section): Use a function-local variable srelgot |
|
|
for the .rela.got section instead of looking it up for every need. |
|
|
Make r_type a enum elf_cris_reloc_type, not int. Actually set |
|
|
symname for non-local symbols. Handle new assembly-generated |
|
|
relocs. For overflow, emit additional messages for the new 16-bit |
|
|
relocs as well as R_CRIS_16_GOTPLT and R_CRIS_16_GOT. |
|
|
(elf_cris_finish_dynamic_symbol): Use elf_cris_finish_dynamic_symbol |
|
|
instead of plain casts. Check new hash entry member |
|
|
reg_got_refcount when checking whether to emit a GOT entry. |
|
|
(elf_cris_finish_dynamic_sections): Update head comment to warn |
|
|
about emitting relocs here. Use a temporary variable when testing |
|
|
the relocation type. |
|
|
(elf_cris_discard_excess_program_dynamics) |
|
|
(elf_cris_adjust_gotplt_to_got): Handle reference counting change |
|
|
regarding h->reg_got_refcount. |
|
|
(cris_elf_check_relocs): Rewrite refcount handling to set |
|
|
temporary variables and entry size and common code for the update |
|
|
for local symbols. Use new macro elf_cris_hash_entry. Adjust |
|
|
allocation for change in reference counting of GOT entries for |
|
|
local symbols. |
|
|
(elf_cris_size_dynamic_sections): Adjust calculated size of |
|
|
.got.plt and .rela.got if we need a GOT entry for a |
|
|
R_CRIS_DTPMOD relocation. |
|
|
(elf_cris_got_elt_size): New function. |
|
|
(elf_backend_got_elt_size): Define. |
|
|
|
|
|
2008-11-21 Sterling Augustine <sterling@tensilica.com> |
|
|
|
|
|
* xtensa-isa.c (xtensa_state_is_shared_or): New function. |
|
|
|
|
|
2008-11-21 Hans-Peter Nilsson <hp@axis.com> |
|
|
|
|
|
* elf-bfd.h (struct elf_backend_data): New member got_elt_size. |
|
|
(_bfd_elf_default_got_elt_size): Declare. |
|
|
* elflink.c (struct alloc_got_off_arg): Replace member got_elt_size |
|
|
by new member info. |
|
|
(elf_gc_allocate_got_offsets): Adjust for calling bed->got_elt_size |
|
|
to get the element size instead of using a gofarg entry. |
|
|
(bfd_elf_gc_common_finalize_got_offsets): Similar. |
|
|
(_bfd_elf_default_got_elt_size): New function. |
|
|
* elfxx-target.h: New macro elf_backend_got_elt_size. |
|
|
(elfNN_bed): Use it. |
|
|
|
|
|
2008-11-20 Tristan Gingold <gingold@adacore.com> |
|
|
|
|
|
* bfdwin.c: Fix comment. |
|
|
|
|
|
2008-11-20 Tristan Gingold <gingold@adacore.com> |
|
|
|
|
|
* bfd.c (is32bit): Use architecture information for non-ELF |
|
|
targets. |
|
|
|
|
|
2008-11-20 Alan Modra <amodra@bigpond.net.au> |
|
|
|
|
|
* elf32-ppc.c (allocate_dynrelocs): Always use tlsld_got for |
|
|
TLS_LD even when symbol is used with other TLS reloc types. |
|
|
(ppc_elf_relocate_section): Bypass symbol checks when using tlsld_got. |
|
|
Leave addend zero on LD DTPMOD dynamic reloc. |
|
|
|
|
|
2008-11-19 Bob Wilson <bob.wilson@acm.org> |
|
|
|
|
|
* xtensa-modules.c (sysregs): Add MMID, VECBASE, EPC5, EPC6, EPC7, |
|
|
EXCSAVE5, EXCSAVE6, EXCSAVE7, EPS5, EPS6, EPS7, CPENABLE, |
|
|
SCOMPARE1, and THREADPTR registers. |
|
|
(NUM_SYSREGS, MAX_USER_REG): Update. |
|
|
(states): Change width of INTERRUPT, WindowBase, WindowStart, and |
|
|
INTENABLE. Add VECBASE, EPC5, EPC6, EPC7, EXCSAVE5, EXCSAVE6, |
|
|
EXCSAVE7, EPS6, EPS6, EPS7, THREADPTR, CPENABLE, and SCOMPARE1 states. |
|
|
(NUM_STATES): Update. |
|
|
(enum xtensa_state_id): Add entries for new states. |
|
|
(enum xtensa_field_id): Add entries for xt_wbr15_imm and xt_wbr18_imm |
|
|
fields, along with functions to extract and set them. |
|
|
(regfiles): Change number of AR registers to 32. |
|
|
(Operand_ar0_encode, Operand_ar4_encode, Operand_ar8_encode, |
|
|
Operand_ar12_encode, Operand_ars_entry_encode): Update register mask. |
|
|
(operands): Add entries for tp7, xt_wbr15_label, xt_wbr18_label, |
|
|
xt_wbr15_imm, and xt_wbr18_imm operands, along with functions to |
|
|
encode and decode them. |
|
|
(enum xtensa_operand_id): Add entries for new operands. |
|
|
(Iclass_xt_iclass_rfi_stateArgs): Add EPC5, EPC6, EPC7, EPS5, EPS6, and |
|
|
EPC7 states. |
|
|
(Iclass_xt_iclass_rfdo_stateArgs): Replace EPC4 and EPS4 by EPC6 and |
|
|
EPS6, respectively. |
|
|
(iclasses): Add entries for rur_threadptr, wur_threadptr, |
|
|
xt_iclass_wsr_176, xt_iclass_rsr_epc5, xt_iclass_wsr_epc5, |
|
|
xt_iclass_xsr_epc5, xt_iclass_rsr_excsave5, xt_iclass_wsr_excsave5, |
|
|
xt_iclass_xsr_excsave5, xt_iclass_rsr_epc6, xt_iclass_wsr_epc6, |
|
|
xt_iclass_xsr_epc6, xt_iclass_rsr_excsave6, xt_iclass_wsr_excsave6, |
|
|
xt_iclass_xsr_excsave6, xt_iclass_rsr_epc7, xt_iclass_wsr_epc7, |
|
|
xt_iclass_xsr_epc7, xt_iclass_rsr_excsave7, xt_iclass_wsr_excsave7, |
|
|
xt_iclass_xsr_excsave7, xt_iclass_rsr_eps5, xt_iclass_wsr_eps5, |
|
|
xt_iclass_xsr_eps5, xt_iclass_rsr_eps6, xt_iclass_wsr_eps6, |
|
|
xt_iclass_xsr_eps6, xt_iclass_rsr_eps7, xt_iclass_wsr_eps7, |
|
|
xt_iclass_xsr_eps7, xt_iclass_rsr_vecbase, xt_iclass_wsr_vecbase, |
|
|
xt_iclass_xsr_vecbase, xt_iclass_mul16, xt_iclass_wsr_mmid, |
|
|
xt_iclass_icache_lock, xt_iclass_dcache_lock, xt_iclass_rsr_cpenable, |
|
|
xt_iclass_wsr_cpenable, xt_iclass_xsr_cpenable, xt_iclass_clamp, |
|
|
xt_iclass_minmax, xt_iclass_sx, xt_iclass_l32ai, xt_iclass_s32ri, |
|
|
xt_iclass_s32c1i, xt_iclass_rsr_scompare1, xt_iclass_wsr_scompare1, |
|
|
xt_iclass_xsr_scompare1, xt_iclass_div, and xt_iclass_mul32, along |
|
|
with corresponding argument and state argument arrays. Change |
|
|
number of state arguments for xt_iclass_rfi. Add arguments for |
|
|
xt_iclass_rfdo. |
|
|
(enum xtensa_iclass_id): Add entries for new iclasses. |
|
|
(opcodes): Add entries for RUR_THREADPTR, WUR_THREADPTR, WSR_176, |
|
|
RSR_EPC5, WSR_EPC5, XSR_EPC5, RSR_EXCSAVE5, WSR_EXCSAVE5, XSR_EXCSAVE5, |
|
|
RSR_EPC6, WSR_EPC6, XSR_EPC6, RSR_EXCSAVE6, WSR_EXCSAVE6, XSR_EXCSAVE6, |
|
|
RSR_EPC7, WSR_EPC7, XSR_EPC7, RSR_EXCSAVE7, WSR_EXCSAVE7, XSR_EXCSAVE7, |
|
|
RSR_EPS5, WSR_EPS5, XSR_EPS5, RSR_EPS6, WSR_EPS6, XSR_EPS6, RSR_EPS7, |
|
|
WSR_EPS7, XSR_EPS7, RSR_VECBASE, WSR_VECBASE, XSR_VECBASE, MUL16U, |
|
|
MUL16S, WSR_MMID, IPFL, IHU, IIU, DPFL, DHU, DIU, RSR_CPENABLE, |
|
|
WSR_CPENABLE, XSR_CPENABLE, CLAMPS, MIN, MAX, MINU, MAXU, SEXT, L32AI, |
|
|
S32RI, S32C1I, RSR_SCOMPARE1, WSR_SCOMPARE1, XSR_SCOMPARE1, QUOU, QUOS, |
|
|
REMU, REMS, and MULL opcodes, along with the corresponding functions |
|
|
to encode them. |
|
|
(enum xtensa_opcode_id): Add entries for new opcodes. |
|
|
(Slot_inst_decode): Handle new opcodes. |
|
|
(Slot_inst_get_field_fns, Slot_inst_set_field_fns): Add entries for |
|
|
xt_wbr15_imm and xt_wbr18_imm fields. |
|
|
(Slot_inst16a_get_field_fns, Slot_inst16a_set_field_fns): Likewise. |
|
|
(Slot_inst16b_get_field_fns, Slot_inst16b_set_field_fns): Likewise. |
|
|
(xtensa_modules): Update number of fields, operands, iclasses and |
|
|
opcodes. |
|
|
|
|
|
2008-11-19 Nix <nix@esperi.org.uk> |
|
|
|
|
|
* elf.c (swap_out_syms) [USE_STT_COMMON]: Fix syntax error. |
|
|
|
|
|
2008-11-19 Nick Clifton <nickc@redhat.com> |
|
|
|
|
|
PR 7027 |
|
|
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Treat WPLT30 relocs |
|
|
against local symbols in 64-bit binaries as if they were WDISP30 |
|
|
relocs. |
|
|
(_bfd_sparc_elf_relocate_section): Likewise. |
|
| 416 |
|
|
| 417 |
2008-11-18 Catherine Moore <clm@codesourcery.com> |
2009-06-19 H.J. Lu <hongjiu.lu@intel.com> |
| 418 |
|
|
| 419 |
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge |
* elf32-i386.c (elf_i386_tls_transition): Add a parameter, |
| 420 |
half-precision attributes. |
r_symndx. Report local symbol name on error. |
| 421 |
(elf32_arm_copy_one_eabi_other_attribute): New. |
(elf_i386_check_relocs): Updated. Report local symbol name on |
| 422 |
(elf32_arm_copy_other_attribute_list): New. |
error. |
| 423 |
|
(elf_i386_gc_sweep_hook): Updated. |
| 424 |
|
(elf_i386_relocate_section): Likewise. |
| 425 |
|
|
| 426 |
2008-11-18 Nick Clifton <nickc@redhat.com> |
* elf64-x86-64.c (elf64_x86_64_tls_transition): Add a parameter, |
| 427 |
|
r_symndx. Report local symbol name on error. |
| 428 |
|
(elf64_x86_64_check_relocs): Updated. Report local symbol name |
| 429 |
|
on error. |
| 430 |
|
(elf64_x86_64_gc_sweep_hook): Updated. |
| 431 |
|
(elf64_x86_64_relocate_section): Likewise. |
| 432 |
|
|
| 433 |
* dwarf2.c (read_section): Fix formatting. |
2009-06-19 Tristan Gingold <gingold@adacore.com> |
|
(read_n_bytes): Remove unhelpful comment. |
|
|
(read_indirect_string): Pass symbol table to read_section in case |
|
|
the .debug_str section needs relocating. |
|
| 434 |
|
|
| 435 |
PR 7037 |
* mach-o.c (bfd_mach_o_print_private_header): Fix format character. |
|
* elf32-cr16.c (cr16_elf_howto_table): Zero the src_mask field of |
|
|
the reloc descriptions. |
|
| 436 |
|
|
| 437 |
2008-11-14 Eric B. Weddington <eric.weddington@atmel.com> |
2009-06-19 Tristan Gingold <gingold@adacore.com> |
| 438 |
|
|
| 439 |
PR 7022 |
* mach-o.c (bfd_mach_o_scan_read_symtab_symbols): Add prototype. |
| 440 |
* elf32-avr.c (bfd_elf_avr_final_write_processing): |
(bfd_mach_o_version): Use bfd_mach_o_get_data instead of direct access. |
| 441 |
Add missing break statements. |
(bfd_mach_o_valid): Ditto. |
| 442 |
|
(bfd_mach_o_wide_p): Ditto. |
| 443 |
2008-11-14 Bob Wilson <bob.wilson@acm.org> |
(bfd_mach_o_canonicalize_reloc): Ditto. |
| 444 |
|
(bfd_mach_o_build_commands): Ditto. |
| 445 |
* xtensa-modules.c (xtensa_state_id): New enum, replacing STATE macros. |
(bfd_mach_o_scan_read_thread): Ditto. |
| 446 |
(xtensa_field_id, xtensa_regfile_id, xtensa_operand_id) |
(bfd_mach_o_flatten_sections): Ditto. |
| 447 |
(xtensa_iclass_id, xtensa_opcode_id): New enums. |
(bfd_mach_o_scan_start_address): Ditto. |
| 448 |
Replace hardcoded constants throughout this file with enum values. |
(bfd_mach_o_lookup_section): Ditto. |
| 449 |
|
(bfd_mach_o_core_fetch_environment): Ditto. |
| 450 |
2008-11-14 Nathan Sidwell <nathan@codesourcery.com> |
(bfd_mach_o_write_contents): Ditto. Handle reexport_dylib. |
| 451 |
|
(bfd_mach_o_scan_write_relocs): Adjust for bfd_mach_o_get_data. |
| 452 |
* elf.c (assign_file_positions_for_load_sections): Use header_size |
(bfd_mach_o_scan_write_symtab): Ditto. |
| 453 |
to avoid moving the load address of file headers. |
Use macros instead of hard-coded values. |
| 454 |
(assign_file_positions_for_load_sections): Set header_size for |
(bfd_mach_o_scan_read_symtab_symbol): Make the function static. |
| 455 |
segments containing the file header. |
Use bfd_mach_o_get_data instead of direct access. Use macros |
| 456 |
|
instead of hard-coded values. |
| 457 |
2008-11-14 Tristan Gingold <gingold@adacore.com> |
(bfd_mach_o_scan_read_symtab_strtab): Make the function static. |
| 458 |
|
Remove sym argument and get section from mdata. |
| 459 |
* configure.com: Handle bfd_default_target_size, BFD_HOST_LONG_LONG, |
Move code into the else branch. |
| 460 |
BFD_HOST_64BIT_LONG_LONG, BFD_HOSTPTR_T, bfd_file_ptr. |
(bfd_mach_o_scan_read_symtab_symbols): Make the function static. |
| 461 |
Generate bfdver.h. |
Remove sym argument and get section from mdata. Adjust code. |
| 462 |
* vms-hdr.c (_bfd_vms_write_hdr): Use strdup/free instead of alloca. |
(bfd_mach_o_scan_read_dylib): Move assertion into the created |
| 463 |
* hosts/alphavms.h: Defines macros to bypass i18n. |
switch (which replaces consecutive if statements). |
| 464 |
* makefile.vms (OBJS): Update file list. |
(bfd_mach_o_scan_read_dysymtab): Rename seg to cmd. Load |
| 465 |
(DEFS): Remove VMS_DEBUG, const, add DEBUGDIR. |
module table, table of content, indirect symbols and external |
| 466 |
(CFLAGS): Update flags. |
referenced symbols. |
| 467 |
* bfdio.c (real_fopen): Add code specific to VMS: extract attributes |
(bfd_mach_o_scan_read_symtab): Renames seg to symtab. Set symtab |
| 468 |
from modes. |
field. |
| 469 |
|
(bfd_mach_o_scan_read_linkedit): New function. |
| 470 |
|
(bfd_mach_o_scan_read_str): Ditto. |
| 471 |
|
(bfd_mach_o_count_symbols): Simplify the code by using the symtab |
| 472 |
|
field of mdata. |
| 473 |
|
(bfd_mach_o_get_symtab_upper_bound): Remove check as |
| 474 |
|
bfd_mach_o_count_symbols never returns an error. |
| 475 |
|
(bfd_mach_o_canonicalize_symtab): Simplify the code by using the |
| 476 |
|
symtab field (there might be only one symtab). |
| 477 |
|
(bfd_mach_o_scan_read_command): Handle reexported dylib. |
| 478 |
|
Handle sub frameworks, sub umbrella, sub library and sub client. |
| 479 |
|
Read code signature and segment split info commands. |
| 480 |
|
(bfd_mach_o_scan): Reindent. |
| 481 |
|
(bfd_mach_o_xlat_name): New type. |
| 482 |
|
(bfd_mach_o_print_flags): New function. |
| 483 |
|
(bfd_mach_o_get_name): Ditto. |
| 484 |
|
(bfd_mach_o_cpu_name): New variable. |
| 485 |
|
(bfd_mach_o_filetype_name, bfd_mach_o_header_flags_name) |
| 486 |
|
(bfd_mach_o_section_type_name) |
| 487 |
|
(bfd_mach_o_section_attribute_name) |
| 488 |
|
(bfd_mach_o_load_command_name): New variables. |
| 489 |
|
(bfd_mach_o_print_private_header): New function. |
| 490 |
|
(bfd_mach_o_print_section_map): New function extracted from |
| 491 |
|
bfd_mach_o_print_private_bfd_data. |
| 492 |
|
(bfd_mach_o_print_section): Ditto. Print more infos. |
| 493 |
|
(bfd_mach_o_print_segment): Ditto. |
| 494 |
|
(bfd_mach_o_print_dysymtab): Ditto. |
| 495 |
|
(bfd_mach_o_bfd_print_private_bfd_data): Reworked. Handle |
| 496 |
|
load weak dylib, reexport dylib and id dylib. |
| 497 |
|
Handle code signature and segment_split info. |
| 498 |
|
Handle sub frameworks, sub umbrella, sub library and sub client. |
| 499 |
|
(bfd_mach_o_section_get_nbr_indirect): New function. |
| 500 |
|
|
| 501 |
|
* mach-o.h (BFD_MACH_O_REFERENCE_MASK): New macro. Add comment. |
| 502 |
|
(bfd_mach_o_header_flags): New enum to define header flags. |
| 503 |
|
(bfd_mach_o_section_attribute): New enum to replace ... |
| 504 |
|
(BFD_MACH_O_S_ATTR_LOC_RELOC, BFD_MACH_O_S_ATTR_EXT_RELOC, |
| 505 |
|
BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS, BFD_MACH_O_S_ATTR_DEBUG, |
| 506 |
|
BFD_MACH_O_S_SELF_MODIFYING_CODE, BFD_MACH_O_S_ATTR_LIVE_SUPPORT, |
| 507 |
|
BFD_MACH_O_S_ATTR_NO_DEAD_STRIP, BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS, |
| 508 |
|
BFD_MACH_O_S_ATTR_NO_TOC, BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS): ... |
| 509 |
|
these removed macros. |
| 510 |
|
(BFD_MACH_O_NLIST_SIZE, BFD_MACH_O_NLIST_64_SIZE): New macros. |
| 511 |
|
(bfd_mach_o_dylib_module): New type. |
| 512 |
|
(BFD_MACH_O_DYLIB_MODULE_SIZE, BFD_MACH_O_DYLIB_MODULE_64_SIZE): New |
| 513 |
|
macros. |
| 514 |
|
(bfd_mach_o_dylib_table_of_content): New type. |
| 515 |
|
(BFD_MACH_O_TABLE_OF_CONTENT_SIZE): New macro. |
| 516 |
|
(bfd_mach_o_dylib_reference): New type. |
| 517 |
|
(BFD_MACH_O_REFERENCE_SIZE): New macro. |
| 518 |
|
(bfd_mach_o_dysymtab_command): Add fields for loaded and decoded |
| 519 |
|
modules, toc, references and indirect syms. |
| 520 |
|
(BFD_MACH_O_INDIRECT_SYMBOL_SIZE): New macro. |
| 521 |
|
(bfd_mach_o_dylinker_command): Remove cmd and cmdsize fields (were |
| 522 |
|
unused). Add comment. |
| 523 |
|
(bfd_mach_o_dylib_command): Ditto. |
| 524 |
|
(bfd_mach_o_prebound_dylib_command): Ditto. |
| 525 |
|
(bfd_mach_o_linkedit_command): New type. |
| 526 |
|
(bfd_mach_o_str_command): New type. |
| 527 |
|
(bfd_mach_o_load_command): Add linkedit and str fields. |
| 528 |
|
(mach_o_data_struct): Add symtab field. |
| 529 |
|
(bfd_get_mach_o_data): Renamed to ... |
| 530 |
|
(bfd_mach_o_get_data): ... this new macro. |
| 531 |
|
(bfd_mach_o_scan_read_symtab_symbol, |
| 532 |
|
bfd_mach_o_scan_read_symtab_strtab, |
| 533 |
|
bfd_mach_o_scan_read_symtab_symbols): Prototypes removed. |
| 534 |
|
|
| 535 |
2008-11-13 Joel Brobecker <brobecker@adacore.com> |
* mach-o-i386.c (bfd_mach_o_i386_mkobject): Use bfd_mach_o_get_data |
| 536 |
|
instead of direct access. |
| 537 |
|
|
| 538 |
* configure.in: Deactivate large-file support on native 32bit |
2009-06-19 Alan Modra <amodra@bigpond.net.au> |
|
sparc-solaris unless the user explicitly requested it. |
|
|
* configure: Regenerate. |
|
| 539 |
|
|
| 540 |
2008-11-13 Hans-Peter Nilsson <hp@axis.com> |
* elf32-ppc.c (ppc_elf_check_relocs): Allow local symbols for |
| 541 |
|
R_PPC_PLTREL24 relocs. |
| 542 |
|
(ppc_elf_relocate_section): Likewise. |
| 543 |
|
|
| 544 |
PR ld/7028 |
2009-06-19 Alan Modra <amodra@bigpond.net.au> |
|
* elf.c (assign_file_positions_for_load_sections): Allocate phrds |
|
|
with bfd_zalloc2 instead of bfd_alloc2. For the amount, use |
|
|
the possibly-preset header-size, not the computed one. |
|
| 545 |
|
|
| 546 |
2008-11-13 Alan Modra <amodra@bigpond.net.au> |
* elf32-ppc.c (find_plt_ent): Pass pointer to plist rather than |
| 547 |
|
pointer to sym hash. Update all uses. |
| 548 |
|
(update_plt_info): Likewise. Don't check addend here. |
| 549 |
|
|
| 550 |
PR 7023 |
2009-06-18 H.J. Lu <hongjiu.lu@intel.com> |
|
* elf.c (bfd_section_from_shdr <SHT_SYMTAB>): Fail on invalid sh_info. |
|
| 551 |
|
|
| 552 |
2008-11-11 Alan Modra <amodra@bigpond.net.au> |
* elf32-i386.c (elf_i386_check_relocs): Remove isymbuf and use |
| 553 |
|
bfd_sym_from_r_symndx. |
| 554 |
|
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise. |
| 555 |
|
|
| 556 |
* elf.c (assign_file_positions_for_non_load_sections): Consolidate |
2009-06-18 Alan Modra <amodra@bigpond.net.au> |
|
PT_GNU_RELRO handling. |
|
| 557 |
|
|
| 558 |
2008-11-11 Alan Modra <amodra@bigpond.net.au> |
* elf-bfd.h (struct sym_sec_cache): Delete. |
| 559 |
|
(struct sym_cache): New. |
| 560 |
|
(bfd_section_from_r_symndx): Delete prototype. |
| 561 |
|
(bfd_sym_from_r_symndx): Define prototype. |
| 562 |
|
* elf.c (bfd_section_from_r_symndx): Delete, replace with.. |
| 563 |
|
(bfd_sym_from_r_symndx): ..new function. |
| 564 |
|
* elf32-arm.c: Update all uses of struct sym_sec_cache and |
| 565 |
|
bfd_section_from_r_symndx to new struct and function. |
| 566 |
|
* elf32-bfin.c: Likewise. |
| 567 |
|
* elf32-hppa.c: Likewise. |
| 568 |
|
* elf32-i386.c: Likewise. |
| 569 |
|
* elf32-m32r.c: Likewise. |
| 570 |
|
* elf32-m68hc1x.c: Likewise. |
| 571 |
|
* elf32-m68hc1x.h: Likewise. |
| 572 |
|
* elf32-m68k.c: Likewise. |
| 573 |
|
* elf32-ppc.c: Likewise. |
| 574 |
|
* elf32-s390.c: Likewise. |
| 575 |
|
* elf32-sh.c: Likewise. |
| 576 |
|
* elf64-ppc.c: Likewise. |
| 577 |
|
* elf64-s390.c: Likewise. |
| 578 |
|
* elf64-x86-64.c: Likewise. |
| 579 |
|
* elfxx-sparc.c: Likewise. |
| 580 |
|
* elfxx-sparc.h: Likewise. |
| 581 |
|
|
| 582 |
PR 7012 |
2009-06-18 H.J. Lu <hongjiu.lu@intel.com> |
|
* dwarf2.c (find_line): Don't keep stale pointers into realloc'd |
|
|
memory. Return on errors. Fix memory leak. |
|
|
(_bfd_dwarf2_cleanup_debug_info): Free dwarf_str_buffer. |
|
| 583 |
|
|
| 584 |
2008-11-10 Andreas Schwab <schwab@suse.de> |
* elf32-i386.c (elf_i386_check_relocs): Cache or free isymbuf. |
| 585 |
|
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise. |
| 586 |
|
|
| 587 |
PR 7011 |
2009-06-18 Nick Clifton <nickc@redhat.com> |
|
* elf.c (assign_file_positions_for_non_load_sections): Handle |
|
|
PT_GNU_RELRO specially. |
|
| 588 |
|
|
| 589 |
2008-11-06 Joel Sherrill <joel.sherrill@oarcorp.com> |
* elflink.c (elf_link_sort_relocs): Return early if there are no |
| 590 |
|
relocs to sort. |
| 591 |
|
|
| 592 |
* config.bfd: Add m32c-*-rtems* and m32r-*-rtems*. |
2009-06-18 Dave Korn <dave.korn.cygwin@gmail.com> |
| 593 |
|
|
| 594 |
2008-11-06 Tom Tromey <tromey@redhat.com> |
Merge cegcc and mingw32ce target name changes from |
| 595 |
|
CeGCC project: |
| 596 |
|
|
| 597 |
* configure, config.in: Rebuild. |
2007-12-25 Pedro Alves <pedro_alves@portugalmail.pt> |
|
* configure.in: Check for fileno. |
|
|
* bfdio.c (close_on_exec): New function. |
|
|
(real_fopen): Use it. |
|
|
(FD_CLOEXEC): New define. |
|
| 598 |
|
|
| 599 |
2008-11-06 Tristan Gingold <gingold@adacore.com> |
* config.bfd: Add arm*-*-cegcc* target. |
| 600 |
|
|
| 601 |
* mach-o.h (BFD_MACH_O_NO_SECT): Add; reorders the macros. |
2007-12-17 Pedro Alves <pedro_alves@portugalmail.pt> |
|
(BFD_MACH_O_SYM_NTYPE, BFD_MACH_O_SYM_NSECT, |
|
|
BFD_MACH_O_SYM_NDESC): New macros. |
|
|
(bfd_mach_o_i386_thread_flavour): Define according to the latest |
|
|
definition from system header. |
|
|
(bfd_mach_o_load_command_type): Add BFD_MACH_O_LC_RPATH, |
|
|
BFD_MACH_O_LC_CODE_SIGNATURE. |
|
|
(BFD_MACH_O_SECTION_TYPE_MASK, BFD_MACH_O_SECTION_ATTRIBUTES_MASK, |
|
|
BFD_MACH_O_SECTION_ATTRIBUTES_SYS, BFD_MACH_O_SECTION_ATTRIBUTES_USR, |
|
|
BFD_MACH_O_S_ATTR_LOC_RELOC, BFD_MACH_O_S_ATTR_EXT_RELOC, |
|
|
BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS, BFD_MACH_O_S_ATTR_DEBUG, |
|
|
BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS): Add. |
|
|
(bfd_mach_o_segment_command): Add room for a nul terminator in |
|
|
segname field. |
|
|
(BFD_MACH_O_PROT_READ, BFD_MACH_O_PROT_WRITE, |
|
|
BFD_MACH_O_PROT_EXECUTE): Add. |
|
|
(INDIRECT_SYMBOL_LOCAL): Renames to BFD_MACH_O_INDIRECT_SYMBOL_LOCAL. |
|
|
(INDIRECT_SYMBOL_ABS): Renames to BFD_MACH_O_INDIRECT_SYMBOL_ABS. |
|
|
(bfd_mach_o_uuid_command): Add the structure. |
|
|
(bfd_mach_o_load_command): Add uuid field. |
|
|
(bfd_get_mach_o_data): New macro. |
|
|
* mach-o.c (bfd_mach_o_bfd_print_private_bfd_data): New function which |
|
|
replaces the macro. |
|
|
(SECTION_TYPE, SECTION_ATTRIBUTES, SECTION_ATTRIBUTES_USR, |
|
|
S_ATTR_PURE_INSTRUCTIONS, SECTION_ATTRIBUTES_SYS, |
|
|
S_ATTR_SOME_INSTRUCTIONS, S_ATTR_EXT_RELOC, S_ATTR_LOC_RELOC): Renamed |
|
|
and moved to mach-o.h. |
|
|
(N_STAB, N_TYPE, N_EXT, N_UNDF, N_ABS, N_TEXT, N_DATA, N_BSS, |
|
|
N_SECT, N_INDR): Removed as they duplicated macros in mach-o.h. |
|
|
(bfd_mach_o_print_symbol): Print much more details. |
|
|
(bfd_mach_o_make_bfd_section): Add prot argument, use canonical |
|
|
dwarf name for dwarf sections. Precisely set section flags. |
|
|
(bfd_mach_o_scan_read_section_32): Add prot argument. |
|
|
(bfd_mach_o_scan_read_section_64): Ditto. |
|
|
(bfd_mach_o_scan_read_section): Ditto. |
|
|
(bfd_mach_o_scan_read_symtab_symbol): Set section for debugging |
|
|
stabs, set BSF_GLOBAL and LOCAL flags correctly. Fix section |
|
|
for N_SECT symbols. |
|
|
(bfd_mach_o_i386_flavour_string): Reindent and adjust for new |
|
|
names. |
|
|
(bfd_mach_o_scan_read_symtab): Set HAS_SYMS flags on bfd if there |
|
|
are symbols. |
|
|
(bfd_mach_o_scan_read_uuid): New function. |
|
|
(bfd_mach_o_scan_read_segment): Add a trailing nul. Segments |
|
|
flags are now simply HAS_CONTENTS. Pass protection to |
|
|
bfd_mach_o_scan_read_section. |
|
|
(bfd_mach_o_scan_read_command): Decode UUID command. |
|
|
(bfd_mach_o_flatten_sections): Add comments. Fix flavour names. |
|
|
(bfd_mach_o_scan): Set flags according to file type. |
|
|
(mach_o_fat_archentry): Remove abfd field. |
|
|
(bfd_mach_o_archive_p): Remove initialization of abfd field. |
|
|
(bfd_mach_o_openr_next_archived_file): Find previous archive |
|
|
by position and not by bfd (as former bfds may have been freed). |
|
|
Give architecture name to archived file. |
|
|
* mach-o-target.c (TARGET_NAME): Use generic archive for non fat |
|
|
targets. |
|
|
|
|
|
2008-10-30 Jay Krell <jay.krell@cornell.edu> |
|
|
|
|
|
* cache.c (cache_bread): Cast void * pointer before performing |
|
|
arithmetic on it. |
|
|
|
|
|
2008-10-20 Alan Modra <amodra@bigpond.net.au> |
|
|
|
|
|
* elf64-ppc.c (ppc64_elf_process_dot_syms): Renamed from |
|
|
ppc64_elf_check_directives. |
|
|
* elf32-sh-symbian.c (sh_symbian_process_directives): Combine.. |
|
|
(sh_symbian_check_directives): ..this |
|
|
(bfd_elf32_sh_symbian_process_directives) ..and this function. |
|
|
|
|
|
2008-10-20 Alan Modra <amodra@bigpond.net.au> |
|
|
|
|
|
* elflink.c (bfd_elf_final_link): Move code reading relocs to.. |
|
|
* elf32-spu.c (spu_elf_count_relocs): ..here. Adjust params. |
|
|
* elf-bfd.h (struct elf_backend_data): Update elf_backend_count_relocs |
|
|
params. |
|
|
|
|
|
2008-10-20 Alan Modra <amodra@bigpond.net.au> |
|
|
|
|
|
* elflink.c (bfd_elf_final_link): Use d_ptr rather than d_val |
|
|
where Elf_Internal_Dyn holds an address. |
|
|
|
|
|
2008-10-10 Nathan Froyd <froydnj@codesourcery.com> |
|
|
|
|
|
* elf32-ppc.c (ppc_elf_merge_obj_attributes): Merge |
|
|
Tag_GNU_Power_ABI_Struct_Return. |
|
|
|
|
|
2008-10-09 Kai Tietz <kai.tietz@onevision.com> |
|
|
|
|
|
* cofflink.c (_bfd_coff_generic_relocate_section): Dump bfd_vma |
|
|
sized addresses instead of long sized. |
|
| 602 |
|
|
| 603 |
2008-10-09 Alan Modra <amodra@bigpond.net.au> |
* config.bfd: Add arm-*-mingw32ce* target. |
| 604 |
|
|
| 605 |
* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't attempt to |
2009-06-17 H.J. Lu <hongjiu.lu@intel.com> |
|
read plt relocs if no dynamic syms. |
|
| 606 |
|
|
| 607 |
2008-10-08 Nick Clifton <nickc@redhat.com> |
* elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): New. |
| 608 |
|
* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Likewise. |
| 609 |
|
* elf32-i386.c (elf_i386_allocate_dynrelocs): Use it. |
| 610 |
|
* elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise. |
| 611 |
|
|
| 612 |
* configure.in (ALL_LINGUAS): Add "id". |
2009-06-17 H.J. Lu <hongjiu.lu@intel.com> |
|
* configure: Regenerate. |
|
|
* po/id.po: New Indonesian translation. |
|
| 613 |
|
|
| 614 |
2008-10-08 Alan Modra <amodra@bigpond.net.au> |
* elf-bfd.h (_bfd_elf_create_ifunc_dyn_reloc): New. |
| 615 |
|
* elf-ifunc.c (_bfd_elf_create_ifunc_dyn_reloc): Likewise. |
| 616 |
|
* elf32-i386.c (elf_i386_check_relocs): Use it. |
| 617 |
|
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise. |
| 618 |
|
|
| 619 |
* elf.c (assign_file_positions_for_load_sections): When checking |
2009-06-17 H.J. Lu <hongjiu.lu@intel.com> |
|
a segment for contents, don't assume that a non-TLS nobits section |
|
|
must only be followed by nobits sections. |
|
|
|
|
|
2008-10-04 Hans-Peter Nilsson <hp@axis.com> |
|
|
|
|
|
* elf32-cris.c (TLSHOWTO32, TLSHOWTO16): New macros. |
|
|
(cris_elf_howto_table): Add entries for R_CRIS_32_GOT_GD, |
|
|
R_CRIS_16_GOT_GD, R_CRIS_32_GD, R_CRIS_DTP, R_CRIS_32_DTPREL, |
|
|
R_CRIS_16_DTPREL, R_CRIS_DTPMOD, R_CRIS_32_GOT_TPREL, |
|
|
R_CRIS_16_GOT_TPREL, R_CRIS_32_TPREL, R_CRIS_16_TPREL. |
|
|
(cris_reloc_map): Similarly. |
|
|
* reloc.c (bfd_reloc_code_type): Add entries for |
|
|
BFD_RELOC_CRIS_32_GOT_GD, BFD_RELOC_CRIS_16_GOT_GD, |
|
|
BFD_RELOC_CRIS_32_GD, BFD_RELOC_CRIS_DTP, |
|
|
BFD_RELOC_CRIS_32_DTPREL, BFD_RELOC_CRIS_16_DTPREL, |
|
|
BFD_RELOC_CRIS_DTPMOD, BFD_RELOC_CRIS_32_GOT_TPREL, |
|
|
BFD_RELOC_CRIS_16_GOT_TPREL, BFD_RELOC_CRIS_32_TPREL, |
|
|
BFD_RELOC_CRIS_16_TPREL. |
|
|
* libbfd.h, bfd-in2.h: Regenerate. |
|
|
|
|
|
2008-10-03 Alan Modra <amodra@bigpond.net.au> |
|
|
|
|
|
PR 6931 |
|
|
* elf.c (bfd_elf_set_group_contents): Assign sh_info for ld -r when |
|
|
the signature symbol is global. |
|
|
* elflink.c (elf_link_input_bfd): Ensure group signature symbol |
|
|
is output when ld -r. Set group sh_info when local. |
|
|
* linker.c (default_indirect_link_order): Handle group sections |
|
|
specially. |
|
| 620 |
|
|
| 621 |
2008-09-30 Wesley W. Terpstra <wesley@terpstra.ca> |
* elf-bfd.h (elf_dyn_relocs): New. |
|
Nick Clifton <nickc@redhat.com> |
|
| 622 |
|
|
| 623 |
* coffgen.c (coff_write_symbols): Check to see if a symbol's flags |
* elf32-i386.c (elf_i386_dyn_relocs): Removed. |
| 624 |
do not match it class and if necessary update the class. |
(elf_i386_link_hash_entry): Replace elf_i386_dyn_relocs with |
| 625 |
(null_error_handler): New function. Suppresses the generation of |
elf_dyn_relocs. |
| 626 |
bfd error messages. |
(elf_i386_copy_indirect_symbol): Likewise. |
| 627 |
* coff64-rs6000.c (bfd_xcoff_backend_data): Update comment. |
(elf_i386_check_relocs): Likewise. |
| 628 |
|
(elf_i386_gc_sweep_hook): Likewise. |
| 629 |
|
(elf_i386_allocate_dynrelocs): Likewise. |
| 630 |
|
(elf_i386_readonly_dynrelocs): Likewise. |
| 631 |
|
(elf_i386_size_dynamic_sections): Likewise. |
| 632 |
|
|
| 633 |
2008-09-30 Alan Modra <amodra@bigpond.net.au> |
* elf64-x86-64.c (elf64_x86_64_dyn_relocs): Removed. |
| 634 |
|
(elf64_x86_64_link_hash_entry): Replace elf64_x86_64_dyn_relocs |
| 635 |
|
with elf_dyn_relocs. |
| 636 |
|
(elf64_x86_64_copy_indirect_symbol): Updated. |
| 637 |
|
(elf64_x86_64_check_relocs): Likewise. |
| 638 |
|
(elf64_x86_64_gc_sweep_hook): Likewise. |
| 639 |
|
(elf64_x86_64_adjust_dynamic_symbol): Likewise. |
| 640 |
|
(elf64_x86_64_allocate_dynrelocs): Likewise. |
| 641 |
|
(elf64_x86_64_readonly_dynrelocs): Likewise. |
| 642 |
|
(elf64_x86_64_size_dynamic_sections): Likewise. |
| 643 |
|
|
| 644 |
* Makefile.am: Run "make dep-am". |
2009-06-17 H.J. Lu <hongjiu.lu@intel.com> |
|
* Makefile.in: Regenerate. |
|
| 645 |
|
|
| 646 |
2008-09-30 Alan Modra <amodra@bigpond.net.au> |
* elf32-arm.c (create_got_section): Get existing .rela.got |
| 647 |
|
section. |
| 648 |
|
* elf32-hppa.c (elf32_hppa_create_dynamic_sections): Likewise. |
| 649 |
|
* elf32-lm32.c (create_got_section): Likewise. |
| 650 |
|
* elf32-m32r.c (create_got_section): Likewise. |
| 651 |
|
* elf32-ppc.c (ppc_elf_create_got): Likewise. |
| 652 |
|
* elf32-s390.c (create_got_section): Likewise. |
| 653 |
|
* elf32-sh.c (create_got_section): Likewise. |
| 654 |
|
* elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Likewise. |
| 655 |
|
* elf64-s390.c (create_got_section): Likewise. |
| 656 |
|
* elfxx-sparc.c (create_got_section): Likewise. |
| 657 |
|
|
| 658 |
|
* elflink.c (_bfd_elf_create_got_section): Properly initialize |
| 659 |
|
the GOT size. |
| 660 |
|
|
| 661 |
|
2009-06-16 H.J. Lu <hongjiu.lu@intel.com> |
| 662 |
|
|
| 663 |
|
* elf-bfd.h (ELF_LOCAL_SYMBOL_HASH): New. |
| 664 |
|
|
| 665 |
|
* elf32-i386.c (elf_i386_local_hash): Removed. |
| 666 |
|
(elf_i386_local_htab_hash): Use ELF_LOCAL_SYMBOL_HASH. |
| 667 |
|
(elf_i386_get_local_sym_hash): Likewise. |
| 668 |
|
|
| 669 |
|
* elf64-x86-64.c (elf64_x86_64_local_hash): Removed. |
| 670 |
|
(elf64_x86_64_local_htab_hash): Use ELF_LOCAL_SYMBOL_HASH. |
| 671 |
|
(elf64_x86_64_get_local_sym_hash): Likewise. |
| 672 |
|
* elfxx-ia64.c (elfNN_ia64_local_htab_hash): Likewise. |
| 673 |
|
(get_local_sym_hash): Likewise. |
| 674 |
|
|
| 675 |
|
2009-06-16 H.J. Lu <hongjiu.lu@intel.com> |
| 676 |
|
|
| 677 |
|
* elfxx-ia64.c (elfNN_ia64_link_hash_table): Remove got_sec, |
| 678 |
|
rel_got_sec and plt_sec. |
| 679 |
|
(elfNN_ia64_relax_section): Updated. |
| 680 |
|
(elfNN_ia64_create_dynamic_sections): Likewise. |
| 681 |
|
(get_got): Likewise. |
| 682 |
|
(allocate_dynrel_entries): Likewise. |
| 683 |
|
(elfNN_ia64_size_dynamic_sections): Likewise. |
| 684 |
|
(set_got_entry): Likewise. |
| 685 |
|
(elfNN_ia64_choose_gp): Likewise. |
| 686 |
|
(elfNN_ia64_relocate_section): Likewise. |
| 687 |
|
(elfNN_ia64_finish_dynamic_symbol): Likewise. |
| 688 |
|
(elfNN_ia64_finish_dynamic_sections): Likewise. |
| 689 |
|
|
| 690 |
* elflink.c (elf_link_add_object_symbols): Don't ignore returned |
2009-06-16 Ulrich Weigand <uweigand@de.ibm.com> |
|
value of check_directives. |
|
| 691 |
|
|
| 692 |
2008-09-29 Peter O'Gorman <pogma@thewrittenword.com> |
* elf32-spu.c (needs_ovl_stub): Respect .brinfo lrlive bits |
| 693 |
Steve Ellcey <sje@cup.hp.com> |
also for calls. |
| 694 |
|
|
| 695 |
* configure: Regenerate for new libtool. |
2009-06-16 H.J. Lu <hongjiu.lu@intel.com> |
|
* aclocal.m4: Ditto. |
|
|
* Makefile.in: Ditto. |
|
|
* doc/Makefile.in: Ditto. |
|
| 696 |
|
|
| 697 |
2008-09-29 Alan Modra <amodra@bigpond.net.au> |
* configure.in (elf): Add elf-ifunc.lo. |
| 698 |
|
|
| 699 |
PR 6789 |
* configure: Regenerated. |
| 700 |
* elf.c (assign_file_positions_for_load_sections): Call |
* Makefile.in: Likewise. |
|
_bfd_elf_map_sections_to_segments, not elf_modify_segment_map. |
|
|
(get_program_header_size): Protect against NULL info. |
|
|
(_bfd_elf_map_sections_to_segments): Likewise. |
|
|
* elf32-spu.c (spu_elf_additional_program_headers): Likewise. |
|
| 701 |
|
|
| 702 |
2008-09-29 Nick Clifton <nickc@redhat.com> |
* elf-bfd.h (elf_link_hash_table): Add sgot, sgotplt, |
| 703 |
|
srelgot, splt, srelplt, igotplt, iplt, irelplt and irelifunc. |
| 704 |
|
|
| 705 |
* po/vi.po: Updated Vietnamese translation. |
* elf32-i386.c (elf_i386_link_hash_table): Remove sgot, |
| 706 |
|
sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt and |
| 707 |
|
irelifunc. |
| 708 |
|
(elf_i386_link_hash_table_create): Likewise. |
| 709 |
|
(elf_i386_create_dynamic_sections): Likewise. |
| 710 |
|
(elf_i386_check_relocs): Likewise. |
| 711 |
|
(elf_i386_allocate_dynrelocs): Likewise. |
| 712 |
|
(elf_i386_size_dynamic_sections): Likewise. |
| 713 |
|
(elf_i386_relocate_section): Likewise. |
| 714 |
|
(elf_i386_finish_dynamic_symbol): Likewise. |
| 715 |
|
(elf_i386_finish_dynamic_sections): Likewise. |
| 716 |
|
(elf_i386_create_got_section): Removed. |
| 717 |
|
|
| 718 |
|
* elf64-x86-64.c (elf64_x86_64_link_hash_table): Remove sgot, |
| 719 |
|
sgotplt, srelgot, splt, srelplt, igotplt, iplt, irelplt and |
| 720 |
|
irelifunc. |
| 721 |
|
(elf64_x86_64_compute_jump_table_size): Updated. |
| 722 |
|
(elf64_x86_64_link_hash_table_create): Likewise. |
| 723 |
|
(elf64_x86_64_create_dynamic_sections): Likewise. |
| 724 |
|
(elf64_x86_64_check_relocs): Likewise. |
| 725 |
|
(elf64_x86_64_allocate_dynrelocs): Likewise. |
| 726 |
|
(elf64_x86_64_size_dynamic_sections): Likewise. |
| 727 |
|
(elf64_x86_64_relocate_section): Likewise. |
| 728 |
|
(elf64_x86_64_finish_dynamic_symbol): Likewise. |
| 729 |
|
(elf64_x86_64_finish_dynamic_sections): Likewise. |
| 730 |
|
(elf64_x86_64_create_got_section): Removed. |
| 731 |
|
|
| 732 |
2008-09-28 Alan Modra <amodra@bigpond.net.au> |
* elflink.c (_bfd_elf_create_got_section): Use log_file_align |
| 733 |
|
for pointer alignment. Set up section pointers. |
| 734 |
|
(_bfd_elf_create_dynamic_sections): Likewise. |
| 735 |
|
(_bfd_elf_create_ifunc_sections): Moved to ... |
| 736 |
|
* elf-ifunc.c: Here. New. |
| 737 |
|
|
| 738 |
* elf.c (_bfd_elf_init_private_section_data): Tweak union copy. |
* Makefile.am (BFD32_BACKENDS): Add elf-ifunc.lo. |
| 739 |
(bfd_section_from_shdr): Don't change SHT_GROUP section name. |
(BFD32_BACKENDS_CFILES): Add elf-ifunc.c. |
| 740 |
* elflink.c (section_signature): New function. |
Run "make dep-am". |
|
(_bfd_elf_section_already_linked): Use it. |
|
| 741 |
|
|
| 742 |
2008-09-19 Alan Modra <amodra@bigpond.net.au> |
2009-06-16 Doug Kwan <dougkwan@google.com> |
| 743 |
|
|
| 744 |
* elf32-ppc.c (ppc_elf_finish_dynamic_sections): Handle vxworks |
* elf32-arm.c (cortex_a8_erratum_scan): Change type of offset |
| 745 |
_GLOBAL_OFFSET_TABLE_ in .got.plt section. Add BFD_ASSERTs. |
to bfd_signed_vma. Cast constant operands which are used in |
| 746 |
|
offset related expressions to bfd_signed_vma type as appropriate. |
| 747 |
|
|
| 748 |
2008-09-17 Bob Wilson <bob.wilson@acm.org> |
2009-06-16 Maciej W. Rozycki <macro@linux-mips.org> |
| 749 |
|
|
| 750 |
* elf32-xtensa.c (elf_xtensa_check_relocs): Check for negative |
* elf32-vax.c (elf_vax_plt_sym_val): New function. |
| 751 |
refcount. |
(elf_backend_plt_sym_val): Define. |
| 752 |
|
|
| 753 |
2008-09-17 Jan Kratochvil <jan.kratochvil@redhat.com> |
2009-06-16 Maciej W. Rozycki <macro@linux-mips.org> |
| 754 |
|
|
| 755 |
PR 6893 - Do not consider FDEs for discarded sections as invalid. |
* elf32-vax.c (elf_vax_reloc_type_class): New function. |
| 756 |
* elf-eh-frame.c (_bfd_elf_parse_eh_frame): New REQUIRE_CLEARED_RELOCS. |
(elf_backend_reloc_type_class): Define. |
|
Consider FDEs with cleared relocations as valid and ignorable. |
|
| 757 |
|
|
| 758 |
2008-09-16 H.J. Lu <hongjiu.lu@intel.com> |
2009-06-16 Maciej W. Rozycki <macro@linux-mips.org> |
| 759 |
|
|
| 760 |
PR ld/6877 |
* elf32-vax.c (elf_vax_relocate_section): For symbol references |
| 761 |
* elflink.c (_bfd_elf_merge_symbol): Allow a common symbol to |
from an executable to a shared library treat R_VAX_PC32 |
| 762 |
override the function in a shared library. |
relocations as R_VAX_PLT32 ones. |
| 763 |
|
|
| 764 |
2008-09-16 Alan Modra <amodra@bigpond.net.au> |
2009-06-16 Maciej W. Rozycki <macro@linux-mips.org> |
| 765 |
|
|
| 766 |
PR 6844 |
* elf32-vax.c (elf_vax_instantiate_got_entries): Skip local |
| 767 |
* elf32-ppc.c (SYM_VAL): Define. Use throughout to find symbol vma. |
symbols in GOT space calculation. |
| 768 |
(ppc_elf_relocate_section): Correct GOT offset calculation. |
(elf_vax_relocate_section): Adjust accordingly. |
| 769 |
(ppc_elf_finish_dynamic_symbol): Use PPC_HA and PPC_LO. |
|
| 770 |
(ppc_elf_finish_dynamic_sections): Likewise. Error if |
2009-06-16 Maciej W. Rozycki <macro@linux-mips.org> |
| 771 |
htab->elf.hgot symbol is not defined in htab->got section. |
|
| 772 |
|
* elf32-vax.c (elf_vax_plt_entry): Set the entry mask to |
| 773 |
|
include <R11:R2>. |
| 774 |
|
|
| 775 |
|
2009-06-16 Maciej W. Rozycki <macro@linux-mips.org> |
| 776 |
|
|
| 777 |
|
* elf32-vax.c (elf_vax_check_relocs): Handle the visibility |
| 778 |
|
attribute. |
| 779 |
|
(elf_vax_relocate_section): Likewise. |
| 780 |
|
|
| 781 |
2008-09-16 Alan Modra <amodra@bigpond.net.au> |
2009-06-15 H.J. Lu <hongjiu.lu@intel.com> |
| 782 |
|
|
| 783 |
PR 6888 |
* elf32-i386.c (elf_i386_allocate_dynrelocs): Update comments. |
| 784 |
* elf32-ppc.c (ppc_elf_relocate_section): Handle NULL symbol section |
* elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise. |
|
on R_PPC_TOC16, R_PPC_SDAREL16, R_PPC_EMB_SDA2REL, R_PPC_EMB_SDA21, |
|
|
R_PPC_EMB_RELSDA, R_PPC_SECTOFF* relocs. |
|
| 785 |
|
|
| 786 |
2008-09-11 Jan Kratochvil <jan.kratochvil@redhat.com> |
2009-06-15 H.J. Lu <hongjiu.lu@intel.com> |
| 787 |
|
|
| 788 |
Fix loading large elf64 binaries on 32bit hosts. |
* elf32-i386.c (elf_i386_check_relocs): Reformat. |
| 789 |
* configure.in: Call AC_SYS_LARGEFILE. |
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise. |
| 790 |
* config.in: Regenerate. |
|
| 791 |
|
2009-06-15 H.J. Lu <hongjiu.lu@intel.com> |
| 792 |
|
|
| 793 |
|
* Makefile.am: Run "make dep-am". |
| 794 |
|
* Makefile.in: Regenerated. |
| 795 |
|
|
| 796 |
|
2009-06-15 H.J. Lu <hongjiu.lu@intel.com> |
| 797 |
|
|
| 798 |
|
* elf32-i386.c (elf_i386_allocate_dynrelocs): Fix a typo. |
| 799 |
|
* elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise. |
| 800 |
|
|
| 801 |
|
2009-06-15 Nick Clifton <nickc@redhat.com> |
| 802 |
|
|
| 803 |
|
* po/ru.po: New Russian translation. |
| 804 |
|
* configure.in (ALL_LINGUAS): Add ru. |
| 805 |
* configure: Regenerate. |
* configure: Regenerate. |
| 806 |
|
|
| 807 |
2008-09-08 Tom Tromey <tromey@redhat.com> |
2009-06-14 H.J. Lu <hongjiu.lu@intel.com> |
| 808 |
|
|
| 809 |
* elfxx-mips.c (mips16_stub_symndx) <sec>: Mark argument as |
* elf32-i386.c: Remove duplicated comments. |
|
unused. |
|
| 810 |
|
|
| 811 |
2008-09-08 H.J. Lu <hongjiu.lu@intel.com> |
2009-06-14 H.J. Lu <hongjiu.lu@intel.com> |
|
Daniel Jacobowitz <dan@codesourcery.com> |
|
| 812 |
|
|
| 813 |
PR ld/3191 |
PR ld/10270 |
| 814 |
* dwarf2.c (struct adjusted_section): Renamed from struct |
* elf32-i386.c (elf_i386_allocate_dynrelocs): Disallow |
| 815 |
loadable_section. |
dynamic IFUNC pointer in non-shared object. Use .got.plt |
| 816 |
(struct dwarf2_debug): Adjust for renaming. Add version field. |
for IFUNC definition in PIE. |
| 817 |
(read_attribute_value): Correctly handle DW_FORM_ref_addr for |
(elf_i386_allocate_dynrelocs): Resolve IFUNC definition in |
| 818 |
DWARF3. |
PIE locally. |
| 819 |
(find_abstract_instance_name): Pass a pointer to |
|
| 820 |
attribute instead of offset. For DW_FORM_ref_addr, get the |
* elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Disallow |
| 821 |
entry at the offset from the .debug_info section. |
dynamic IFUNC pointer in non-shared object. Use .got.plt |
| 822 |
(scan_unit_for_symbols): Update. |
for IFUNC definition in PIE. |
| 823 |
(parse_comp_unit): Allow DWARF3. Save the version. |
(elf64_x86_64_relocate_section): Resolve IFUNC definition in |
| 824 |
(unset_sections): Update for renaming. |
PIE locally. |
| 825 |
(place_sections): Likewise. Set new VMAs for DWARF sections |
|
| 826 |
also. |
2009-06-13 H.J. Lu <hongjiu.lu@intel.com> |
| 827 |
|
|
| 828 |
|
* elf32-i386.c (elf_i386_check_relocs): Properly report |
| 829 |
|
local symbol for unhandled relocation against STT_GNU_IFUNC |
| 830 |
|
symbol. |
| 831 |
|
(elf_i386_relocate_section): Likewise. |
| 832 |
|
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise. |
| 833 |
|
(elf64_x86_64_relocate_section): Likewise. |
| 834 |
|
|
| 835 |
2008-09-08 Tristan Gingold <gingold@adacore.com> |
2009-06-13 H.J. Lu <hongjiu.lu@intel.com> |
| 836 |
|
|
| 837 |
* configure.in: Update version to 2.19.50 |
PR ld/10269 |
| 838 |
* configure: Regenerated. |
* elf32-i386.c: Include "objalloc.h" and "hashtab.h". |
| 839 |
|
(elf_i386_link_hash_table): Add loc_hash_table and |
| 840 |
|
loc_hash_memory. |
| 841 |
|
(elf_i386_local_hash): New. |
| 842 |
|
(elf_i386_local_htab_hash): Likewise. |
| 843 |
|
(elf_i386_local_htab_eq): Likewise. |
| 844 |
|
(elf_i386_get_local_sym_hash): Likewise. |
| 845 |
|
(elf_i386_link_hash_table_free): Likewise. |
| 846 |
|
(elf_i386_allocate_local_dynrelocs): Likewise. |
| 847 |
|
(elf_i386_finish_local_dynamic_symbol): Likewise. |
| 848 |
|
(bfd_elf64_bfd_link_hash_table_free): Likewise. |
| 849 |
|
(elf_i386_link_hash_table_create): Create loc_hash_table and |
| 850 |
|
loc_hash_memory. |
| 851 |
|
(elf_i386_check_relocs): Handle local STT_GNU_IFUNC symbols. |
| 852 |
|
(elf_i386_size_dynamic_sections): Likewise. |
| 853 |
|
(elf_i386_relocate_section): Likewise. |
| 854 |
|
(elf_i386_finish_dynamic_sections): Likewise. |
| 855 |
|
(elf_i386_finish_dynamic_symbol): Check _DYNAMIC only if sym |
| 856 |
|
isn't NULL. |
| 857 |
|
|
| 858 |
|
* elf64-x86-64.c: Include "objalloc.h" and "hashtab.h". |
| 859 |
|
(elf64_x86_64_link_hash_table): Add loc_hash_table and |
| 860 |
|
loc_hash_memory. |
| 861 |
|
(elf64_x86_64_local_hash): New. |
| 862 |
|
(elf64_x86_64_local_htab_hash): Likewise. |
| 863 |
|
(elf64_x86_64_local_htab_eq): Likewise. |
| 864 |
|
(elf64_x86_64_get_local_sym_hash): Likewise. |
| 865 |
|
(elf64_x86_64_link_hash_table_free): Likewise. |
| 866 |
|
(elf64_x86_64_allocate_local_dynrelocs): Likewise. |
| 867 |
|
(elf64_x86_64_finish_local_dynamic_symbol): Likewise. |
| 868 |
|
(bfd_elf64_bfd_link_hash_table_free): Likewise. |
| 869 |
|
(elf64_x86_64_link_hash_table_create): Create loc_hash_table |
| 870 |
|
and loc_hash_memory. |
| 871 |
|
(elf64_x86_64_check_relocs): Handle local STT_GNU_IFUNC |
| 872 |
|
symbols. |
| 873 |
|
(elf64_x86_64_size_dynamic_sections): Likewise. |
| 874 |
|
(elf64_x86_64_relocate_section): Likewise. |
| 875 |
|
(elf64_x86_64_finish_dynamic_sections): Likewise. |
| 876 |
|
(elf64_x86_64_finish_dynamic_symbol): Check _DYNAMIC only if |
| 877 |
|
sym isn't NULL. |
| 878 |
|
|
| 879 |
2008-09-05 Daniel Jacobowitz <dan@codesourcery.com> |
2009-06-10 Philip Blundell <philb@gnu.org> |
| 880 |
|
|
| 881 |
* dwarf2.c: Change leading whitespace to tabs. |
* elf32-arm.c (elf32_arm_fix_exidx_coverage): Avoid crash if |
| 882 |
|
elf_sec->this_hdr == NULL. |
| 883 |
|
|
| 884 |
2008-09-05 Tristan Gingold <gingold@adacore.com> |
2009-06-12 Tristan Gingold <gingold@adacore.com> |
| 885 |
|
|
| 886 |
Add MacOSX 64 bits support. |
* reloc.c: Add BFD_RELOC_MACH_O_SECTDIFF and BFD_RELOC_MACH_O_PAIR. |
| 887 |
* mach-o.h (bfd_mach_o_ppc_thread_flavour): Add |
* bfd-in2.h: Regenerated. |
| 888 |
BFD_MACH_O_PPC_THREAD_STATE_64. |
* libbfd.h: Regenerated. |
| 889 |
(bfd_mach_o_i386_thread_flavour): Add BFD_MACH_O_x86_THREAD_STATE64, |
|
| 890 |
BFD_MACH_O_x86_FLOAT_STATE64, BFD_MACH_O_x86_EXCEPTION_STATE64, |
* mach-o.c (FILE_ALIGN): New macro. |
| 891 |
BFD_MACH_O_x86_THREAD_STATE, BFD_MACH_O_x86_FLOAT_STATE, |
(bfd_mach_o_canonicalize_symtab): Adjust for bfd_mach_o_asymbol. |
| 892 |
BFD_MACH_O_x86_EXCEPTION_STATE. |
(bfd_mach_o_print_symbol): Ditto. |
| 893 |
(bfd_mach_o_load_command_type): Add |
(bfd_mach_o_scan_write_thread): Adjust type of variable offset. |
| 894 |
BFD_MACH_O_LC_SEGMENT_64, BFD_MACH_O_LC_ROUTINES_64, |
(bfd_mach_o_get_reloc_upper_bound): New function. |
| 895 |
BFD_MACH_O_LC_UUID. |
(bfd_mach_o_canonicalize_reloc): Ditto. |
| 896 |
(BFD_MACH_O_CPU_IS64BIT): Added. |
(bfd_mach_o_scan_write_relocs): Ditto. |
| 897 |
(bfd_mach_o_cpu_type): Add BFD_MACH_O_CPU_TYPE_POWERPC_64, |
(bfd_mach_o_scan_write_section_32): Remove offset argument. |
| 898 |
BFD_MACH_O_CPU_TYPE_X86_64. |
(bfd_mach_o_scan_write_section_64): Ditto. |
| 899 |
(bfd_mach_o_header): Add version field. |
(bfd_mach_o_scan_write_segment_32): Write relocs. Fix size of data |
| 900 |
(bfd_mach_o_section) Add reserved3 field. |
written for load command. Do not compute section file offset. |
| 901 |
(bfd_mach_o_segment_command): Add initprot and maxprot fields. |
(bfd_mach_o_scan_write_segment_64): Ditto. |
| 902 |
|
(bfd_mach_o_scan_write_symtab): Compute file offset first. |
| 903 |
* mach-o.c (N_TEXT, N_DATA, N_BSS): Added. |
Adjust for bfd_mach_o_asymbol. Move code to convert from BFD to |
| 904 |
(bfd_mach_o_version): New function. |
Mach-O to ... |
| 905 |
(bfd_mach_o_valid): Handle 64bits cpus. |
(bfd_mach_o_mangle_symbols): ... this new function. |
| 906 |
(bfd_mach_o_write_header): handler 64bits headers. |
(bfd_mach_o_write_contents): Be sure to have load commands built. |
| 907 |
(bfd_mach_o_scan_write_section_32, bfd_mach_o_scan_write_section_64): |
Call bfd_mach_o_mangle_symbols. |
| 908 |
New functions (from bfd_mach_o_scan_write_section) to handle both |
(bfd_mach_o_build_commands): Adjust for filelen field. |
| 909 |
flavors. |
Use FILE_ALIGN macro. Clear section file offset if section is empty. |
| 910 |
(bfd_mach_o_scan_write_segment): Parameter wide added to support |
Do not set symtab file offset anymore here. |
| 911 |
both flavors. |
(bfd_mach_o_make_empty_symbol): Allocate a bfd_mach_o_asymbol. |
| 912 |
(bfd_mach_o_write_contents): Support both flavors. |
(bfd_mach_o_make_bfd_section): Set SEC_RELOC if has reloc. |
| 913 |
(bfd_mach_o_read_header): Ditto. |
Set reloc_count and rel_filepos section fields. |
| 914 |
(bfd_mach_o_scan_read_section_32, bfd_mach_o_scan_read_section_64): |
(bfd_mach_o_scan_read_section_32): Type of argument offset is now |
| 915 |
New functions (from bfd_mach_o_scan_read_section) to support both |
unsigned int. |
| 916 |
flavors. |
(bfd_mach_o_scan_read_section_64): Ditto. |
| 917 |
(bfd_mach_o_scan_read_symtab_symbol): Support both flavors. |
(bfd_mach_o_scan_read_section): Ditto. |
| 918 |
|
(bfd_mach_o_scan_read_symtab_symbol): Typr of argument s is now |
| 919 |
|
bfd_mach_o_asymbol. Use unsigned int for file offset type. |
| 920 |
|
(bfd_mach_o_scan_read_symtab_symbol): Adjust for bfd_mach_o_asymbol. |
| 921 |
|
Handle weak-ref symbols. |
| 922 |
|
(bfd_mach_o_scan_read_symtab_symbols): Adjust for bfd_mach_o_asymbol. |
| 923 |
|
(bfd_mach_o_scan_read_dysymtab_symbol): Ditto. |
| 924 |
|
(bfd_mach_o_scan): Remove assignment to removed field. |
| 925 |
|
(bfd_mach_o_mkobject_init): Ditto. |
| 926 |
|
(bfd_mach_o_bfd_print_private_bfd_data): Adjust printf formatter. |
| 927 |
|
(bfd_mach_o_bfd_reloc_type_lookup): New macro. |
| 928 |
|
(bfd_mach_o_bfd_reloc_name_lookup): Ditto. |
| 929 |
|
(bfd_mach_o_swap_reloc_in): Ditto. |
| 930 |
|
(bfd_mach_o_swap_reloc_out): Ditto. |
| 931 |
|
|
| 932 |
|
* mach-o.h (BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_NON_LAZY) |
| 933 |
|
(BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_LAZY) |
| 934 |
|
(BFD_MACH_O_REFERENCE_FLAG_DEFINED) |
| 935 |
|
(BFD_MACH_O_REFERENCE_FLAG_PRIVATE_DEFINED) |
| 936 |
|
(BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY) |
| 937 |
|
(BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY) |
| 938 |
|
(BFD_MACH_O_REFERENCED_DYNAMICALLY, BFD_MACH_O_N_DESC_DISCARDED) |
| 939 |
|
(BFD_MACH_O_N_NO_DEAD_STRIP, BFD_MACH_O_N_WEAK_REF) |
| 940 |
|
(BFD_MACH_O_N_WEAK_DEF): New macros. |
| 941 |
|
Add comments. |
| 942 |
|
(bfd_mach_o_section_type): Add new enumeration values. |
| 943 |
|
(BFD_MACH_O_S_SELF_MODIFYING_CODE) |
| 944 |
|
(BFD_MACH_O_S_ATTR_LIVE_SUPPORT) |
| 945 |
|
(BFD_MACH_O_S_ATTR_NO_DEAD_STRIP) |
| 946 |
|
(BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS, BFD_MACH_O_S_ATTR_NO_TOC): New |
| 947 |
|
macros. |
| 948 |
|
(BFD_MACH_O_GENERIC_RELOC_VANILLA) |
| 949 |
|
(BFD_MACH_O_GENERIC_RELOC_PAIR) |
| 950 |
|
(BFD_MACH_O_GENERIC_RELOC_SECTDIFF) |
| 951 |
|
(BFD_MACH_O_GENERIC_RELOC_PB_LA_PTR) |
| 952 |
|
(BFD_MACH_O_GENERIC_RELOC_LOCAL_SECTDIFF): Ditto. |
| 953 |
|
(BFD_MACH_O_RELENT_SIZE): Ditto. |
| 954 |
|
(BFD_MACH_O_R_PCREL, BFD_MACH_O_GET_R_LENGTH) |
| 955 |
|
(BFD_MACH_O_R_EXTERN, BFD_MACH_O_GET_R_TYPE) |
| 956 |
|
(BFD_MACH_O_GET_R_SYMBOLNUM, BFD_MACH_O_SET_R_LENGTH) |
| 957 |
|
(BFD_MACH_O_SET_R_TYPE, BFD_MACH_O_SET_R_SYMBOLNUM): Ditto. |
| 958 |
|
(BFD_MACH_O_SR_SCATTERED, BFD_MACH_O_SR_PCREL) |
| 959 |
|
(BFD_MACH_O_GET_SR_LENGTH, BFD_MACH_O_GET_SR_TYPE) |
| 960 |
|
(BFD_MACH_O_GET_SR_ADDRESS, BFD_MACH_O_SET_SR_LENGTH) |
| 961 |
|
(BFD_MACH_O_SET_SR_TYPE, BFD_MACH_O_SET_SR_ADDRESS): Ditto. |
| 962 |
|
(bfd_mach_o_reloc_info): New struct. |
| 963 |
|
(bfd_mach_o_asymbol): New struct. |
| 964 |
|
(bfd_mach_o_symtab_command): The symbols field is now of type |
| 965 |
|
bfd_mach_o_asymbol. |
| 966 |
|
(bfd_mach_o_load_command): The offset and len fields are now of type |
| 967 |
|
unsigned int. |
| 968 |
|
(mach_o_data_struct): Remove symbols, nsymbols and ibfd fields. |
| 969 |
|
Add a filelen field. Add comments. |
| 970 |
|
(bfd_mach_o_backend_data): New struct. |
| 971 |
|
(bfd_mach_o_get_backend_data): New macro. |
| 972 |
|
(bfd_mach_o_scan_read_symtab_symbol): Parameter symbol now of type |
| 973 |
|
bfd_mach_o_asymbol. |
| 974 |
|
(bfd_mach_o_scan_read_dysymtab_symbol): Ditto. |
| 975 |
|
(bfd_mach_o_get_reloc_upper_bound): New prototype. |
| 976 |
|
(bfd_mach_o_canonicalize_reloc): Ditto. |
| 977 |
|
|
| 978 |
|
* mach-o-target.c (bfd_mach_o_bfd_is_local_label_name): Remove |
| 979 |
|
duplicated macro. Now defined to _bfd_generic_is_local_label. |
| 980 |
|
(TARGET_NAME_BACKEND): New macro... |
| 981 |
|
(TARGET_NAME_BACKEND): ... used to name a new variable. |
| 982 |
|
(TARGET_NAME): Define relocs table using bfd_mach_o, reference |
| 983 |
|
Mach-O backend data. |
| 984 |
|
|
| 985 |
|
* mach-o-i386.c (i386_howto_table): New variable. |
| 986 |
|
(bfd_mach_o_i386_swap_reloc_in): New function. |
| 987 |
|
(bfd_mach_o_i386_swap_reloc_out): Ditto. |
| 988 |
|
(bfd_mach_o_i386_bfd_reloc_type_lookup): Ditto. |
| 989 |
|
(bfd_mach_o_i386_bfd_reloc_name_lookup): Ditto. |
| 990 |
|
(bfd_mach_o_swap_reloc_in, bfd_mach_o_swap_reloc_out): New macros. |
| 991 |
|
(bfd_mach_o_bfd_reloc_type_lookup) |
| 992 |
|
(bfd_mach_o_bfd_reloc_name_lookup): Ditto. |
| 993 |
|
|
| 994 |
|
2009-06-11 Eric Paris <eparis@redhat.com> |
| 995 |
|
Nick Clifton <nickc@redhat.com> |
| 996 |
|
|
| 997 |
|
* opncls.c (_maybe_make_executable): New function. Gives execute |
| 998 |
|
permission to an executable bfd that was opened for writing |
| 999 |
|
provided that it is a regular file. Replaces common code found in... |
| 1000 |
|
(bfd_close): here and ... |
| 1001 |
|
(bfd_close_all_done): here. |
| 1002 |
|
|
| 1003 |
|
2009-06-11 Anthony Green <green@moxielogic.com> |
| 1004 |
|
|
| 1005 |
|
* reloc.c: Add BFD_RELOC_MOXIE_10_PCREL. |
| 1006 |
|
* bfd-in2.h: Rebuilt. |
| 1007 |
|
* libbfd.h: Rebuilt. |
| 1008 |
|
* elf32-moxie.c (moxie_elf_howto_table): Add R_MOXIE_PCREL10 |
| 1009 |
|
relocation support. |
| 1010 |
|
(moxie_reloc_map): Ditto. |
| 1011 |
|
Clean up copyright notice. |
| 1012 |
|
|
| 1013 |
|
2009-06-10 Paul Pluzhnikov <ppluzhnikov@google.com> |
| 1014 |
|
|
| 1015 |
|
* bfd-in2.h: bfd_mmap prototype. |
| 1016 |
|
* bfdio.c (bfd_mmap): New function. |
| 1017 |
|
* libbfd.h (bfd_iovec): Add bmmap. |
| 1018 |
|
* cache.c (cache_bmmap): New function. |
| 1019 |
|
(cache_iovec): Initialize bmmap member. |
| 1020 |
|
* opencls.c (opncls_bmmap): New function. |
| 1021 |
|
(opncls_iovec): Initialize bmmap member. |
| 1022 |
|
|
| 1023 |
|
2009-06-09 Tristan Gingold <gingold@adacore.com> |
| 1024 |
|
|
| 1025 |
|
* mach-o.h (bfd_mach_o_symtab_command): Remove stabs_segment |
| 1026 |
|
and stabstr_segment fields. |
| 1027 |
|
(mach_o_be_vec, mach_o_le_vec): Removed |
| 1028 |
|
(bfd_mach_o_version): New prototype. |
| 1029 |
|
|
| 1030 |
|
* mach-o.c (bfd_mach_o_version): Make this function public. |
| 1031 |
|
(mach_o_wide_p): New function. |
| 1032 |
|
(bfd_mach_o_wide_p): Ditto. |
| 1033 |
|
(bfd_mach_o_convert_section_name_to_bfd): Add prefix only for |
| 1034 |
|
weird names. |
| 1035 |
|
(bfd_mach_o_convert_section_name_to_mach_o): Fix typo in comment. |
| 1036 |
|
Search in the list only if the name starts with a dot. |
| 1037 |
|
(bfd_mach_o_write_header): Use mach_o_wide_p instead of hard-coded |
| 1038 |
|
test. Check bfd_seek status. |
| 1039 |
|
(bfd_mach_o_scan_write_thread): Check bfd_seek status. |
| 1040 |
|
(bfd_mach_o_scan_write_section_32): Ditto. |
| 1041 |
|
(bfd_mach_o_scan_write_section_64): Ditto. |
| 1042 |
|
(bfd_mach_o_scan_write_section): Removed. |
| 1043 |
|
(bfd_mach_o_scan_write_segment): Split into ... |
| 1044 |
|
(bfd_mach_o_scan_write_segment_32): ... this and ... |
| 1045 |
|
(bfd_mach_o_scan_write_segment_64): ... this. Check bfd_seek status. |
| 1046 |
|
(bfd_mach_o_scan_write_symtab_symbols): Moved into ... |
| 1047 |
|
(bfd_mach_o_scan_write_symtab): ... this. Write symtab from BFD |
| 1048 |
|
symbol table. Now returns a boolean. |
| 1049 |
|
(bfd_mach_o_write_contents): Set filetype. Check bfd_seek status. |
| 1050 |
|
Adjust for status type. |
| 1051 |
|
(bfd_mach_o_build_commands): Use mach_o_wide_p instead of hard-coded |
| 1052 |
|
test. Write symbol table. Numbers the sections. |
| 1053 |
|
(bfd_mach_o_read_header): Check bfd_seek status. |
| 1054 |
|
Use mach_o_wide_p instead of hard-coded test. |
| 1055 |
|
(bfd_mach_o_scan_read_section_32): Check bfd_seek status. |
| 1056 |
|
(bfd_mach_o_scan_read_section_64): Ditto. |
| 1057 |
|
(bfd_mach_o_scan_read_symtab_symbol): Ditto. Check bfd_seek status. |
| 1058 |
|
Use BFD_MACH_O_N_TYPE instead of hard-coded value. Correctly |
| 1059 |
|
handled common symbols. |
| 1060 |
|
(bfd_mach_o_scan_read_symtab_strtab): Check bfd_seek status. |
| 1061 |
|
(bfd_mach_o_scan_read_dysymtab_symbol): Ditto. |
| 1062 |
|
(bfd_mach_o_scan_read_dylinker): Ditto. |
| 1063 |
|
(bfd_mach_o_scan_read_dylib): Ditto. |
| 1064 |
|
(bfd_mach_o_scan_read_thread): Ditto. |
| 1065 |
(bfd_mach_o_scan_read_symtab): Ditto. |
(bfd_mach_o_scan_read_symtab): Ditto. |
| 1066 |
(bfd_mach_o_scan_read_segment): Parameter wide added to support |
Do not create a section for the stabs. |
| 1067 |
both flavors. |
(bfd_mach_o_scan_read_uuid): Check bfd_seek status. |
| 1068 |
(bfd_mach_o_scan_read_segment_32, bfd_mach_o_scan_read_segment_64): |
(bfd_mach_o_scan_read_segment): Ditto. |
| 1069 |
New functions to call bfd_mach_o_scan_read_segment. |
(bfd_mach_o_scan_read_command): Ditto. |
|
(bfd_mach_o_flatten_sections): Support both flavors. |
|
| 1070 |
(bfd_mach_o_scan_start_address): Ditto. |
(bfd_mach_o_scan_start_address): Ditto. |
| 1071 |
(bfd_mach_o_scan): Ditto. |
(bfd_mach_o_scan): Use mach_o_wide_p instead of hard-coded test. |
| 1072 |
(bfd_mach_o_lookup_section): Ditto. |
(bfd_mach_o_archive_p): Check bfd_seek status. |
| 1073 |
|
(bfd_mach_o_core_fetch_environment): Ditto. |
| 1074 |
|
|
| 1075 |
|
* mach-o-i386.c (bfd_mach_o_i386_mkobject): Don't set filetype. |
| 1076 |
|
|
| 1077 |
|
2009-06-06 H.J. Lu <hongjiu.lu@intel.com> |
| 1078 |
|
|
| 1079 |
|
* elf32-i386.c (elf_i386_link_hash_table): Add irelifunc. |
| 1080 |
|
(elf_i386_link_hash_table_create): Initialize irelifunc. |
| 1081 |
|
(elf_i386_check_relocs): Updated. Set up irelifunc for |
| 1082 |
|
shared objects. |
| 1083 |
|
(elf_i386_allocate_dynrelocs): Use irelifunc for dynamic |
| 1084 |
|
relocation for non-GOT reference of STT_GNU_IFUNC symbol in |
| 1085 |
|
shared objects. |
| 1086 |
|
(elf_i386_relocate_section): Likewise. |
| 1087 |
|
|
| 1088 |
2008-08-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
* elf64-x86-64.c (elf64_x86_64_link_hash_table): Add irelifunc. |
| 1089 |
|
(elf64_x86_64_link_hash_table_create): Initialize irelifunc. |
| 1090 |
|
(elf64_x86_64_check_relocs): Updated. Set up irelifunc for |
| 1091 |
|
shared objects. |
| 1092 |
|
(elf64_x86_64_allocate_dynrelocs): Use irelifunc for dynamic |
| 1093 |
|
relocation for non-GOT reference of STT_GNU_IFUNC symbol in |
| 1094 |
|
shared objects. |
| 1095 |
|
(elf64_x86_64_relocate_section): Likewise. |
| 1096 |
|
|
| 1097 |
* elf-hppa.h (elf_hppa_reloc_final_type): Handle R_PARISC_GPREL64, |
* elf-bfd.h (_bfd_elf_create_static_ifunc_sections): Renamed to |
| 1098 |
R_PARISC_SEGREL32 and R_PARISC_SEGREL64. |
... |
| 1099 |
* som.c (som_fixup_formats): Add R_DATA_GPREL fixup. |
(_bfd_elf_create_ifunc_sections): This. |
| 1100 |
(som_hppa_howto_table): Likewise. |
|
| 1101 |
(hppa_som_gen_reloc_type): In case R_HPPA_GOTOFF, detect R_DATA_GPREL |
* elflink.c (_bfd_elf_create_static_ifunc_sections): Renamed to |
| 1102 |
final type. |
... |
| 1103 |
(som_write_fixups): Handle R_DATA_GPREL. |
(_bfd_elf_create_ifunc_sections): This. Create .rel[a].ifunc |
| 1104 |
|
for shared objects. |
| 1105 |
2008-08-26 Nick Clifton <nickc@redhat.com> |
|
| 1106 |
|
2009-06-06 H.J. Lu <hongjiu.lu@intel.com> |
| 1107 |
* elf32-arm.c: Fix up comment describing Thumb to ARM interworking |
|
| 1108 |
stub. |
* elf32-i386.c (elf_i386_check_relocs): Make room for dynamic |
| 1109 |
|
relocation for R_386_32 against STT_GNU_IFUNC symbol when |
| 1110 |
2008-08-25 Christophe Lyon <christophe.lyon@st.com> |
building shared object. Check info->executable instead of |
| 1111 |
|
!info->shared when setting non_got_ref. |
| 1112 |
* elf32-arm.c (arm_thumb_arm_v4t_short_branch_stub): Define. |
(elf_i386_allocate_dynrelocs): Allocate dynamic relocation |
| 1113 |
(elf32_arm_stub_type): Add arm_thumb_arm_v4t_stub_short_branch. |
for non-GOT reference of STT_GNU_IFUNC symbol in shared |
| 1114 |
(arm_type_of_stub): Handle armv4t short branches. Update |
object. Allocate GOT relocation agsinst STT_GNU_IFUNC |
| 1115 |
prototype. |
symbol if needed. |
| 1116 |
(arm_stub_is_thumb): Handle arm_thumb_arm_v4t_stub_short_branch. |
(elf_i386_relocate_section): Output dynamic relocation for |
| 1117 |
(arm_build_one_stub): Likewise. |
R_386_32 against STT_GNU_IFUNC symbol to get the real |
| 1118 |
(arm_size_one_stub): Likewise. |
function address when building shared object. |
| 1119 |
(elf32_arm_size_stubs): Use new arm_type_of_stub prototype. |
(elf_i386_finish_dynamic_symbol): Output R_386_GLOB_DAT |
| 1120 |
(arm_map_one_stub): Handle arm_thumb_arm_v4t_stub_short_branch. |
relocation for STT_GNU_IFUNC symbol in shared object. |
| 1121 |
|
|
| 1122 |
2008-08-24 Andreas Schwab <schwab@suse.de> |
* elf64-x86-64.c (elf64_x86_64_check_relocs): Make room for |
| 1123 |
|
dynamic relocation for R_X86_64_64 against STT_GNU_IFUNC |
| 1124 |
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Do proper |
symbol when building shared object. Check info->executable |
| 1125 |
extension when calculating difference of offsets. |
instead of !info->shared when setting non_got_ref. |
| 1126 |
|
(elf64_x86_64_allocate_dynrelocs): Allocate dynamic relocation |
| 1127 |
2008-08-24 Alan Modra <amodra@bigpond.net.au> |
for non-GOT reference of STT_GNU_IFUNC symbol in shared |
| 1128 |
|
library. Allocate GOT relocation agsinst STT_GNU_IFUNC symbol |
| 1129 |
* configure.in: Update a number of obsolete autoconf macros. |
if needed. |
| 1130 |
* aclocal.m4: Regenerate. |
(elf64_x86_64_relocate_section): Output dynamic relocation |
| 1131 |
|
for R_X86_64_64 against STT_GNU_IFUNC symbol to get the real |
| 1132 |
2008-08-23 Andreas Schwab <schwab@suse.de> |
function address when building shared object. |
| 1133 |
|
(elf64_x86_64_finish_dynamic_symbol): Output R_X86_64_GLOB_DAT |
| 1134 |
* opncls.c (find_separate_debug_file): Use the canonical |
relocation for STT_GNU_IFUNC symbol in shared object. |
|
absolute name of the bfd object for finding the debug file in |
|
|
the global debugfile directory. |
|
|
|
|
|
2008-08-22 Jakub Jelinek <jakub@redhat.com> |
|
|
|
|
|
Fix PR ld/3290 regression for cross-files DW_FORM_ref_addr relocations. |
|
|
* elflink.c (elf_link_add_object_symbols): Make debug symbols local |
|
|
now only for non-RELOCATABLE targets. |
|
|
|
|
|
2008-08-20 Bob Wilson <bob.wilson@acm.org> |
|
|
|
|
|
* elf-bfd.h (elf_object_id): Add XTENSA_ELF_TDATA. |
|
|
* elf32-xtensa.c (elf_howto_table): Add TLS relocations. |
|
|
(elf_xtensa_reloc_type_lookup): Likewise. |
|
|
(TCB_SIZE): Define. |
|
|
(elf_xtensa_link_hash_entry): New. |
|
|
(GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE, GOT_TLS_ANY): Define. |
|
|
(elf_xtensa_hash_entry): Define. |
|
|
(elf_xtensa_obj_tdata): New. |
|
|
(elf_xtensa_tdata): Define. |
|
|
(elf_xtensa_local_got_tls_type): Define. |
|
|
(elf_xtensa_local_tlsfunc_refcounts): Define. |
|
|
(is_xtensa_elf): Define. |
|
|
(elf_xtensa_mkobject): New. |
|
|
(elf_xtensa_link_hash_table): Add tlsbase field. |
|
|
(elf_xtensa_link_hash_newfunc): New. |
|
|
(elf_xtensa_link_hash_table_create): Use elf_xtensa_link_hash_newfunc. |
|
|
Create an entry for "_TLS_MODULE_BASE_" and save it in tlsbase field. |
|
|
(elf_xtensa_copy_indirect_symbol): New. |
|
|
(elf_xtensa_check_relocs): Rewrite to handle TLS relocations. |
|
|
(elf_xtensa_gc_sweep_hook): Likewise. |
|
|
(elf_xtensa_allocate_dynrelocs): Optimize away GOT entries for |
|
|
TLSDESC_FN relocations when an IE reference is seen. |
|
|
(elf_xtensa_allocate_local_got_size): Likewise. |
|
|
(elf_xtensa_always_size_sections): New. |
|
|
(dtpoff_base, tpoff): New. |
|
|
(elf_xtensa_do_reloc): Handle TLS relocations. |
|
|
(replace_tls_insn): New. |
|
|
(IS_XTENSA_TLS_RELOC): Define. |
|
|
(elf_xtensa_relocate_section): Handle TLS relocations. |
|
|
(get_indirect_call_dest_reg): New. |
|
|
(bfd_elf32_mkobject): Define. |
|
|
(elf_backend_always_size_sections): New. |
|
|
(elf_backend_copy_indirect_symbol): New. |
|
|
* reloc.c (BFD_RELOC_XTENSA_TLSDESC_FN, BFD_RELOC_XTENSA_TLSDESC_ARG) |
|
|
(BFD_RELOC_XTENSA_TLS_DTPOFF, BFD_RELOC_XTENSA_TLS_TPOFF) |
|
|
(BFD_RELOC_XTENSA_TLS_FUNC, BFD_RELOC_XTENSA_TLS_ARG) |
|
|
(BFD_RELOC_XTENSA_TLS_CALL): New. |
|
|
* bfd-in2.h: Regenerate. |
|
|
* libbfd.h: Regenerate. |
|
| 1135 |
|
|
| 1136 |
2008-08-18 Richard Sandiford <rdsandiford@googlemail.com> |
2009-06-06 Jan Kratochvil <jan.kratochvil@redhat.com> |
| 1137 |
|
|
| 1138 |
* elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Copy MIPS16 |
* Makefile.am: Run "make dep-am". |
| 1139 |
stub information. |
(BFD32_BACKENDS): Add mach-o-i386.lo. |
| 1140 |
|
(BFD32_BACKENDS_CFILES): Add mach-o-i386.c. |
| 1141 |
|
* Makefile.in: Regenerate. |
| 1142 |
|
|
| 1143 |
2008-08-17 Nick Clifton <nickc@redhat.com> |
2009-06-06 Alan Modra <amodra@bigpond.net.au> |
| 1144 |
|
|
| 1145 |
* elf32-arm.c: Tidy up the code. |
* elf32-spu.c (spu_elf_relocate_section): Match overlay number |
| 1146 |
(bfd_elf32_arm_allocate_interworking_sections): Move common code |
when looking for soft-icache stubs. |
|
into... |
|
|
(arm_allocate_glue_section_space): ... New function. |
|
|
(bfd_elf32_arm_add_glue_sections_to_bfd): Move common code |
|
|
into... |
|
|
(arm_make_glue_section): ... New function. |
|
| 1147 |
|
|
| 1148 |
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Handle the situation |
2009-06-05 Tristan Gingold <gingold@adacore.com> |
| 1149 |
where the sym_hashes are not available. |
|
| 1150 |
|
* mach-o.h: Update copyright year. |
| 1151 |
|
(bfd_mach_o_mach_header_magic): New enum. |
| 1152 |
|
(bfd_mach_o_cpu_subtype): Now an enum. |
| 1153 |
|
(BFD_MACH_O_HEADER_SIZE, BFD_MACH_O_HEADER_64_SIZE): New macros. |
| 1154 |
|
(BFD_MACH_O_SECTION_SIZE, BFD_MACH_O_SECTION_64_SIZE): Ditto. |
| 1155 |
|
(BFD_MACH_O_LC_SEGMENT_SIZE, BFD_MACH_O_LC_SEGMENT_64_SIZE): Ditto. |
| 1156 |
|
(bfd_mach_o_load_command): Field type_required is now a boolean. |
| 1157 |
|
Reindent prototypes. |
| 1158 |
|
(bfd_mach_o_object_p, bfd_mach_o_core_p): Remove. |
| 1159 |
|
(bfd_mach_o_bfd_copy_private_symbol_data): Add a prototype. |
| 1160 |
|
(bfd_mach_o_bfd_copy_private_section_data): Ditto. |
| 1161 |
|
(bfd_mach_o_bfd_copy_private_bfd_data): Ditto. |
| 1162 |
|
(bfd_mach_o_get_symtab_upper_bound): Ditto. |
| 1163 |
|
(bfd_mach_o_canonicalize_symtab): Ditto. |
| 1164 |
|
(bfd_mach_o_get_symbol_info): Ditto. |
| 1165 |
|
(bfd_mach_o_print_symbol): Ditto. |
| 1166 |
|
(bfd_mach_o_bfd_print_private_bfd_data): Ditto. |
| 1167 |
|
(bfd_mach_o_make_empty_symbol): Ditto. |
| 1168 |
|
(bfd_mach_o_write_contents): Ditto. |
| 1169 |
|
|
| 1170 |
|
* mach-o.c (bfd_mach_o_object_p, bfd_mach_o_core_p, |
| 1171 |
|
bfd_mach_o_mkobject): Defines. |
| 1172 |
|
(bfd_mach_o_valid): Returns FALSE/TRUE instead of 0/1. |
| 1173 |
|
Do not check with target vector but with flavour. |
| 1174 |
|
(struct mach_o_section_name_xlat): New declaration. |
| 1175 |
|
(dwarf_section_names_xlat): Ditto. |
| 1176 |
|
(text_section_names_xlat): Ditto. |
| 1177 |
|
(data_section_names_xlat): Ditto. |
| 1178 |
|
(struct mach_o_segment_name_xlat): Ditto. |
| 1179 |
|
(segsec_names_xlat): Ditto. |
| 1180 |
|
(bfd_mach_o_convert_section_name_to_bfd): New function. |
| 1181 |
|
(bfd_mach_o_convert_section_name_to_mach_o): Ditto. |
| 1182 |
|
(bfd_mach_o_bfd_copy_private_symbol_data): Make it public. |
| 1183 |
|
(bfd_mach_o_bfd_copy_private_section_data): Ditto. |
| 1184 |
|
(bfd_mach_o_bfd_copy_private_bfd_data): Ditto. |
| 1185 |
|
Accept any input and output flavour. Do not share private data |
| 1186 |
|
anymore. |
| 1187 |
|
(bfd_mach_o_count_symbols): Add a comment. |
| 1188 |
|
(bfd_mach_o_get_symtab_upper_bound): Make it public. |
| 1189 |
|
(bfd_mach_o_canonicalize_symtab): Ditto. |
| 1190 |
|
(bfd_mach_o_get_symbol_info): Ditto. |
| 1191 |
|
(bfd_mach_o_print_symbol): Ditto. |
| 1192 |
|
(bfd_mach_o_write_header): Now returns a boolean instead of an int. |
| 1193 |
|
Use constants instead of hard-coded values. |
| 1194 |
|
(bfd_mach_o_scan_write_section_32): Use constants instead of hard-coded |
| 1195 |
|
values. |
| 1196 |
|
(bfd_mach_o_scan_write_section_64): Ditto. |
| 1197 |
|
(bfd_mach_o_scan_write_segment): Ditto. |
| 1198 |
|
Do not copy sections anymore. |
| 1199 |
|
(bfd_mach_o_write_contents): Make it public. |
| 1200 |
|
Remove dead code. Rewrite typeflag assignment. |
| 1201 |
|
(bfd_mach_o_build_commands): New function. |
| 1202 |
|
(bfd_mach_o_set_section_contents): Ditto. |
| 1203 |
|
(bfd_mach_o_make_empty_symbol): Make it public. |
| 1204 |
|
(bfd_mach_o_read_header): Make it static. |
| 1205 |
|
Convert to bfd_boolean. |
| 1206 |
|
Use constants instead of hard-coded values. |
| 1207 |
|
(bfd_mach_o_make_bfd_section): Call |
| 1208 |
|
bfd_mach_o_convert_section_name_to_bfd to create name. |
| 1209 |
|
(bfd_mach_o_scan_read_section_32): Use constants instead of hard-coded |
| 1210 |
|
values. |
| 1211 |
|
(bfd_mach_o_scan_read_section_64): Ditto. |
| 1212 |
|
(bfd_mach_o_scan_read_segment): Do not create a bfd section for |
| 1213 |
|
a segment anymore. Use constants instead of hard-coded values. |
| 1214 |
|
(bfd_mach_o_scan_read_command): Fix style. |
| 1215 |
|
(bfd_mach_o_scan): Use constants instead of hard-coded values. |
| 1216 |
|
Get rid of BFD_IO_FUNCS. |
| 1217 |
|
(bfd_mach_o_mkobject_init): Renamed from bfd_mach_o_mkobject. |
| 1218 |
|
(bfd_mach_o_header_p): Created from bfd_mach_o_object_p. |
| 1219 |
|
(bfd_mach_o_gen_object_p): New function, replaces bfd_mach_o_object_p. |
| 1220 |
|
(bfd_mach_o_object_p): Removed. |
| 1221 |
|
(bfd_mach_o_gen_core_p): New function, replaces ... |
| 1222 |
|
(bfd_mach_o_core_p): ... deleted. |
| 1223 |
|
(bfd_mach_o_bfd_print_private_bfd_data): Make it public. |
| 1224 |
|
|
| 1225 |
|
* mach-o-i386.c: New file. |
| 1226 |
|
* config.bfd: Use mach_o_i386_vec as targ_defvec for ix86-darwin. |
| 1227 |
|
* configure.in (TDEFINES): Add mach_o_i386_vec. |
| 1228 |
|
* configure: Regenerated. |
| 1229 |
|
* targets.c: Add mach_o_i386_vec. |
| 1230 |
|
|
| 1231 |
2008-08-17 Alan Modra <amodra@bigpond.net.au> |
* mach-o.c: Update copyright years. |
| 1232 |
|
(BFD_IO_FUNCS): Remove (was not used). |
| 1233 |
|
(bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr, bfd_mach_o_slurp_armap |
| 1234 |
|
bfd_mach_o_slurp_extended_name_table, |
| 1235 |
|
bfd_mach_o_construct_extended_name_table, |
| 1236 |
|
bfd_mach_o_truncate_arname, bfd_mach_o_write_armap, |
| 1237 |
|
bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt, |
| 1238 |
|
bfd_mach_o_update_armap_timestamp, bfd_mach_o_close_and_cleanup, |
| 1239 |
|
bfd_mach_o_bfd_free_cached_info, bfd_mach_o_new_section_hook, |
| 1240 |
|
bfd_mach_o_get_section_contents_in_window, |
| 1241 |
|
bfd_mach_o_bfd_is_local_label_name, |
| 1242 |
|
bfd_mach_o_bfd_is_target_special_symbol, |
| 1243 |
|
bfd_mach_o_bfd_is_local_label_name, bfd_mach_o_get_lineno, |
| 1244 |
|
bfd_mach_o_find_nearest_line, bfd_mach_o_find_inliner_info, |
| 1245 |
|
bfd_mach_o_bfd_make_debug_symbol, bfd_mach_o_read_minisymbols, |
| 1246 |
|
bfd_mach_o_minisymbol_to_symbol, |
| 1247 |
|
bfd_mach_o_bfd_get_relocated_section_contents, |
| 1248 |
|
bfd_mach_o_bfd_relax_section, bfd_mach_o_bfd_link_hash_table_create, |
| 1249 |
|
bfd_mach_o_bfd_link_hash_table_free, bfd_mach_o_bfd_link_add_symbols, |
| 1250 |
|
bfd_mach_o_bfd_link_just_syms, bfd_mach_o_bfd_final_link, |
| 1251 |
|
bfd_mach_o_bfd_link_split_section, bfd_mach_o_set_arch_mach, |
| 1252 |
|
bfd_mach_o_bfd_merge_private_bfd_data, |
| 1253 |
|
bfd_mach_o_bfd_set_private_flags, bfd_mach_o_get_section_contents, |
| 1254 |
|
bfd_mach_o_bfd_gc_sections, bfd_mach_o_bfd_merge_sections, |
| 1255 |
|
bfd_mach_o_bfd_is_group_section, bfd_mach_o_bfd_discard_group, |
| 1256 |
|
bfd_mach_o_section_already_linked, bfd_mach_o_bfd_define_common_symbol, |
| 1257 |
|
bfd_mach_o_bfd_copy_private_header_data, |
| 1258 |
|
bfd_mach_o_core_file_matches_executable_p): Move these defines ... |
| 1259 |
|
* mach-o-target.c: ... here. |
| 1260 |
|
Update copyright years. |
| 1261 |
|
|
| 1262 |
|
2009-06-04 Alan Modra <amodra@bigpond.net.au> |
| 1263 |
|
|
| 1264 |
|
* dep-in.sed: Don't use \n in replacement part of s command. |
| 1265 |
|
* Makefile.am (DEP1): LC_ALL for uniq. |
| 1266 |
|
Run "make dep-am". |
| 1267 |
|
* Makefile.in: Regenerate. |
| 1268 |
|
|
| 1269 |
* bfd.c (struct _bfd): Correct outsymbols comment. |
2009-06-03 H.J. Lu <hongjiu.lu@intel.com> |
|
* bfd-in2.h: Regenerate. |
|
|
* linker.c (bfd_generic_link_read_symbols): Renamed from.. |
|
|
(generic_link_read_symbols): ..this, and made global. |
|
| 1270 |
|
|
| 1271 |
2008-08-15 Alan Modra <amodra@bigpond.net.au> |
* elf32-i386.c (elf_i386_allocate_dynrelocs): Remove check of |
| 1272 |
|
h->plt.refcount > 0 on STT_GNU_IFUNC symbol. |
| 1273 |
|
* elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise. |
| 1274 |
|
|
| 1275 |
|
2009-06-03 H.J. Lu <hongjiu.lu@intel.com> |
| 1276 |
|
|
| 1277 |
|
* elf32-i386.c (elf_i386_allocate_dynrelocs): Allocate |
| 1278 |
|
GOT entry for STT_GNU_IFUNC symbol with pointer equality. |
| 1279 |
|
(elf_i386_relocate_section): Adjust R_386_GOT32 relocation |
| 1280 |
|
against STT_GNU_IFUNC symbols for static executables. |
| 1281 |
|
(elf_i386_finish_dynamic_symbol): Load GOT entry with |
| 1282 |
|
PLT entry for STT_GNU_IFUNC symbol with pointer equality. |
| 1283 |
|
|
| 1284 |
|
* elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Allocate |
| 1285 |
|
GOT entry for STT_GNU_IFUNC symbol with pointer equality. |
| 1286 |
|
(elf64_x86_64_finish_dynamic_symbol): Load GOT entry with |
| 1287 |
|
PLT entry for STT_GNU_IFUNC symbol with pointer equality. |
| 1288 |
|
|
| 1289 |
|
2009-06-02 Richard Sandiford <r.sandiford@uk.ibm.com> |
| 1290 |
|
|
| 1291 |
|
* coff-rs6000.c (xcoff_ppc_relocate_section): Allow undefined |
| 1292 |
|
symbols to be left unimported when linking statically. |
| 1293 |
|
* xcofflink.c (xcoff_link_add_symbols): Ignore global linkage |
| 1294 |
|
code when linking statically. |
| 1295 |
|
|
| 1296 |
|
2009-06-02 H.J. Lu <hongjiu.lu@intel.com> |
| 1297 |
|
|
| 1298 |
|
* elf32-i386.c (elf_i386_check_relocs): Increment |
| 1299 |
|
got.refcount for R_386_GOT32/R_386_GOTOFF relocations |
| 1300 |
|
against STT_GNU_IFUNC symbol. |
| 1301 |
|
(elf_i386_allocate_dynrelocs): Set got.refcount to 0 if |
| 1302 |
|
local STT_GNU_IFUNC definition is used. |
| 1303 |
|
(elf_i386_relocate_section): Handle got.offset != -1 for |
| 1304 |
|
R_386_GOT32/R_386_GOTOFF relocations against STT_GNU_IFUNC |
| 1305 |
|
symbol. |
| 1306 |
|
|
| 1307 |
|
* elf64-x86-64.c (elf64_x86_64_check_relocs): Increment |
| 1308 |
|
got.refcount for R_X86_64_GOTPCREL/R_X86_64_GOTPCREL64 |
| 1309 |
|
relocations against STT_GNU_IFUNC symbol. |
| 1310 |
|
(elf64_x86_64_allocate_dynrelocs): Set got.refcount to 0 if |
| 1311 |
|
local STT_GNU_IFUNC definition is used. |
| 1312 |
|
(elf64_x86_64_relocate_section): Handle got.offset != -1 |
| 1313 |
|
for R_X86_64_GOTPCREL/R_X86_64_GOTPCREL64 relocations against |
| 1314 |
|
STT_GNU_IFUNC symbol. |
| 1315 |
|
|
| 1316 |
|
2009-06-01 H.J. Lu <hongjiu.lu@intel.com> |
| 1317 |
|
|
| 1318 |
|
PR ld/10205 |
| 1319 |
|
* elf32-i386.c (elf_howto_table): Add R_386_IRELATIVE. |
| 1320 |
|
(elf_i386_reloc_type_lookup): Likewise. |
| 1321 |
|
(R_386_tls): Removed. |
| 1322 |
|
(R_386_irelative): New. |
| 1323 |
|
(R_386_vt_offset): Updated. |
| 1324 |
|
(elf_i386_rtype_to_howto): Likewise. |
| 1325 |
|
(elf_i386_link_hash_table): Add igotplt, iplt and irelplt. |
| 1326 |
|
(elf_i386_link_hash_table_create): Initialize igotplt, |
| 1327 |
|
iplt and irelplt. |
| 1328 |
|
(elf_i386_check_relocs): Handle STT_GNU_IFUNC symbol first. |
| 1329 |
|
(elf_i386_adjust_dynamic_symbol): Likewise. |
| 1330 |
|
(elf_i386_allocate_dynrelocs): Likewise. |
| 1331 |
|
(elf_i386_relocate_section): Likewise. |
| 1332 |
|
(elf_i386_size_dynamic_sections): Set up .iplt and .igot.plt |
| 1333 |
|
sections. |
| 1334 |
|
(elf_i386_finish_dynamic_symbol): When building a static |
| 1335 |
|
executable, use .iplt, .igot.plt and .rel.iplt sections for |
| 1336 |
|
STT_GNU_IFUNC symbols. Generate R_386_IRELATIVE relocation for |
| 1337 |
|
locally defined STT_GNU_IFUNC symbol. |
| 1338 |
|
|
| 1339 |
|
* elf64-x86-64.c (x86_64_elf_howto): Add R_X86_64_IRELATIVE. |
| 1340 |
|
(x86_64_reloc_map): Likewise. |
| 1341 |
|
(R_X86_64_standard): Updated. |
| 1342 |
|
(elf64_x86_64_link_hash_table): Add igotplt, iplt and irelplt. |
| 1343 |
|
(elf64_x86_64_link_hash_table_create): Initialize igotplt, |
| 1344 |
|
iplt and irelplt. |
| 1345 |
|
(elf64_x86_64_check_relocs): Handle STT_GNU_IFUNC symbol first. |
| 1346 |
|
(elf64_x86_64_adjust_dynamic_symbol): Likewise. |
| 1347 |
|
(elf64_x86_64_allocate_dynrelocs): Likewise. |
| 1348 |
|
(elf64_x86_64_relocate_section): Likewise. |
| 1349 |
|
(elf64_x86_64_size_dynamic_sections): Set up .iplt and .igot.plt |
| 1350 |
|
sections. |
| 1351 |
|
(elf64_x86_64_finish_dynamic_symbol): When building a static |
| 1352 |
|
executable, use .iplt, .igot.plt and .rela.iplt sections for |
| 1353 |
|
STT_GNU_IFUNC symbols. Generate R_X86_64_IRELATIVE relocation |
| 1354 |
|
for locally defined STT_GNU_IFUNC symbol. |
| 1355 |
|
|
| 1356 |
PR 6526 |
* reloc.c (BFD_RELOC_386_IRELATIVE): New. |
| 1357 |
* configure.in: Invoke AC_USE_SYSTEM_EXTENSIONS. |
(BFD_RELOC_X86_64_IRELATIVE): Likewise. |
|
* Makefile.in: Regenerate. |
|
|
* aclocal.m4: Regenerate. |
|
|
* config.in: Regenerate. |
|
|
* configure: Regenerate. |
|
| 1358 |
|
|
| 1359 |
2008-08-14 Jaka Močnik <jaka@xlab.si> |
* bfd-in2.h: Regenerated. |
| 1360 |
|
* libbfd.h: Likewise. |
| 1361 |
|
|
| 1362 |
* coffgen.c (coff_find_nearest_line): Correct cached line index. |
2009-06-01 H.J. Lu <hongjiu.lu@intel.com> |
| 1363 |
|
|
| 1364 |
2008-08-12 Alan Modra <amodra@bigpond.net.au> |
* elf-bfd.h (struct bfd_elf_section_data): Remove indirect_relocs. |
| 1365 |
|
(_bfd_elf_make_ifunc_reloc_section): Removed. |
| 1366 |
|
(_bfd_elf_is_ifunc_symbol): Likewise. |
| 1367 |
|
(_bfd_elf_create_static_ifunc_sections): New. |
| 1368 |
|
|
| 1369 |
|
* elflink.c (_bfd_elf_adjust_dynamic_symbol): Move STT_GNU_IFUNC |
| 1370 |
|
symbol check to ... |
| 1371 |
|
(elf_link_add_object_symbols): Here. |
| 1372 |
|
(_bfd_elf_link_hash_hide_symbol): Don't clean plt on |
| 1373 |
|
STT_GNU_IFUNC symbol. |
| 1374 |
|
(elf_link_output_extsym): Call elf_backend_finish_dynamic_symbol |
| 1375 |
|
if a STT_GNU_IFUNC symbol is referenced in a non-shared object. |
| 1376 |
|
(IFUNC_INFIX): Removed. |
| 1377 |
|
(get_ifunc_reloc_section_name): Likewise. |
| 1378 |
|
(_bfd_elf_make_ifunc_reloc_section): Likewise. |
| 1379 |
|
(_bfd_elf_is_ifunc_symbol): Likewise. |
| 1380 |
|
(_bfd_elf_create_static_ifunc_sections): New. |
| 1381 |
|
|
| 1382 |
* elf32-ppc.c (allocate_dynrelocs): Ignore dyn_relocs when |
2009-05-29 H.J. Lu <hongjiu.lu@intel.com> |
|
!dynamic_sections_created. Don't make symbols with got |
|
|
references dynamic if !dynamic_sections_created. |
|
|
* elf64-ppc.c (allocate_dynrelocs): Likewise. Alloc dynamic |
|
|
relocs on undefined symbols. |
|
|
(ppc64_elf_relocate_section): Allow dynamic relocs on |
|
|
undefined symbols. |
|
| 1383 |
|
|
| 1384 |
2008-08-11 Alan Modra <amodra@bigpond.net.au> |
* elf32-i386.c (link_hash_newfunc): Add elf_i386_ prefix. |
| 1385 |
|
(create_got_section): Likewise. |
| 1386 |
|
(allocate_dynrelocs): Likewise. |
| 1387 |
|
(readonly_dynrelocs): Likewise. |
| 1388 |
|
(set_tls_module_base): Likewise. |
| 1389 |
|
(dtpoff_base): Likewise. |
| 1390 |
|
(tpoff): Likewise. |
| 1391 |
|
(elf_i386_link_hash_table_create): Updated. |
| 1392 |
|
(elf_i386_create_dynamic_sections): Likewise. |
| 1393 |
|
(elf_i386_check_relocs): Likewise. |
| 1394 |
|
(elf_i386_size_dynamic_sections): Likewise. |
| 1395 |
|
(elf_i386_relocate_section): Likewise. |
| 1396 |
|
|
| 1397 |
* elf64-ppc.c (toc_adjusting_stub_needed): Any call via the plt |
* elf64-x86-64.c (link_hash_newfunc): Add elf64_x86_64_ prefix. |
| 1398 |
needs r2 valid, not just those to external syms. |
(create_got_section): Likewise. |
| 1399 |
|
(allocate_dynrelocs): Likewise. |
| 1400 |
|
(readonly_dynrelocs): Likewise. |
| 1401 |
|
(set_tls_module_base): Likewise. |
| 1402 |
|
(dtpoff_base): Likewise. |
| 1403 |
|
(tpoff): Likewise. |
| 1404 |
|
(elf64_x86_64_link_hash_table_create): Updated. |
| 1405 |
|
(elf64_x86_64_create_dynamic_sections): Likewise. |
| 1406 |
|
(elf64_x86_64_check_relocs): Likewise. |
| 1407 |
|
(elf64_x86_64_size_dynamic_sections): Likewise. |
| 1408 |
|
(elf64_x86_64_relocate_section): Likewise. |
| 1409 |
|
|
| 1410 |
2008-08-09 Pedro Alves <pedro@codesourcery.com> |
2009-05-28 Nick Clifton <nickc@redhat.com> |
| 1411 |
|
|
| 1412 |
* archive.c (_bfd_archive_bsd_update_armap_timestamp): Cast stat |
* targets.c (_bfd_target_vector): Only include plugin target in |
| 1413 |
st_mtime to long before comparison. |
all-targets build if BFD_SUPPORTS_PLUGINS is non-zero. |
| 1414 |
|
|
| 1415 |
2008-08-08 Anatoly Sokolov <aesok@post.ru> |
2009-05-28 Ulrich Weigand <uweigand@de.ibm.com> |
| 1416 |
|
|
| 1417 |
* archures.c (bfd_mach_avr25, bfd_mach_avr31, bfd_mach_avr35, |
* elf32-spu.c (struct call_info): New member broken_cycle. |
| 1418 |
bfd_mach_avr51): New. |
(remove_cycle): Instead of physically removing call_info structures |
| 1419 |
* bfd-in2.h: Regenerate. |
to break call graph cycles, mark them using the broken_cycle flag. |
| 1420 |
* cpu-avr.c (arch_info_struct): Add avr25, avr31, avr35, and avr51 |
(mark_overlay_section): Respect broken_cycle flag. |
| 1421 |
architectures. Change comments to match architecture comments in GCC. |
(unmark_overlay_section): Likewise. |
| 1422 |
(compatible): Add test for new AVR architectures. |
(collect_lib_sections): Likewise. |
| 1423 |
* elf32-avr.c (bfd_elf_avr_final_write_processing): Recognize |
(collect_overlays): Likewise. |
| 1424 |
bfd_mach_avr25, bfd_mach_avr31, bfd_mach_avr35 and bfd_mach_avr51. |
(sum_stack): Likewise. |
| 1425 |
(elf32_avr_object_p): Recognize E_AVR_MACH_AVR25, E_AVR_MACH_AVR31, |
|
| 1426 |
E_AVR_MACH_AVR35 and E_AVR_MACH_AVR51. |
2009-05-28 Ulrich Weigand <uweigand@de.ibm.com> |
| 1427 |
|
|
| 1428 |
|
* elf32-spu.c (insert_callee): Accumulate incoming callee->count. |
| 1429 |
|
(mark_functions_via_relocs): Initialize callee->count to 1. |
| 1430 |
|
(pasted_function): Likewise. |
| 1431 |
|
(spu_elf_auto_overlay): Honor call counts when determining number |
| 1432 |
|
of stubs required in software i-cache mode. |
| 1433 |
|
|
| 1434 |
|
2009-05-27 Rafael Avila de Espindola <espindola@google.com> |
| 1435 |
|
|
| 1436 |
|
* plugin.c (program_name): Remove. |
| 1437 |
|
(plugin_program_name): New. |
| 1438 |
|
(bfd_plugin_set_program_name): New. |
| 1439 |
|
(try_load_plugin): Use plugin_program_name. |
| 1440 |
|
* plugin.h (bfd_plugin_set_program_name): New. |
| 1441 |
|
|
| 1442 |
|
2009-05-27 Rafael Avila de Espindola <espindola@google.com> |
| 1443 |
|
|
| 1444 |
2008-08-08 Richard Sandiford <rdsandiford@googlemail.com> |
* aclocal.m4: Include ../config/plugins.m4. |
| 1445 |
Daniel Jacobowitz <dan@codesourcery.com> |
* configure.in: Use AC_PLUGINS. |
| 1446 |
Catherine Moore <clm@codesourcery.com> |
* configure: Regenerate. |
| 1447 |
Mark Shinwell <shinwell@codesourcery.com> |
* Makefile.in: Regenerate. |
| 1448 |
Maxim Kuvyrkov <maxim@codesourcery.com> |
* doc/Makefile.in: Regenerate. |
| 1449 |
|
|
| 1450 |
* elf32-mips.c (mips_vxworks_copy_howto_rela): Replace with... |
2009-05-27 Nathan Sidwell <nathan@codesourcery.com> |
|
(elf_mips_copy_howto): ...this howto. Clear the size fields. |
|
|
(mips_vxworks_jump_slot_howto_rela): Replace with... |
|
|
(elf_mips_jump_slot_howto): ...this howto. |
|
|
(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS_COPY |
|
|
and BFD_RELOC_MIPS_JUMP_SLOT. |
|
|
(bfd_elf32_bfd_reloc_name_lookup): Handle "R_MIPS_COPY" and |
|
|
"R_MIPS_JUMP_SLOT". |
|
|
(mips_elf32_rtype_to_howto): Handle R_MIPS_COPY and R_MIPS_JUMP_SLOT. |
|
|
(elf_backend_plt_readonly): Define. |
|
|
(elf_backend_plt_sym_val): Define for non-VxWorks targets. |
|
|
(mips_vxworks_bfd_reloc_type_lookup): Delete. |
|
|
(mips_vxworks_bfd_reloc_name_lookup): Likewise. |
|
|
(mips_vxworks_rtype_to_howto): Likewise. |
|
|
(elf_backend_want_dynbss): Don't define for VxWorks. |
|
|
(elf_backend_plt_readonly): Likewise. |
|
|
(bfd_elf32_bfd_reloc_type_lookup): Likewise. |
|
|
(bfd_elf32_bfd_reloc_name_lookup): Likewise. |
|
|
(elf_backend_mips_rtype_to_howto): Likewise. |
|
|
(elf_backend_adjust_dynamic_symbol): Likewise. |
|
|
(elf_backend_got_symbol_offset): Don't define. |
|
|
* elfn32-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto): New. |
|
|
(bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS_COPY |
|
|
and BFD_RELOC_MIPS_JUMP_SLOT. |
|
|
(bfd_elf32_bfd_reloc_name_lookup): Handle "R_MIPS_COPY" and |
|
|
"R_MIPS_JUMP_SLOT". |
|
|
(mips_elf32_n32_rtype_to_howto): Handle R_MIPS_COPY and |
|
|
R_MIPS_JUMP_SLOT. |
|
|
(elf_backend_rela_plts_and_copies_p, elf_backend_plt_readonly) |
|
|
(elf_backend_plt_sym_val): Define. |
|
|
* elf64-mips.c (elf_mips_copy_howto, elf_mips_jump_slot_howto): New. |
|
|
(bfd_elf64_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS_COPY |
|
|
and BFD_RELOC_MIPS_JUMP_SLOT. |
|
|
(bfd_elf64_bfd_reloc_name_lookup): Handle "R_MIPS_COPY" and |
|
|
"R_MIPS_JUMP_SLOT". |
|
|
(mips_elf64_rtype_to_howto): Handle R_MIPS_COPY and R_MIPS_JUMP_SLOT. |
|
|
(elf_backend_rela_plts_and_copies_p, elf_backend_plt_readonly) |
|
|
(elf_backend_plt_sym_val): Define. |
|
|
* elfxx-mips.h (_bfd_mips_vxworks_adjust_dynamic_symbol): Delete. |
|
|
(_bfd_mips_elf_use_plts_and_copy_relocs, _bfd_mips_elf_init_stubs) |
|
|
(_bfd_mips_elf_plt_sym_val, _bfd_mips_post_process_headers): Declare. |
|
|
* elfxx-mips.c (mips_elf_la25_stub): New structure. |
|
|
(LA25_LUI, LA25_J, LA25_ADDIU): New macros. |
|
|
(mips_elf_link_hash_entry): Add "la25_stubs", "has_static_relocs" |
|
|
and "has_nonpic_branches" fields. Remove "is_relocation_target" and |
|
|
"is_branch_target". |
|
|
(mips_elf_link_hash_table): Add blank lines. Add |
|
|
"use_plts_and_copy_relocs", "reserved_gotno", "strampoline", |
|
|
"la25_stubs" and "add_stub_section" fields. |
|
|
(mips_htab_traverse_info): New structure. |
|
|
(PIC_OBJECT_P, MIPS_ELF_LOAD_WORD): New macros. |
|
|
(MIPS_RESERVED_GOTNO): Delete. |
|
|
(mips_o32_exec_plt0_entry, mips_n32_exec_plt0_entry) |
|
|
(mips_n64_exec_plt0_entry, mips_exec_plt_entry): New tables. |
|
|
(mips_elf_link_hash_newfunc): Update after the changes to |
|
|
mips_elf_link_hash_entry. |
|
|
(mips_elf_check_mips16_stubs): Replace the DATA parameter with |
|
|
an INFO parameter. Don't look through warnings symbols here; |
|
|
do it in mips_elf_check_symbols instead. |
|
|
(mips_elf_create_stub_symbol): New function. |
|
|
(mips_elf_la25_stub_hash, mips_elf_la25_stub_eq): New functions. |
|
|
(_bfd_mips_elf_init_stubs, mips_elf_local_pic_function_p): Likewise. |
|
|
(mips_elf_add_la25_intro, mips_elf_add_la25_trampoline): Likewise. |
|
|
(mips_elf_add_la25_stub, mips_elf_check_symbols): New functions. |
|
|
(mips_elf_gotplt_index): Check for VxWorks. |
|
|
(mips_elf_output_dynamic_relocation): Take the relocation index |
|
|
as an extra parameter. Do not increment reloc_count here. |
|
|
(mips_elf_initialize_tls_slots): Update the calls to |
|
|
mips_elf_output_dynamic_relocation accordingly. |
|
|
(mips_elf_multi_got): Use htab->reserved_gotno instead of |
|
|
MIPS_RESERVED_GOTNO. |
|
|
(mips_elf_create_got_section): Don't allocate reserved GOT |
|
|
entries here. Unconditionally create .got.plt, but don't |
|
|
set its alignment here. |
|
|
(mips_elf_relocation_needs_la25_stub): New function. |
|
|
(mips_elf_calculate_relocation): Redirect branches and jumps to |
|
|
a non-PIC stub if one exists. Check !h->has_static_relocs instead |
|
|
of !htab->is_vxworks when deciding whether to create dynamic |
|
|
relocations for R_MIPS_32, R_MIPS_REL32 and R_MIPS_64. |
|
|
(_bfd_mips_elf_create_dynamic_sections): Unconditionally call |
|
|
_bfd_elf_create_dynamic_sections. Unconditionally set up |
|
|
htab->splt and htab->sdynbss. Set htab->srelplt to ".rel.plt" |
|
|
if !htab->is_vxworks. Add non-VxWorks values of |
|
|
htab->plt_header_size and htab->plt_entry_size. |
|
|
(_bfd_mips_elf_check_relocs): Set pointer_equality_needed for |
|
|
non-branch static relocations. Set has_nonpic_branches when an la25 |
|
|
stub might be required. Set can_make_dynamic_p to TRUE if R_MIPS_32, |
|
|
R_MIPS_REL32 and R_MIPS_64 relocations can be made dynamic, |
|
|
rather than duplicating the condition. Do not make them dynamic |
|
|
for read-only sections in non-PIC executable objects. |
|
|
Do not protect this code with dynobj == NULL || htab->sgot == NULL; |
|
|
handle each group of cases separately. Add a default case that |
|
|
sets has_static_relocs for non-GOT relocations that cannot be |
|
|
made dynamic. Don't set is_relocation_target and is_branch_target. |
|
|
Reject non-PIC static relocations in shared objects. |
|
|
(_bfd_mips_vxworks_adjust_dynamic_symbol): Fold into... |
|
|
(_bfd_mips_elf_adjust_dynamic_symbol): ...here, using |
|
|
htab->use_plts_and_copy_relocs instead of htab->is_vxworks |
|
|
to select PLT and copy-reloc handling. Set the alignment of |
|
|
.plt and .got.plt when allocating the first entry. Generalize |
|
|
code to handle REL as well as RELA sections and 64-bit as well as |
|
|
32-bit GOT entries. Complain if we find a static-only reloc |
|
|
against an externally-defined symbol and if we cannot create |
|
|
dynamic relocations for it. Allocate copy relocs using |
|
|
mips_elf_allocate_dynamic_relocations on non-VxWorks targets. |
|
|
Set possibly_dynamic_relocs to 0 when using PLTs or copy relocs. |
|
|
Skip reserved .got.plt entries. |
|
|
(_bfd_mips_elf_always_size_sections): Use mips_elf_check_symbols |
|
|
instead of mips_elf_check_mips16_stubs to process each symbol. |
|
|
Do the traversal for relocatable objects too. |
|
|
(mips_elf_lay_out_got): Use htab->reserved_gotno instead of |
|
|
MIPS_RESERVED_GOTNO. |
|
|
(_bfd_mips_elf_size_dynamic_sections): Exclude sdynbss if it |
|
|
is empty. Extend the DT_PLTREL, DT_JMPREL and DT_PLTRELSZ handling |
|
|
to non-VxWorks targets. Only add DT_REL{,A}, DT_REL{,A}SZ and |
|
|
DT_REL{,A}ENT if .rel.dyn is nonempty. Create a symbol for the |
|
|
PLT. Allocate a nop at the end of the PLT. Allocate DT_MIPS_PLTGOT. |
|
|
(mips_elf_create_la25_stub_info): New function. |
|
|
(_bfd_mips_elf_finish_dynamic_symbol): Write out PLT entries |
|
|
and copy relocs where necessary. Check pointer_equality_needed. |
|
|
(mips_finish_exec_plt): New function. |
|
|
(_bfd_mips_elf_finish_dynamic_sections): Always set DT_PLTGOT |
|
|
to the beginning of htab->sgot. Use htab->reserved_gotno instead |
|
|
of MIPS_RESERVED_GOTNO. Assert htab->use_plts_and_copy_relocs |
|
|
instead of htab->is_vxworks for DT_PLTREL, DT_PLTRELSZ and DT_JMPREL. |
|
|
Set DT_PLTREL to DT_REL instead of DT_RELA on non-VxWorks targets. |
|
|
Use mips_finish_exec_plt to create non-VxWorks PLT headers. Set |
|
|
DT_MIPS_PLTGOT. |
|
|
(_bfd_mips_elf_copy_indirect_symbol): Copy has_static_relocs |
|
|
from the indirect symbol to the direct symbol. Also copy |
|
|
has_nonpic_branches for indirect symbols. |
|
|
(_bfd_mips_elf_get_target_dtag): Handle DT_MIPS_PLTGOT and |
|
|
DT_MIPS_RWPLT. |
|
|
(_bfd_mips_elf_link_hash_table_create): Initialize the new |
|
|
mips_elf_link_hash_table fields. |
|
|
(_bfd_mips_vxworks_link_hash_table_create): Set |
|
|
use_plts_and_copy_relocs to TRUE. Use TRUE rather than 1 |
|
|
when setting is_vxworks. |
|
|
(_bfd_mips_elf_use_plts_and_copy_relocs): New function. |
|
|
(_bfd_mips_elf_final_link): Call mips_elf_create_la25_stub for |
|
|
each la25_stub. |
|
|
(_bfd_mips_elf_merge_private_bfd_data): Treat dynamic objects |
|
|
as PIC. Generalize message about linking PIC and non-PIC. |
|
|
(_bfd_mips_elf_plt_sym_val, _bfd_mips_post_process_headers): New |
|
|
functions. |
|
|
* reloc.c: Update comment near BFD_RELOC_MIPS_JUMP_SLOT. |
|
|
* bfd-in2.h: Regenerated. |
|
| 1451 |
|
|
| 1452 |
2008-08-08 Alan Modra <amodra@bigpond.net.au> |
* elf32-ppc.c (ppc_elf_relax_section): Work with a partial |
| 1453 |
|
link. |
| 1454 |
|
* bout.c (b_out_bfd_relax_section): Reject relocatable links. |
| 1455 |
|
* elf32-m10300.c (mn10300_elf_relax_section): Likewise. |
| 1456 |
|
* elf32-avr.c (elf32_avr_relax_section): Likewise. |
| 1457 |
|
* elf32-frv.c (elf32_avr_relax_section): Likewise. |
| 1458 |
|
* elf32-xtensa.c (elf_xtensa_relax_section): Likewise. |
| 1459 |
|
* elf64-mmix.c (mmix_elf_relax_section): Likewise. |
| 1460 |
|
* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise. |
| 1461 |
|
* elfxx-sparc.c (_bfd_sparc_elf_relax_section): Likewise. |
| 1462 |
|
* reloc.c (bfd_generic_relax_section): Likewise. |
| 1463 |
|
* reloc16.c (bfd_coff_reloc16_relax_section): Likewise. |
| 1464 |
|
* vms.c (vms_bfd_relax_section): Likewise. |
| 1465 |
|
|
| 1466 |
* elf.c (bfd_elf_get_elf_syms): Don't leak memory on error. |
2009-05-26 H.J. Lu <hongjiu.lu@intel.com> |
|
* elflink.c (_bfd_elf_link_read_relocs): bfd_release on error. |
|
|
(elf_link_add_object_symbols): Don't leak memory on error. |
|
|
(bfd_elf_size_dynsym_hash_dynstr): Likewise. |
|
|
(elf_fixup_link_order): Free sections. |
|
|
|
|
|
2008-08-07 Richard Sandiford <rdsandiford@googlemail.com> |
|
|
|
|
|
* elf-bfd.h (elf_backend_data): Add a "rela_plts_and_copies_p" field. |
|
|
* elfxx-target.h (elf_backend_rela_plts_and_copies_p): New macro. |
|
|
(elfNN_bed): Use it. |
|
|
* elf.c (_bfd_elf_get_synthetic_symtab): Use rela_plts_and_copies_p |
|
|
instead of default_use_rela_p to choose between ".rel.plt" and |
|
|
".rela.plt". |
|
|
* elflink.c (_bfd_elf_create_dynamic_sections): Use |
|
|
rela_plts_and_copies_p instead of default_use_rela_p to choose |
|
|
between ".rel.plt" and ".rela.plt", and between ".rel.bss" and |
|
|
".rela.bss". |
|
|
|
|
|
2008-08-07 Richard Sandiford <rdsandiford@googlemail.com> |
|
|
|
|
|
* elf-bfd.h (MIPS_ELF_TDATA): New elf_object_id. |
|
|
* elf32-mips.c (bfd_elf32_mkobject): Define. |
|
|
* elf64-mips.c (bfd_elf64_mkobject): Likewise. |
|
|
* elfn32-mips.c (bfd_elf32_mkobject): Likewise. |
|
|
* elfxx-mips.h (_bfd_mips_elf_mkobject): Declare. |
|
|
* elfxx-mips.c (is_mips_elf): New macro. |
|
|
(_bfd_mips_elf_mkobject): New function. |
|
|
(_bfd_mips_elf_final_link): Use is_mips_elf. |
|
|
(_bfd_mips_elf_merge_private_bfd_data): Likewise. |
|
|
|
|
|
2008-08-07 Richard Sandiford <rdsandiford@googlemail.com> |
|
|
|
|
|
* elfxx-mips.c (mips_elf_record_relocs): Defer allocation of a |
|
|
global GOT entry when deferring allocation of dynamic relocations. |
|
|
(allocate_dynrelocs): When allocating deferred dynamic relocations, |
|
|
also do the deferred allocation of a GOT entry. |
|
|
|
|
|
2008-08-07 Richard Sandiford <rdsandiford@googlemail.com> |
|
|
|
|
|
* elfxx-mips.c (mips_got_info): Add a "reloc_only_gotno" field. |
|
|
(mips_elf_got_section): Delete. |
|
|
(mips_elf_sort_hash_table): Use g->reloc_only_gotno to decide |
|
|
how many reloc-only entries there are. |
|
|
(mips_elf_count_got_symbols): Adjust g->reloc_only_gotno as |
|
|
well as g->global_gotno. |
|
|
(mips_elf_make_got_per_bfd): Initialize reloc_only_gotno. |
|
|
(mips_elf_multi_got): Likewise. Use gg->reloc_only_gotno |
|
|
rather than gg->assigned_gotno to store the number of |
|
|
reloc-only GOT entries. |
|
|
(mips_elf_create_got_section): Remove the MAYBE_EXCLUDE parameter. |
|
|
Initialize reloc_only_gotno. |
|
|
(mips_elf_calculate_relocation): Check htab->got_info instead of |
|
|
dynobj when deciding whether to call mips_elf_adjust_gp, |
|
|
(_bfd_mips_elf_create_dynamic_sections): Adjust the call |
|
|
to mips_elf_create_got_section. |
|
|
(mips_elf_record_relocs): Likewise. Remove redundant |
|
|
"dynobj == NULL" code. Do not use mips_elf_create_got_section |
|
|
or mips_elf_record_global_got_symbol for R_MIPS_32, R_MIPS_REL32 |
|
|
and R_MIPS_64; limit global_got_area to GGA_RELOC_ONLY instead. |
|
|
(_bfd_mips_elf_finish_dynamic_symbol): Use htab->sgot instead |
|
|
of mips_elf_got_section. |
|
|
(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. |
|
|
(_bfd_mips_elf_finish_dynamic_sections): Likewise. |
|
|
Move the initial assignment of G to the block that uses it; |
|
|
it is used for an unrelated purpose later. |
|
|
|
|
|
2008-08-07 Richard Sandiford <rdsandiford@googlemail.com> |
|
|
|
|
|
* elfxx-mips.c (count_section_dynsyms): Move before the new first use. |
|
|
(mips_elf_sort_hash_table): Take the output bfd as a parameter. |
|
|
Remove the MAX_LOCAL parameter. Exit early if there are no |
|
|
dynamic symbols, if there is no dynobj, or if there is no |
|
|
GOT section. Use count_section_dynsyms instead of MAX_LOCAL. |
|
|
Assert == rather than <= when checking hsd.max_unref_got_dynindx. |
|
|
Also assert that g->global_gotno is right. |
|
|
(mips_elf_count_forced_local_got_symbols): Rename to... |
|
|
(mips_elf_count_got_symbols): ...and count global GOT entries too. |
|
|
Set the global_got_area of a forced-local GGA_RELOC_ONLY symbol |
|
|
to GGA_NONE. |
|
|
(mips_elf_multi_got): Don't sort the symbol table. |
|
|
(mips_elf_lay_out_got): Likewise. Use mips_elf_count_got_symbols |
|
|
to count the number of global GOT entries. |
|
|
(_bfd_mips_elf_final_link): Unconditionally call |
|
|
mips_elf_sort_hash_table. |
|
|
|
|
|
2008-08-07 Richard Sandiford <rdsandiford@googlemail.com> |
|
|
|
|
|
* elfxx-mips.c (GGA_NORMAL, GGA_RELOC_ONLY, GGA_NONE): New macros. |
|
|
(mips_elf_link_hash_entry): Add a "global_got_area" field. |
|
|
(mips_elf_link_hash_newfunc): Initialize it. |
|
|
(mips_elf_sort_hash_table_f): Use h->global_got_area instead of |
|
|
h->root.got.offset. Do not handle forced_local symbols specially. |
|
|
(mips_elf_record_global_got_symbol): Set h->global_got_area |
|
|
instead of h->root.got.offset. |
|
|
(mips_elf_recreate_got): Assert that h->global_got_area == GGA_NONE |
|
|
for indirect and warning symbols. |
|
|
(mips_elf_count_forced_local_got_symbols): Change the argument |
|
|
from a "elf_link_hash_entry" to "mips_elf_link_hash_entry". |
|
|
Use and set h->global_got_area instead of h->root.got.offset. |
|
|
Set it to GGA_NONE for all forced-local symbols. |
|
|
(mips_elf_set_global_got_offset): Set h->global_got_area |
|
|
instead of h->root.got.offset. Use g->global_got_area instead |
|
|
of a combination of dynindx, forced_local and tls_type. |
|
|
(mips_elf_multi_got): Remove disabled code. Pass GGA_* values to |
|
|
mips_elf_set_global_got_offset. |
|
|
(mips_elf_lay_out_got): Use mips_elf_link_hash_traverse instead |
|
|
of elf_link_hash_traverse. |
|
|
(_bfd_mips_elf_copy_indirect_symbol): Copy the indirect symbol's |
|
|
global_got_area to the direct symbol if the latter's value is higher. |
|
|
Set the indirect symbol's area to GGA_NONE. |
|
|
|
|
|
2008-08-07 Richard Sandiford <rdsandiford@googlemail.com> |
|
|
|
|
|
* elf32-mips.c (elf_backend_hide_symbol): Delete. |
|
|
* elfn32-mips.c (elf_backend_hide_symbol): Likewise. |
|
|
* elf64-mips.c (elf_backend_hide_symbol): Likewise. |
|
|
* elfxx-mips.h (elf_backend_hide_symbol): Likewise. |
|
|
* elfxx-mips.c (mips_elf_link_hash_entry): Remove "forced_local" |
|
|
and add "needs_lazy_stub". |
|
|
(mips_elf_link_hash_newfunc): Update accordingly. |
|
|
(mips_elf_link_hash_table): Remove "computed_got_sizes" and |
|
|
add "lazy_stub_count". |
|
|
(_bfd_mips_elf_link_hash_table_create): Update accordingly. |
|
|
(mips_elf_output_extsym): Use hd->needs_lazy_stub to detect |
|
|
cases where a lazy stub is being used. |
|
|
(mips_elf_sort_hash_table_f): Use h->root.forced_local instead |
|
|
of h->forced_local. |
|
|
(mips_elf_record_global_got_symbol): Use _bfd_elf_link_hash_hide_symbol |
|
|
instead of _bfd_mips_elf_hide_symbol. Do not increment local_gotno |
|
|
here. |
|
|
(mips_elf_allocate_dynamic_relocations): Move before new first use. |
|
|
(mips_elf_check_recreate_got, mips_elf_recreate_got): New functions. |
|
|
(mips_elf_resolve_final_got_entries): Move earlier in file. Make at |
|
|
most two passes over the hash table. Use mips_elf_check_recreate_got |
|
|
to see if there are any indirect or warning entries and |
|
|
mips_elf_recreate_got to create a new GOT without them. |
|
|
Return a boolean success value. |
|
|
(mips_elf_count_forced_local_got_entries): New function. |
|
|
(mips_elf_make_got_per_bfd): Check h->root.forced_local instead of |
|
|
h->forced_local. |
|
|
(mips_elf_set_global_got_offset): Likewise. |
|
|
(mips_elf_set_no_stub): Replace with... |
|
|
(mips_elf_forbid_lazy_stubs): ...this new function. |
|
|
(mips_elf_resolve_final_got_entry): Delete. |
|
|
(mips_elf_multi_got): Fix formatting. Use mips_elf_forbid_lazy_stubs |
|
|
instead of mips_elf_set_no_stub. Move the code that sets |
|
|
global offsets and allocates dynamic relocations from the main |
|
|
_bfd_mips_elf_size_dynamic_sections loop to here. |
|
|
(_bfd_mips_elf_adjust_dynamic_symbol): Do not allocate room in |
|
|
.MIPS.stubs here; just set hmips->needs_lazy_stub and increment |
|
|
htab->lazy_stub_count. |
|
|
(_bfd_mips_elf_always_size_sections): Move the stub-estimation |
|
|
code to mips_elf_estimate_stub_size and the GOT-sizing code to |
|
|
mips_elf_lay_out_got. Do not call these functions here. |
|
|
(mips_elf_estimate_stub_size): New function, split |
|
|
out from _bfd_mips_elf_always_size_sections. Call |
|
|
mips_elf_resolve_final_got_entries earlier. Count the number |
|
|
of forced-local entries. Do not add stub sizes to loadable_size; |
|
|
after this patch, the stub sizes are already included in the main |
|
|
estimate. Allocate dynamic relocations here rather than in the |
|
|
main _bfd_mips_elf_size_dynamic_sections loop. |
|
|
(mips_elf_estimate_stub_size): New function, split out from |
|
|
_bfd_mips_elf_always_size_sections. |
|
|
(mips_elf_allocate_lazy_stub): New function. |
|
|
(mips_elf_lay_out_lazy_stubs): Likewise. |
|
|
(_bfd_mips_elf_size_dynamic_sections): Call mips_elf_estimate_stub_size, |
|
|
mips_elf_lay_out_got and mips_elf_lay_out_lazy_stubs. Do not handle |
|
|
the allocation of sreldyn specially. |
|
|
(_bfd_mips_elf_hide_symbol): Delete. |
|
| 1467 |
|
|
| 1468 |
2008-08-07 Richard Sandiford <rdsandiford@googlemail.com> |
* elf-bfd.h (_bfd_elf_is_ifunc_symbol): New. |
| 1469 |
|
|
| 1470 |
* elfxx-mips.c (allocate_dynrelocs): Ignore indirect and warning |
* elf32-i386.c (is_indirect_symbol): Renamed to ... |
| 1471 |
symbols. |
* elflink.c (_bfd_elf_is_ifunc_symbol): This. |
| 1472 |
|
|
| 1473 |
2008-08-06 Richard Sandiford <rdsandiford@googlemail.com> |
* elf32-i386.c (allocate_dynrelocs): Updated. |
| 1474 |
|
(elf_i386_relocate_section): Likewise. |
| 1475 |
|
* elf64-x86-64.c (allocate_dynrelocs): Likewise. |
| 1476 |
|
(elf64_x86_64_relocate_section): Likewise. |
| 1477 |
|
|
| 1478 |
* elfxx-mips.c (mips_elf_link_hash_entry): Move bfd_boolean |
* elf64-x86-64.c (is_indirect_symbol): Removed. |
|
fields to the end of the structure and make them single-bit |
|
|
bitfields. |
|
|
(mips_elf_link_hash_newfunc): Make the initialization statements |
|
|
follow the new field order. |
|
|
|
|
|
2008-08-06 Richard Sandiford <rdsandiford@googlemail.com> |
|
|
|
|
|
* elfxx-mips.c (_mips_elf_section_data): Remove the "u.got_info" field. |
|
|
(mips_elf_link_hash_table): Add "sgot" and "got_info" fields. |
|
|
(_bfd_mips_elf_link_hash_table_create): Initialize them. |
|
|
(mips_elf_got_section): Always apply the !maybe_excluded behavior. |
|
|
(mips_elf_got_info): Delete. |
|
|
(mips_elf_initialize_tls_slots): Remove the DYNOBJ local variable. |
|
|
Adjust the call to mips_elf_got_section. |
|
|
(mips_elf_local_got_index): Don't call mips_elf_got_info. |
|
|
Update the call to mips_elf_create_local_got_entry. |
|
|
Use htab->got_info. |
|
|
(mips_elf_global_got_index): Don't call mips_elf_got_info; |
|
|
use htab->got_info and htab->sgot instead. |
|
|
(mips_elf_got_page): Don't call mips_elf_got_info. Update the |
|
|
call to mips_elf_create_local_got_entry. |
|
|
(mips_elf_got16_entry): Likewise. |
|
|
(mips_elf_got_offset_from_index): Replace with DYNOBJ parameter |
|
|
with an INFO parameter. Don't call mips_elf_got_info; use htab->sgot |
|
|
and htab->got_info instead. |
|
|
(mips_elf_create_local_got_entry): Remove the GG and SGOT parameters. |
|
|
Use htab->sgot and htab->got_info. |
|
|
(mips_elf_sort_hash_table): Remove the DYNOBJ local variable. |
|
|
Don't call mips_elf_got_info; use htab->got_info instead. |
|
|
(mips_elf_record_global_got_symbol): Turn G from a paramter to |
|
|
a local variable and read it from htab->got_info. |
|
|
(mips_elf_record_local_got_symbol): Replace the G parameter with |
|
|
an INFO parameter. Make G a local variable and read it from |
|
|
htab->got_info instead. |
|
|
(mips_elf_record_got_page_entry): Likewise. |
|
|
(mips_elf_multi_got): Remove the G parameter and make it a local |
|
|
variable instead. Read it from htab->got_info. |
|
|
(mips_elf_create_got_section): Cache the GOT section in htab->sgot. |
|
|
Store the GOT information in htab->got_info. |
|
|
(mips_elf_calculate_relocation): Don't call mips_elf_got_section |
|
|
and mips_elf_got_info; use htab->sgot and htab->got_info instead. |
|
|
Adjust the calls to mips_elf_got_offset_from_index and |
|
|
mips_elf_adjust_gp. |
|
|
(_bfd_mips_elf_check_relocs): Remove the G and SGOT local variables. |
|
|
Adjust the calls to mips_elf_record_local_got_symbol, |
|
|
mips_elf_record_global_got_symbol and mips_elf_record_got_page_entry. |
|
|
Use htab->sgot. |
|
|
(_bfd_mips_elf_always_size_sections): Remove the DYNOBJ local variable. |
|
|
Don't call mips_elf_got_info; use htab->sgot and htab->got_info instead. |
|
|
Update the call to mips_elf_multi_got. |
|
|
(_bfd_mips_elf_size_dynamic_sections): Don't call mips_elf_got_info; |
|
|
use htab->got_info instead. |
|
|
(_bfd_mips_elf_finish_dynamic_symbol): Update the call to |
|
|
mips_elf_got_section. Get the got_info from the hash table |
|
|
rather than the GOT section. |
|
|
(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. |
|
|
(_bfd_mips_elf_finish_dynamic_sections): Likewise. |
|
|
(_bfd_mips_elf_hide_symbol): Don't call mips_elf_got_section; |
|
|
get the got_info from the hash table instead. Remove the GOT |
|
|
local variable. |
|
|
(_bfd_mips_elf_final_link): Likewise. Also remove the DYNOBJ |
|
|
local variable. |
|
| 1479 |
|
|
| 1480 |
2008-08-06 Richard Sandiford <rdsandiford@googlemail.com> |
2009-05-26 Nick Clifton <nickc@redhat.com> |
| 1481 |
|
|
| 1482 |
* elfxx-mips.c (mips_elf_link_hash_table): Add an "sstubs" field. |
* po/id.po: Updated Indonesian translation. |
|
(_bfd_mips_elf_create_dynamic_sections): Use it to cache the stubs |
|
|
section. Don't check whether the section already exists. |
|
|
(_bfd_mips_elf_adjust_dynamic_symbol): Use htab->sstubs. |
|
|
(_bfd_mips_elf_finish_dynamic_symbol): Likewise. |
|
|
(_bfd_mips_elf_finish_dynamic_sections): Likewise. |
|
|
(_bfd_mips_elf_size_dynamic_sections): Likewise. Don't add the |
|
|
dummy stub to an empty section. |
|
|
(_bfd_mips_elf_link_hash_table_create): Initialize the "sstubs" field. |
|
|
|
|
|
2008-08-06 Richard Sandiford <rdsandiford@googlemail.com> |
|
|
|
|
|
* reloc.c (BFD_RELOC_MIPS16_GOT16, BFD_RELOC_MIPS16_CALL16): Declare. |
|
|
* libbfd.h, bfd-in2.h: Regenerate. |
|
|
* elf32-mips.c (elf_mips16_howto_table_rel): Fill in reserved |
|
|
R_MIPS16_GOT16 and R_MIPS16_CALL16 entries. |
|
|
(mips16_reloc_map): Add mappings. |
|
|
* elf64-mips.c (mips16_elf64_howto_table_rel): Fill in reserved |
|
|
R_MIPS16_GOT16 and R_MIPS16_CALL16 entries. |
|
|
(mips16_elf64_howto_table_rela): Likewise. |
|
|
(mips16_reloc_map): Add mappings. |
|
|
* elfn32-mips.c (elf_mips16_howto_table_rel): Fill in reserved |
|
|
R_MIPS16_GOT16 and R_MIPS16_CALL16 entries. |
|
|
(elf_mips16_howto_table_rela): Likewise. |
|
|
(mips16_reloc_map): Add mappings. |
|
|
* elfxx-mips.c (mips_elf_create_shadow_symbol): New function. |
|
|
(section_allows_mips16_refs_p): Likewise. |
|
|
(mips16_stub_symndx): Likewise. |
|
|
(mips_elf_check_mips16_stubs): Treat the data argument as a |
|
|
bfd_link_info. Mark every dynamic symbol as needing MIPS16 stubs |
|
|
and create a "shadow" symbol for the original MIPS16 definition. |
|
|
(mips16_reloc_p, got16_reloc_p, call16_reloc_p, hi16_reloc_p) |
|
|
(lo16_reloc_p, mips16_call_reloc_p): New functions. |
|
|
(_bfd_mips16_elf_reloc_unshuffle): Use mips16_reloc_p to generalize |
|
|
relocation checks. |
|
|
(_bfd_mips16_elf_reloc_shuffle): Likewise. |
|
|
(_bfd_mips_elf_lo16_reloc): Handle R_MIPS16_GOT16. |
|
|
(mips_elf_got16_entry): Add comment. |
|
|
(mips_elf_calculate_relocation): Use hi16_reloc_p, |
|
|
lo16_reloc_p, mips16_call_reloc_p, call16_reloc_p and got16_reloc_p |
|
|
to generalize relocation checks. Use section_allows_mips16_refs_p |
|
|
instead of mips16_stub_section_p. Handle R_MIPS16_CALL16 and |
|
|
R_MIPS16_GOT16, allowing the former to refer directly to a |
|
|
MIPS16 function if its stub is not needed. |
|
|
(mips16_stub_section_p): Delete. |
|
|
(_bfd_mips_elf_symbol_processing): Convert odd-valued function |
|
|
symbols into even MIPS16 symbols. |
|
|
(mips_elf_add_lo16_rel_addend): Use mips16_reloc_p to generalize |
|
|
a relocation check. |
|
|
(_bfd_mips_elf_check_relocs): Calculate "bed" and "rel_end" |
|
|
earlier in the function. Use mips16_stub_symndx to identify |
|
|
the target function. Avoid out-of-bounds accesses when the |
|
|
stub has no relocations; report an error instead. Use |
|
|
section_allows_mips16_refs_p instead of mips16_stub_section_p. |
|
|
Use mips16_call_reloc_p and got16_reloc_p to generalize relocation |
|
|
checks. Handle R_MIPS16_CALL16 and R_MIPS16_GOT16. Don't create |
|
|
dynamic relocations for absolute references to __gnu_local_gp. |
|
|
(_bfd_mips_elf_always_size_sections): Pass a bfd_link_info as |
|
|
the argument to mips_elf_check_mips16_stubs. Generalize comment. |
|
|
(_bfd_mips_elf_relocate_section): Use hi16_reloc_p and got16_reloc_p |
|
|
to generalize relocation checks. |
|
|
(_bfd_mips_elf_finish_dynamic_symbol): If a dynamic MIPS16 function |
|
|
symbol has a non-MIPS16 stub, redirect the symbol to the stub. |
|
|
Fix an overly long line. Don't give dynamic symbols type STO_MIPS16. |
|
|
(_bfd_mips_elf_gc_sweep_hook): Handle R_MIPS16_CALL16 and |
|
|
R_MIPS16_GOT16. |
|
|
|
|
|
2008-08-06 Alan Modra <amodra@bigpond.net.au> |
|
|
|
|
|
* elf32-ppc.c (ppc_elf_relax_section): Clear R_PPC_PLTREL24 addend. |
|
|
(ppc_elf_relocate_section <R_PPC_RELAX32_PLT>): Don't bother here. |
|
|
|
|
|
2008-08-05 Alan Modra <amodra@bigpond.net.au> |
|
|
Jaka Močnik <jaka@xlab.si> |
|
|
|
|
|
* coffcode.h (coff_slurp_line_table): bfd_alloc lineno_cache first |
|
|
so that we don't inadvertently free it. Use bfd_alloc for sort |
|
|
arrays, and memcpy sorted line table. |
|
| 1483 |
|
|
| 1484 |
2008-08-04 Alan Modra <amodra@bigpond.net.au> |
2009-05-26 Rafael Avila de Espindola <espindola@google.com> |
| 1485 |
|
|
| 1486 |
* elf32-spu.c (spu_elf_auto_overlay): Use the maximum possible |
* Makefile.am: Run "make dep-am". |
| 1487 |
if --fixed-space request is too large. |
(AM_CPPFLAGS): New. |
| 1488 |
|
(LIBDL): New. |
| 1489 |
|
(ALL_MACHINES): Add cpu-plugin.lo. |
| 1490 |
|
(ALL_MACHINES_CFILES): Add cpu-plugin.c. |
| 1491 |
|
(BFD32_BACKENDS): Add plugin.lo. |
| 1492 |
|
(BFD32_BACKENDS_CFILES): Add plugin.c. |
| 1493 |
|
(libbfd_la_LIBADD): Add LIBDL |
| 1494 |
|
* archures.c (bfd_architecture): Add bfd_arch_plugin. |
| 1495 |
|
(bfd_plugin_arch): Declare. |
| 1496 |
|
* bfd-in.h (BFD_SUPPORTS_PLUGINS): New. |
| 1497 |
|
* bfd.c (bfd): Add plugin_data. |
| 1498 |
|
* config.bfd: Handle the plugin target. |
| 1499 |
|
* configure.in: Check for --enable-plugins. |
| 1500 |
|
(LT_INIT): Use the dlopen option. |
| 1501 |
|
* cpu-plugin.c: New. |
| 1502 |
|
* plugin.c: New. |
| 1503 |
|
* plugin.h: New. |
| 1504 |
|
* targets.c (plugin_vec): Declare. |
| 1505 |
|
(_bfd_target_vector): Add plugin_vec. |
| 1506 |
|
* Makefile.in: Regenerate. |
| 1507 |
|
* bfd-in2.h: Regenerate. |
| 1508 |
|
* configure: Regenerate. |
| 1509 |
|
|
| 1510 |
2008-08-04 Alan Modra <amodra@bigpond.net.au> |
2009-05-26 Alan Modra <amodra@bigpond.net.au> |
| 1511 |
|
|
| 1512 |
* Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Set LC_ALL=C. |
* dep-in.sed: Don't modify .o to .lo here. Output one filename |
| 1513 |
|
per line with all lines having continuation backslash. Prefix |
| 1514 |
|
first line with "A", following lines with "B". |
| 1515 |
|
* Makefile.am (DEP): Don't use dep.sed here. |
| 1516 |
|
(DEP1): Run $MKDEP on single files, modify .o to .lo here. Use |
| 1517 |
|
dep.sed here on dependencies, sort and uniq. |
| 1518 |
* Makefile.in: Regenerate. |
* Makefile.in: Regenerate. |
|
* po/SRC-POTFILES.in: Regenerate. |
|
| 1519 |
|
|
| 1520 |
2008-08-02 Alan Modra <amodra@bigpond.net.au> |
2009-05-25 Tristan Gingold <gingold@adacore.com> |
| 1521 |
|
|
| 1522 |
|
* makefile.vms: Add verilog.obj to object list OBJS. |
| 1523 |
|
|
| 1524 |
* elf32-spu.c (mark_overlay_section): Move code calculating |
2009-05-24 Alan Modra <amodra@bigpond.net.au> |
| 1525 |
max_overlay_size to correct block. |
|
| 1526 |
(spu_elf_auto_overlay): Don't use %x in einfo error message. |
* bfdio.c (bfd_seek): Formatting. Ensure newly allocated memory |
| 1527 |
|
for BFD_IN_MEMORY is cleared. |
| 1528 |
2008-08-01 Alan Modra <amodra@bigpond.net.au> |
(bfd_bwrite): Zero excess memory allocated. |
| 1529 |
Jan Kratochvil <jan.kratochvil@redhat.com> |
|
| 1530 |
|
2009-05-22 Julian Brown <julian@codesourcery.com> |
| 1531 |
* elfcore.h (elf_core_file_p): Ensure we have a backend match |
|
| 1532 |
with the correct arch size before rejecting the generic fallback. |
* elf32-arm.c (THUMB16_BCOND_INSN, THUMB32_INSN, THUMB32_B_INSN): New |
| 1533 |
* elfcode.h (elf_object_p): Likewise. Ensure arch size matches |
macros. |
| 1534 |
before accepting a target. |
(elf32_arm_stub_a8_veneer_b_cond, elf32_arm_stub_a8_veneer_b) |
| 1535 |
|
(elf32_arm_stub_a8_veneer_blx): New stub sequences. |
| 1536 |
2008-08-01 Alan Modra <amodra@bigpond.net.au> |
(elf32_arm_stub_type): Add arm_stub_a8_veneer_b_cond, |
| 1537 |
|
arm_stub_a8_veneer_b and arm_stub_a8_veneer_blx. |
| 1538 |
PR 6774 |
(elf32_arm_stub_hash_entry): Add target_addend, orig_insn fields. |
| 1539 |
* elf.c (rewrite_elf_program_header): Don't wrap p_paddr to |
(a8_erratum_fix, a8_erratum_reloc): New structs. |
| 1540 |
include file or program headers. |
(elf32_arm_link_hash_table): Add a8_erratum_fixes, |
| 1541 |
|
num_a8_erratum_fixes, fix_cortex_a8 fields. |
| 1542 |
2008-07-30 Alan Modra <amodra@bigpond.net.au> |
(elf32_arm_link_hash_table_create): Zero fix_cortex_a8. |
| 1543 |
|
(elf32_arm_add_stub): Split into two parts, creating... |
| 1544 |
* coff-ppc.c, coffgen.c, ecoff.c, ecofflink.c, elf.c, elf32-frv.c, |
(elf32_arm_create_or_find_stub_sec): New function. |
| 1545 |
elf32-iq2000.c, elf32-m32c.c, elf32-mep.c, elf32-mt.c, |
(elf32_arm_final_link_relocate): Add forward declaration. |
| 1546 |
elf32-sh-symbian.c, elf64-hppa.c, mach-o.c, peXXigen.c, pef.c, |
(arm_build_one_stub): Add support for THUMB32_TYPE, Thumb-2 |
| 1547 |
ppcboot.c, vms-misc.c, xsym.c: Silence gcc warnings. |
relocations, multiple relocations per stub. |
| 1548 |
|
(find_stub_size_and_template): New (using parts of arm_size_one_stub). |
| 1549 |
2008-07-28 Daniel Jacobowitz <dan@codesourcery.com> |
(arm_size_one_stub): Use find_stub_size_and_template. |
| 1550 |
|
(a8_reloc_compare): New. |
| 1551 |
* elfxx-mips.c (mips_elf_calculate_relocation): Avoid generating |
(find_thumb_glue): Add forward declaration. |
| 1552 |
relocations for undefined weak symbols with non-default visibility. |
(cortex_a8_erratum_scan): New. |
| 1553 |
(_bfd_mips_elf_check_relocs): Use possibly_dynamic_relocs for |
(elf32_arm_size_stubs): Add Cortex-A8 erratum workaround support. |
| 1554 |
global symbols in shared libraries. |
(bfd_elf32_arm_set_cortex_a8_fix): New. |
| 1555 |
(allocate_dynrelocs): New function. |
(bfd_elf32_arm_set_target_relocs): Add fix_cortex_a8 argument. |
| 1556 |
(_bfd_mips_elf_adjust_dynamic_symbol): Do not handle |
(arm_map_one_stub): Add THUMB32_TYPE support. |
| 1557 |
possibly_dynamic_relocs here. |
(a8_branch_to_stub_data): New. |
| 1558 |
(_bfd_mips_elf_size_dynamic_sections): Call allocate_dynrelocs. |
(make_branch_to_a8_stub): New. |
| 1559 |
|
(elf32_arm_write_section): Add Cortex-A8 erratum workaround support. |
| 1560 |
2008-07-28 Alexandre Oliva <aoliva@redhat.com> |
* bfd-in.h (bfd_elf32_arm_set_cortex_a8_fix): New. |
| 1561 |
|
(bfd_elf32_arm_set_target_relocs): Add argument for controlling |
| 1562 |
* elf32-i386.c (struct elf_i386_link_hash_table): Added field |
Cortex-A8 erratum workaround. |
|
tls_module_base. |
|
|
(elf_i386_link_hash_table_create): Initialize it. |
|
|
(elf_i386_always_size_sections): Set it. |
|
|
(set_tls_module_base): New. |
|
|
(elf_i386_relocate_sections): Call it. |
|
|
* elf64-x86-64.c (struct elf64_x86_64_link_hash_table): Added |
|
|
field tls_module_base. |
|
|
(elf64_x86_64_link_hash_table_create): Initialize it. |
|
|
(elf64_x86_64_always_size_sections): Set it. |
|
|
(set_tls_module_base): New. |
|
|
(elf64_x86_64_relocate_sections): Call it. |
|
|
Reported by Cary Coutant <ccoutant@google.com> |
|
|
|
|
|
2008-07-28 Ineiev <ineiev@yahoo.co.uk> |
|
|
|
|
|
* elf32-arm.c (arm_map_one_stub): Declare variables at beginning |
|
|
of block. |
|
|
* elf32-avr.c (get_local_syms): Likewise. |
|
|
|
|
|
2008-07-28 Alan Modra <amodra@bigpond.net.au> |
|
|
|
|
|
PR 6769 |
|
|
* bfd-in.h (BFD_VMA_FMT): Define. |
|
|
(printf_vma, sprintf_vma): Use the above. |
|
|
(_bfd_int64_low, _bfd_int64_high): Delete. |
|
| 1563 |
* bfd-in2.h: Regenerate. |
* bfd-in2.h: Regenerate. |
| 1564 |
|
|
| 1565 |
2008-07-27 Alan Modra <amodra@bigpond.net.au> |
2009-05-22 Alan Modra <amodra@bigpond.net.au> |
| 1566 |
|
|
| 1567 |
|
* Makefile.am: Run "make dep-am". |
| 1568 |
|
* Makefile.in: Regenerate. |
| 1569 |
|
* po/SRC-POTFILES.in: Regenerate. |
| 1570 |
|
|
| 1571 |
* elf.c (_bfd_elf_make_section_from_shdr): Ignore return from |
2009-05-21 Alan Modra <amodra@bigpond.net.au> |
|
elf_parse_notes. Use bfd_malloc_and_get_section. |
|
|
(elf_parse_notes): Validate note namesz and descsz. |
|
| 1572 |
|
|
| 1573 |
2008-07-26 Michael Eager <eager@eagercon.com> |
* elflink.c (elf_link_input_bfd): Correct *pindex change in last |
| 1574 |
|
commit. |
| 1575 |
|
|
| 1576 |
* elf32-ppc.c (ppc_elf_merge_obj_attributes): Check compatibility |
2009-05-21 Alan Modra <amodra@bigpond.net.au> |
|
between single-float, double-float, and soft-float. |
|
| 1577 |
|
|
| 1578 |
2008-07-24 Daniel Jacobowitz <dan@codesourcery.com> |
* elf-bfd.h (struct elf_backend_data |
| 1579 |
|
<elf_backend_link_output_symbol_hook>): Return an int. |
| 1580 |
|
* elf64-ppc.c (ppc64_elf_output_symbol_hook): Return 2 to drop |
| 1581 |
|
symbols on deleted .opd entries. |
| 1582 |
|
* elflink.c (elf_link_output_sym): Return without outputting sym |
| 1583 |
|
if output_symbol_hook returns 2. |
| 1584 |
|
(elf_link_output_extsym): Don't assign h->indx when symbol discarded. |
| 1585 |
|
Abort if we must not discard sym. |
| 1586 |
|
(elf_link_input_bfd): Similarly, don't set finfo->indices for |
| 1587 |
|
local syms. |
| 1588 |
|
(bfd_elf_final_link): Adjust elf_link_output_sym calls. |
| 1589 |
|
* elf-vxworks.c (elf_vxworks_link_output_symbol_hook): Adjust for |
| 1590 |
|
elf_backend_link_output_symbol_hook return type change. |
| 1591 |
|
* elf32-arm.c (output_arch_syminfo): Likewise. |
| 1592 |
|
(elf32_arm_output_map_sym, elf32_arm_output_stub_sym): Likewise. |
| 1593 |
|
(elf32_arm_output_arch_local_syms): Likewise. |
| 1594 |
|
* elf32-cr16c.c (elf32_cr16c_link_output_symbol_hook): Likewise. |
| 1595 |
|
* elf32-score.c (s3_bfd_score_elf_link_output_symbol_hook): Likewise. |
| 1596 |
|
(bfd_score_elf_link_output_symbol_hook): Likewise. |
| 1597 |
|
* elf32-score.h (s7_bfd_score_elf_link_output_symbol_hook): Likewise. |
| 1598 |
|
* elf32-score7.c (s7_bfd_score_elf_link_output_symbol_hook): Likewise. |
| 1599 |
|
* elf32-sh64.c (sh64_elf_link_output_symbol_hook): Likewise. |
| 1600 |
|
* elf32-spu.c (spu_elf_output_symbol_hook): Likewise. |
| 1601 |
|
* elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise. |
| 1602 |
|
* elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise. |
| 1603 |
|
* elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise. |
| 1604 |
|
* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise. |
| 1605 |
|
* elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise. |
| 1606 |
|
* elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise. |
| 1607 |
|
* elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise. |
| 1608 |
|
|
| 1609 |
* elf32-mips.c (elf_backend_write_section): Define. |
2009-05-21 Alan Modra <amodra@bigpond.net.au> |
| 1610 |
|
|
| 1611 |
2008-07-24 Nick Clifton <nickc@redhat.com> |
* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't segfault on |
| 1612 |
|
out of range .opd symbols. |
| 1613 |
|
|
| 1614 |
* elf.c (_bfd_elf_map_sections_to_segments): Catch off by one |
2009-05-21 Dave Korn <dave.korn.cygwin@gmail.com> |
|
error assigning sections to segments. |
|
| 1615 |
|
|
| 1616 |
2008-07-22 Nick Clifton <nickc@redhat.com> |
* coffgen.c (coff_print_symbol): Use bfd_fprintf_vma, not |
| 1617 |
|
fprintf_vma directly. |
| 1618 |
|
* peXXigen.c (pe_print_edata): Likewise. |
| 1619 |
|
(pe_print_pdata): Likewise. |
| 1620 |
|
(_bfd_XX_print_ce_compressed_pdata): Likewise. |
| 1621 |
|
(_bfd_XX_print_private_bfd_data_common): Likewise. |
| 1622 |
|
|
| 1623 |
* elf.c (_bfd_elf_map_sections_to_segments): Allow sections in |
2009-05-19 Dave Korn <dave.korn.cygwin@gmail.com> |
|
adjoining pages to be included in the same segment. |
|
| 1624 |
|
|
| 1625 |
2008-07-22 Simon Baldwin <simonb@google.com> |
* cofflink.c (process_embedded_commands): Ignore "-aligncomm". |
| 1626 |
|
|
| 1627 |
* elflink.c (elf_link_output_extsym): Set st_size to zero for |
2009-05-15 Andrew Stubbs <ams@codesourcery.com> |
| 1628 |
symbols from dynamic libraries. |
Paul Brook <paul@codesourcery.com> |
| 1629 |
|
|
| 1630 |
2008-07-21 H.J. Lu <hongjiu.lu@intel.com> |
* elf32-arm.c (elf32_arm_fix_exidx_coverage): Don't attempt to |
| 1631 |
|
fix discarded sections. |
| 1632 |
|
|
| 1633 |
PR ld/4424 |
2009-05-14 Ulrich Weigand <uweigand@de.ibm.com> |
|
* elflink.c (_bfd_elf_merge_symbol): Call bed->relocs_compatible |
|
|
to check if 2 inputs are compatible. |
|
| 1634 |
|
|
| 1635 |
2008-07-21 Sterling Augustine <sterling@tensilica.com> |
* elf32-spu.c (mark_overlay_section): Move .init and .fini |
| 1636 |
|
sections into the software icache. |
| 1637 |
|
|
| 1638 |
* elf.c (assign_file_positions_for_load_sections): Print vma in |
2009-05-14 Ulrich Weigand <uweigand@de.ibm.com> |
|
error message about overlapping section vmas. |
|
| 1639 |
|
|
| 1640 |
2008-07-21 H.J. Lu <hongjiu.lu@intel.com> |
* elf32-spu.c (build_stub): Always build "compact" sofware |
| 1641 |
|
i-cache stubs. |
| 1642 |
|
|
| 1643 |
PR ld/6747 |
2009-05-14 Ulrich Weigand <uweigand@de.ibm.com> |
|
* elf32-frv.c (elf32_frv_relocate_section): Revert the change |
|
|
for PR ld/6446 checked in by accident on May 21, 2008. |
|
| 1644 |
|
|
| 1645 |
2008-07-21 Nick Clifton <nickc@redhat.com> |
* elf32-spu.c (struct spu_link_hash_table): Add fromelem_size_log2. |
| 1646 |
|
(spu_elf_setup): Initialize it. |
| 1647 |
|
(spu_elf_size_stubs): Move .ovtab into .bss for software i-cache. |
| 1648 |
|
Update to new-sytle cache manager data structures. |
| 1649 |
|
(spu_elf_build_stubs): Generate new-style cache manager data |
| 1650 |
|
structures and symbols. |
| 1651 |
|
(spu_elf_auto_overlay): Update size computation. |
| 1652 |
|
|
| 1653 |
* coff-sh.c (bfd_pe_print_pdata): Define to NULL for non |
2009-05-14 Ulrich Weigand <uweigand@de.ibm.com> |
|
COFF_WITH_PE based SH ports. |
|
|
* libpei.h (_bfd_XX_print_ce_compressed_pdata): Prototype. |
|
|
* arm-wince-pe.c (bfd_pe_print_pdata): Use |
|
|
_bfd_pe_print_ce_compressed_pdata. |
|
|
(slurp_symcache, cleanup_syms, pe_print_ce_compressed_pdata): Move |
|
|
to... |
|
|
* peXXigen.c: ... here and rename pe_print_ce_compressed_pdata to |
|
|
_bfd_XX_print_ce_compressed_pdata. |
|
| 1654 |
|
|
| 1655 |
2008-07-21 Alan Modra <amodra@bigpond.net.au> |
* elf32-spu.c (spu_elf_modify_segment_map): Move all PF_OVERLAY |
| 1656 |
|
segments first amongst the program headers. |
| 1657 |
|
|
| 1658 |
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Drop |
2009-05-14 Ulrich Weigand <uweigand@de.ibm.com> |
|
unwanted zero terminators. |
|
| 1659 |
|
|
| 1660 |
2008-07-21 Alan Modra <amodra@bigpond.net.au> |
* elf32-spu.c (spu_elf_relocate_section): Only encode overlay index |
| 1661 |
|
into addresses for relocation types that look at high bits. Remove |
| 1662 |
|
special handling of relocation overflow warnings. |
| 1663 |
|
|
| 1664 |
* elf32-spu.c (spu_elf_relocate_section): Expand |
2009-05-14 Ulrich Weigand <uweigand@de.ibm.com> |
|
RELOC_FOR_GLOBAL_SYMBOL. Don't warn about undefined symbols for |
|
|
R_SPU_PPU32 and R_SPU_PPU64 relocations. |
|
| 1665 |
|
|
| 1666 |
2008-07-21 Luis Machado <luisgpm@br.ibm.com> |
* elf32-spu.c (mark_functions_via_relocs): Handle cycles in the |
| 1667 |
|
control flow graph between fragments of a function. |
| 1668 |
|
|
| 1669 |
* elf-bfd.h: Declare elfcore_write_ppc_vsx. |
2009-05-14 Ulrich Weigand <uweigand@de.ibm.com> |
|
* elf.c (elfcore_grok_ppc_vsx): New function. |
|
|
(elfcore_write_ppc_vsx): New function |
|
|
(elfcore_grok_note): Handle VSX notes. |
|
|
(elfcore_write_register_note): Handle VSX notes. |
|
| 1670 |
|
|
| 1671 |
2008-07-18 Joseph Myers <joseph@codesourcery.com> |
* elf32-spu.c (spu_elf_size_stubs): Even in software i-cache mode, |
| 1672 |
|
generate only a 16-byte .toe section. |
| 1673 |
|
(spu_elf_build_stubs, spu_elf_auto_overlay): Likewise. |
| 1674 |
|
|
| 1675 |
* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add new parameter. |
2009-05-14 Alan Modra <amodra@bigpond.net.au> |
|
* bfd-in2.h: Regenerate. |
|
|
* elf32-arm.c (struct elf_arm_obj_tdata): Add field |
|
|
no_wchar_size_warning. |
|
|
(bfd_elf32_arm_set_target_relocs): Add new parameter |
|
|
no_wchar_warn. |
|
|
(elf32_arm_merge_eabi_attributes): Give a warning, not an error, |
|
|
for conflicting wchar_t attributes. Do not warn if |
|
|
--no-wchar-size-warning. Make diagnostic text more specific. |
|
|
|
|
|
2008-07-18 H.J. Lu <hongjiu.lu@intel.com> |
|
|
|
|
|
PR ld/6748 |
|
|
* elf32-arm.c (elf32_arm_link_hash_table_create): Initialize |
|
|
new fields added for ARM long call support. |
|
|
|
|
|
2008-07-18 Danny Backx <dannybackx@users.sourceforge.net> |
|
|
|
|
|
* pe-arm-wince.c (pe_print_compressed_pdata): Define new function to |
|
|
print compressed pdata structure as described on MSDN. This only |
|
|
applies to a limited set of architectures (ARM, SH4). |
|
|
(slurp_symtab, my_symbol_for_address): Define static helper |
|
|
functions for pe_print_compressed_pdata. |
|
|
* coffcode.h (bfd_coff_backend_data): Add _bfd_coff_print_pdata field. |
|
|
(bfd_coff_have_print_pdata, bfd_coff_print_pdata): Define. |
|
|
* bfd/peXXigen.c (_bfd_XX_print_private_bfd_data_common): Add check on |
|
|
bfd_coff_backend_data, call the function if non-null. |
|
|
* pei-mcore.c: Add target dependent initialisation for |
|
|
bfd_coff_backend_data. |
|
|
* coff-sh.c: Likewise. |
|
|
* coff64-rs6000.c: Likewise. |
|
|
* coff-rs6000.c: Likewise. |
|
|
* libcoff-in.h: Likewise. |
|
|
* cf-i386lynx.c: Likewise. |
|
|
* coff-alpha.c: Likewise. |
|
|
* coff-apollo.c: Likewise. |
|
|
* coff-arm.c: Likewise. |
|
|
* coff-aux.c: Likewise. |
|
|
* coff-h8300.c: Likewise. |
|
|
* coff-h8500.c: Likewise. |
|
|
* coff-i386.c: Likewise. |
|
|
* coff-i860.c: Likewise. |
|
|
* coff-i960.c: Likewise. |
|
|
* coff-ia64.c: Likewise. |
|
|
* coff-m68k.c: Likewise. |
|
|
* coff-m88k.c: Likewise. |
|
|
* coff-maxq.c: Likewise. |
|
|
* coff-mips.c: Likewise. |
|
|
* coff-or32.c: Likewise. |
|
|
* coff-sparc.c: Likewise. |
|
|
* coff-tic30.c: Likewise. |
|
|
* coff-tic4x.c: Likewise. |
|
|
* coff-tic54x.c: Likewise. |
|
|
* coff-tic80.c: Likewise. |
|
|
* coff-w65.c: Likewise. |
|
|
* coff-we32k.c: Likewise. |
|
|
* coff-x86_64.c: Likewise. |
|
|
* coff-z80.c: Likewise. |
|
|
* coff-z8k.c: Likewise. |
|
|
* pe-mcore.c: Likewise. |
|
|
* pe-mips.c: Likewise. |
|
|
* pe-ppc.c: Likewise. |
|
|
* peXXigen.c: Likewise. |
|
|
* pei-ppc.c: Likewise. |
|
|
* libcoff.h: Regenerate. |
|
| 1676 |
|
|
| 1677 |
2008-07-16 Bernd Schmidt <bernd.schmidt@analog.com> |
* elf32-spu.c (spu_elf_size_stubs): Split out section placement to.. |
| 1678 |
|
(spu_elf_place_overlay_data): ..here. New function. |
| 1679 |
|
* elf32-spu.h (spu_elf_place_overlay_data): Declare. |
| 1680 |
|
|
| 1681 |
* elf32-bfin.c (bfin_check_relocs, bfin_relocate_section, |
2009-05-13 Andrew Jenner <andrew@codesourcery.com> |
|
bfin_final_link_relocate, bfin_gc_mark_hook, bfin_gc_sweep_hook, |
|
|
ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE, |
|
|
struct _bfinfdpic_dynamic_got_info): Moved around to keep FD-PIC code |
|
|
separate from non-FD-PIC. |
|
| 1682 |
|
|
| 1683 |
2008-07-14 DJ Delorie <dj@redhat.com> |
* elf32-arm.c: Move sysdep.h to start of file. |
| 1684 |
|
|
| 1685 |
* elf-m10300.c (mn10300_elf_final_link_relocate): Correct overflow |
2009-05-11 Ulrich Weigand <uweigand@de.ibm.com> |
|
checks for PCREL8, PCREL16, GOTPC16, GOTOFF16, PLT16, and GOT16 |
|
|
relocs. |
|
|
(mn10300_elf_relax_section): Correct jump offset check when target |
|
|
is in a different section. |
|
| 1686 |
|
|
| 1687 |
2008-07-15 Jie Zhang <jie.zhang@analog.com> |
* elf32-spu.c (spu_elf_find_overlays): Don't use .ovl.init lma as |
| 1688 |
|
start of overlays. |
| 1689 |
|
(spu_elf_build_stubs): Don't define __icache_tagbase. Define |
| 1690 |
|
__icache_tag_array and __icache_tag_array_size. |
| 1691 |
|
|
| 1692 |
* elf32-bfin.c (elf32_bfin_special_sections[]): New. |
2009-05-11 Masaki Muranaka <monaka@monami-software.com> |
|
(elf_backend_special_sections): Define. |
|
| 1693 |
|
|
| 1694 |
2008-07-13 Craig Silverstein <csilvers@google.com> |
* elf32-bfin.c (bfin_bfd_reloc_type_lookup): Remove unnecessary |
| 1695 |
|
ATTRIBUTE_UNUSED. |
| 1696 |
PR binutils/6743 |
(bfinfdpic_link_omit_section_dynsym): Likewise. |
| 1697 |
* dwarf2.c (struct dwarf2_debug): New variable info_ptr_memory. |
(elf32_bfinfdpic_finish_dynamic_sections): Likewise. |
| 1698 |
(find_line): Use info_ptr_memory instead of sec_info_ptr. |
|
| 1699 |
(_bfd_dwarf2_cleanup_debug_info): Likewise. |
2009-05-05 Paul Brook <paul@codesourcery.com> |
| 1700 |
|
|
| 1701 |
2008-07-12 Jie Zhang <jie.zhang@analog.com> |
* bfd-in.h (elf32_arm_fix_exidx_coverage): Add prototype. |
|
|
|
|
Revert |
|
|
2008-07-12 Jie Zhang <jie.zhang@analog.com> |
|
|
* elf.c (_bfd_elf_map_sections_to_segments): Don't put |
|
|
executable sections into the same segment with other |
|
|
read only sections if --sep-code. |
|
|
* elf32-bfin.c (elf32_bfin_code_in_l1): New variable. |
|
|
(elf32_bfin_data_in_l1): New variable. |
|
|
(elf32_bfin_final_write_processing): New. |
|
|
(elf32_bfin_special_sections[]): New. |
|
|
(elf_backend_final_write_processing): Define. |
|
|
(elf_backend_special_sections): Define. |
|
|
|
|
|
2008-07-12 Jie Zhang <jie.zhang@analog.com> |
|
|
|
|
|
* elf.c (_bfd_elf_map_sections_to_segments): Don't put |
|
|
executable sections into the same segment with other |
|
|
read only sections if --sep-code. |
|
|
* elf32-bfin.c (elf32_bfin_code_in_l1): New variable. |
|
|
(elf32_bfin_data_in_l1): New variable. |
|
|
(elf32_bfin_final_write_processing): New. |
|
|
(elf32_bfin_special_sections[]): New. |
|
|
(elf_backend_final_write_processing): Define. |
|
|
(elf_backend_special_sections): Define. |
|
|
|
|
|
2008-07-11 Andreas Schwab <schwab@suse.de> |
|
|
|
|
|
* dwarf2.c (read_section): Take pointer to bfd_size_type instead |
|
|
of unsigned long as last parameter. |
|
|
(struct dwarf2_debug): Define dwarf_abbrev_size, dwarf_line_size, |
|
|
dwarf_str_size and dwarf_ranges_size as bfd_size_type instead of |
|
|
unsigned long. |
|
|
|
|
|
2008-07-10 Richard Sandiford <rdsandiford@googlemail.com> |
|
|
|
|
|
* elfxx-mips.c (mips_elf_calculate_relocation): Calculate GP and GP0 |
|
|
for all relocation types. Allow any type of relocation to refer to |
|
|
__gnu_local_gp. |
|
|
|
|
|
2008-07-10 Richard Sandiford <rdsandiford@googlemail.com> |
|
|
|
|
|
* elfxx-mips.c (mips_elf_check_mips16_stubs): Use ELF_ST_IS_MIPS16. |
|
|
(mips_elf_calculate_relocation): Likewise. |
|
|
(_bfd_mips_elf_add_symbol_hook): Likewise. |
|
|
(_bfd_mips_elf_finish_dynamic_symbol): Likewise. |
|
|
(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise. |
|
|
|
|
|
2008-07-10 Andreas Schwab <schwab@suse.de> |
|
|
|
|
|
* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Add missing |
|
|
paren. |
|
|
|
|
|
2008-07-09 Craig Silverstein <csilvers@google.com> |
|
|
|
|
|
* Makefile.am (BFD32_LIBS): Add compress.lo. |
|
|
(BFD32_LIBS_CFILES): Add compress.c. |
|
|
(BFD_H_FILES): Likewise. |
|
|
* Makefile.in: Regenerate. |
|
| 1702 |
* bfd-in2.h: Regenerate. |
* bfd-in2.h: Regenerate. |
| 1703 |
* config.in: Add HAVE_ZLIB_H |
* elf32-arm.c (arm_unwind_edit_type, arm_unwind_table_edit): Define. |
| 1704 |
* configure.in: Add test for libz and zlib.h |
(_arm_elf_section_data): Add text and exidx fields. |
| 1705 |
* configure: Regenerate. |
(add_unwind_table_edit, get_arm_elf_section_data, adjust_exidx_size, |
| 1706 |
* dwarf2.c (read_section): New function. |
insert_cantunwind_after, elf32_arm_fix_exidx_coverage, offset_prel31, |
| 1707 |
(read_indirect_string): Call new function read_section. |
copy_exidx_entry): New functions. |
| 1708 |
(read_abbrevs): Likewise. |
(elf32_arm_write_section): Fixup .ARM.exidx contents. |
| 1709 |
(decode_line_info): Likewise. |
|
| 1710 |
(read_debug_ranges): Likewise. |
2009-05-05 Christophe lyon <christophe.lyon@st.com> |
| 1711 |
(find_line): Call new function read_section when just one |
|
| 1712 |
.zdebug_info section is found, otherwise read and compress |
* elf32-arm.c (DEF_STUBS): New helper define. |
| 1713 |
multiple sections. |
(DEF_STUB): Likewise. |
| 1714 |
(_bfd_dwarf2_cleanup_debug_info): Free sec_info_ptr. |
(stub_def): New type. |
| 1715 |
* elf.c (_bfd_elf_make_section_from_shdr): Add zdebug prefix. |
(stub_definitions): New array, containing stub template pointers |
| 1716 |
(special_sections_z): New struct. |
and sizes. |
| 1717 |
(special_sections): Refer to special_sections_z. |
(arm_size_one_stub): Make use of stub_definitions. |
| 1718 |
* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Recognize |
|
| 1719 |
sections named .zdebug_*. |
2009-05-04 Dave Korn <dave.korn.cygwin@gmail.com> |
| 1720 |
(_bfd_mips_elf_fake_sections): Likewise. |
|
| 1721 |
* compress.c: New file. |
* elflink.c (find_version_for_sym): Remove from here, ... |
| 1722 |
(bfd_uncompress_section_contents): New function. |
* linker.c (bfd_find_version_for_sym): ... rename, replace |
| 1723 |
|
here, make public and update all callers. |
| 1724 |
2008-07-07 Christophe Lyon <christophe.lyon@st.com> |
* bfd-in2.h: Regenerate. |
| 1725 |
|
|
| 1726 |
* elf32-arm.c (arm_type_of_stub): Don't crash on local symbols in |
2009-04-30 Nick Clifton <nickc@redhat.com> |
| 1727 |
the presence of a PLT. |
|
| 1728 |
|
* elf-bfd.h (struct bfd_elf_section_data): Add indirect_relocs |
| 1729 |
2008-07-07 Alan Modra <amodra@bigpond.net.au> |
section pointer. |
| 1730 |
|
(struct elf_obj_data): Add has_ifunc_symbols boolean. |
| 1731 |
* bfd.c (bfd_demangle): Always trim off bfd_get_symbol_leading_char. |
* elf.c (swap_out_syms): Convert BSF_GNU_INDIRECT_FUNCTION flags |
| 1732 |
|
into a STT_GNU_IFUNC symbol type. |
| 1733 |
2008-07-02 Alan Modra <amodra@bigpond.net.au> |
(_bfd_elf_is_function_type): Accept STT_GNU_IFUNC as a function |
| 1734 |
|
type. |
| 1735 |
* elf32-ppc.c (is_pic_glink_stub): New function. |
(_bfd_elf_set_osabi): Set the osasbi field to ELFOSABI_LINUX if |
| 1736 |
(ppc_elf_get_synthetic_symtab): Don't generate symbols when |
the binary contains ifunc symbols. |
| 1737 |
multiple shared/pie stubs per plt entry. |
* elfcode.h (elf_slurp_symbol_table): Translate the STT_GNU_IFUNC |
| 1738 |
|
symbol type into a BSF_GNU_INDIRECT_FUNCTION flag. |
| 1739 |
2008-06-30 Richard Sandiford <rdsandiford@googlemail.com> |
* elf32-i386.c (is_indirect_function): New function. |
| 1740 |
|
(elf_i386_check_relocs): Create an ifunc output section. |
| 1741 |
* elf.c (_bfd_elf_get_synthetic_symtab): Increment p by |
(allocate_dynrelocs): Create dynamic relocs in the ifunc output |
| 1742 |
bed->s->int_rels_per_ext_rel. |
section if necessary. |
| 1743 |
|
(elf_i386_relocate_section): Emit a reloc against an ifunc symbol |
| 1744 |
2008-06-30 Richard Sandiford <rdsandiford@googlemail.com> |
if necessary. |
| 1745 |
|
(elf_i386_add_symbol_hook): New function. Set the |
| 1746 |
* syms.c (BSF_SYNTHETIC): New flag. |
has_ifunc_symbols field of the elf_obj_data structure if an ifunc |
| 1747 |
* elf.c (_bfd_elf_get_synthetic_symtab): Set it. |
symbol is encountered. |
| 1748 |
* elf32-ppc.c (ppc_elf_get_synthetic_symtab): Likewise. |
(elf_backend_post_process_headers): Define. |
| 1749 |
* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Likewise. |
(elf_backend_add_symbol_hook): Define. |
| 1750 |
* bfd-in.h (bfd_asymbol_flavour): Return bfd_target_unknown_flavour |
(elf_i386_post_process_headers): Rename to |
| 1751 |
for synthetic symbols. |
elf_i388_fbsd_post_process_headers. |
| 1752 |
|
* elf64-x86_64.c (IS_X86_64_PCREL_TYPE): New macro. |
| 1753 |
|
(is_indirect_function): New function. |
| 1754 |
|
(elf64_x86_64_check_relocs): Create an ifunc output section. |
| 1755 |
|
(allocate_dynrelocs): Create dynamic relocs in the ifunc output |
| 1756 |
|
section if necessary. |
| 1757 |
|
(elf64_x86_64_relocate_section): Emit a reloc against an ifunc |
| 1758 |
|
symbol if necessary. |
| 1759 |
|
(elf_i386_add_symbol_hook): Set the has_ifunc_symbols field of the |
| 1760 |
|
elf_obj_data structure if an ifunc symbol is encountered. |
| 1761 |
|
(elf_backend_post_process_headers): Define. |
| 1762 |
|
* elflink.c (_bfd_elf_adjust_dynamic_symbol): Always create a PLT |
| 1763 |
|
if we have ifunc symbols to handle. |
| 1764 |
|
(get_ifunc_reloc_section_name): New function. Computes the name |
| 1765 |
|
for an ifunc section. |
| 1766 |
|
(_bfd_elf_make_ifunc_reloc_section): New function. Creates a |
| 1767 |
|
section to hold ifunc relocs. |
| 1768 |
|
* syms.c (BSF_GNU_INDIRECT_FUNCTION): Define. |
| 1769 |
|
(bfd_print_symbol_vandf): Handle ifunc symbols. |
| 1770 |
|
(bfd_decode_symclass): Likewise. |
| 1771 |
* bfd-in2.h: Regenerate. |
* bfd-in2.h: Regenerate. |
| 1772 |
|
|
| 1773 |
2008-06-30 Daniel Jacobowitz <dan@codesourcery.com> |
2009-04-30 Joseph Myers <joseph@codesourcery.com> |
| 1774 |
|
|
| 1775 |
* elf32-arm.c (record_arm_to_thumb_glue, record_thumb_to_arm_glue): |
* elf32-arm.c (elf32_arm_check_relocs): Give errors for absolute |
| 1776 |
Expand comments. |
MOVW and MOVT relocations in a shared library link. |
|
(arm_map_one_stub): Use | 1 when setting the low bit. |
|
| 1777 |
|
|
| 1778 |
2008-06-29 Andreas Schwab <schwab@suse.de> |
2009-04-27 Anthony Green <green@moxielogic.com> |
| 1779 |
|
|
| 1780 |
* elf32-m68k.c (elf_m68k_relocate_section): Don't ignore existing |
* verilog.c: New file. |
| 1781 |
addend on _GLOBAL_OFFSET_TABLE_. |
* Makefile.am (BFD32_LIBS): Add verilog.c. |
| 1782 |
|
(BFD32_LIBS_CFILES): Add verilog.c. |
| 1783 |
|
(verilog.lo): New build rule. |
| 1784 |
|
* Makefile.in: Rebuilt. |
| 1785 |
|
* targets.c: Add verilog support. |
| 1786 |
|
* bfd.c (tdata union): Add Verilog private data field. |
| 1787 |
|
* bfd-in2.h: Regenerate. |
| 1788 |
|
|
| 1789 |
2008-06-24 Daniel Jacobowitz <dan@codesourcery.com> |
2009-04-27 H.J. Lu <hongjiu.lu@intel.com> |
| 1790 |
|
|
| 1791 |
* elf32-arm.c (STUB_ENTRY_NAME): Define. |
* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't |
| 1792 |
(arm_thumb_thumb_long_branch_stub): Use bx instead of b.n. |
copy pe_opthdr. |
|
(arm_pic_long_branch_stub): Mention R_ARM_REL32 instead of |
|
|
R_ARM_ABS32. |
|
|
(struct elf32_arm_stub_hash_entry): Add output_name. |
|
|
(arm_build_one_stub): Move offsets into the offset argument |
|
|
of _bfd_final_link_relocate. Correct offset for |
|
|
arm_thumb_arm_v4t_stub_long_branch. |
|
|
(elf32_arm_size_stubs): Set stub_entry->output_name. |
|
|
(elf32_arm_ouput_plt_map_sym): Rename to elf32_arm_output_map_sym. |
|
|
Update all callers. |
|
|
(elf32_arm_output_stub_sym): New. |
|
|
(arm_map_one_stub): Correct formatting. Use elf32_arm_output_stub_sym. |
|
| 1793 |
|
|
| 1794 |
2008-06-20 Alan Modra <amodra@bigpond.net.au> |
2009-04-23 Matthias Klose <doko@ubuntu.com> |
| 1795 |
|
|
| 1796 |
* elf32-spu.c (needs_ovl_stub): Correctly return nonovl_stub for |
* peXXigen.c (_bfd_XXi_swap_sym_in): Initialize `name'. |
|
non-branch insns. |
|
| 1797 |
|
|
| 1798 |
2008-06-20 Alan Modra <amodra@bigpond.net.au> |
2009-04-22 Christophe Lyon <christophe.lyon@st.com> |
| 1799 |
|
|
| 1800 |
* elf32-spu.c (build_stub): Allow wraparound on stub branches. |
PR9743 |
| 1801 |
(allocate_spuear_stubs, build_spuear_stubs): Return value from |
* elf32-arm.c (arm_type_of_stub): Handle R_ARM_THM_JUMP24, |
| 1802 |
count_stub/build_stub. |
R_ARM_JUMP24 and R_ARM_PLT32 relocations. |
| 1803 |
(spu_elf_build_stubs): Correct location of stub reloc error message. |
(elf32_arm_size_stubs): Likewise. |
| 1804 |
|
(record_thumb_to_arm_glue): Deleted unused function. |
| 1805 |
|
(bfd_elf32_arm_process_before_allocation): No longer handle |
| 1806 |
|
R_ARM_THM_JUMP24, R_ARM_JUMP24 and R_ARM_PLT32 relocations here. |
| 1807 |
|
(elf32_arm_final_link_relocate): Handle R_ARM_THM_JUMP24, |
| 1808 |
|
R_ARM_JUMP24 and R_ARM_PLT32 relocations. |
| 1809 |
|
|
| 1810 |
|
2009-04-21 Daniel Jacobowitz <dan@codesourcery.com> |
| 1811 |
|
|
| 1812 |
|
* elf32-arm.c (INTERWORK_FLAG): Check BFD_LINKER_CREATED. |
| 1813 |
|
(elf32_arm_write_section): Declare early. |
| 1814 |
|
(elf32_arm_size_stubs): Skip non-stub sections in the stub BFD. |
| 1815 |
|
(arm_allocate_glue_section_space): Exclude empty sections. |
| 1816 |
|
(ARM_GLUE_SECTION_FLAGS): Add SEC_LINKER_CREATED. |
| 1817 |
|
(bfd_elf32_arm_add_glue_sections_to_bfd): Do not skip the stub |
| 1818 |
|
BFD. |
| 1819 |
|
(elf32_arm_output_glue_section, elf32_arm_final_link): New. |
| 1820 |
|
(elf32_arm_merge_eabi_attributes): Skip the stub BFD. |
| 1821 |
|
(elf32_arm_size_dynamic_sections): Allocate interworking |
| 1822 |
|
sections here. |
| 1823 |
|
(bfd_elf32_bfd_final_link): Define. |
| 1824 |
|
|
| 1825 |
|
2009-04-21 H.J. Lu <hongjiu.lu@intel.com> |
| 1826 |
|
|
| 1827 |
|
* coff-ia64.c (COFF_PAGE_SIZE): Changed to 8K. |
| 1828 |
|
|
| 1829 |
|
* coffcode.h (coff_compute_section_file_positions): Clear |
| 1830 |
|
D_PAGED if PE section alignment is smaller than COFF_PAGE_SIZE. |
| 1831 |
|
|
| 1832 |
|
* libcoff-in.h (pe_tdata): Remove force_minimum_alignment and |
| 1833 |
|
force_minimum_alignment. |
| 1834 |
|
|
| 1835 |
|
* libcoff.h: Regenerated. |
| 1836 |
|
|
| 1837 |
|
* pei-ia64.c (PEI_TARGET_SUBSYSTEM): Removed. |
| 1838 |
|
(PEI_FORCE_MINIMUM_ALIGNMENT): Likewise. |
| 1839 |
|
|
| 1840 |
|
* peicode.h (pe_mkobject): Don't set force_minimum_alignment |
| 1841 |
|
nor target_subsystem. |
| 1842 |
|
|
| 1843 |
|
* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't check |
| 1844 |
|
force_minimum_alignment nor target_subsystem. |
| 1845 |
|
|
| 1846 |
|
2009-04-21 Kai Tietz <kai.tietz@onevision.com> |
| 1847 |
|
|
| 1848 |
|
* coff-x86_64.c (PEI_HEADERS): Protect includes. |
| 1849 |
|
(bfd_pe_print_pdata): Remove #ifdef PE variation. |
| 1850 |
|
* pei-x86_64.c (PEI_HEADERS): Define to prevent double |
| 1851 |
|
include in coff-x86_64.c of headers. |
| 1852 |
|
(PDATA_ROW_SIZE): New define. |
| 1853 |
|
(pex_regs[]): New static array. |
| 1854 |
|
(pex64_get_runtime_function): New static function. |
| 1855 |
|
(pex64_get_unwind_info): Likewise. |
| 1856 |
|
(pex64_get_scope_entry): Likewise. |
| 1857 |
|
(pex64_xdata_print_uwd_codes): Likewise. |
| 1858 |
|
(pex64_get_section_by_rva): Likewise. |
| 1859 |
|
(pex64_dump_xdata): Likewise. |
| 1860 |
|
(pex64_bfd_print_pdata): Likewise. |
| 1861 |
|
(bfd_pe_print_pdata): Define as pex64_bfd_print_pdata. |
| 1862 |
|
* peXXigen.c (_bfd_pex64_print_pdata): Removed implementation. |
| 1863 |
|
* libpei.h (_bfd_pex64_print_pdata): Removed declaration. |
| 1864 |
|
|
| 1865 |
2008-06-18 M R Swami Reddy <MR.Swami.Reddy@nsc.com> |
2009-04-19 Peter O'Gorman <binutils@mlists.thewrittenword.com> |
| 1866 |
|
Alan Modra <amodra@bigpond.net.au> |
| 1867 |
|
Dave Korn <dave.korn.cygwin@gmail.com> |
| 1868 |
|
|
| 1869 |
* elf32-cr16.c (ELF_MACHINE_ALT1): Define to EM_CR16_OLD. |
* peXXigen.c (_bfd_XXi_swap_sym_in): Fix name handling w.r.t |
| 1870 |
|
long names and non-NUL-terminated strings. |
| 1871 |
|
|
| 1872 |
2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
2009-04-17 H.J. Lu <hongjiu.lu@intel.com> |
| 1873 |
|
|
| 1874 |
* configure: Regenerate. |
* bfd-in2.h: Regenerated. |
| 1875 |
|
|
| 1876 |
2008-06-17 Alan Modra <amodra@bigpond.net.au> |
2009-04-17 H.J. Lu <hongjiu.lu@intel.com> |
| 1877 |
|
|
| 1878 |
* elf32-spu.c (struct spu_link_hash_table): Add extra_stack_space. |
* peXXigen.c (_bfd_XX_print_private_bfd_data_common): Replace |
| 1879 |
(spu_elf_check_vma): Add extra_stack_space param, copy to htab. |
IMAGE_SUBSYSTEM_EFI_ROM with IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER. |
|
(spu_elf_auto_overlay): Use it. |
|
|
(RECURSE_UNMARK): Define as 0. |
|
|
(unmark_overlay_section): Heed RECURSE_UNMARK. |
|
|
* elf32-spu.h (spu_elf_check_vma): Update prototype. |
|
| 1880 |
|
|
| 1881 |
2008-06-12 DJ Delorie <dj@redhat.com> |
2009-04-17 H.J. Lu <hongjiu.lu@intel.com> |
| 1882 |
|
|
| 1883 |
* elf32-m32c.c (ELF_MACHINE_ALT1): Define as EM_M32C_OLD. |
PR binutils/10074 |
| 1884 |
|
* coffcode.h (bfd_pei_p): New. |
| 1885 |
|
|
| 1886 |
|
* config.bfd: Remove bfd_efi_bsdrv_ia32_vec, |
| 1887 |
|
bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec, |
| 1888 |
|
bfd_efi_rtdrv_x86_64_vec, bfd_efi_bsdrv_ia64_vec and |
| 1889 |
|
bfd_efi_rtdrv_ia64_vec. Replace bfd_efi_app_ia32_vec, |
| 1890 |
|
bfd_efi_app_x86_64_vec and bfd_efi_app_ia64_vec with |
| 1891 |
|
i386pei_vec, x86_64pei_vec and bfd_pei_ia64_vec, respectively. |
| 1892 |
|
|
| 1893 |
|
* configure.in: Remove bfd_efi_bsdrv_ia32_vec, |
| 1894 |
|
bfd_efi_rtdrv_ia32_vec, bfd_efi_bsdrv_x86_64_vec, |
| 1895 |
|
bfd_efi_rtdrv_x86_64_vec, |
| 1896 |
|
bfd_efi_bsdrv_ia64_vec and bfd_efi_rtdrv_ia64_vec. Replace |
| 1897 |
|
bfd_efi_ia64_vec with bfd_pei_ia64_vec. |
| 1898 |
|
* targets.c: Likewise. |
| 1899 |
|
|
| 1900 |
2008-06-09 Paul Brook <paul@codesourcery.com> |
* configure: Regenerated. |
| 1901 |
|
* libcoff.h: Likewise. |
| 1902 |
|
* Makefile.in: Likewise. |
| 1903 |
|
|
| 1904 |
bfd/ |
* efi-app-ia32.c: Removed. |
| 1905 |
* elf32-arm.c (elf32_arm_merge_private_bfd_data): Allow BE8 shared |
* efi-app-x86_64.c: Likewise. |
| 1906 |
libraries. |
* efi-bsdrv-ia32.c: Likewise. |
| 1907 |
|
* efi-bsdrv-ia64.c: Likewise. |
| 1908 |
|
* efi-bsdrv-x86_64.c: Likewise. |
| 1909 |
|
* efi-rtdrv-ia32.c: Likewise. |
| 1910 |
|
* efi-rtdrv-ia64.c: Likewise. |
| 1911 |
|
* efi-rtdrv-x86_64.c: Likewise. |
| 1912 |
|
* efi-rtdrv-ia32.c: Likewise. |
| 1913 |
|
|
| 1914 |
|
* efi-app-ia64.c: Moved to ... |
| 1915 |
|
* pei-ia64.c: This. |
| 1916 |
|
(TARGET_SYM): Set to bfd_pei_ia64_vec. |
| 1917 |
|
(TARGET_NAME): Set to pei-ia64. |
| 1918 |
|
|
| 1919 |
|
* libpei.h (bfd_target_pei_p): Removed. |
| 1920 |
|
(bfd_target_pei_arch): Likewise. |
| 1921 |
|
(bfd_target_efi_app_p): Likewise. |
| 1922 |
|
(bfd_target_efi_app_arch): Likewise. |
| 1923 |
|
(bfd_target_efi_bsdrv_p): Likewise. |
| 1924 |
|
(bfd_target_efi_bsdrv_arch): Likewise. |
| 1925 |
|
(bfd_target_efi_rtdrv_p): Likewise. |
| 1926 |
|
(bfd_target_efi_rtdrv_arch): Likewise. |
| 1927 |
|
(bfd_pe_executable_p): Likewise. |
| 1928 |
|
|
| 1929 |
|
* Makefile.am (BFD32_BACKENDS): Remove efi-app-ia32.lo, |
| 1930 |
|
efi-bsdrv-ia32.lo and efi-rtdrv-ia32.lo. |
| 1931 |
|
(BFD32_BACKENDS_CFILES): Remove efi-app-ia32.c, efi-bsdrv-ia32.c |
| 1932 |
|
and efi-rtdrv-ia32.c. |
| 1933 |
|
(BFD64_BACKENDS): Remove efi-app-ia64.lo, efi-bsdrv-ia64.lo, |
| 1934 |
|
efi-rtdrv-ia64.lo, efi-app-x86_64.lo, efi-bsdrv-x86_64.lo and |
| 1935 |
|
efi-rtdrv-x86_64.lo. Add pei-ia64.lo. |
| 1936 |
|
(BFD64_BACKENDS_CFILES): Remove efi-app-ia64.c, efi-bsdrv-ia64.c, |
| 1937 |
|
efi-rtdrv-ia64.c, efi-app-x86_64.c, efi-bsdrv-x86_64.c and |
| 1938 |
|
efi-rtdrv-x86_64.c. Add pei-ia64.c. |
| 1939 |
|
(efi-app-ia64.lo): Removed. |
| 1940 |
|
(efi-bsdrv-ia32.lo): Likewise. |
| 1941 |
|
(efi-rtdrv-ia32.lo): Likewise. |
| 1942 |
|
(efi-app-ia64.lo): Likewise. |
| 1943 |
|
(efi-bsdrv-ia64.lo): Likewise. |
| 1944 |
|
(efi-rtdrv-ia64.lo): Likewise. |
| 1945 |
|
(efi-app-x86_64.lo): Likewise. |
| 1946 |
|
(efi-bsdrv-x86_64.lo): Likewise. |
| 1947 |
|
(efi-rtdrv-x86_64.lo): Likewise. |
| 1948 |
|
(pei-ia64.lo): New. |
| 1949 |
|
|
| 1950 |
|
* peicode.h (coff_swap_scnhdr_in): Replace bfd_pe_executable_p |
| 1951 |
|
with bfd_pei_p. |
| 1952 |
|
(arch_type): Removed. |
| 1953 |
|
(pe_arch): Likewise. |
| 1954 |
|
(pe_bfd_object_p): Just return coff_object_p. |
| 1955 |
|
|
| 1956 |
|
* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Replace |
| 1957 |
|
bfd_pe_executable_p with bfd_pei_p. |
| 1958 |
|
|
| 1959 |
|
2009-04-17 Christophe Lyon <christophe.lyon@st.com> |
| 1960 |
|
|
| 1961 |
|
* elf32-arm.c (elf32_arm_size_stubs): Handle long branches through |
| 1962 |
|
PLT entries to an undefined symbol when generating a shared |
| 1963 |
|
library. |
| 1964 |
|
|
| 1965 |
|
2009-04-17 Nick Clifton <nickc@redhat.com> |
| 1966 |
|
|
| 1967 |
|
PR 9909 |
| 1968 |
|
* coffcode.h (handle_COMDAT): Allow for external COMDAT symbols. |
| 1969 |
|
|
| 1970 |
|
2009-04-16 Richard Sandiford <r.sandiford@uk.ibm.com> |
| 1971 |
|
|
| 1972 |
|
* aout-adobe.c (aout_32_bfd_define_common_symbol): Define. |
| 1973 |
|
* aout-target.h (MY_bfd_define_common_symbol): Likewise. |
| 1974 |
|
* aout-tic30.c (MY_bfd_define_common_symbol): Likewise. |
| 1975 |
|
* binary.c (binary_bfd_define_common_symbol): Likewise. |
| 1976 |
|
* bout.c (b_out_bfd_define_common_symbol): Likewise. |
| 1977 |
|
* coff-alpha.c (_bfd_ecoff_bfd_define_common_symbol): Likewise. |
| 1978 |
|
* coff-mips.c (_bfd_ecoff_bfd_define_common_symbol): Likewise. |
| 1979 |
|
* coffcode.h (coff_bfd_define_common_symbol): Likewise. |
| 1980 |
|
* elfxx-target.h (bfd_elfNN_bfd_define_common_symbol): Likewise. |
| 1981 |
|
* i386msdos.c (msdos_bfd_define_common_symbol): Likewise. |
| 1982 |
|
* i386os9k.c (os9k_bfd_define_common_symbol): Likewise. |
| 1983 |
|
* ieee.c (ieee_bfd_define_common_symbol): Likewise. |
| 1984 |
|
* ihex.c (ihex_bfd_define_common_symbol): Likewise. |
| 1985 |
|
* libbfd-in.h (_bfd_nolink_bfd_define_common_symbol): Likewise. |
| 1986 |
|
* mach-o.c (bfd_mach_o_bfd_define_common_symbol): Likewise. |
| 1987 |
|
* mmo.c (mmo_bfd_define_common_symbol): Likewise. |
| 1988 |
|
* nlm-target.h (nlm_bfd_define_common_symbol): Likewise. |
| 1989 |
|
* oasys.c (oasys_bfd_define_common_symbol): Likewise. |
| 1990 |
|
* pef.c (bfd_pef_bfd_define_common_symbol): Likewise. |
| 1991 |
|
* ppcboot.c (ppcboot_bfd_define_common_symbol): Likewise. |
| 1992 |
|
* som.c (som_bfd_define_common_symbol): Likewise. |
| 1993 |
|
* srec.c (srec_bfd_define_common_symbol): Likewise. |
| 1994 |
|
* tekhex.c (tekhex_bfd_define_common_symbol): Likewise. |
| 1995 |
|
* versados.c (versados_bfd_define_common_symbol): Likewise. |
| 1996 |
|
* vms.c (vms_bfd_define_common_symbol): Likewise. |
| 1997 |
|
* xcoff-target.h (_bfd_xcoff_bfd_define_common_symbol): Likewise. |
| 1998 |
|
* xsym.c (bfd_sym_bfd_define_common_symbol): Likewise. |
| 1999 |
|
* coff-rs6000.c (rs6000coff_vec): Add _bfd_xcoff_define_common_symbol. |
| 2000 |
|
(pmac_xcoff_vec): Likewise. |
| 2001 |
|
* coff64-rs6000.c (rs6000coff64_vec): Likewise. |
| 2002 |
|
(aix5coff64_vec): Likewise. |
| 2003 |
|
* linker.c (bfd_generic_define_common_symbol): New function. |
| 2004 |
|
* targets.c (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_define_common_symbol. |
| 2005 |
|
(_bfd_define_common_symbol): New field. |
| 2006 |
|
* libcoff-in.h (_bfd_xcoff_define_common_symbol): Declare. |
| 2007 |
|
* xcofflink.c (_bfd_xcoff_define_common_symbol): New function. |
| 2008 |
|
(xcoff_build_ldsyms): Don't set XCOFF_DEF_REGULAR for common |
| 2009 |
|
symbols here. |
| 2010 |
|
* bfd-in2.h: Regenerate. |
| 2011 |
|
* libbfd.h: Likewise. |
| 2012 |
|
* libcoff.h: Likewise. |
| 2013 |
|
|
| 2014 |
2008-06-09 Christophe Lyon <christophe.lyon@st.com> |
2009-04-15 Anthony Green <green@moxielogic.com> |
| 2015 |
|
|
| 2016 |
* elf32-arm.c (arm_stub_is_thumb): Define. |
* targets.c: Add moxie support. |
| 2017 |
(elf32_arm_final_link_relocate): Handle near mode switching stubs. |
* Makefile.am: Ditto. |
| 2018 |
|
* Makefile.in: Rebuilt. |
| 2019 |
|
* cpu-moxie.c, elf32-moxie.c: New files. |
| 2020 |
|
* archures.c: Add moxie support. |
| 2021 |
|
* configure.in: Add moxie support. |
| 2022 |
|
* configure: Rebuilt. |
| 2023 |
|
* config.bfd, archures.c: Add moxie support. |
| 2024 |
|
* bfd-in2.h: Rebuilt. |
| 2025 |
|
|
| 2026 |
2008-06-07 Alan Modra <amodra@bigpond.net.au> |
2009-04-15 Christophe Lyon <christophe.lyon@st.com> |
| 2027 |
|
|
| 2028 |
* elf32-spu.c (spu_elf_auto_overlay): Add valid area below sp |
* elf32-arm.c (elf32_arm_final_link_relocate): Don't convert ARM |
| 2029 |
to stack calculation. |
branch to an undef weak symbol into a jump to next instruction if |
| 2030 |
|
a PLT entry will be created. |
| 2031 |
|
|
| 2032 |
2008-06-06 Paul Brook <paul@codesourcery.com> |
2009-04-14 Dave Korn <dave.korn.cygwin@gmail.com> |
| 2033 |
|
|
| 2034 |
bfd/ |
* coffgen.c (make_a_section_from_file): Set the backend long |
| 2035 |
* elf32-arm.c (elf32_arm_merge_private_bfd_data): Reject BE8 input. |
section names enable if long section names found on input. |
| 2036 |
|
* coffcode.h: Extend long section names documentation to match. |
| 2037 |
|
|
| 2038 |
2008-06-06 Alan Modra <amodra@bigpond.net.au> |
2009-04-08 H.J. Lu <hongjiu.lu@intel.com> |
| 2039 |
|
|
| 2040 |
* elf32-spu.c (spu_elf_auto_overlay): Relax requirement that |
* elflink.c (elf_link_add_object_symbols): Warn alternate ELF |
| 2041 |
file names be unique. Specify archive:path in overlay script. |
machine code. |
| 2042 |
|
|
| 2043 |
2008-06-05 Alan Modra <amodra@bigpond.net.au> |
2009-04-07 DJ Delorie <dj@redhat.com> |
| 2044 |
|
|
| 2045 |
PR ld/6590 |
* archures.c: Add bfd_mach_mep_c5. |
| 2046 |
* elf64-ppc.c (ppc_build_one_stub): Correct reloc offsets. |
* bfd-in2.h: Likewise. |
| 2047 |
|
* cpu-mep.c: Add bfd_c5_arch. |
| 2048 |
|
* elf32-mep.c: Support it. |
| 2049 |
|
|
| 2050 |
2008-06-04 Alan Modra <amodra@bigpond.net.au> |
2009-04-07 H.J. Lu <hongjiu.lu@intel.com> |
| 2051 |
|
|
| 2052 |
* elf.c (ignore_section_sym): Don't test section sym value here. |
* elflink.c (_bfd_elf_section_already_linked): Add `\n' for |
| 2053 |
(elf_map_symbols): Instead check zero value here as was done prior |
info->callbacks->einfo. |
| 2054 |
to 2006-05-26 change. |
* linker.c (_bfd_generic_section_already_linked): Likewise. |
| 2055 |
|
|
| 2056 |
2008-06-04 Nick Clifton <nickc@redhat.com> |
2009-04-06 DJ Delorie <dj@redhat.com> |
| 2057 |
|
|
| 2058 |
PR ld/6019 |
* elf32-h8300.c (elf32_h8_relax_section): Relax MOVA opcodes. |
|
* elf32-avr.c (elf32_avr_relax_section): Handle the case where |
|
|
there are no local symbols. |
|
| 2059 |
|
|
| 2060 |
2008-06-04 Alan Modra <amodra@bigpond.net.au> |
2009-04-06 H.J. Lu <hongjiu.lu@intel.com> |
| 2061 |
|
|
| 2062 |
* elf32-spu.c (get_sym_h): Don't attempt to read global syms. |
* coff-x86_64.c (bfd_pe_print_pdata): Defined to |
| 2063 |
(process_stubs): Likewise. |
_bfd_pex64_print_pdata only if PE is defined. |
|
(discover_functions): Don't used cached symbols. |
|
|
(maybe_insert_function): Correct condition under which function |
|
|
array is realloc'd. |
|
|
(mark_functions_via_relocs): Delete unused variable. |
|
| 2064 |
|
|
| 2065 |
2008-05-30 Frediano Ziglio <frediano.ziglio@vodafone.com> |
* libpei.h (_bfd_pep_print_x64_pdata): Renamed to ... |
| 2066 |
Nick Clifton <nickc@redhat.com> |
(_bfd_pex64_print_pdata): This. |
| 2067 |
|
|
| 2068 |
PR ld/6511 |
* peXXigen.c (_bfd_pep_print_x64_pdata): Renamed to ... |
| 2069 |
* elf64-hppa.c (allocate_global_data_opd): Default to using the |
(_bfd_pex64_print_pdata): This. Defined only if COFF_WITH_pex64 |
| 2070 |
dynamic symbol table for local function names in shared libraries. |
is defined. |
|
|
|
|
2008-05-29 Jan Kratochvil <jan.kratochvil@redhat.com> |
|
|
|
|
|
* elf.c (assign_file_positions_for_load_sections): Adjust pre-section |
|
|
gaps based on VMA and P_VADDR instead of LMA and P_PADDR addresses. |
|
|
|
|
|
2008-05-28 Alan Modra <amodra@bigpond.net.au> |
|
|
|
|
|
* elf32-spu.c (spu_elf_object_p): New function. |
|
|
(elf_backend_object_p): Define. |
|
|
(build_stub): Correct second word of 8 byte overlay stubs. |
|
|
(spu_elf_relocate_section): Formatting. |
|
|
|
|
|
2008-05-24 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com> |
|
|
|
|
|
* elf.c (elfcore_write_register_note): New function. |
|
|
* elf-bfd.h (elfcore_write_register_note): New prototype. |
|
|
|
|
|
2008-05-22 Christophe Lyon <christophe.lyon@st.com> |
|
|
|
|
|
* elf32-arm.c (arm_type_of_stub): Ignore STT_SECTION symbols. |
|
|
(elf32_arm_stub_add_mapping_symbol): Remove. |
|
|
(elf32_arm_add_stub): Don't generate mapping symbols. Change |
|
|
prototype. |
|
|
(elf32_arm_size_stubs): Use new elf32_arm_add_stub |
|
|
prototype. Don't generate thumb to arm glue for calls. |
|
|
(arm_map_one_stub): Define. |
|
|
(elf32_arm_output_arch_local_syms): Generate mapping symbols for |
|
|
long calls stubs. |
|
|
|
|
|
2008-05-21 Nick Clifton <nickc@redhat.com> |
|
|
|
|
|
* elf32-arm.c (group_sections): Reformat comments. |
|
|
|
|
|
PR ld/6446 |
|
|
* elf32-frv.c (elf32_frv_relocate_section): Set EF_FRV_PIC by |
|
|
default (for FDPIC). Clear it if any inter-segment relocations |
|
|
are found. |
|
|
|
|
|
* elf64-hppa.c (elf64_hppa_finalize_opd): Check NULL return |
|
|
from elf_link_hash_lookup. |
|
|
|
|
|
2008-05-21 Maxim Kuvyrkov <maxim@codesourcery.com> |
|
|
|
|
|
Add multi-GOT support for m68k. |
|
|
* elf32-m68k.c (struct elf_m68k_link_hash_entry: got_entry_key, |
|
|
glist): New fields. |
|
|
(struct elf_m68k_got_entry_key, struct elf_m68k_got_entry, |
|
|
struct elf_m68k_got, struct elf_m68k_bfd2got_entry, |
|
|
struct elf_m68k_multi_got): New data structures. |
|
|
(struct elf_m68k_link_hash_table: local_gp_p, use_neg_got_offsets_p, |
|
|
allow_multigot_p, multi_got_): New fields. |
|
|
(elf_m68k_multi_got): New macro. |
|
|
(elf_m68k_link_hash_newfunc): Initialize new fields of |
|
|
struct elf_m68k_link_hash_entry. |
|
|
(elf_m68k_link_hash_table_create): Initialize new fields of |
|
|
struct elf_m68k_link_hash_table. |
|
|
(elf_m68k_link_hash_table_free): New static function implementing hook. |
|
|
(elf_m68k_init_got, elf_m68k_clear_got, elf_m68k_create_empty_got): New |
|
|
static functions for struct elf_m68k_got. |
|
|
(elf_m68k_init_got_entry_key, elf_m68k_got_entry_hash, |
|
|
elf_m68k_got_entry_eq): New static functions for |
|
|
struct elf_m68k_got_entry. |
|
|
(ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT, |
|
|
ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): New macros. |
|
|
(enum elf_m68k_get_entry_howto): New enum. |
|
|
(elf_m68k_get_got_entry, elf_m68k_update_got_entry_type, |
|
|
elf_m68k_remove_got_entry_type): New static functions for |
|
|
struct elf_m68k_got_entry. |
|
|
(elf_m68k_add_entry_to_got): New static function. |
|
|
(elf_m68k_bfd2got_entry_hash, elf_m68k_bfd2got_entry_eq, |
|
|
elf_m68k_bfd2got_entry_del, elf_m68k_get_bfd2got_entry): New static |
|
|
functions for struct elf_m68k_bfd2got_entry. |
|
|
(struct elf_m68k_can_merge_gots_arg, elf_m68k_can_merge_gots_1, |
|
|
elf_m68k_can_merge_gots): New traversal. |
|
|
(struct elf_m68k_merge_gots_arg, elf_m68k_merge_gots_1, |
|
|
elf_m68k_merge_gots): Ditto. |
|
|
(struct elf_m68k_finalize_got_offsets_arg, |
|
|
elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Ditto. |
|
|
(struct elf_m68k_partition_multi_got_arg, |
|
|
elf_m68k_partition_multi_got_1, elf_m68k_init_symndx2h_1, |
|
|
elf_m68k_partition_multi_got): Ditto. |
|
|
(elf_m68k_find_got_entry_ptr, elf_m68k_remove_got_entry): New static |
|
|
functions. |
|
|
(elf_m68k_copy_indirect_symbol): New static function implementing |
|
|
a hook. |
|
|
(elf_m68k_check_relocs): Update to add entries to multi-GOT. |
|
|
(elf_m68k_gc_sweep_hook): Update to remove entries from multi-GOT. |
|
|
(elf_m68k_always_size_sections): Assign BFDs to GOTs. |
|
|
(elf_m68k_relocate_section): Update to properly handle GOT relocations. |
|
|
(elf_m68k_finish_dynamic_symbol): Update to traverse all GOT entries |
|
|
of a global symbol. |
|
|
(bfd_elf_m68k_set_target_options): New function. |
|
|
(bfd_elf32_bfd_link_hash_table_free): Define hook. |
|
|
(bfd_elf32_bfd_final_link): Change expansion to bfd_elf_final_link |
|
|
to skip generic calculation of GOT offsets. |
|
|
(elf_backend_copy_indirect_symbol): Define hook. |
|
|
* bfd-in.h (bfd_elf_m68k_set_target_options): Declare function. |
|
|
* bfd-in2.h: Regenerate. |
|
| 2071 |
|
|
| 2072 |
2008-05-21 André Johansen <andrejoh@gmail.com> |
2009-04-05 Kai Tietz <kai.tietz@onevision.com> |
| 2073 |
|
|
| 2074 |
PR 868 |
* coff-x86_64.c (bfd_pe_print_pdata): Define as |
| 2075 |
* dwarf2.c (_bfd_dwarf2_cleanup_debug_info): Free memory allocated |
_bfd_pep_print_x64_pdata. |
| 2076 |
for filenames in function tables and variable tables. |
* libpei.h (_bfd_pep_print_x64_pdata): Add prototype. |
| 2077 |
|
* peXXigen.c (_bfd_pep_print_x64_pdata): New. |
| 2078 |
2008-05-19 Alan Modra <amodra@bigpond.net.au> |
|
| 2079 |
|
2009-04-02 Sterling Augustine <sterling@jaw.hq.tensilica.com> |
| 2080 |
PR 2995, PR 6473 |
|
| 2081 |
* elf.c (_bfd_elf_make_section_from_shdr): Leave lma equal to |
* elf32-xtensa.c (relax_property_section): Always set r_offset |
| 2082 |
vma when all p_paddr fields are zero and there is more than |
to zero. |
| 2083 |
one PT_LOAD header. |
|
| 2084 |
|
2009-04-02 Christophe Lyon <christophe.lyon@st.com> |
| 2085 |
2008-05-15 Christophe Lyon <christophe.lyon@st.com> |
|
| 2086 |
|
* elf32-arm.c (elf32_arm_stub_long_branch_v4t_thumb_thumb, |
| 2087 |
Add long call support for ARM. |
elf32_arm_stub_long_branch_v4t_thumb_thumb_pic): Two new long |
| 2088 |
* elf32-arm.c (THM2_MAX_FWD_BRANCH_OFFSET): Define. |
branch stubs. |
| 2089 |
(THM2_MAX_BWD_BRANCH_OFFSET): Define. |
(elf32_arm_stub_type): New enum values for the two new stubs. |
| 2090 |
(ARM_MAX_FWD_BRANCH_OFFSET): Define. |
(arm_type_of_stub): Make use of the two new stubs. |
| 2091 |
(ARM_MAX_BWD_BRANCH_OFFSET): Define. |
(arm_size_one_stub): Handle the two new stubs. |
| 2092 |
(THM_MAX_FWD_BRANCH_OFFSET): Define. |
|
| 2093 |
(THM_MAX_BWD_BRANCH_OFFSET): Define. |
2009-04-01 Matt Thomas <matt@netbsd.org> |
| 2094 |
(arm_long_branch_stub): Define. |
|
| 2095 |
(arm_pic_long_branch_stub): Define. |
* elf32-vax.c (elf_vax_check_relocs): Do not put relocations against |
| 2096 |
(arm_thumb_v4t_long_branch_stub): Define. |
hidden symbols into the GOT or PLT.GOT. |
| 2097 |
(arm_thumb_thumb_long_branch_stub): Define. |
(elf_vax_relocate_section): Do not emit a PCREL reloc |
| 2098 |
(arm_thumb_arm_v4t_long_branch_stub): Define. |
into a shared object if it is against a hidden symbol. |
| 2099 |
(STUB_SUFFIX): Define. |
|
| 2100 |
(elf32_arm_stub_type): Define. |
2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com> |
| 2101 |
(elf32_arm_stub_hash_entry): Define. |
|
| 2102 |
(elf32_arm_link_hash_entry): Add stub_cache field. |
* xcofflink.c (xcoff_archive_info): Add contains_shared_object_p |
| 2103 |
(arm_stub_hash_lookup): Define. |
and know_contains_shared_object_p. |
| 2104 |
(elf32_arm_link_hash_table): Add stub_hash_table, stub_bfd, |
(xcoff_archive_contains_shared_object_p): Add an "info" parameter. |
| 2105 |
add_stub_section, layout_sections_again, stub_group, bfd_count, |
Cache the result in the archive_info table. |
| 2106 |
top_index, input_list fields. |
(xcoff_auto_export_p): Add an "info" parameter and update the |
| 2107 |
(elf32_arm_link_hash_newfunc): Init new field. |
call to xcoff_archive_contains_shared_object_p. |
| 2108 |
(stub_hash_newfunc): New function. |
(xcoff_mark_auto_exports): Update accordingly. |
| 2109 |
(elf32_arm_link_hash_table_create): Init stub_hash_table. |
(xcoff_post_gc_symbol): Likewise. |
| 2110 |
(elf32_arm_hash_table_free): New function. |
|
| 2111 |
(arm_type_of_stub): New function. |
2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com> |
| 2112 |
(elf32_arm_stub_name): New function. |
|
| 2113 |
(elf32_arm_get_stub_entry): New function. |
* xcofflink.c (bfd_link_input_bfd): Treat __rtinit as C_HIDEXT |
| 2114 |
(elf32_arm_stub_add_mapping_symbol): New function. |
rather than C_EXT. |
| 2115 |
(elf32_arm_add_stub): New function. |
|
| 2116 |
(arm_build_one_stub): New function. |
2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com> |
| 2117 |
(arm_size_one_stub): New function. |
|
| 2118 |
(elf32_arm_setup_section_lists): New function. |
* coff-rs6000.c (member_layout): New structure. |
| 2119 |
(elf32_arm_next_input_section): New function. |
(archive_iterator): Likewise. |
| 2120 |
(group_sections): New function. |
(member_layout_init): New function. |
| 2121 |
(elf32_arm_size_stubs): New function. |
(archive_iterator_begin): Likewise. |
| 2122 |
(elf32_arm_build_stubs): New function. |
(archive_iterator_next): Likewise. |
| 2123 |
(bfd_elf32_arm_add_glue_sections_to_bfd): Skip stub sections. |
(xcoff_write_armap_old): Use the new iterator functions. |
| 2124 |
(bfd_elf32_arm_process_before_allocation): No longer handle |
(do_shared_object_padding): Delete. |
| 2125 |
R_ARM_CALL and R_ARM_THM_CALL. |
(xcoff_write_armap_big): Use the new iterator functions. Simplify |
| 2126 |
(using_thumb_only): New function. |
handling of arch_info. |
| 2127 |
(elf32_arm_final_link_relocate): Redirect calls to stub if range |
(xcoff_write_archive_contents_old): Allocate arelt_data in the |
| 2128 |
exceeds encoding capabilities. |
first loop rather than the second. Allocate a member header if |
| 2129 |
(bfd_elf32_bfd_link_hash_table_free): Define. |
there isn't one, then work out the stat information and length |
| 2130 |
* bfd-in.h (R_ARM_max): Fix value to 130. |
in the first loop too. Use the new iterators for the second loop. |
| 2131 |
(elf32_arm_setup_section_lists): Protype. |
(xcoff_write_archive_contents_big): Likewise. |
| 2132 |
(elf32_arm_next_input_section): Protype. |
|
| 2133 |
(elf32_arm_size_stubs): Protype. |
2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com> |
| 2134 |
(elf32_arm_build_stubs): Protype. |
|
| 2135 |
|
* bfd-in.h (bfd_xcoff_split_import_path): Declare. |
| 2136 |
|
(bfd_xcoff_set_archive_import_path): Likewise. |
| 2137 |
* bfd-in2.h: Regenerate. |
* bfd-in2.h: Regenerate. |
| 2138 |
|
* xcofflink.c: Include libiberty.h. |
| 2139 |
|
(xcoff_archive_info): New structure. |
| 2140 |
|
(xcoff_archive_info_hash): New function. |
| 2141 |
|
(xcoff_archive_info_eq): Likewise. |
| 2142 |
|
(xcoff_get_archive_info): Likewise. |
| 2143 |
|
(_bfd_xcoff_bfd_link_hash_table_create): Initialize archive_info. |
| 2144 |
|
(bfd_xcoff_split_import_path): New function. |
| 2145 |
|
(bfd_xcoff_set_archive_import_path): Likewise. |
| 2146 |
|
(xcoff_set_import_path): Move earlier in file. |
| 2147 |
|
(xcoff_link_add_dynamic_symbols): Set the import path of a non-archive |
| 2148 |
|
object to the the directory part of the bfd's filename. Get the |
| 2149 |
|
import path and filename of an archive object from the archive's |
| 2150 |
|
xcoff_tdata, initializing it if necessary. Update use of |
| 2151 |
|
import_file_id. |
| 2152 |
|
(bfd_link_input_bfd): Update use of import_file_id. |
| 2153 |
|
(xcoff_write_global_symbol): Likewise. |
| 2154 |
|
|
| 2155 |
|
2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com> |
| 2156 |
|
|
| 2157 |
|
* xcofflink.c (xcoff_link_hash_table): Moved from include/coff/xcoff.h. |
| 2158 |
|
|
| 2159 |
|
2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com> |
| 2160 |
|
|
| 2161 |
|
* xcofflink.c (xcoff_link_create_extra_sections): Don't create |
| 2162 |
|
a .loader section for relocatable links. |
| 2163 |
|
(xcoff_need_ldrel_p): New function. |
| 2164 |
|
(xcoff_mark): Use it. |
| 2165 |
|
(bfd_xcoff_link_count_reloc): Only count loader relocs if there's |
| 2166 |
|
a loader section. |
| 2167 |
|
(xcoff_build_ldsym): New function, split out from... |
| 2168 |
|
(xcoff_build_ldsyms): ...here. Rename to... |
| 2169 |
|
(xcoff_post_gc_symbol): ...this. Only export symbols, and only |
| 2170 |
|
call xcoff_build_ldsym, if there's a loader section. |
| 2171 |
|
(xcoff_build_loader_section): New function, extracted verbatim from... |
| 2172 |
|
(bfd_xcoff_size_dynamic_sections): ...here. Only call it if |
| 2173 |
|
there's a loader section. Only add an __rtinit loader symbol |
| 2174 |
|
if there's a loader section. Update after above name change. |
| 2175 |
|
(xcoff_symbol_section, xcoff_create_ldrel): New functions. |
| 2176 |
|
(bfd_link_input_bfd): Use xcoff_need_ldrel_p, xcoff_symbol_section |
| 2177 |
|
and xcoff_create_ldrel. |
| 2178 |
|
(xcoff_write_global_symbol): Use xcoff_create_ldrel. |
| 2179 |
|
(xcoff_reloc_link_order): Likewise, but only call it if there's |
| 2180 |
|
a loader section. Use xcoff_symbol_section. |
| 2181 |
|
(_bfd_xcoff_bfd_final_link): Only use fdinfo.ldrel and fdinfo.ldsym |
| 2182 |
|
if there's a loader section. |
| 2183 |
|
|
| 2184 |
|
2009-04-01 Richard Sandiford <rdsandiford@googlemail.com> |
| 2185 |
|
|
| 2186 |
|
* xcofflink.c (bfd_link_input_bfd): Fix buffer overrun. |
| 2187 |
|
|
| 2188 |
|
2009-04-01 Christophe Lyon <christophe.lyon@st.com> |
| 2189 |
|
|
| 2190 |
|
* elf32-arm.c (group_sections): Rewrite loops for better |
| 2191 |
|
readability. |
| 2192 |
|
|
| 2193 |
|
2009-03-30 DJ Delorie <dj@redhat.com> |
| 2194 |
|
|
| 2195 |
|
* elflink.c (elf_link_input_bfd): Don't try to resolve complex |
| 2196 |
|
relocs when doing a relocatable link. |
| 2197 |
|
|
| 2198 |
|
2009-03-28 Mark Mitchell <mark@codesourcery.com> |
| 2199 |
|
|
| 2200 |
|
* coff-arm.c (coff_arm_merge_private_bfd_data): Use "error:", not |
| 2201 |
|
"ERROR:", in error messages. |
| 2202 |
|
* cpu-arm.c (bfd_arm_merge_machines): Likewise. |
| 2203 |
|
* elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise. |
| 2204 |
|
* elf32-arm.c (tag_cpu_arch_combine): Likewise. |
| 2205 |
|
(elf32_arm_merge_eabi_attributes): Likewise. |
| 2206 |
|
(elf32_arm_merge_private_bfd_data): Likewise. |
| 2207 |
|
|
| 2208 |
|
2009-03-27 Nick Clifton <nickc@redhat.com> |
| 2209 |
|
|
| 2210 |
|
* section.c (bfd_get_section_contents): Detect and handle the case |
| 2211 |
|
where a section has the SEC_IN_MEMORY flag set but no actual |
| 2212 |
|
contents allocated. |
| 2213 |
|
|
| 2214 |
|
2009-03-26 Alan Modra <amodra@bigpond.net.au> |
| 2215 |
|
|
| 2216 |
|
PR 6494 |
| 2217 |
|
* elf.c (copy_elf_program_header): Do not check that PT_GNU_RELRO |
| 2218 |
|
p_filesz and p_memsz are equal. Use p_memsz as the segment size. |
| 2219 |
|
(assign_file_positions_for_non_load_sections): Zap PT_GNU_RELRO |
| 2220 |
|
if we don't find matching PT_LOAD when copying. |
| 2221 |
|
|
| 2222 |
2008-05-14 Ulrich Weigand <uweigand@de.ibm.com> |
2009-03-25 M R Swami Reddy <MR.Swami.Reddy@nsc.com> |
| 2223 |
|
|
| 2224 |
* elf32-ppc.c (ppc_elf_get_synthetic_symtab): Fix memset calls. |
* elf32-crx.c (crx_elf_howto_table): Zero the src_mask field of |
| 2225 |
* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Likewise. |
the reloc descriptions. |
| 2226 |
|
|
| 2227 |
|
2009-03-25 Hans-Peter Nilsson <hp@axis.com> |
| 2228 |
|
|
| 2229 |
|
* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GD> |
| 2230 |
|
<R_CRIS_16_GOT_GD, case R_CRIS_32_GOT_GD>: Handle COMMON symbols. |
| 2231 |
|
<case R_CRIS_16_TPREL, R_CRIS_32_TPREL>: Ditto. |
| 2232 |
|
|
| 2233 |
|
2009-03-24 H.J. Lu <hongjiu.lu@intel.com> |
| 2234 |
|
|
| 2235 |
|
* cpu-i386.c (bfd_x86_64_arch_intel_syntax): Make it static. |
| 2236 |
|
(bfd_i386_arch_intel_syntax): Likewise. |
| 2237 |
|
(i8086_arch): Likewise. |
| 2238 |
|
(bfd_x86_64_arch): Likewise. |
| 2239 |
|
|
|