aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
2013-12-12Remove bfd_elf32_bfd_set_private_bfd_flagsH.J. Lu2-2/+4
* elf32-sh.c (bfd_elf32_bfd_set_private_bfd_flags): Removed.
2013-12-12Set ET_EXEC for -pie -Ttext-segment=H.J. Lu2-0/+26
bfd/ * elf.c (assign_file_positions_except_relocs): Set e_type in ELF header to ET_EXEC for -pie -Ttext-segment=. 2013-12-10 H.J. Lu <hongjiu.lu@intel.com> * ld-pie/vaddr-0.d: New file. * ld-pie/vaddr-1.d: Likewise. * ld-pie/vaddr.s: Likewise.
2013-12-12daily updateAlan Modra1-1/+1
2013-12-11daily updateAlan Modra1-1/+1
2013-12-10daily updateAlan Modra1-1/+1
2013-12-09daily updateAlan Modra1-1/+1
2013-12-08correct file referenceAlan Modra1-1/+1
2013-12-08Fix --as-needed undefined symbol references from dynamic libraries.Alan Modra2-0/+14
libx.so refers to some_sym, liby.so provides some_sym@some_version wasn't seen as satisfying the reference. * elf64-ppc.c (_bfd_elf_add_default_symbol): Set dynamic_def and ref_dynamic_nonweak when chaining together indirect symbols.
2013-12-08daily updateAlan Modra1-1/+1
2013-12-07daily updateAlan Modra1-1/+1
2013-12-06Add epilog unwind for x86_64 pe/coffTristan Gingold2-14/+41
include/coff/ 2013-12-06 Tristan Gingold <gingold@adacore.com> * pe.h (UWOP_EPILOG, UWOP_PARE): Define. bfd/ 2013-12-06 Tristan Gingold <gingold@adacore.com> * pei-x86_64.c (pex64_xdata_print_uwd_codes): Add argument rf. Display epilog opcode. (pex64_dump_xdata): Add argument rf; make addr a local variable. Adjust call to pex64_xdata_print_uwd_codes. (pex64_bfd_print_pdata): Display code range, adjust call to pex64_dump_xdata.
2013-12-06daily updateAlan Modra1-1/+1
2013-12-05Clear allocated target data.Tristan Gingold2-1/+5
2013-12-05 Tristan Gingold <gingold@adacore.com> * mach-o.c (bfd_mach_o_mkobject_init): Use bfd_zalloc.
2013-12-05daily updateAlan Modra1-1/+1
2013-12-04daily updateAlan Modra1-1/+1
2013-12-03 * peXXigen.c (pe_print_resource_entries): New function: DisplaysNick Clifton2-0/+220
an entry in a .rsrc section. (pe_print_resource_directory): New function: Displays a directory in a .rsrc section. (pe_print_rsrc): New function: Displays the contents of .rsrc section. (_bfd_XX_print_private_bfd_data_common): Call pe_print_rsrc. * binutils-all/windres/windres.exp: Run for x86_64-pc-cygwin. Add test of "objump -p" output.
2013-12-03More PowerPC64 ELFv2 --just-symbols fixesAlan Modra2-15/+21
I don't know what I was thinking here to omit the save of r2. Possibly I was looking at -msave-toc-indirect code at the time, where r2 is saved in the function prologue. * elf64-ppc.c (ppc_build_one_stub <ppc_stub_plt_branch_r2off>): Don't omit saving of r2 for ELFv2. Don't addi 2,2,0. (ppc_size_one_stub <ppc_stub_plt_branch_r2off>): Adjust to suit.
2013-12-03PowerPC64 linking of --just-symbols objects (klibc)Alan Modra2-4/+7
With -mcmodel=medium we can't assume that a -R object doesn't use toc-relative addressing if there's no toc. Lots of things are accessed via r2, not just the toc/got section. Also, testing for .opd is plain wrong for ELFv2. * elf64-ppc.c (ppc64_elf_link_just_syms): Remove .got check. Handle ELFv2.
2013-12-03daily updateAlan Modra1-1/+1
2013-12-02daily updateAlan Modra1-1/+1
2013-12-01daily updateAlan Modra1-1/+1
2013-11-30daily updateAlan Modra1-1/+1
2013-11-29daily updateAlan Modra1-1/+1
2013-11-28daily updateAlan Modra1-1/+1
2013-11-27Improve dump of xdata/pdata on x86_64.Tristan Gingold1-253/+297
bfd/ 2013-11-27 Tristan Gingold <gingold@adacore.com> * pei-x86_64.c (pex_regs): Make it const. Add comments. (pex64_get_runtime_function): Do not split UnwindData. (pex64_get_unwind_info): Extract the chain and the handler. (pex64_xdata_print_uwd_codes): Rewritten: do not reverse print the opcode, handle version 2, add consistency check, make the code host neutral. (pex64_dump_xdata): Change arguments to pass the section and its content. Handle version 2, change output. (pex64_bfd_print_pdata): Add comments, load section for xdata. Avoid duplicate outputs. include/coff 2013-11-27 Tristan Gingold <gingold@adacore.com> * pe.h (struct pex64_runtime_function): Remove isChained. (UWOP_SAVE_XMM): Add comment. (struct pex64_unwind_info): Remove extra fields.
2013-11-27daily updateAlan Modra1-1/+1
2013-11-26bfd/elfnn-aarch64.c: Handle static links with ifunc correctly.Will Newton2-1/+34
The code for handling GOT references to ifunc symbols in static links was missing. bfd/ChangeLog: 2013-11-26 Will Newton <will.newton@linaro.org> * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Handle STT_GNU_IFUNC symbols correctly in static links. ld/testsuite/ChangeLog: 2013-11-26 Will Newton <will.newton@linaro.org> * ld-aarch64/aarch64-elf.exp: Add ifunc-22. * ld-aarch64/ifunc-22.d: New file. * ld-aarch64/ifunc-22.s: Likewise.
2013-11-26bfd/elfnn-aarch64.c: Fix miscalculation of GOTPLT offset for ifunc syms.Will Newton2-1/+7
The .got.plt header size was not being correctly taken into account when calculating the offset for relocations against ifunc symbols. bfd/ChangeLog: 2013-11-26 Will Newton <will.newton@linaro.org> * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Ensure PLT_INDEX is calculated using correct header size. ld/testsuite/ChangeLog: 2013-11-26 Will Newton <will.newton@linaro.org> * ld-aarch64/aarch64-elf.exp: Add ifunc-21 test. * ld-aarch64/ifunc-21.d: New file. * ld-aarch64/ifunc-21.s: Likewise.
2013-11-26daily updateAlan Modra1-1/+1
2013-11-25daily updateAlan Modra1-1/+1
2013-11-24daily updateAlan Modra1-1/+1
2013-11-23daily updateAlan Modra1-1/+1
2013-11-22 * windres.c (define_resource): Use zero for timestamp, makingCory Fields4-9/+16
output deterministic. time.h include is no longer needed. * resres.c (res_append_resource): Likewise. * pe-dll.c (fill_edata): Only use a real timestamp if --insert-timestamp was used. * emultempl/pe.em: Add the --insert-timestamp option. * emultempl/pep.em: Likewise for 64bit. * ld.texinfo: Document the --insert-timestamp option. * libcoff-in.h: Add insert_timestamp flag to the pe_data struct. * libcoff.h: Regenerate. * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Only use a real timestamp if --insert-timestamp was used.
2013-11-22daily updateAlan Modra1-1/+1
2013-11-21daily updateAlan Modra1-1/+1
2013-11-19Fix *-nacl* target objcopy/strip of binary made with custom linker scriptRoland McGrath2-6/+24
bfd/ * elf-nacl.c (nacl_modify_segment_map): Calculate SIZEOF_HEADERS when not doing linking (i.e. INFO is a null pointer).
2013-11-20daily updateAlan Modra1-1/+1
2013-11-19Re-indent elf_x86_64_section_from_shdrH.J. Lu2-4/+6
* elf64-x86-64.c (elf_x86_64_section_from_shdr): Re-indent.
2013-11-19daily updateAlan Modra1-1/+1
2013-11-18daily updateAlan Modra1-1/+1
2013-11-17Add R_X86_64_PC32_BND and R_X86_64_PLT32_BNDH.J. Lu5-3/+51
bfd/ * elf64-x86-64.c (x86_64_elf_howto_table): Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND. (R_X86_64_standard): Replace R_X86_64_RELATIVE64 with R_X86_64_PLT32_BND. (IS_X86_64_PCREL_TYPE): Add R_X86_64_PLT32_BND. (x86_64_reloc_map): Add BFD_RELOC_X86_64_PC32_BND and BFD_RELOC_X86_64_PLT32_BND. (elf_x86_64_check_relocs): Handle R_X86_64_PC32_BND and R_X86_64_PLT32_BND. (elf_x86_64_gc_sweep_hook): Likewise. (elf_x86_64_relocate_section): Likewise. * reloc.c (bfd_reloc_code_real): Add BFD_RELOC_X86_64_PC32_BND and BFD_RELOC_X86_64_PLT32_BND. * bfd-in2.h: Regenerated. * libbfd.h: Likewise. gas/ * config/tc-i386.c (reloc): Add an argument, bnd_prefix, to indicate if instruction has the BND prefix. Return BFD_RELOC_X86_64_PC32_BND instead of BFD_RELOC_32_PCREL if bnd_prefix isn't zero. (output_branch): Pass BFD_RELOC_X86_64_PC32_BND to frag_var if needed. (output_jump): Update reloc call. (output_interseg_jump): Likewise. (output_disp): Likewise. (output_imm): Likewise. (x86_cons_fix_new): Likewise. (lex_got): Add an argument, bnd_prefix, to indicate if instruction has the BND prefix. Use BFD_RELOC_X86_64_PLT32_BND if needed. (x86_cons): Update lex_got call. (i386_immediate): Likewise. (i386_displacement): Likewise. (md_apply_fix): Handle BFD_RELOC_X86_64_PC32_BND and BFD_RELOC_X86_64_PLT32_BND. (tc_gen_reloc): Likewise. * config/tc-i386-intel.c (i386_operator): Update lex_got call. gas/testsuite/ * gas/i386/i386.exp: Run x86-64-mpx-branch-1 and x86-64-mpx-branch-2 on 64-bit ELF targets. * gas/i386/x86-64-mpx-branch-1.d: New file. * gas/i386/x86-64-mpx-branch-1.s: Likewise. * gas/i386/x86-64-mpx-branch-2.d: Likewise. * gas/i386/x86-64-mpx-branch-2.s: Likewise. include/elf/ * x86-64.h: Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND. ld/testsuite/ * ld-x86-64/mpx.exp: New file. * ld-x86-64/mpx1.out: Likewise. * ld-x86-64/mpx1a.c: Likewise. * ld-x86-64/mpx1a.rd: Likewise. * ld-x86-64/mpx1b.c: Likewise. * ld-x86-64/mpx1c.c: Likewise. * ld-x86-64/mpx1c.rd: Likewise.
2013-11-17daily updateAlan Modra1-1/+1
2013-11-16daily updateAlan Modra1-1/+1
2013-11-15Make room for PLT0 directlyH.J. Lu3-2/+8
* elf32-i386.c (elf_i386_allocate_dynrelocs): Make room for PLT0 directly. * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2013-11-15daily updateAlan Modra1-1/+1
2013-11-14 PR ld/16017Nick Clifton2-7/+34
* elf32-arm.c (elf32_arm_populate_plt_entry): Return a boolean value, TRUE for success, FALSE for failure. Fail if attempting to create a PLT entry for a thumb only target. (elf32_arm_final_link_relocate): Check result of calling elf32_arm_populate_plt_entry. (elf32_arm_finish_dynamic_symbol): Likewise.
2013-11-14 PR ld/16082Nick Clifton2-0/+10
* elf32-hppa.c (elf32_hppa_hide_symbol): Remove old version information when forcing a symbol to be local.
2013-11-14daily updateAlan Modra1-1/+1
2013-11-13bfd/Yufeng Zhang2-0/+18
* elfnn-aarch64.c (elfNN_aarch64_howto_table): Use R_AARCH64_TLS_DTPMOD64 instead of R_AARCH64_TLS_DTPMOD; likewise for R_AARCH64_TLS_DTPREL and R_AARCH64_TLS_TPREL. include/elf/ * aarch64.h: Define R_AARCH64_TLS_DTPMOD64, R_AARCH64_TLS_DTPREL64 and R_AARCH64_TLS_TPREL64; guard R_AARCH64_TLS_DTPMOD, R_AARCH64_TLS_DTPREL and R_AARCH64_TLS_TPREL with RELOC_MACROS_GEN_FUNC.
2013-11-13daily updateAlan Modra1-1/+1