aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-07-19daily updateAlan Modra1-1/+1
2014-07-18daily updateAlan Modra1-1/+1
2014-07-17Properly handle EVEX register aliasesIlya Tocar6-0/+40
gas/ * config/tc-i386.c (parse_register): Set need_vrex. gas/testsuite/ * gas/i386/x86-64-equ.d: New. * gas/i386/x86-64-equ.s: New. * gas/i386/i386.exp: Run x86-64-equ.
2014-07-17daily updateAlan Modra1-1/+1
2014-07-16daily updateAlan Modra1-1/+1
2014-07-15daily updateAlan Modra1-1/+1
2014-07-14daily updateAlan Modra1-1/+1
2014-07-13daily updateAlan Modra1-1/+1
2014-07-12daily updateAlan Modra1-1/+1
2014-07-11daily updateAlan Modra1-1/+1
2014-07-10daily updateAlan Modra1-1/+1
2014-07-09daily updateAlan Modra1-1/+1
2014-07-08Fix disasm of vmovsd/vmovss with different length values.Ilya Tocar11-66/+82
gas/testsuite * gas/i386/evex-lig256-intel.d: Updated. * gas/i386/evex-lig256.d: Updated. * gas/i386/evex-lig512-intel.d: Updated. * gas/i386/evex-lig512-intel.d: Updated. * gas/i386/x86-64-evex-lig256-intel.d: Updated. * gas/i386/x86-64-evex-lig256.d: Updated. * gas/i386/x86-64-evex-lig512-intel.d: Updated. * gas/i386/x86-64-evex-lig512-intel.d: Updated. opcodes * i386-dis-evex.h (EVEX_W_0F10_P_1_M_1): Fix vmovss. (EVEX_W_0F10_P_3_M_1): Fix vmovsd.
2014-07-08daily updateAlan Modra1-1/+1
2014-07-07daily updateAlan Modra1-1/+1
2014-07-06daily updateAlan Modra1-1/+1
2014-07-05daily updateAlan Modra1-1/+1
2014-07-04daily updateAlan Modra1-1/+1
2014-07-03daily updateAlan Modra1-1/+1
2014-07-02daily updateAlan Modra1-1/+1
2014-07-01daily updateAlan Modra1-1/+1
2014-06-30daily updateAlan Modra1-1/+1
2014-06-28daily updateAlan Modra1-1/+1
2014-06-27daily updateAlan Modra1-1/+1
2014-06-26daily updateAlan Modra1-1/+1
2014-06-25daily updateAlan Modra1-1/+1
2014-06-24daily updateAlan Modra1-1/+1
2014-06-23daily updateAlan Modra1-1/+1
2014-06-22daily updateAlan Modra1-1/+1
2014-06-21daily updateAlan Modra1-1/+1
2014-06-20daily updateAlan Modra1-1/+1
2014-06-19daily updateAlan Modra1-1/+1
2014-06-18Don't free linker hash tableAlan Modra2-0/+12
PR 17047 * ldlang.c (lang_finish): Don't free linker hash table.
2014-06-18daily updateAlan Modra1-1/+1
2014-06-17Fix duplicated assignments to __rel_iplt and __rela_iplt symbolsAlan Modra2-4/+9
* scripttempl/elf.sc: Edit out __rela_iplt symbol assignments from .rel sections, and __rel_iplt from .rela sections.
2014-06-17daily updateAlan Modra1-1/+1
2014-06-16daily updateAlan Modra1-1/+1
2014-06-15daily updateAlan Modra1-1/+1
2014-06-14daily updateAlan Modra1-1/+1
2014-06-13daily updateAlan Modra1-1/+1
2014-06-13Regenerate msp430 file to pick up cosmetic changesAlan Modra2-157/+179
* msp430-decode.c: Regenerate.
2014-06-13PROVIDE in linker script vs. built-in symbolsAlan Modra2-1/+8
* ldexp.c (exp_fold_tree_1 <etree_provide>): Make PROVIDEd linker script symbol value override a built-in linker symbol.
2014-06-13Allow both signed and unsigned fields in PowerPC cmpli insnAlan Modra9-28/+69
There are legitimate reasons to allow a signed value in a cmpli insn field, for example to test for a "stw r1,lock@sdarel(r13)" instruction in user code, a kernel might use subis r3,r3,STW_R1_0R13@ha # subtract off high part cmplwi r3,lock@sdarel # is low part accessing lock? Since the lock@sdarel may take a range of -32768 to 32767, the allowed range of cmpli immediate must be at least [-32768,65535]. bfd/ * elf32-ppc.c (ppc_elf_relocate_section): Treat field of cmpli insn as a bitfield; Use complain_overflow_bitfield. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. opcodes/ * ppc-opc.c (UISIGNOPT): Define and use with cmpli. gas/ * config/tc-ppc.c (ppc_insert_operand): Handle PPC_OPERAND_SIGNOPT on unsigned fields. Comment on PPC_OPERAND_SIGNOPT signed fields in 64-bit mode. gold/ * powerpc.cc (relocate): Treat field of cmpli insn as a bitfield.
2014-06-13Support fusion for ELFv2 stubsAlan Modra6-16/+48
Power8 fuses addis,addi and addis,ld sequences when the target of the addis is the same as the addi/ld. Thus addis r12,r2,xxx@ha addi r12,r12,xxx@l / ld r12,xxx@l(r12) is faster than addis r11,r2,xxx@ha addi r12,r11,xxx@l / ld r12,xxx@l(r11) So use the form that allows fusion in plt call and branch stubs. bfd/ * elf64-ppc.c (ADDIS_R12_R2): Define. (build_plt_stub): Support fusion on ELFv2 stub. (ppc_build_one_stub): Likewise for plt branch stubs. gold/ * powerpc.cc (addis_12_2): Define. (Stub_table::do_write): Support fusion on ELFv2 stubs. ld/testsuite/ * ld-powerpc/elfv2exe.d: Update for changed plt call stubs.
2014-06-13Fix gold plugin_test failures on PowerPC64 ELFv2Alan Modra2-0/+11
readelf output for ELFv2 includes st_other bits specifying a function's local entry offset. * testsuite/plugin_test.c (parse_readelf_line): Skip non-visibility st_other output.
2014-06-13Fix PowerPC64 ELFv2 icf_safe failuresAlan Modra2-5/+20
ELFv2 doesn't use .opd, so folding function code can't be allowed in safe mode if a function's address might be taken. * powerpc.cc (Target_powerpc::local_reloc_may_be_function_pointer): Only ignore relocs on ELFv1. (Target_powerpc::global_reloc_may_be_function_pointer): Likewise.
2014-06-13Fix testsuite to use newly-built linker for ehdr_start_test_4, and fixCary Coutant4-3/+8
check script to look for the right binding. gold/ * testsuite/Makefile.am (ehdr_start_test_4): Fix typo in -B option. * testsuite/Makefile.in: Regenerate. * testsuite/ehdr_start_test_4.sh: Look for "U" instead of "w".
2014-06-13Fix "overflow in PLT unwind data" warningAlan Modra2-2/+20
When linking statically, it's possible to hit this warning with IFUNC or very large executables, due to .glink being unused. * powerpc.cc (do_plt_fde_location): Handle zero length .glink. Compare FDE contents with DW_CFA_nop rather than 0.
2014-06-13Referencing a function's address on PowerPC64 ELFv2Alan Modra11-43/+141
ELFv2 needs to create plt entries in a non-PIC executable for an address reference to a function defined in a shared object. It's possible that an object file has no features that distinguish it as ELFv1 or ELFv2, eg. an object only containing data. Such files need to be handled like those that are known to be ELFv2. However, this unnecessarily creates plt entries for the analogous ELFv1 case, so arrange to set output abi version earlier, and use the output abi version to further distinguish ambiguous input files. bfd/ * elf64-ppc.c (ppc64_elf_check_relocs): Account for possibly needed plt entries when taking the address of functions for abiversion == 0 (ie. unknown) as well as abiversion == 2. Move opd setup and abiversion checks to.. (ppc64_elf_before_check_relocs): ..here. Renamed from ppc64_elf_process_dot_syms. Set output abiversion from input and input abiversion from output, if either is not set. (ppc64_elf_merge_private_bfd_data): Don't merge flags here. (elf_backend_check_directives): Update. ld/testsuite/ * ld-powerpc/startv1.s, * ld-powerpc/startv2.s, * ld-powerpc/funref.s, * ld-powerpc/funv1.s, * ld-powerpc/funv2.s, * ld-powerpc/ambiguousv1.d, * ld-powerpc/ambiguousv2.d: New test files. * ld-powerpc/powerpc.exp: Run new tests.
2014-06-13Fix overflow handling of VLE_SDA21Alan Modra5-7/+18
bfd/ * elf32-ppc.c (ppc_elf_relocate_section): Correct overflow handling for VLE_SDA21 relocs. ld/testsuite/ * ld-powerpc/vle.ld: Place .PPC.EMB.sdata0 within 32k of 0. * ld-powerpc/vle-reloc-3.d: Update.