From c33205431ae179ed500f2840759a7624af1a23d4 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 12 Nov 2013 15:46:55 -0800 Subject: Add R_X86_64_PC32_BND and R_X86_64_PLT32_BND 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. --- gas/ChangeLog | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gas/ChangeLog') diff --git a/gas/ChangeLog b/gas/ChangeLog index c72d37a..8127a9b 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,27 @@ +2013-11-17 H.J. Lu + + * 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. + 2013-11-15 Yufeng Zhang * config/tc-aarch64.c (set_other_error): New function. -- cgit v1.1