| 1 | 2008-02-22 Nick Clifton <nickc@redhat.com> |
| 2 | |
| 3 | PR 868 |
| 4 | *dwarf2.c: Revert previous patch. All of the allocate memory is |
| 5 | on an obstack which will be freed at some other time. |
| 6 | |
| 7 | 2008-02-20 Nick Clifton <nickc@redhat.com> |
| 8 | |
| 9 | PR 868 |
| 10 | * libbfd.c (bfd_realloc_or_free): New function. Performs like |
| 11 | bfd_realloc, but if the (re)allocation fails, the pointer is |
| 12 | freed. |
| 13 | * libbfd-in.h: Prototype. |
| 14 | * libbfd.h: Regenerate. |
| 15 | * bfdio.c (bfd_bwrite): Use the new function. |
| 16 | (bfd_seek): Likewise. |
| 17 | * bfdwin.c:(bfd_get_file_window): Likewise. |
| 18 | * elf-strtab.c (_bfd_elf_strtab_add): Likewise. |
| 19 | * elf32-ppc.c (ppc_elf_relax_section): Likewise. |
| 20 | * elf32-xtensa.c (vsprintf_msg): Likewise. |
| 21 | * mach-o.c (bfd_mach_o_core_fetch_environment): Likewise. |
| 22 | * stabs.c (_bfd_link_seciton_stabs): Likewise. |
| 23 | * vms-misc.c (_bfd_vms_get_record): Likewise. |
| 24 | * vms-tir.c (check_section): Likewise. |
| 25 | * vms.c (vms_new_section_hook): Likewise. |
| 26 | * elf32-arm.c (elf32_arm_section_map_add): Check that the |
| 27 | allocation of sec_data->map succeeded before using it. |
| 28 | * elflink.c (elf_link_output_sym): Do not overwrite finfo-> |
| 29 | symshndxbuf until it is known that the reallocation succeeded. |
| 30 | |
| 31 | 2008-02-20 Diogo de Carvalho Kraemer <diogo@kraemer.eng.br> |
| 32 | Nick Clifton <nickc@redhat.com> |
| 33 | |
| 34 | PR 868 |
| 35 | * dwarf2.c (read_abbrevs): Free the abbreviation table if we run |
| 36 | out of memory. |
| 37 | (decode_line_info): Free the line_info_table before returning a |
| 38 | failure result. |
| 39 | (_bfd_dwarf2_cleanup_debug_info): Free the abbreviation table. |
| 40 | Free the line table. Free the function table. Free the variable |
| 41 | table. |
| 42 | |
| 43 | 2008-02-17 Mark Kettenis <kettenis@gnu.org> |
| 44 | |
| 45 | * elf.c (swap_out_syms): Avoid preprocessing directive within |
| 46 | macro arg. |
| 47 | |
| 48 | 2008-02-17 Jan Kratochvil <jan.kratochvil@redhat.com> |
| 49 | |
| 50 | * elf.c (assign_file_positions_for_load_sections): Set the type of |
| 51 | PT_NOTE sections to SHT_NOTE. |
| 52 | |
| 53 | 2008-02-17 Ulrich Weigand <uweigand@de.ibm.com> |
| 54 | |
| 55 | * simple.c (bfd_simple_get_relocated_section_contents): Set |
| 56 | link_info.output_bfd. |
| 57 | |
| 58 | 2008-02-16 Nathan Sidwell <nathan@codesourcery.com> |
| 59 | |
| 60 | * dwarf2.c (find_line): Don't trust debug information after an |
| 61 | unparseable compilation unit. |
| 62 | |
| 63 | 2008-02-15 Alan Modra <amodra@bigpond.net.au> |
| 64 | |
| 65 | PR 5765 |
| 66 | * section.c (SEC_LINK_DUPLICATES): Correct. Renumber following flags. |
| 67 | * bfd-in2.h: Regenerate. |
| 68 | |
| 69 | 2008-02-15 Alan Modra <amodra@bigpond.net.au> |
| 70 | |
| 71 | * elf-bfd.h (enum elf_object_id): Add HPPA_ELF_TDATA. |
| 72 | * elf.c (bfd_elf_allocate_object): Don't check for already allocated |
| 73 | tdata. |
| 74 | * elf32-hppa.c (elf32_hppa_mkobject): New function. |
| 75 | (bfd_elf32_mkobject): Define. |
| 76 | * elf32-ppc.c (is_ppc_elf_target): Delete. Replace all uses with.. |
| 77 | (is_ppc_elf): ..this new macro. |
| 78 | * elf64-ppc.c (is_ppc64_elf_target): Delete. Replace all uses with.. |
| 79 | (is_ppc64_elf): ..this new macro. |
| 80 | |
| 81 | 2008-02-15 Alan Modra <amodra@bigpond.net.au> |
| 82 | |
| 83 | * elflink.c: Replace all accesses to hash->creator field with |
| 84 | output_bfd->xvec. |
| 85 | * cofflink.c: Likewise. |
| 86 | * coff-h8300.c: Likewise. |
| 87 | * ecoff.c: Likewise. |
| 88 | * elf32-m68hc1x.c: Likewise. |
| 89 | * elf32-ppc.c: Likewise. |
| 90 | * elf64-alpha.c: Likewise. |
| 91 | * elf64-ppc.c: Likewise. |
| 92 | * elf64-sparc.c: Likewise. |
| 93 | * elfxx-mips.c: Likewise. |
| 94 | * i386linux.c: Likewise. |
| 95 | * m68klinux.c: Likewise. |
| 96 | * sparclinux.c: Likewise. |
| 97 | * sunos.c: Likewise. |
| 98 | * xcofflink.c: Likewise. |
| 99 | * linker.c: Likewise. |
| 100 | (_bfd_link_hash_table_init): Don't store creator. |
| 101 | |
| 102 | 2008-02-14 Peter Jones <pjones@redhat.com> |
| 103 | |
| 104 | * efi-rtdrv-ia32.c: New file. |
| 105 | * efi-bsdrv-ia32.c: New file. |
| 106 | * efi-rtdrv-ia64.c: New file. |
| 107 | * efi-bsdrv-ia64.c: New file. |
| 108 | * efi-rtdrv-x86_64.c: New file. |
| 109 | * efi-bsdrv-x86_64.c: New file. |
| 110 | * peicode.h (pe_bfd_object_p): Add support for boot service and |
| 111 | runtime service drivers. |
| 112 | * libpei.h: Add macros for EFI formats, and rename the efi application |
| 113 | format macros to disambiguate. |
| 114 | * targets.c: Add bfd_target _vec externs. |
| 115 | (_bfd_tar): Add EFI _vec entries. |
| 116 | * config.bfd: Add EFI vectors into the selection routines. |
| 117 | * configure.in: add EFI _vec entries. |
| 118 | * configure: Regenerate. |
| 119 | * Makefile.am: Add EFI files. |
| 120 | * Makefile.in: Regenerate. |
| 121 | |
| 122 | 2008-02-14 Nathan Sidwell <nathan@codesourcery.com> |
| 123 | |
| 124 | * dwarf1.c (struct dwarf1_debug): Add syms member. |
| 125 | (alloc_dwarf1_unit, alloc_dwarf1_func): Check for out of memory. |
| 126 | (parse_line_table, _bfd_dwarf1_find_nearest_line): Relocate |
| 127 | section contents, check for out of memory. |
| 128 | |
| 129 | * dwarf1.c (struct dwarf1_debug): Change data pointers to bfd_byte. |
| 130 | (parse_die): Change data pointers to bfd_byte. |
| 131 | (parse_line_table, parse_functions_in_unit): Likewise. |
| 132 | |
| 133 | 2008-02-14 Alan Modra <amodra@bigpond.net.au> |
| 134 | |
| 135 | * elflink.c (compute_bucket_count): Warning fixes. |
| 136 | |
| 137 | 2008-02-12 DJ Delorie <dj@redhat.com> |
| 138 | |
| 139 | * elf32-iq2000.c (iq2000_elf_relocate_section): Adjust addend of |
| 140 | relocation pointing to local symbol in merged section. |
| 141 | |
| 142 | * elf32-iq2000.c (iq2000_elf_relocate_offset16): New. |
| 143 | (iq2000_elf_relocate_section): Call it. |
| 144 | |
| 145 | 2008-02-12 Nick Clifton <nickc@redhat.com> |
| 146 | |
| 147 | PR ld/5692 |
| 148 | * elf-bfd.h (enum elf_object_id): New enum, used to identify |
| 149 | target specific extensions to the elf_obj_tdata structure. |
| 150 | (struct elf_obj_tdata): New field 'object_id'. |
| 151 | (elf_object_id, elf_program_header_size, elf_symtab_hdr): New |
| 152 | macros for accessing fields in the elf_obj_tdata structure. |
| 153 | (bfd_elf_mkobject): Rename to bfd_elf_make_generic_object. |
| 154 | (bfd_elf_allocate_object): New function. |
| 155 | * elf.c (bfd_elf_mkobject): Rename to bfd_elf_make_generic_object |
| 156 | and implement by calling bfd_elf_allocate_object. |
| 157 | (bfd_elf_allocate_object): New function: Allocates an |
| 158 | elf_obj_tdata structure, possibly with a target specific |
| 159 | extension. |
| 160 | * elfxx-target.h (bfd_elfNN_mkobject): Use |
| 161 | bfd_elf_make_generic_object as the default value. |
| 162 | * elf32-arm.c (elf32_arm_obj_tdata): Rename to elf_arm_obj_tdata |
| 163 | for consistency with other, similar structures. |
| 164 | (is_arm_elf): New macro. Checks a BFD to make sure that is an ARM |
| 165 | ELF bfd. |
| 166 | (elf32_arm_mkobject): Call bfd_elf_allocate_object. |
| 167 | (bfd_elf32_arm_vfp11_erratum_scan): Use is_arm_elf macro to check |
| 168 | the bfd being processed. |
| 169 | (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise. |
| 170 | (bfd_elf32_arm_set_target_relocs): Likewise. |
| 171 | (bfd_elf32_arm_final_link_relocate): Likewise. |
| 172 | (bfd_elf32_arm_copy_private_bfd_data): Likewise. |
| 173 | (bfd_elf32_arm_merge_eabi_attributes): Likewise. |
| 174 | (bfd_elf32_arm_merge_private_bfd_data): Likewise. |
| 175 | (bfd_elf32_arm_check_relocs): Likewise. |
| 176 | (bfd_elf32_arm_gc_mark_extra_sections): Likewise. |
| 177 | (bfd_elf32_arm_size_dynamic_sections): Likewise. |
| 178 | (bfd_elf32_arm_process_before_allocation): Use elf_symtab_hdr. |
| 179 | (bfd_elf32_arm_init_maps): Likewise. |
| 180 | (bfd_elf32_arm_final_link_relocate): Likewise. |
| 181 | (bfd_elf32_arm_relocate_section): Likewise. |
| 182 | (bfd_elf32_arm_gc_sweep_hook): Likewise. |
| 183 | (bfd_elf32_arm_check_relocs): Likewise. |
| 184 | (bfd_elf32_arm_size_dynamic_sections): Likewise. |
| 185 | * elf32-i386.c (elf_i386_mkobject): Call bfd_elf_allocate_object. |
| 186 | (is_i386_elf): New macro. Checks a BFD to make sure that is an x86 |
| 187 | ELF bfd. |
| 188 | (elf_i386_check_relocs): Use is_i386_elf macro to check the bfd |
| 189 | being processed. |
| 190 | (elf_i386_size_dynamic_sections): Likewise. |
| 191 | (elf_i386_relocate_section): Likewise. |
| 192 | (elf_i386_check_relocs): Use elf_symtab_hdr. |
| 193 | (elf_i386_gc_sweep_hook): Likewise. |
| 194 | (elf_i386_size_dynamic_sections): Likewise. |
| 195 | (elf_i386_relocate_section): Likewise. |
| 196 | * elf32-ppc.c (ppc_elf_mkobject): Call bfd_elf_allocate_object. |
| 197 | (elf_create_pointer_linker_section): Use is_ppc_elf_target to |
| 198 | verify that the bfd before accessing target specific fields. |
| 199 | (ppc_elf_check_relocs): Likewise. |
| 200 | (elf_finish_pointer_linker_section): Likewise. |
| 201 | (elf_create_pointer_linker_section): Use elf_symtab_hdr. |
| 202 | (ppc_elf_check_relocs): Likewise. |
| 203 | (ppc_elf_gc_sweep_hook): Likewise. |
| 204 | (ppc_elf_tls_optimize): Likewise. |
| 205 | (ppc_elf_size_dynamic_sections): Likewise. |
| 206 | (ppc_elf_relax_section): Likewise. |
| 207 | (ppc_elf_relocate_section): Likewise. |
| 208 | * elf32-s390.c (struct elf_s390_obj_tdata): Add a comment |
| 209 | reminding programmers to keep this structure in sync with the one |
| 210 | defined in elf64-s390.c. |
| 211 | (elf_s390_mkobject): Call bfd_elf_allocate_object. |
| 212 | (is_s390_elf): New macro. Checks a BFD to make sure that is an s390 |
| 213 | ELF bfd. |
| 214 | (elf_s390_check_relocs): Use is_s390_elf macro to check the bfd |
| 215 | being processed. |
| 216 | (elf_s390_size_dynamic_sections): Likewise. |
| 217 | (elf_s390_relocate_section): Likewise. |
| 218 | (elf_s390_check_relocs): Use elf_symtab_hdr. |
| 219 | (elf_s390_gc_sweep_hook): Likewise. |
| 220 | (elf_s390_size_dynamic_sections): Likewise. |
| 221 | (elf_s390_relocate_section): Likewise. |
| 222 | * elf32-sh.c (sh_elf_mkobject): Call bfd_elf_allocate_object. |
| 223 | (is_sh_elf): New macro. Checks a BFD to make sure that is an SH |
| 224 | ELF bfd. |
| 225 | (sh_elf_size_dynamic_sections): Use is_sh_elf macro to check the |
| 226 | bfd being processed. |
| 227 | (sh_elf_relocate_section): Likewise. |
| 228 | (sh_elf_check_relocs): Likewise. |
| 229 | (sh_elf_copy_private_data): Likewise. |
| 230 | (sh_elf_relax_section): Use elf_symtab_hdr. |
| 231 | (sh_elf_size_dynamic_sections): Likewise. |
| 232 | (sh_elf_relocate_section): Likewise. |
| 233 | (sh_elf_get_relocated_section_contents): Likewise. |
| 234 | (sh_elf_gc_sweep_hook): Likewise. |
| 235 | (sh_elf_check_relocs): Likewise. |
| 236 | * elf64-alpha.c (elf64_alpha_mkobject): Call bfd_elf_allocate_object. |
| 237 | (is_alpha_elf): New macro. Checks a BFD to make sure that is an |
| 238 | Alpha ELF bfd. |
| 239 | (elf64_alpha_create_got_section): Use is_alpha_elf macro to check |
| 240 | the bfd being processed. |
| 241 | (elf64_alpha_create_dynamic_section): Likewise. |
| 242 | (elf64_alpha_check_relocs): Likewise. |
| 243 | (elf64_alpha_size_got_sections): Likewise. |
| 244 | (elf64_alpha_relax_section): Likewise. |
| 245 | (elf64_alpha_relocate_section): Likewise. |
| 246 | (elf64_alpha_final_link): Likewise. |
| 247 | (elf64_alpha_check_relocs): Use elf_symtab_hdr. |
| 248 | (elf64_alpha_relax_section): Likewise. |
| 249 | (elf64_alpha_relocate_section_r): Likewise. |
| 250 | (elf64_alpha_relocate_section): Likewise. |
| 251 | * elf64-ppc.c (ppc64_elf_mkobject): Call bfd_elf_allocate_object. |
| 252 | (ppc64_elf_check_relocs): Use is_ppc64_elf_target to check the bfd |
| 253 | being processed. |
| 254 | (opd_entry_value): Likewise. |
| 255 | (allocate_dynrelocs): Likewise. |
| 256 | (ppc64_elf_relocate_section): Likewise. |
| 257 | (ppc64_elf_check_relocs): Use elf_symtab_hdr. |
| 258 | (opd_entry_value): Likewise. |
| 259 | (ppc64_elf_gc_sweep_hook): Likewise. |
| 260 | (get_sym_h): Likewise. |
| 261 | (ppc64_elf_edit_opd): Likewise. |
| 262 | (ppc64_elf_tls_optimize): Likewise. |
| 263 | (ppc64_elf_edit_toc): Likewise. |
| 264 | (ppc64_elf_size_dynamic_sections): Likewise. |
| 265 | (toc_adjusting_stub_needed): Likewise. |
| 266 | (ppc64_elf_size_stubs): Likewise. |
| 267 | (ppc64_elf_relocate_section): Likewise. |
| 268 | * elf64-s390.c (struct elf_s390_obj_tdata): Add a comment |
| 269 | reminding programmers to keep this structure in sync with the one |
| 270 | defined in elf32-s390.c. |
| 271 | (elf_s390_mkobject): Call bfd_elf_allocate_object. |
| 272 | (is_s390_elf): New macro. Checks a BFD to make sure that is an s390 |
| 273 | ELF bfd. |
| 274 | (elf_s390_check_relocs): Use is_s390_elf macro to check the bfd |
| 275 | being processed. |
| 276 | (elf_s390_size_dynamic_sections): Likewise. |
| 277 | (elf_s390_relocate_section): Likewise. |
| 278 | (elf_s390_check_relocs): Use elf_symtab_hdr. |
| 279 | (elf_s390_gc_sweep_hook): Likewise. |
| 280 | (elf_s390_size_dynamic_sections): Likewise. |
| 281 | (elf_s390_relocate_section): Likewise. |
| 282 | * elf64-x86_64.c (elf64_x86_64_mkobject): Call bfd_elf_allocate_object. |
| 283 | (is_x86_64_elf): New macro. Checks a BFD to make sure that is an |
| 284 | x86_64 ELF bfd. |
| 285 | (elf64_x86_64_check_relocs): Use is_x86_64_elf macro to check the bfd |
| 286 | being processed. |
| 287 | (elf64_x86_64_size_dynamic_sections): Likewise. |
| 288 | (elf64_x86_64_relocate_section): Likewise. |
| 289 | (elf64_x86_64_check_relocs): Use elf_symtab_hdr. |
| 290 | (elf64_x86_64_gc_sweep_hook): Likewise. |
| 291 | (elf64_x86_64_size_dynamic_sections): Likewise. |
| 292 | (elf64_x86_64_relocate_section): Likewise. |
| 293 | * elfxx-sparc.c (_bfd_sparc_elf_mkobject): Call bfd_elf_allocate_object. |
| 294 | (is_sparc_elf): New macro. Checks a BFD to make sure that is a Sparc |
| 295 | ELF bfd. |
| 296 | (_bfd_sparc_elf_check_relocs): Use is_sparc_elf macro to check the |
| 297 | bfd being processed. |
| 298 | (_bfd_sparc_elf_gc_sweep_hook): Likewise. |
| 299 | (_bfd_sparc_elf_size_dynamic_sections): Likewise. |
| 300 | (_bfd_sparc_elf_check_relocs): Use elf_symtab_hdr. |
| 301 | (_bfd_sparc_elf_gc_sweep_hook): Likewise. |
| 302 | (_bfd_sparc_elf_size_dynamic_sections): Likewise. |
| 303 | (_bfd_sparc_elf_relocate_section): Likewise. |
| 304 | |
| 305 | 2008-02-12 Alan Modra <amodra@bigpond.net.au> |
| 306 | |
| 307 | PR 5303, 5755 |
| 308 | * arange-set.c: Delete. |
| 309 | * arange-set.h: Delete. |
| 310 | * dwarf2.c: Revert 2007-09-21 changes. |
| 311 | * Makefile.am: Likewise. |
| 312 | * Makefile.in: Regenerate. |
| 313 | * po/SRC-POTFILES.in: Regenerate. |
| 314 | |
| 315 | 2008-02-11 Bernd Schmidt <bernd.schmidt@analog.com> |
| 316 | |
| 317 | * elf32-bfin.c (bfin_relocate_section): Set up dynobj before using it |
| 318 | if necessary. |
| 319 | (elf32_bfin_merge_private_bfd_data): Simplify, and ensure object type |
| 320 | mismatches are detected. |
| 321 | |
| 322 | * elf32-bfin.c (bfinfdpic_relocate_section): Take more care not to |
| 323 | emit invalid relocs or rofixup entries for deleted .eh_frame entries. |
| 324 | |
| 325 | 2008-02-11 Daniel Jacobowitz <dan@codesourcery.com> |
| 326 | |
| 327 | * cache.c (cache_bread): Set bfd_error_file_truncated if EOF |
| 328 | was reached. |
| 329 | * srec.c (srec_scan): Calculate the checksum. Complain on mismatch. |
| 330 | |
| 331 | 2008-02-07 Alan Modra <amodra@bigpond.net.au> |
| 332 | |
| 333 | * elf32-spu.c (spu_elf_size_stubs): Revert 2008-01-28 doubling |
| 334 | of _ovly_buf_table size. |
| 335 | (spu_elf_build_stubs): Use low bit of .size as "present" bit. |
| 336 | Adjust initialisations relating to _ovly_buf_table. |
| 337 | |
| 338 | 2008-02-04 Bob Wilson <bob.wilson@acm.org> |
| 339 | |
| 340 | * elf32-xtensa (elf_xtensa_relocate_section): After finding an invalid |
| 341 | relocation, do not continue processing it. Ignore R_XTENSA_ASM_EXPAND |
| 342 | relocations against dynamic symbols. |
| 343 | (elf_xtensa_finish_dynamic_sections): Do not fail if there is no |
| 344 | .xt.lit section. |
| 345 | |
| 346 | 2008-02-04 Kai Tietz <kai.tietz@onevision.com> |
| 347 | H.J. Lu <hongjiu.lu@intel.com> |
| 348 | |
| 349 | PR 5715 |
| 350 | * warning.m4: Enable -Wno-format by default when using gcc on |
| 351 | mingw. |
| 352 | * configure: Regenerated. |
| 353 | |
| 354 | 2008-02-04 Adam Nemet <anemet@caviumnetworks.com> |
| 355 | |
| 356 | * archures.c: Update copyright. |
| 357 | (bfd_mach_mips_octeon): New macro. |
| 358 | * bfd-in2.h: Regenerate. |
| 359 | * elfxx-mips.c (_bfd_elf_mips_mach): Handle Octeon. |
| 360 | (mips_set_isa_flags): Likewise. |
| 361 | (mips_mach_extensions): Add Octeon. |
| 362 | * cpu-mips.c: Update copyright. |
| 363 | (I_mipsocteon): New enum constant. |
| 364 | (arch_info_struct): Add Octeon. |
| 365 | |
| 366 | 2008-02-04 Alan Modra <amodra@bigpond.net.au> |
| 367 | |
| 368 | * elf32-spu.c (spu_elf_relocate_section): Correct return type. |
| 369 | Return error status on unexpected relocation errors. |
| 370 | |
| 371 | 2008-02-04 Alan Modra <amodra@bigpond.net.au> |
| 372 | |
| 373 | PR ld/5692 |
| 374 | * elf.c (bfd_elf_get_elf_syms): Revert 2008-01-31. Instead abort |
| 375 | on non-ELF input. |
| 376 | * elf32-arm.c (elf32_arm_size_dynamic_sections): Skip glue |
| 377 | processing on non-ELF input. |
| 378 | |
| 379 | 2008-01-31 Marc Gauthier <marc@tensilica.com> |
| 380 | |
| 381 | * config.bfd (xtensa*-*-*): Recognize processor variants. |
| 382 | |
| 383 | 2008-01-31 Nick Clifton <nickc@redhat.com> |
| 384 | |
| 385 | PR ld/5692 |
| 386 | * elf.c (bfd_elf_get_elf_syms): Check the return value of |
| 387 | get_elf_backend_data. |
| 388 | |
| 389 | 2008-01-28 Fabian Groffen <grobian@gentoo.org> |
| 390 | |
| 391 | * config.bfd (x86_64-*-solaris2): Add support for this target. |
| 392 | |
| 393 | 2008-01-28 Alan Modra <amodra@bigpond.net.au> |
| 394 | |
| 395 | Rewrite SPU overlay handling code. Put overlay calls stubs in the |
| 396 | overlays where possible. Use a faster call stub, or optionally at |
| 397 | compile time, a more compact stub. Double size of _ovly_buf_table |
| 398 | so that low bit of _ovly_table.buf can be used as a "present" bit. |
| 399 | Reserve an extra _ovly_table entry for index zero. |
| 400 | * elf32-spu.c: (struct spu_link_hash_table): Delete a number of fields, |
| 401 | add new ones. |
| 402 | (struct got_entry): New. |
| 403 | (struct spu_stub_hash_entry): Delete. |
| 404 | (stub_hash_newfunc, spu_elf_link_hash_table_free): Delete. |
| 405 | (spu_elf_link_hash_table_create): Adjust for struct changes. |
| 406 | (spu_stub_name): Delete. |
| 407 | (spu_elf_find_overlays): Don't track sections from overlay regions. |
| 408 | Instead set ovl_buf number in spu elf section data. Error if |
| 409 | overlays in one region don't start at the same address. Adjust |
| 410 | for struct _spu_elf_section_data changes. |
| 411 | (SIZEOF_STUB1, SIZEOF_STUB2, ILA_79, ILA_78): Delete. |
| 412 | (OVL_STUB_SIZE, BRSL, LNOP, ILA): Define. |
| 413 | (needs_ovl_stub): Adjust for struct _spu_elf_section_data changes. |
| 414 | (enum _insn_type): New. |
| 415 | (count_stub, build_stub): New functions. |
| 416 | (allocate_spuear_stubs): Use count_stub. |
| 417 | (build_spuear_stubs): Use build_stub. |
| 418 | (populate_stubs, sort_stubs): Delete. |
| 419 | (process_stubs): New function. |
| 420 | (write_one_stub): Delete. |
| 421 | (spu_elf_size_stubs, spu_elf_build_stubs): Rewrite. |
| 422 | (alloc_stack_info): Adjust for struct _spu_elf_section_data changes. |
| 423 | (maybe_insert_function, check_function_ranges): Likewise. |
| 424 | (find_function, pasted_function, build_call_tree): Likewise. |
| 425 | (spu_elf_stack_analysis, spu_elf_modify_segment_map): Likewise. |
| 426 | (spu_elf_modify_program_headers): Likewise. |
| 427 | (interesting_section): Detect stub sections differently. Delete |
| 428 | htab param, adjust all callers. |
| 429 | (spu_elf_relocate_section): Rewrite stub handling. |
| 430 | (spu_elf_output_symbol_hook): Likewise. |
| 431 | (bfd_elf32_bfd_link_hash_table_free): Delete. |
| 432 | * elf32-spu.h (struct _spu_elf_section_data): Move input-only and |
| 433 | output-only fields into a union. Add ovl_buf. |
| 434 | (spu_elf_size_stubs, spu_elf_build_stubs): Update prototypes. |
| 435 | |
| 436 | 2008-01-25 DJ Delorie <dj@redhat.com> |
| 437 | |
| 438 | * elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): New. |
| 439 | |
| 440 | 2008-01-25 Kai Tietz <kai.tietz@onevision.com> |
| 441 | |
| 442 | * bfd-in.h: Add mingw I64 support. |
| 443 | * bfd-in2.h: Regenerated. |
| 444 | * bfd.c: (bfd_get_sign_extend_vma): Add pe-x86-64 and pei-x86-64. |
| 445 | |
| 446 | 2008-01-21 Alan Modra <amodra@bigpond.net.au> |
| 447 | |
| 448 | PR 4453 |
| 449 | * format.c (bfd_check_format_matches): Don't accept archives as |
| 450 | fully matching unless they have a map. |
| 451 | |
| 452 | 2008-01-21 Alan Modra <amodra@bigpond.net.au> |
| 453 | |
| 454 | * elflink.c (_bfd_elf_link_output_relocs): Correct error return. |
| 455 | |
| 456 | 2008-01-21 Alan Modra <amodra@bigpond.net.au> |
| 457 | |
| 458 | * ecoff.c (_bfd_ecoff_archive_p): Delete. |
| 459 | * libecoff.h (_bfd_ecoff_archive_p): Delete. |
| 460 | * coff-alpha.c (ecoffalpha_little_vec): Use bfd_generic_archive_p. |
| 461 | * coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise. |
| 462 | (ecoff_biglittle_vec): Likewise. |
| 463 | |
| 464 | 2008-01-19 Alan Modra <amodra@bigpond.net.au> |
| 465 | |
| 466 | PR 5646 |
| 467 | * elf64-ppc.c (ppc64_elf_tls_optimize): Ensure htab->tls_get_addr |
| 468 | non-NULL before dereferencing. |
| 469 | |
| 470 | 2008-01-15 Alan Modra <amodra@bigpond.net.au> |
| 471 | |
| 472 | PR 5604 |
| 473 | * elf-bfd.h (struct elf_backend_data): Add gc_keep. Remove param |
| 474 | names from others. |
| 475 | (_bfd_elf_gc_keep): Declare. |
| 476 | * elfxx-target.h (elf_backend_gc_keep): Define. |
| 477 | (elfNN_bed): Init new field. |
| 478 | * elflink.c (_bfd_elf_gc_keep): New function. |
| 479 | (bfd_elf_gc_sections): Call gc_keep. |
| 480 | * elf64-ppc.c (elf_backend_gc_keep): Define. |
| 481 | (struct _ppc64_elf_section_data): Move .opd related fields to |
| 482 | a struct so they don't occupy the same storage. Adjust accesses |
| 483 | throughout file. |
| 484 | (ppc64_elf_gc_keep): New function, split out from.. |
| 485 | (ppc64_elf_gc_mark_hook): ..here. Don't call _bfd_elf_gc_mark |
| 486 | to mark .opd section, just set gc_mark. |
| 487 | (ppc64_elf_edit_opd): Remove no_opd_opt parm. Don't set opd->adjust |
| 488 | unless we are changing .opd. Test non-NULL opd->adjust at all |
| 489 | accesses throughout file. |
| 490 | * elf64-ppc.h (ppc64_elf_edit_opd): Update prototype. |
| 491 | |
| 492 | 2008-01-15 Alan Modra <amodra@bigpond.net.au> |
| 493 | |
| 494 | * bfd-in.h (BFD_HOST_LONG_LONG): Delete. |
| 495 | * bfd-in2.h: Regenerate. |
| 496 | |
| 497 | 2008-01-11 Tristan Gingold <gingold@adacore.com> |
| 498 | Eric Botcazou <ebotcazou@adacore.com> |
| 499 | |
| 500 | * elf32-ppc.c (ppc_elf_gc_sweep_hook): Exit early if generating a |
| 501 | relocatable. |
| 502 | * elf32-arm.c (elf32_arm_gc_sweep_hook): Likewise. |
| 503 | * elf32-cris.c (cris_elf_gc_sweep_hook): Likewise. |
| 504 | * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Likewise. |
| 505 | * elf32-i386.c (elf_i386_gc_sweep_hook): Likewise. |
| 506 | * elf32-m32r.c (m32r_elf_gc_sweep_hook): Likewise. |
| 507 | * elf32-m68k.c (elf_m68k_gc_sweep_hook): Likewise. |
| 508 | * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise. |
| 509 | * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise. |
| 510 | * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise. |
| 511 | * elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Likewise. |
| 512 | * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise. |
| 513 | * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise. |
| 514 | * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Likewise. |
| 515 | * elfxx-mips.c (_bfd_mips_elf_gc_sweep_hook): Likewise. |
| 516 | * elfxx-sparc.c (_bfd_sparc_elf_gc_sweep_hook): Likewise. |
| 517 | * elflink.c (bfd_elf_gc_sections): Do not punt on relocatable output |
| 518 | or executable output with relocations. |
| 519 | |
| 520 | 2008-01-09 Nick Clifton <nickc@redhat.com> |
| 521 | |
| 522 | PR gas/5552 |
| 523 | * elf32-fr30.c (fr30_elf_howto_table): Set partial_inplace field |
| 524 | to FALSE for all relocs. |
| 525 | |
| 526 | 2008-01-09 Richard Sandiford <rsandifo@nildram.co.uk> |
| 527 | |
| 528 | PR ld/5526 |
| 529 | * elf-bfd.h (eh_cie_fde): Add u.cie.u.full_cie and u.cie.merged |
| 530 | fields. Rename u.cie.u.merged to u.cie.u.merged_with. |
| 531 | (eh_frame_sec_info): Add a cies field. |
| 532 | (eh_frame_hdr_info): Add a merge_cies field. |
| 533 | * elf-eh-frame.c (cie): Add a reloc_index member to the personality |
| 534 | union. |
| 535 | (_bfd_elf_begin_eh_frame_parsing): Set hdr_info->merge_cies instead |
| 536 | of hdr_info->cies. |
| 537 | (_bfd_elf_parse_eh_frame): Remove tmp_cie. Ccreate an array of |
| 538 | cie structures in all cases and use it instead of extended_cies. |
| 539 | If merging, store the cie array in sec_info->cies and point each |
| 540 | CIE's eh_fde_cie at the associated element. Do not try to |
| 541 | calculate the value of the personality routine here; record the |
| 542 | offset of the relocation instead. Do not merge CIEs here. |
| 543 | (_bfd_elf_end_eh_frame_parsing): Do not free hdr_info->cies here... |
| 544 | (_bfd_elf_discard_section_eh_frame_hdr): ...do it here instead. |
| 545 | (_bfd_elf_gc_mark_fdes): Mark the original (unmerged) CIE. |
| 546 | (find_merged_cie): New function. |
| 547 | (_bfd_elf_gc_mark_fdes): Use it. Free sec_info->cies. |
| 548 | |
| 549 | 2008-01-07 Nick Clifton <nickc@redhat.com> |
| 550 | |
| 551 | PR binutils/5535 |
| 552 | * vms.c (vms_close_and_cleanup): Check for the presence of a |
| 553 | vms_private_data_struct before examining any of its fields. |
| 554 | |
| 555 | 2008-01-07 H.J. Lu <hongjiu.lu@intel.com> |
| 556 | |
| 557 | PR ld/5522 |
| 558 | * elflink.c (elf_link_input_bfd): Don't write out a section if |
| 559 | its output section is marked with SEC_NEVER_LOAD. |
| 560 | |
| 561 | For older changes see ChangeLog-2007 |
| 562 | \f |
| 563 | Local Variables: |
| 564 | mode: change-log |
| 565 | left-margin: 8 |
| 566 | fill-column: 74 |
| 567 | version-control: never |
| 568 | End: |