| 1 | 2014-04-11 Nick Clifton <nickc@redhat.com> |
| 2 | |
| 3 | * bfd-in2.h: Regenerate. |
| 4 | * libbfd.h: Regenerate. |
| 5 | |
| 6 | 2014-04-10 Cesar Philippidis <cesar@codesourcery.com> |
| 7 | |
| 8 | * elf32-nios2.c (nios2_elf32_build_stubs): Ignore dynobjs |
| 9 | when building function stubs. |
| 10 | |
| 11 | 2014-04-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| 12 | |
| 13 | * elf32-avr.c: Add DIFF relocations for AVR. |
| 14 | (avr_final_link_relocate): Handle the DIFF relocs. |
| 15 | (bfd_elf_avr_diff_reloc): New. |
| 16 | (elf32_avr_is_diff_reloc): New. |
| 17 | (elf32_avr_adjust_diff_reloc_value): Reduce difference value. |
| 18 | (elf32_avr_relax_delete_bytes): Recompute difference after deleting |
| 19 | bytes. |
| 20 | |
| 21 | * reloc.c: Add BFD_RELOC_AVR_DIFF8/16/32 relocations |
| 22 | |
| 23 | 2014-04-09 Alan Modra <amodra@gmail.com> |
| 24 | |
| 25 | * libcoff.h: Regenerate. |
| 26 | |
| 27 | 2014-04-09 Alan Modra <amodra@gmail.com> |
| 28 | |
| 29 | * elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list |
| 30 | of safe ppc476 insns at end of page. Also remove non-branch insns. |
| 31 | Expand comments. |
| 32 | |
| 33 | 2014-04-08 Jon TURNEY <jon.turney@dronecode.org.uk> |
| 34 | |
| 35 | * peXXigen.c (pe_print_debugdata): New function: Displays the |
| 36 | contents of the debug directory and decodes codeview entries. |
| 37 | (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out) |
| 38 | (_bfd_XXi_slurp_codeview_record, _bfd_XXi_write_codeview_record): |
| 39 | Add functions for reading and writing debugdir and codeview |
| 40 | records. |
| 41 | * libpei.h (_bfd_XXi_swap_debugdir_in, _bfd_XXi_swap_debugdir_out) |
| 42 | (_bfd_XXi_write_codeview_record): Add prototypes and macros. |
| 43 | * libcoff-in.h (pe_tdata): Add build-id data. |
| 44 | * libcoff.h: Regenerate. |
| 45 | * coffcode.h (coff_write_object_contents): Run build_id |
| 46 | after_write_object_contents hook. |
| 47 | |
| 48 | 2014-04-05 Alan Modra <amodra@gmail.com> |
| 49 | |
| 50 | * elflink.c (_bfd_elf_add_default_symbol): Pass poldbfd when |
| 51 | merging non-default sym. |
| 52 | |
| 53 | 2014-04-04 Tristan Gingold <gingold@adacore.com> |
| 54 | |
| 55 | * mach-o.c (bfd_mach_o_header_p): Reject 64 bit target when not |
| 56 | configured for. |
| 57 | |
| 58 | 2014-04-04 Tristan Gingold <gingold@adacore.com> |
| 59 | |
| 60 | * mach-o.c (bfd_mach_o_convert_section_name_to_mach_o): Fix |
| 61 | thinko on names length. |
| 62 | |
| 63 | 2014-04-04 Tristan Gingold <gingold@adacore.com> |
| 64 | |
| 65 | * mach-o-i386.c (bfd_mach_o_i386_swap_reloc_out): Use target index |
| 66 | of output_section. |
| 67 | * mach-o-x86-64.c (bfd_mach_o_x86_64_swap_reloc_out): Ditto. |
| 68 | |
| 69 | 2014-04-04 Tristan Gingold <gingold@adacore.com> |
| 70 | |
| 71 | * bfd.c (bfd_get_arch_size): Default is taken from arch. |
| 72 | |
| 73 | 2014-04-03 Jon Turney <jon.turney@dronecode.org.uk> |
| 74 | |
| 75 | * peXXigen.c (pe_print_edata): Verify edt.name lies inside |
| 76 | section before dereferencing. |
| 77 | (pe_print_idata, pe_print_edata, pe_print_reloc) |
| 78 | (rsrc_print_section): Don't bother interpreting the contents |
| 79 | of sections which have no contents. |
| 80 | |
| 81 | 2014-04-03 Maria Guseva <m.guseva@samsung.com> |
| 82 | |
| 83 | PR ld/16803 |
| 84 | * elf.c (_bfd_elf_set_section_contents): Use correct type to hold |
| 85 | file position. |
| 86 | |
| 87 | 2014-04-03 Tristan Gingold <gingold@adacore.com> |
| 88 | |
| 89 | * mach-o.c (bfd_mach_o_mangle_symbols): Use index from |
| 90 | output_section. |
| 91 | (bfd_mach_o_build_seg_command): Add comment. Realign segment. |
| 92 | Fix style. |
| 93 | (bfd_mach_o_build_commands, bfd_mach_o_read_thread): Fix style. |
| 94 | |
| 95 | 2014-04-03 Alan Modra <amodra@gmail.com> |
| 96 | |
| 97 | * elf-bfd.h (struct elf_backend_data |
| 98 | <elf_backend_bfd_from_remote_memory>): Replace "size_t size" |
| 99 | with "bfd_size_type size". |
| 100 | (_bfd_elf32_bfd_from_remote_memory): Likewise. |
| 101 | (_bfd_elf64_bfd_from_remote_memory): Likewise. |
| 102 | * elf.c (bfd_elf_bfd_from_remote_memory): Likewise. |
| 103 | * elfcode.h (bfd_from_remote_memory): Likewise. |
| 104 | * bfd-in.h (bfd_elf_bfd_from_remote_memory): Likewise. |
| 105 | * bfd-in2.h: Regenerate. |
| 106 | |
| 107 | 2014-04-02 Tristan Gingold <gingold@adacore.com> |
| 108 | |
| 109 | * mach-o.h (bfd_mach_o_twolevel_hints_command) |
| 110 | (bfd_mach_o_prebind_cksum_command): New types. |
| 111 | (bfd_mach_o_prebound_dylib_command): Rewrite. |
| 112 | (bfd_mach_o_load_command): Add prebind_cksum and twolevel_hints |
| 113 | fields. |
| 114 | * mach-o.c (bfd_mach_o_read_prebound_dylib): Read and decode the |
| 115 | command. |
| 116 | (bfd_mach_o_read_prebind_cksum): New function. |
| 117 | (bfd_mach_o_read_twolevel_hints): Ditto. |
| 118 | (bfd_mach_o_read_command): Handle prebind cksum and twolevel hints |
| 119 | commands. |
| 120 | |
| 121 | 2014-04-02 Alan Modra <amodra@gmail.com> |
| 122 | |
| 123 | * elfcode.h (bfd_from_remote_memory): Add "size" parameter. |
| 124 | Consolidate code handling possible section headers past end of |
| 125 | segment. Don't use p_align for page size guess, instead use |
| 126 | minpagesize. Take note of ld.so clearing section headers when |
| 127 | p_memsz > p_filesz. Handle file header specifying no section |
| 128 | headers. Handle zero p_align throughout. Default loadbase to |
| 129 | zero. Add comments. Rename contents_size to high_offset, and |
| 130 | make it a bfd_vma. Delete unnecessary bfd_set_error calls. |
| 131 | * bfd-in.h (bfd_elf_bfd_from_remote_memory): Update prototpe. |
| 132 | * elf-bfd.h (struct elf_backend_data <elf_backend_from_remote_memory>): |
| 133 | Likewise. |
| 134 | (_bfd_elf32_bfd_from_remote_memory): Likewise. |
| 135 | (_bfd_elf64_bfd_from_remote_memory): Likewise. |
| 136 | * elf.c (bfd_elf_bfd_from_remote_memory): Adjust. |
| 137 | * bfd-in2.h: Regnerate. |
| 138 | |
| 139 | 2014-04-01 Tristan Gingold <gingold@adacore.com> |
| 140 | |
| 141 | * mach-o.c (bfd_mach_o_canonicalize_one_reloc): Avoid to crash |
| 142 | when num == 0. |
| 143 | |
| 144 | 2014-03-27 Yury Gribov <y.gribov@samsung.com> |
| 145 | Pavel Fedin <p.fedin@samsung.com> |
| 146 | |
| 147 | * elf32-arm.c: Add support for limited pretty-printing of PLT |
| 148 | entries on eabi and nacl targets. |
| 149 | (elf32_arm_get_synthetic_symtab): Add new callback. |
| 150 | (elf32_arm_nacl_plt_sym_val): Likewise. |
| 151 | (elf32_arm_plt0_size): Add helper function. |
| 152 | (elf32_arm_plt_size): Likewise. |
| 153 | |
| 154 | 2014-03-27 Tristan Gingold <gingold@adacore.com> |
| 155 | |
| 156 | * mach-o.c (bfd_mach_o_read_dylinker): Remove assert. |
| 157 | (bfd_mach_o_read_command): Handle BFD_MACH_O_LC_DYLD_ENVIRONMENT. |
| 158 | |
| 159 | 2014-03-27 Tristan Gingold <gingold@adacore.com> |
| 160 | |
| 161 | * mach-o.h (bfd_mach_o_get_base_address): New prototype. |
| 162 | * mach-o.c (bfd_mach_o_write_symtab) |
| 163 | (bfd_mach_o_write_contents) |
| 164 | (bfd_mach_o_set_section_flags_from_bfd) |
| 165 | (bfd_mach_o_build_seg_command): Fix indentation. |
| 166 | (bfd_mach_o_get_base_address): New function. |
| 167 | |
| 168 | 2014-03-26 Nick Clifton <nickc@redhat.com> |
| 169 | |
| 170 | * cofflink.c (_bfd_coff_generic_relocate_section): Skip |
| 171 | relocations in discarded sections. |
| 172 | |
| 173 | 2014-03-26 Tristan Gingold <gingold@adacore.com> |
| 174 | |
| 175 | * mach-o.c (bfd_mach_o_convert_architecture): Add |
| 176 | BFD_MACH_O_CPU_TYPE_ARM64. |
| 177 | |
| 178 | 2014-03-26 Alan Modra <amodra@gmail.com> |
| 179 | |
| 180 | * elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly |
| 181 | needed plt entries when taking the address of functions for |
| 182 | abiversion == 0 (ie. unknown) as well as abiversion == 2. |
| 183 | Move opd setup and abiversion checks to.. |
| 184 | (ppc64_elf_before_check_relocs): ..here. Renamed from |
| 185 | ppc64_elf_process_dot_syms. Set output abiversion from input and |
| 186 | input abiversion from output, if either is not set. |
| 187 | (ppc64_elf_merge_private_bfd_data): Don't merge flags here. |
| 188 | (elf_backend_check_directives): Update. |
| 189 | |
| 190 | 2014-03-25 Will Newton <will.newton@linaro.org> |
| 191 | |
| 192 | * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): |
| 193 | Set value of DT_PLTRELSZ and DT_RELASZ based on the size |
| 194 | of input sections rather than output sections. |
| 195 | |
| 196 | 2014-03-20 Will Newton <will.newton@linaro.org> |
| 197 | |
| 198 | PR ld/16715 |
| 199 | * elf32-arm.c (elf32_arm_check_relocs): Set |
| 200 | pointer_equality_needed for absolute references within |
| 201 | executable links. |
| 202 | (elf32_arm_finish_dynamic_symbol): Set st_value to zero |
| 203 | unless pointer_equality_needed is set. |
| 204 | |
| 205 | 2014-03-19 Nick Clifton <nickc@redhat.com> |
| 206 | |
| 207 | * peXXigen.c (rsrc_process_section): Add code to scan input |
| 208 | sections and record their lengths. Use these lengths to find the |
| 209 | start of each merged .rsrc section. |
| 210 | |
| 211 | 2014-03-17 Tristan Gingold <gingold@adacore.com> |
| 212 | |
| 213 | * mach-o.c (bfd_mach_o_read_dylib): Handle lazy load dylib. |
| 214 | (bfd_mach_o_read_command): Ditto. |
| 215 | |
| 216 | 2014-03-14 Meador Inge <meadori@codesourcery.com> |
| 217 | |
| 218 | * configure.in: Add strnlen to AC_CHECK_DECLS. |
| 219 | * config.in: Regenerate. |
| 220 | * configure: Regenerate. |
| 221 | * sysdep.h (strnlen): Add prototype. |
| 222 | |
| 223 | 2014-03-14 Alan Modra <amodra@gmail.com> |
| 224 | |
| 225 | * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow |
| 226 | handling for VLE_SDA21 relocs. |
| 227 | |
| 228 | 2014-03-13 Tristan Gingold <gingold@adacore.com> |
| 229 | |
| 230 | * peicode.h (pe_ILF_object_p): Adjust, as the version number |
| 231 | has been read. |
| 232 | (pe_bfd_object_p): Also read version number to detect ILF. |
| 233 | * pe-x86_64.c (COFF_WITH_PE_BIGOBJ): Define. |
| 234 | (x86_64pe_bigobj_vec): Define |
| 235 | * coffcode.h (bfd_coff_backend_data): Add _bfd_coff_max_nscns field. |
| 236 | (bfd_coff_max_nscns): New macro. |
| 237 | (coff_compute_section_file_positions): Use unsigned int for |
| 238 | target_index. Compare with bfd_coff_max_nscns. |
| 239 | (bfd_coff_std_swap_table, ticoff0_swap_table, ticoff1_swap_table): |
| 240 | Set a value for _bfd_coff_max_nscns. |
| 241 | (header_bigobj_classid): New constant. |
| 242 | (coff_bigobj_swap_filehdr_in, coff_bigobj_swap_filehdr_out) |
| 243 | (coff_bigobj_swap_sym_in, coff_bigobj_swap_sym_out) |
| 244 | (coff_bigobj_swap_aux_in, coff_bigobj_swap_aux_out): New |
| 245 | functions. |
| 246 | (bigobj_swap_table): New table. |
| 247 | * libcoff.h: Regenerate. |
| 248 | * coff-sh.c (bfd_coff_small_swap_table): Likewise. |
| 249 | * coff-alpha.c (alpha_ecoff_backend_data): Add value for |
| 250 | _bfd_coff_max_nscns. |
| 251 | * coff-mips.c (mips_ecoff_backend_data): Likewise. |
| 252 | * coff-rs6000.c (bfd_xcoff_backend_data) |
| 253 | (bfd_pmac_xcoff_backend_data): Likewise. |
| 254 | * coff64-rs6000.c (bfd_xcoff_backend_data) |
| 255 | (bfd_xcoff_aix5_backend_data): Likewise. |
| 256 | * targets.c (x86_64pe_bigobj_vec): Declare. |
| 257 | * configure.in (x86_64pe_bigobj_vec): New vector. |
| 258 | * configure: Regenerate. |
| 259 | * config.bfd: Add bigobj object format for Windows targets. |
| 260 | |
| 261 | 2014-03-12 Nick Clifton <nickc@redhat.com> |
| 262 | |
| 263 | PR ld/16671 |
| 264 | * elf32-arm.c (elf32_arm_add_symbol_hook): Check for ARM format |
| 265 | before testing for vxworks. |
| 266 | |
| 267 | 2014-03-12 Alan Modra <amodra@gmail.com> |
| 268 | |
| 269 | * Makefile.in: Regenerate. |
| 270 | |
| 271 | 2014-03-12 Alan Modra <amodra@gmail.com> |
| 272 | |
| 273 | PR 16690 |
| 274 | * elf.c (copy_elf_program_header): Ignore first section lma if |
| 275 | non-alloc. |
| 276 | |
| 277 | 2014-03-11 Alan Modra <amodra@gmail.com> |
| 278 | |
| 279 | PR 16686 |
| 280 | * coff-rs6000.c: Include stdint.h. |
| 281 | * coff64-rs6000.c: Likewise. |
| 282 | |
| 283 | 2014-03-10 Tristan Gingold <gingold@adacore.com> |
| 284 | |
| 285 | * ticoff.h: Removed. |
| 286 | |
| 287 | 2014-03-08 Alan Modra <amodra@gmail.com> |
| 288 | |
| 289 | * elf32-ppc.c (ppc_elf_howto_raw): Correct overflow check for |
| 290 | many relocations. Correct bitsize and rightshift too for a number |
| 291 | of VLE relocs. Describe R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO. |
| 292 | Correct dst_mask on R_PPC_VLE_SDA21_LO. |
| 293 | (ppc_elf_vle_split16): Tidy, delete unnecessary prototype. |
| 294 | (ppc_elf_relocate_section): Modify overflow test for 16-bit |
| 295 | fields in instructions to signed/unsigned according to whether |
| 296 | the field takes a signed or unsigned value. Tidy vle split16 code. |
| 297 | Correct R_PPC_VLE_SDA21 and R_PPC_VLE_SDA21_LO handling. |
| 298 | |
| 299 | 2014-03-08 Alan Modra <amodra@gmail.com> |
| 300 | |
| 301 | * elf64-ppc.c (ppc64_elf_howto_raw): Use complain_overflow_signed |
| 302 | for R_PPC64_ADDR14, R_PPC64_ADDR14_BRTAKEN, R_PPC64_ADDR14_BRNTAKEN, |
| 303 | R_PPC64_SECTOFF, R_PPC64_ADDR16_DS, R_PPC64_SECTOFF_DS, |
| 304 | R_PPC64_REL16 entries. Use complain_overflow_dont for R_PPC64_TOC. |
| 305 | (ppc64_elf_relocate_section): Modify overflow test for 16-bit |
| 306 | fields in instructions to signed/unsigned according to whether |
| 307 | the field takes a signed or unsigned value. |
| 308 | |
| 309 | 2014-03-07 Pedro Alves <palves@redhat.com> |
| 310 | |
| 311 | PR gdb/16696 |
| 312 | * rs6000-core.c (rs6000coff_core_p): Cast pointers to bfd_vma |
| 313 | through ptr_to_uint instead of through long. |
| 314 | |
| 315 | 2014-03-06 Nick Clifton <nickc@redhat.com> |
| 316 | |
| 317 | PR 16664 |
| 318 | * elf-attrs.c (_bfd_elf_parse_attributes): Add checks for corrupt |
| 319 | attribute section names. |
| 320 | |
| 321 | 2014-03-05 Alan Modra <amodra@gmail.com> |
| 322 | |
| 323 | Update copyright years. |
| 324 | |
| 325 | 2014-03-05 Alan Modra <amodra@gmail.com> |
| 326 | |
| 327 | * elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_ADDR64_LOCAL entry. |
| 328 | (ppc64_elf_reloc_type_lookup): Support R_PPC64_ADDR64_LOCAL. |
| 329 | (ppc64_elf_check_relocs): Likewise. |
| 330 | (ppc64_elf_relocate_section): Likewise. |
| 331 | * Add BFD_RELOC_PPC64_ADDR64_LOCAL. |
| 332 | * bfd-in2.h: Regenerate. |
| 333 | * libbfd.h: Regenerate. |
| 334 | |
| 335 | 2014-03-04 Heiher <r@hev.cc> |
| 336 | |
| 337 | * elfxx-mips.c (mips_set_isa_flags): Use E_MIPS_ARCH_64R2 for |
| 338 | Loongson-3A. |
| 339 | (mips_mach_extensions): Make bfd_mach_mips_loongson_3a an |
| 340 | extension of bfd_mach_mipsisa64r2. |
| 341 | |
| 342 | 2014-03-04 Nick Clifton <nickc@redhat.com> |
| 343 | |
| 344 | PR ld/16017 |
| 345 | * elf32-arm.c (elf32_thumb2_plt0_entry): New array. |
| 346 | (elf32_thumb2_plt_entry): New array. |
| 347 | (elf32_arm_create_dynamic_sections): Set PLT entry sizes when |
| 348 | using thumb2 based PLT. |
| 349 | (elf32_arm_populate_plt_entry): Handle generating Thumb2 based PLT |
| 350 | entries. |
| 351 | (elf32_arm_final_link_relocate): Do not bias jumps to Thumb based |
| 352 | PLT entries. |
| 353 | (elf32_arm_finish_dynamic_sections): Handle creation of Thumb2 |
| 354 | based PLT 0-entry. |
| 355 | (elf32_arm_output_plt_map_1): Handle creation of local symbols for |
| 356 | Thumb2 based PLT 0-entry. |
| 357 | (elf32_arm_output_arch_local_syms): Handle creation of local |
| 358 | symbols for Thumb2 based PLT entries. |
| 359 | |
| 360 | 2014-02-28 Alan Modra <amodra@gmail.com> |
| 361 | |
| 362 | PR ld/16643 |
| 363 | * elflink.c (elf_gc_sweep): Call gc_sweep_hook for exactly |
| 364 | the same conditions we called check_relocs. |
| 365 | |
| 366 | 2014-02-27 Yuri Gribov <y.gribov@samsung.com> |
| 367 | |
| 368 | * bfd-in.h: Add export of bfd_elf32_arm_use_long_plt. |
| 369 | * bfd-in2.h: Regenerate. |
| 370 | * elf32-arm.c (elf32_arm_plt_entry_long): New array. |
| 371 | (elf32_arm_link_hash_table_create): Set plt_entry_size to 16 if |
| 372 | using long PLT entries. |
| 373 | (bfd_elf32_arm_use_long_plt): New function. |
| 374 | (elf32_arm_populate_plt_entry): Add support for long PLT entries. |
| 375 | |
| 376 | 2014-02-27 Alan Modra <amodra@gmail.com> |
| 377 | |
| 378 | * elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default |
| 379 | params for targets that don't use ppc32elf.em. |
| 380 | |
| 381 | 2014-02-20 Chung-Lin Tang <cltang@codesourcery.com> |
| 382 | |
| 383 | * elf32-nios2.c (nios2_elf32_relocate_section): Fix calculation |
| 384 | of GOTOFF relocations. |
| 385 | |
| 386 | 2014-02-19 Igor Zamyatin <igor.zamyatin@intel.com> |
| 387 | H.J. Lu <hongjiu.lu@intel.com> |
| 388 | |
| 389 | * elf64-x86-64.c (elf_x86_64_bnd_plt0_entry): New. |
| 390 | (elf_x86_64_legacy_plt_entry): Likewise. |
| 391 | (elf_x86_64_bnd_plt_entry): Likewise. |
| 392 | (elf_x86_64_legacy_plt2_entry): Likewise. |
| 393 | (elf_x86_64_bnd_plt2_entry): Likewise. |
| 394 | (elf_x86_64_bnd_arch_bed): Likewise. |
| 395 | (elf_x86_64_link_hash_entry): Add has_bnd_reloc and plt_bnd. |
| 396 | (elf_x86_64_link_hash_table): Add plt_bnd. |
| 397 | (elf_x86_64_link_hash_newfunc): Initialize has_bnd_reloc and |
| 398 | plt_bnd. |
| 399 | (elf_x86_64_copy_indirect_symbol): Also copy has_bnd_reloc. |
| 400 | (elf_x86_64_check_relocs): Create the second PLT for Intel MPX |
| 401 | in 64-bit mode. |
| 402 | (elf_x86_64_allocate_dynrelocs): Handle the second PLT for IFUNC |
| 403 | symbols. Resolve call to the second PLT if it is created. |
| 404 | (elf_x86_64_size_dynamic_sections): Keep the second PLT section. |
| 405 | (elf_x86_64_relocate_section): Resolve PLT references to the |
| 406 | second PLT if it is created. |
| 407 | (elf_x86_64_finish_dynamic_symbol): Use BND PLT0 and fill the |
| 408 | second PLT entry for BND relocation. |
| 409 | (elf_x86_64_finish_dynamic_sections): Use MPX backend data if |
| 410 | the second PLT is created. |
| 411 | (elf_x86_64_get_synthetic_symtab): New. |
| 412 | (bfd_elf64_get_synthetic_symtab): Likewise. Undefine for NaCl. |
| 413 | |
| 414 | 2014-02-19 Alan Modra <amodra@gmail.com> |
| 415 | |
| 416 | * elf64-ppc.h (struct ppc64_elf_params): Add save_restore_funcs. |
| 417 | * elf64-ppc.c (ppc64_elf_func_desc_adjust): Use it to control |
| 418 | provision of out-of-line register save/restore routines. |
| 419 | |
| 420 | 2014-02-18 Jack Carter <jack.carter@imgtec.com> |
| 421 | |
| 422 | * elfxx-mips.c(_bfd_mips_elf_modify_segment_map): Deleted hard coding of |
| 423 | PT_DYNAMIC segment flags. |
| 424 | |
| 425 | 2014-02-17 Jan Kratochvil <jan.kratochvil@redhat.com> |
| 426 | |
| 427 | PR binutils/16595 |
| 428 | * simple.c (struct saved_offsets): New. |
| 429 | (simple_save_output_info): Use it for ptr. |
| 430 | (simple_restore_output_info): Use it for ptr. Check section_count. |
| 431 | (bfd_simple_get_relocated_section_contents): Use it for saved_offsets. |
| 432 | |
| 433 | 2014-02-17 Alan Modra <amodra@gmail.com> |
| 434 | |
| 435 | * elf64-ppc.h (struct ppc64_elf_params): Define. |
| 436 | (ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup, |
| 437 | ppc64_elf_setup_section_lists, ppc64_elf_size_stubs, |
| 438 | ppc64_elf_build_stubs): Update prototype. |
| 439 | * elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other |
| 440 | fields now in params. Adjust code throughout file. |
| 441 | (ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params". |
| 442 | Save params pointer in htab. |
| 443 | (ppc64_elf_edit_opd, ppc64_elf_tls_setup, |
| 444 | ppc64_elf_setup_section_lists, ppc64_elf_size_stubs, |
| 445 | ppc64_elf_build_stubs): Remove parameters now in "params". |
| 446 | |
| 447 | 2014-02-17 Alan Modra <amodra@gmail.com> |
| 448 | |
| 449 | * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns |
| 450 | patched for ppc476 workaround. Reapply branch taken/not taken |
| 451 | relocs. |
| 452 | |
| 453 | 2014-02-12 Alan Modra <amodra@gmail.com> |
| 454 | |
| 455 | * elf32-ppc.c (ppc_elf_relax_section): Don't build long-branch |
| 456 | stubs for calls to __tls_get_addr that we know will later be |
| 457 | optimised away. |
| 458 | |
| 459 | 2014-02-12 Alan Modra <amodra@gmail.com> |
| 460 | |
| 461 | * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround |
| 462 | for ld -r, when code sections are sufficiently aligned. |
| 463 | * elf32-ppc.h (struct ppc_elf_params): Delete pagesize. Add |
| 464 | pagesize_p2. |
| 465 | |
| 466 | 2014-02-12 Alan Modra <amodra@gmail.com> |
| 467 | |
| 468 | PR gold/15530 |
| 469 | * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support |
| 470 | --export-dynamic and --dynamic-list marking of symbols. |
| 471 | * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Reorder |
| 472 | cheap tests first. |
| 473 | |
| 474 | 2014-02-10 H.J. Lu <hongjiu.lu@intel.com> |
| 475 | |
| 476 | PR gold/16530 |
| 477 | * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Mark symbol in |
| 478 | executables if it matches dynamic_list. |
| 479 | |
| 480 | 2014-02-10 Alan Modra <amodra@gmail.com> |
| 481 | |
| 482 | * po/SRC-POTFILES.in: Regenerate. |
| 483 | * po/bfd.pot: Regenerate. |
| 484 | |
| 485 | 2014-02-09 Alan Modra <amodra@gmail.com> |
| 486 | |
| 487 | * elf-bfd.h (struct elf_backend_data): Add caches_rawsize. |
| 488 | * elfxx-target.h (elf_backend_caches_rawsize): Define. |
| 489 | (elfNN_bed): Init new field. |
| 490 | * elflink.c (elf_link_input_bfd): Handle caches_rawsize. |
| 491 | * elf32-ppc.c (shared_stub_entry): Zero addi offset. |
| 492 | (ppc_elf_relax_section): Don't reallocate section here, write |
| 493 | stubs, or write out relocs for ld -r here.. |
| 494 | (ppc_elf_relocate_section): ..instead write stubs here, and use |
| 495 | existing code to write out relocs for ld -r. Fix offset |
| 496 | adjustment on reloc for little-endian. |
| 497 | (elf_backend_caches_rawsize): Define. |
| 498 | |
| 499 | 2014-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| 500 | |
| 501 | PR build/16550 |
| 502 | * cache.c (bfd_cache_max_open): Cast RLIM_INFINITY to rlim_t. |
| 503 | |
| 504 | 2014-02-04 Jan Kratochvil <jan.kratochvil@redhat.com> |
| 505 | |
| 506 | * coff-rs6000.c (xcoff_write_archive_contents_big): Free OFFSETS in |
| 507 | return paths. Three times. |
| 508 | * elf64-ppc.c (ppc64_elf_link_hash_table_create): Free HTAB in all |
| 509 | return paths. |
| 510 | (ppc64_elf_tls_optimize): Free TOC_REF in return path. |
| 511 | (ppc64_elf_edit_toc): Free USED in return path. |
| 512 | |
| 513 | 2014-02-03 Sandra Loosemore <sandra@codesourcery.com> |
| 514 | |
| 515 | * reloc.c (BFD_RELOC_NIOS2_GOT_LO, BFD_RELOC_NIOS2_GOT_HA): New. |
| 516 | (BFD_RELOC_NIOS2_CALL_LO, BFD_RELOC_NIOS2_CALL_HA): New. |
| 517 | * libbfd.h: Regenerated. |
| 518 | * bfd-in2.h: Regenerated. |
| 519 | * elf32-nios2.c (elf_nios2_howto_table_rel): Add new relocations. |
| 520 | (nios2_reloc_map): Likewise. |
| 521 | (GOT_USED, CALL_USED): Renamed from GOT16_USED and CALL16_USED. |
| 522 | Fixed all references. |
| 523 | (nios2_elf32_relocate_section): Add new relocations. |
| 524 | (nios2_elf32_check_relocs): Likewise. |
| 525 | (nios2_elf32_gc_sweep_hook): Likewise. |
| 526 | |
| 527 | 2014-02-03 Alan Modra <amodra@gmail.com> |
| 528 | |
| 529 | * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params. |
| 530 | Delete emit_stub_syms, no_tls_get_addr_opt. Update all uses. |
| 531 | (ppc_elf_link_params): New function. |
| 532 | (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476 |
| 533 | workaround. |
| 534 | (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms |
| 535 | parameters. Use htab->params instead. |
| 536 | (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter. |
| 537 | (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to |
| 538 | 64 bytes for ppc476 workaround. |
| 539 | (struct ppc_elf_relax_info): New. |
| 540 | (ppc_elf_relax_section): Exclude linker created sections and |
| 541 | those too small to hold one instruction. Don't add another |
| 542 | branch around trampolines on later relax passes. Don't |
| 543 | generate trampolines for undefined symbols when !relocatable, |
| 544 | nor for plugin symbols. Allocate space for ppc476 workaround |
| 545 | patch area. Free fixups on error return path. |
| 546 | (ppc_elf_relocate_section): Handle ppc476 workaround patching. |
| 547 | * elf32-ppc.h (struct ppc_elf_params): New. |
| 548 | (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype. |
| 549 | (ppc_elf_link_params): Declare. |
| 550 | * section.c (SEC_INFO_TYPE_TARGET): Define. |
| 551 | * bfd-in2.h: Regenerate. |
| 552 | |
| 553 | 2014-02-02 Sandra Loosemore <sandra@codesourcery.com> |
| 554 | |
| 555 | * elf32-nios2.c (struct elf32_nios2_link_hash_table): Add |
| 556 | h_gp_got field. |
| 557 | (nios2_elf32_relocate_section): Use got_base to adjust |
| 558 | GOT-pointer-relative relocations relative to _gp_got. |
| 559 | (create_got_section): Create _gp_got symbol. |
| 560 | (nios2_elf32_finish_dynamic_symbol): Make _gp_got absolute. |
| 561 | (nios2_elf32_size_dynamic_sections): Set _gp_got offset. |
| 562 | |
| 563 | 2014-01-30 Sandra Loosemore <sandra@codesourcery.com> |
| 564 | |
| 565 | * bfd-in2.h: Update from reloc.c. |
| 566 | * elf32-nios2.c: Include elf32-nios2.h. |
| 567 | (elf_nios2_howto_table_rel): Add entry for R_NIOS2_CALL26_NOAT. |
| 568 | (nios2_reloc_map): Likewise. |
| 569 | (enum elf32_nios2_stub_type): Declare. |
| 570 | (struct elf32_nios2_stub_hash_entry): Declare. |
| 571 | (nios2_stub_hash_entry, nios2_stub_hash_lookup): New macros. |
| 572 | (struct elf32_nios2_link_hash_entry): Add hsh_cache field. |
| 573 | (struct elf32_nios2_link_hash_table): Add new fields bstab, |
| 574 | stub_bfd, add_stub_section, layout_sections_again, stub_group, |
| 575 | bfd_count, top_index, input_list, all_local_syms. |
| 576 | (nios2_call26_stub_entry): New. |
| 577 | (nios2_elf32_install_imm16): Move up in file. |
| 578 | (nios2_elf32_install_data): Move up in file. |
| 579 | (hiadj): Move up in file. |
| 580 | (stub_hash_newfunc): New. |
| 581 | (link_hash_newfunc): Initialize hsh_cache field. |
| 582 | (STUB_SUFFIX): New. |
| 583 | (nios2_stub_name): New. |
| 584 | (nios2_get_stub_entry): New. |
| 585 | (nios2_add_stub): New. |
| 586 | (nios2_elf32_setup_section_lists): New. |
| 587 | (nios2_elf32_next_input_section): New. |
| 588 | (CALL26_SEGMENT): New. |
| 589 | (MAX_STUB_SECTION_SIZE): New. |
| 590 | (group_sections): New. |
| 591 | (nios2_type_of_stub): New. |
| 592 | (nios2_build_one_stub): New. |
| 593 | (nios2_size_one_stub): New. |
| 594 | (get_local_syms): New. |
| 595 | (nios2_elf32_size_stubs): New. |
| 596 | (nios2_elf32_build_stubs): New. |
| 597 | (nios2_elf32_do_call26_relocate): Correct CALL26 overflow test. |
| 598 | (nios2_elf32_relocate_section): Handle R_NIOS2_CALL26_NOAT. Add |
| 599 | trampolines for R_NIOS2_CALL26 stubs. |
| 600 | (nios2_elf32_check_relocs): Handle R_NIOS2_CALL26_NOAT. |
| 601 | (nios2_elf32_gc_sweep_hook): Likewise. |
| 602 | (nios2_elf32_link_hash_table_create): Initialize the stub hash table. |
| 603 | (nios2_elf32_link_hash_table_free): New. |
| 604 | (bfd_elf32_bfd_link_hash_table_free): Define. |
| 605 | * elf32-nios2.h: New file. |
| 606 | * libbfd.h: Update from reloc.c. |
| 607 | * reloc.c (BFD_RELOC_NIOS2_CALL26_NOAT): New. |
| 608 | |
| 609 | 2014-01-29 Nick Clifton <nickc@redhat.com> |
| 610 | |
| 611 | PR binutils/16318 |
| 612 | * elf32-metag.c (elf_metag_post_process_headers): Call |
| 613 | _bfd_elf_post_process_headers. |
| 614 | * elf32-sh64.c (sh64_elf_copy_private_data): Call |
| 615 | _bfd_elf_copy_private_data. |
| 616 | * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise. |
| 617 | |
| 618 | 2014-01-29 Nick Clifton <nickc@redhat.com> |
| 619 | |
| 620 | * bfd-in.h (bfd_set_section_vma): Delete. |
| 621 | (bfd_set_section_alignment): Delete. |
| 622 | (bfd_set_section_userdata): Delete. |
| 623 | (bfd_set_cacheable): Delete. |
| 624 | * bfd.c (bfd_set_cacheable): New static inline function. |
| 625 | * section.c (bfd_set_section_userdata): Likewise. |
| 626 | (bfd_set_section_vma): Likewise. |
| 627 | (bfd_set_section_alignment): Likewise. |
| 628 | * bfd-in2.h: Regenerate. |
| 629 | |
| 630 | 2014-01-28 Nick Clifton <nickc@redhat.com> |
| 631 | |
| 632 | * dwarf2.c (find_abstract_instance_name): For DW_FORM_ref_addr |
| 633 | attributes select the CU containing the abbreviation, which may not |
| 634 | be the current CU. |
| 635 | |
| 636 | 2014-01-24 Alan Modra <amodra@gmail.com> |
| 637 | |
| 638 | * elf64-ppc.c (ppc_build_one_stub): Correct reloc count passed |
| 639 | to get_relocs for ELFv2. |
| 640 | |
| 641 | 2014-01-23 H.J. Lu <hongjiu.lu@intel.com> |
| 642 | |
| 643 | PR ld/16498 |
| 644 | * elf.c (_bfd_elf_map_sections_to_segments): Issue a linker error |
| 645 | if TLS sections are not adjacent. |
| 646 | |
| 647 | 2014-01-22 Alan Modra <amodra@gmail.com> |
| 648 | |
| 649 | * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed. |
| 650 | |
| 651 | 2014-01-22 Alan Modra <amodra@gmail.com> |
| 652 | |
| 653 | * elf64-ppc.c (STK_LINKER): Comment typo fix. |
| 654 | |
| 655 | 2014-01-21 H.J. Lu <hongjiu.lu@intel.com> |
| 656 | |
| 657 | PR ld/16467 |
| 658 | * elflink.c (_bfd_elf_merge_symbol): When types of the existing |
| 659 | regular default symbol definition and the versioned dynamic |
| 660 | symbol definition mismatch, skip the default symbol definition |
| 661 | if one of them is IFUNC. |
| 662 | |
| 663 | 2014-01-21 H.J. Lu <hongjiu.lu@intel.com> |
| 664 | |
| 665 | PR ld/2404 |
| 666 | * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared, |
| 667 | info->export_dynamic nor h->ref_dynamic for type mismatch when |
| 668 | adding the default version. |
| 669 | |
| 670 | 2014-01-16 Alan Modra <amodra@gmail.com> |
| 671 | |
| 672 | * elfxx-mips.c (mips_elf_record_got_page_entry): Pass in a |
| 673 | mips_elf_traverse_got_arg* rather than mips_got_info*. |
| 674 | Adjust caller. Alloc on output_bfd rather than symbol section |
| 675 | owner. |
| 676 | |
| 677 | 2014-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| 678 | |
| 679 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last |
| 680 | change. |
| 681 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. |
| 682 | |
| 683 | 2014-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| 684 | |
| 685 | PR ld/16428 |
| 686 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't discard relocs |
| 687 | against __ehdr_start. |
| 688 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. |
| 689 | |
| 690 | 2014-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| 691 | |
| 692 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Revert the last |
| 693 | change. |
| 694 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. |
| 695 | |
| 696 | 2014-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| 697 | |
| 698 | PR ld/16428 |
| 699 | * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't update reloc |
| 700 | count if there are any non pc-relative relocs. |
| 701 | * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise. |
| 702 | |
| 703 | 2014-01-14 Michael Hudson-Doyle <michael.hudson@linaro.org> |
| 704 | Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org> |
| 705 | |
| 706 | * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use correct |
| 707 | offset while calculating relocation address. |
| 708 | (elfNN_aarch64_create_small_pltn_entry): Likewise. |
| 709 | (elfNN_aarch64_init_small_plt0_entry): Likewise. |
| 710 | |
| 711 | 2014-01-13 Ma Jiang <ma.jiang@zte.com.cn> |
| 712 | |
| 713 | PR ld/16202 |
| 714 | * elf32-arm.c (elf32_arm_final_link_relocate): Refetch addends for |
| 715 | R_ARM_ABS8 and R_ARM_ABS16. |
| 716 | |
| 717 | 2014-01-13 Alan Modra <amodra@gmail.com> |
| 718 | |
| 719 | * elf32-ppc.c (ppc_elf_check_relocs): For @local call to ifunc, |
| 720 | error when shared and force a plt call otherwise. |
| 721 | (ppc_elf_size_dynamic_sections): Don't emit DT_PPC_GOT unless |
| 722 | plt_type == PLT_NEW. |
| 723 | (ppc_elf_relocate_section): Add missing test to resolve ifuncs to |
| 724 | the appropriate call stub. |
| 725 | |
| 726 | 2014-01-10 Alan Modra <amodra@gmail.com> |
| 727 | |
| 728 | PR ld/14207 |
| 729 | PR ld/16322 |
| 730 | PR binutils/16323 |
| 731 | * elf.c (assign_file_positions_for_load_sections): Revert last change. |
| 732 | (assign_file_positions_for_non_load_sections): When setting up |
| 733 | PT_GNU_RELRO header, don't require a corresponding PT_LOAD |
| 734 | header that completely covers the relro region. |
| 735 | |
| 736 | 2014-01-09 Tristan Gingold <gingold@adacore.com> |
| 737 | |
| 738 | * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): use jump |
| 739 | table macros and add macros to initializa the structure. |
| 740 | |
| 741 | 2014-01-08 H.J. Lu <hongjiu.lu@intel.com> |
| 742 | |
| 743 | PR ld/14207 |
| 744 | PR ld/16322 |
| 745 | PR binutils/16323 |
| 746 | * elf.c (_bfd_elf_map_sections_to_segments): Don't check section |
| 747 | size for PT_GNU_RELRO segment. |
| 748 | (assign_file_positions_for_load_sections): If PT_LOAD segment |
| 749 | doesn't fit PT_GNU_RELRO segment, adjust its p_filesz and p_memsz. |
| 750 | |
| 751 | 2014-01-07 Tom Tromey <tromey@redhat.com> |
| 752 | |
| 753 | * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility |
| 754 | wrappers. |
| 755 | |
| 756 | 2014-01-03 Nick Clifton <nickc@redhat.com> |
| 757 | |
| 758 | PR binutils/16199 |
| 759 | * elf.c (vma_page_aligned_bias): Handle a maxpagesize value of |
| 760 | zero. |
| 761 | |
| 762 | 2014-01-02 Yuanhui Zhang <asmwarrior@gmail.com> |
| 763 | |
| 764 | PR binutils/14289 |
| 765 | * pef.c (bfd_pef_xlib_read_header): Increase buffer size to 80. |
| 766 | |
| 767 | 2014-01-02 Nick Clifton <nickc@redhat.com> |
| 768 | |
| 769 | PR binutils/11983 |
| 770 | * archive.c (_bfd_get_elt_at_filepos): Store a copy of the |
| 771 | filename in the bfd's filename field. |
| 772 | * elfcode.h (bfd_from_remote_memory): Likewise. |
| 773 | * ieee.c (ieee_object_p): Likewise. |
| 774 | * mach-o.c (bfd_mach_o_fat_member_init): Likewise. |
| 775 | * oasys.c (oasys_openr_next_archived_file): Likewise. |
| 776 | * vms-lib.c (_bfd_vms_lib_get_module): Likewise. |
| 777 | * opncls.c (bfd_fopen): Likewise. |
| 778 | (bfd_openstreamr): Likewise. |
| 779 | (bfd_openr_iovec): Likewise. |
| 780 | (bfd_openw): Likewise. |
| 781 | (bfd_create): Likewise. |
| 782 | (_bfd_delete_bfd): Free filename. |
| 783 | |
| 784 | For older changes see ChangeLog-2013 |
| 785 | \f |
| 786 | Copyright (C) 2014 Free Software Foundation, Inc. |
| 787 | |
| 788 | Copying and distribution of this file, with or without modification, |
| 789 | are permitted in any medium without royalty provided the copyright |
| 790 | notice and this notice are preserved. |
| 791 | |
| 792 | Local Variables: |
| 793 | mode: change-log |
| 794 | left-margin: 8 |
| 795 | fill-column: 74 |
| 796 | version-control: never |
| 797 | End: |