From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 77899 invoked by alias); 24 May 2017 07:21:35 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 77215 invoked by uid 9674); 24 May 2017 07:20:41 -0000 Date: Wed, 24 May 2017 07:21:00 -0000 Message-ID: <20170524072040.77138.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] users/jkratoch/indexcxx-nameswrite-namesread: Merge branch 'indexcxx-nameswrite' into indexcxx-nameswrite-namesread X-Git-Refname: refs/heads/users/jkratoch/indexcxx-nameswrite-namesread X-Git-Reftype: branch X-Git-Oldrev: 3bd2320fbad278743efe491edb301caa5abd37e7 X-Git-Newrev: a3b24e5c2984c2e53d6a6b4b64c2a4e570ce4dca X-SW-Source: 2017-q2/txt/msg00030.txt.bz2 List-Id: The branch, users/jkratoch/indexcxx-nameswrite-namesread has been updated via a3b24e5c2984c2e53d6a6b4b64c2a4e570ce4dca (commit) via d0ddba867e31c2bfc2e46f08ae696df1f0247590 (commit) via 480030250901adfbd6e8080e87143fc9959f372e (commit) via 6046809b6ba750d75d396a9237935cf6caeb5818 (commit) via 60fd657792228e3eb59e87c26fcdeccbfe94d224 (commit) via f7241d4f27cd59357a75bf802e9ffa7d95036deb (commit) via d489d81d0934c4fda8c8aa68fbec1b1315cf8df0 (commit) via 6e92fed5946111a76064feb8a2a184d224deae1a (commit) via 590b87ffa386ea403e2cb61525c6aafef77097a2 (commit) via 6e3f3473e2136e77d6346d5bca894c38e5389116 (commit) via 8e7f04f17c60069143078dafd3d3eb8cd15f10fb (commit) via 575dcd27f8be6ecd3f89539a8210a8d3f0a271b1 (commit) via b32599a0aa22948b5507ff016bdd98a627991059 (commit) via 903b2a564d78b8e47f2460a2a452f442e6e5e979 (commit) via 176efed15cabb932a7e9fb2c5e6ef0753e8351a0 (commit) via 04ef582ace91cad765d056cc95624478e0421144 (commit) via 25f94347373b1b6f4bfc79eeb38e79d383195779 (commit) via 9a6465c207ed4e34be92741316d78fc00f0836e4 (commit) via 3c0367d0e2df21717b7345a1ccadef39183457ab (commit) via e11b3cdc565c5e86e43ef79d25fc5e8b88162ec1 (commit) via 0f068fb5e5b65038c3ded3cfd2a4b8805196956c (commit) via ca49a96781f723d43ec49471cbbb50aa511d063e (commit) via e6cf65f283b8be44014fad0ad0aebfbcc71fceac (commit) from 3bd2320fbad278743efe491edb301caa5abd37e7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit a3b24e5c2984c2e53d6a6b4b64c2a4e570ce4dca Merge: 6046809 d0ddba8 Author: Jan Kratochvil Date: Wed May 24 09:19:00 2017 +0200 Merge branch 'indexcxx-nameswrite' into indexcxx-nameswrite-namesread commit 6046809b6ba750d75d396a9237935cf6caeb5818 Author: Jan Kratochvil Date: Wed May 24 09:18:07 2017 +0200 . commit b32599a0aa22948b5507ff016bdd98a627991059 Author: Jan Kratochvil Date: Tue May 23 09:47:38 2017 +0200 . ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 10 + bfd/elf32-arc.c | 4 + bfd/elf64-x86-64.c | 3 +- bfd/version.h | 2 +- gas/ChangeLog | 48 + gas/config/tc-aarch64.c | 30 +- gas/config/tc-aarch64.h | 3 + gas/config/tc-arc.c | 21 +- gas/config/tc-i386.c | 75 +- gas/configure | 2 +- gas/configure.ac | 2 +- gas/configure.tgt | 9 +- gas/testsuite/gas/i386/i386.exp | 6 + gas/testsuite/gas/i386/notrack-intel.d | 29 + gas/testsuite/gas/i386/notrack.d | 28 + gas/testsuite/gas/i386/notrack.s | 35 + gas/testsuite/gas/i386/notrackbad.l | 53 + gas/testsuite/gas/i386/notrackbad.s | 22 + gas/testsuite/gas/i386/x86-64-notrack-intel.d | 30 + gas/testsuite/gas/i386/x86-64-notrack.d | 29 + gas/testsuite/gas/i386/x86-64-notrack.s | 40 + gas/testsuite/gas/i386/x86-64-notrackbad.l | 53 + gas/testsuite/gas/i386/x86-64-notrackbad.s | 22 + gdb/ChangeLog | 47 + gdb/MAINTAINERS | 1 + gdb/doc/ChangeLog | 4 + gdb/doc/gdb.texinfo | 13 + gdb/mips-fbsd-nat.c | 24 +- gdb/mips-fbsd-tdep.c | 29 +- gdb/ppc-linux-nat.c | 4 +- gdb/ppc-sysv-tdep.c | 34 +- gdb/ppc-tdep.h | 3 + gdb/rs6000-aix-tdep.c | 6 +- gdb/rs6000-lynx178-tdep.c | 6 +- gdb/rs6000-nat.c | 4 +- gdb/rs6000-tdep.c | 4 +- gdb/rust-lang.c | 5 +- gdb/testsuite/ChangeLog | 6 + gdb/testsuite/gdb.dwarf2/gdb-index.exp | 7 +- gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c | 20 + gdb/testsuite/gdb.rust/unsized.exp | 35 + gdb/testsuite/gdb.rust/unsized.rs | 33 + gold/ChangeLog | 21 + gold/options.h | 4 + gold/powerpc.cc | 192 +- include/ChangeLog | 8 + include/opcode/arc.h | 2 +- include/opcode/i386.h | 1 + ld/ChangeLog | 6 + ld/configure.tgt | 8 + opcodes/ChangeLog | 16 + opcodes/i386-dis.c | 44 +- opcodes/i386-gen.c | 1 + opcodes/i386-opc.h | 3 + opcodes/i386-opc.tbl | 15 +- opcodes/i386-tbl.h |21299 +++++++++++---------- 56 files changed, 11685 insertions(+), 10776 deletions(-) create mode 100644 gas/testsuite/gas/i386/notrack-intel.d create mode 100644 gas/testsuite/gas/i386/notrack.d create mode 100644 gas/testsuite/gas/i386/notrack.s create mode 100644 gas/testsuite/gas/i386/notrackbad.l create mode 100644 gas/testsuite/gas/i386/notrackbad.s create mode 100644 gas/testsuite/gas/i386/x86-64-notrack-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-notrack.d create mode 100644 gas/testsuite/gas/i386/x86-64-notrack.s create mode 100644 gas/testsuite/gas/i386/x86-64-notrackbad.l create mode 100644 gas/testsuite/gas/i386/x86-64-notrackbad.s create mode 100644 gdb/testsuite/gdb.rust/unsized.exp create mode 100644 gdb/testsuite/gdb.rust/unsized.rs First 500 lines of diff: diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 38462fe..4d15e1a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,13 @@ +2017-05-23 Dilian Palauzov + + * elf32-arc.c (arc_elf_merge_attributes): Add fall through + comments. + +2017-05-22 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Use + dynobj instead of htab->elf.dynobj. + 2017-05-19 Maciej W. Rozycki * elf64-mips.c (mips_elf64_canonicalize_reloc): Remove prototype diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c index 3e99cab..ef0d893 100644 --- a/bfd/elf32-arc.c +++ b/bfd/elf32-arc.c @@ -728,9 +728,11 @@ arc_elf_merge_attributes (bfd *ibfd, struct bfd_link_info *info) case Tag_ARC_ABI_pic: tagname = "PIC"; + /* fall through */ case Tag_ARC_ABI_sda: if (!tagname) tagname = "SDA"; + /* fall through */ case Tag_ARC_ABI_tls: { const char *tagval[] = { "Absent", "MWDT", "GNU" }; @@ -756,9 +758,11 @@ arc_elf_merge_attributes (bfd *ibfd, struct bfd_link_info *info) case Tag_ARC_ABI_double_size: tagname = "Double size"; + /* fall through */ case Tag_ARC_ABI_enumsize: if (!tagname) tagname = "Enum size"; + /* fall through */ case Tag_ARC_ABI_exceptions: if (!tagname) tagname = "ABI exceptions"; diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 00cf70a..7beb78e 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -7245,8 +7245,7 @@ error_alignment: /* MPX PLT is supported only for non-NaCl target in 64-bit mode and is needed only for lazy binding. */ if (lazy_plt - && info->bndplt - && ABI_64_P (htab->elf.dynobj)) + && info->bndplt && ABI_64_P (dynobj)) { /* Create the second PLT for Intel MPX support. */ sec = bfd_make_section_anyway_with_flags (dynobj, diff --git a/bfd/version.h b/bfd/version.h index 10ba349..e8c13d4 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20170521 +#define BFD_VERSION_DATE 20170524 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ diff --git a/gas/ChangeLog b/gas/ChangeLog index 8fff0e4..2e7bb8d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,51 @@ +2017-05-23 H.J. Lu + + * gas/testsuite/gas/i386/notrackbad.l: Updated for non-ELF + targets. + * gas/testsuite/gas/i386/x86-64-notrackbad.l: Likewise. + +2017-05-23 Claudiu Zissulescu + + * config/tc-arc.c (md_apply_fix): Use as_bad_where. + (assemble_insn): Use as_bad. + +2017-05-22 H.J. Lu + + * config/tc-i386.c (REX_PREFIX): Changed to 7. + (NOTRACK_PREFIX): New. + (MAX_PREFIXES): Changed to 8. + (_i386_insn): Add notrack_prefix. + (PREFIX_GROUP): Add PREFIX_DS. + (add_prefix): Return PREFIX_DS for DS_PREFIX_OPCODE. + (md_assemble): Check if NOTRACK prefix is supported. + (parse_insn): Set notrack_prefix and issue an error for + other prefixes after NOTRACK prefix. + * testsuite/gas/i386/i386.exp: Run tests for NOTRACK prefix. + * testsuite/gas/i386/notrack-intel.d: New file. + * testsuite/gas/i386/notrack.d: Likewise. + * testsuite/gas/i386/notrack.s: Likewise. + * testsuite/gas/i386/notrackbad.l: Likewise. + * testsuite/gas/i386/notrackbad.s: Likewise. + * testsuite/gas/i386/x86-64-notrack-intel.d: Likewise. + * testsuite/gas/i386/x86-64-notrack.d: Likewise. + * testsuite/gas/i386/x86-64-notrack.s: Likewise. + * testsuite/gas/i386/x86-64-notrackbad.l: Likewise. + * testsuite/gas/i386/x86-64-notrackbad.s: Likewise. + +2017-05-22 Jiong Wang + + * configure.tgt: Set "arch" to "aarch64" if ${cpu} equals "aarch64". + Recognize the new triplet name aarch64*-linux-gnu_ilp32. + * configure.ac: Output DEFAULT_ARCH macro for AArch64. + * configure: Regenerate. + * config/tc-aarch64.h (aarch64_after_parse_args): New declaration. + (md_after_parse_args): New define. + * config/tc-aarch64.c (aarch64_abi_type): New enumeration + AARCH64_ABI_NONE. + (DEFAULT_ARCH): New define. + (aarch64_abi): Set default value to AARCH64_ABI_NONE. + (aarch64_after_parse_args): New function. + 2017-05-19 Jose E. Marchesi * config/tc-sparc.c (sparc_arch_table): Entries for `sparc6', diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 72b98fd..cdb2903 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -62,12 +62,20 @@ static symbolS *GOT_symbol; /* Which ABI to use. */ enum aarch64_abi_type { - AARCH64_ABI_LP64 = 0, - AARCH64_ABI_ILP32 = 1 + AARCH64_ABI_NONE = 0, + AARCH64_ABI_LP64 = 1, + AARCH64_ABI_ILP32 = 2 }; +#ifndef DEFAULT_ARCH +#define DEFAULT_ARCH "aarch64" +#endif + +/* DEFAULT_ARCH is initialized in gas/configure.tgt. */ +static const char *default_arch = DEFAULT_ARCH; + /* AArch64 ABI for the output file. */ -static enum aarch64_abi_type aarch64_abi = AARCH64_ABI_LP64; +static enum aarch64_abi_type aarch64_abi = AARCH64_ABI_NONE; /* When non-zero, program to a 32-bit model, in which the C data types int, long and all pointer types are 32-bit objects (ILP32); or to a @@ -7975,6 +7983,22 @@ aarch64_force_relocation (struct fix *fixp) #ifdef OBJ_ELF +/* Implement md_after_parse_args. This is the earliest time we need to decide + ABI. If no -mabi specified, the ABI will be decided by target triplet. */ + +void +aarch64_after_parse_args (void) +{ + if (aarch64_abi != AARCH64_ABI_NONE) + return; + + /* DEFAULT_ARCH will have ":32" extension if it's configured for ILP32. */ + if (strlen (default_arch) > 7 && strcmp (default_arch + 7, ":32") == 0) + aarch64_abi = AARCH64_ABI_ILP32; + else + aarch64_abi = AARCH64_ABI_LP64; +} + const char * elf64_aarch64_target_format (void) { diff --git a/gas/config/tc-aarch64.h b/gas/config/tc-aarch64.h index 5bf1399..4aa3494 100644 --- a/gas/config/tc-aarch64.h +++ b/gas/config/tc-aarch64.h @@ -192,6 +192,9 @@ struct aarch64_segment_info_type #define tc_regname_to_dw2regnum tc_aarch64_regname_to_dw2regnum #define tc_cfi_frame_initial_instructions tc_aarch64_frame_initial_instructions +extern void aarch64_after_parse_args (void); +#define md_after_parse_args() aarch64_after_parse_args () + #else /* Not OBJ_ELF. */ #define GLOBAL_OFFSET_TABLE_NAME "__GLOBAL_OFFSET_TABLE_" #endif diff --git a/gas/config/tc-arc.c b/gas/config/tc-arc.c index a092892..173a1a0 100644 --- a/gas/config/tc-arc.c +++ b/gas/config/tc-arc.c @@ -2966,8 +2966,10 @@ md_apply_fix (fixS *fixP, break; default: if ((int) fixP->fx_r_type < 0) - as_fatal (_("PC relative relocation not allowed for (internal) type %d"), - fixP->fx_r_type); + as_bad_where (fixP->fx_file, fixP->fx_line, + _("PC relative relocation not allowed for (internal)" + " type %d"), + fixP->fx_r_type); break; } } @@ -3942,9 +3944,8 @@ assemble_insn (const struct arc_opcode *opcode, { case O_plt: if (opcode->insn_class == JUMP) - as_bad_where (frag_now->fr_file, frag_now->fr_line, - _("Unable to use @plt relocation for insn %s"), - opcode->name); + as_bad (_("Unable to use @plt relocation for insn %s"), + opcode->name); needGOTSymbol = TRUE; reloc = find_reloc ("plt", opcode->name, pflags, nflg, @@ -3962,9 +3963,8 @@ assemble_insn (const struct arc_opcode *opcode, reloc = ARC_RELOC_TABLE (t->X_md)->reloc; if (arc_opcode_len (opcode) == 2 || opcode->insn_class == JUMP) - as_bad_where (frag_now->fr_file, frag_now->fr_line, - _("Unable to use @pcl relocation for insn %s"), - opcode->name); + as_bad (_("Unable to use @pcl relocation for insn %s"), + opcode->name); } else { @@ -4130,8 +4130,9 @@ assemble_insn (const struct arc_opcode *opcode, /* Check if the current instruction is legally used. */ if (arc_last_insns[1].has_delay_slot && is_br_jmp_insn_p (arc_last_insns[0].opcode)) - as_bad_where (frag_now->fr_file, frag_now->fr_line, - _("A jump/branch instruction in delay slot.")); + as_bad (_("Insn %s has a jump/branch instruction %s in its delay slot."), + arc_last_insns[1].opcode->name, + arc_last_insns[0].opcode->name); } void diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 6250793..6c1091e 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -66,8 +66,11 @@ #define HLE_PREFIX REP_PREFIX #define BND_PREFIX REP_PREFIX #define LOCK_PREFIX 5 -#define REX_PREFIX 6 /* must come last. */ -#define MAX_PREFIXES 7 /* max prefixes per opcode */ +/* Only one of NOTRACK_PREFIX and SEG_PREFIX can be used at the same + time. */ +#define NOTRACK_PREFIX 6 +#define REX_PREFIX 7 /* must come last. */ +#define MAX_PREFIXES 8 /* max prefixes per opcode */ /* we define the syntax here (modulo base,index,scale syntax) */ #define REGISTER_PREFIX '%' @@ -388,6 +391,9 @@ struct _i386_insn /* Have BND prefix. */ const char *bnd_prefix; + /* Have NOTRACK prefix. */ + const char *notrack_prefix; + /* Error message. */ enum i386_error error; }; @@ -2144,6 +2150,7 @@ enum PREFIX_GROUP PREFIX_EXIST = 0, PREFIX_LOCK, PREFIX_REP, + PREFIX_DS, PREFIX_OTHER }; @@ -2152,7 +2159,8 @@ enum PREFIX_GROUP same class already exists. b. PREFIX_LOCK if lock prefix is added. c. PREFIX_REP if rep/repne prefix is added. - d. PREFIX_OTHER if other prefix is added. + d. PREFIX_DS if ds prefix is added. + e. PREFIX_OTHER if other prefix is added. */ static enum PREFIX_GROUP @@ -2177,8 +2185,10 @@ add_prefix (unsigned int prefix) default: abort (); - case CS_PREFIX_OPCODE: case DS_PREFIX_OPCODE: + ret = PREFIX_DS; + /* Fall through. */ + case CS_PREFIX_OPCODE: case ES_PREFIX_OPCODE: case FS_PREFIX_OPCODE: case GS_PREFIX_OPCODE: @@ -3702,6 +3712,15 @@ md_assemble (char *line) if (i.bnd_prefix && !i.tm.opcode_modifier.bndprefixok) as_bad (_("expecting valid branch instruction after `bnd'")); + /* Check NOTRACK prefix. */ + if (i.notrack_prefix + && (!i.tm.opcode_modifier.notrackprefixok + || i.reg_operands != 1 + || i.disp_operands != 0 + || i.mem_operands != 0 + || i.imm_operands != 0)) + as_bad (_("expecting register indirect branch instruction after `notrack'")); + if (i.tm.cpu_flags.bitfield.cpumpx) { if (flag_code == CODE_64BIT && i.prefix[ADDR_PREFIX]) @@ -3964,20 +3983,42 @@ parse_insn (char *line, char *mnemonic) else { /* Add prefix, checking for repeated prefixes. */ - switch (add_prefix (current_templates->start->base_opcode)) + enum PREFIX_GROUP p + = add_prefix (current_templates->start->base_opcode); + if (p == PREFIX_DS + && current_templates->start->cpu_flags.bitfield.cpucet) { - case PREFIX_EXIST: - return NULL; - case PREFIX_REP: - if (current_templates->start->cpu_flags.bitfield.cpuhle) - i.hle_prefix = current_templates->start->name; - else if (current_templates->start->cpu_flags.bitfield.cpumpx) - i.bnd_prefix = current_templates->start->name; - else - i.rep_prefix = current_templates->start->name; - break; - default: - break; + i.notrack_prefix = current_templates->start->name; + /* Move NOTRACK_PREFIX_OPCODE to NOTRACK_PREFIX slot so + that it is placed before others. */ + i.prefix[SEG_PREFIX] = 0; + i.prefix[NOTRACK_PREFIX] = NOTRACK_PREFIX_OPCODE; + } + else + { + switch (p) + { + case PREFIX_EXIST: + return NULL; + case PREFIX_REP: + if (current_templates->start->cpu_flags.bitfield.cpuhle) + i.hle_prefix = current_templates->start->name; + else if (current_templates->start->cpu_flags.bitfield.cpumpx) + i.bnd_prefix = current_templates->start->name; + else + i.rep_prefix = current_templates->start->name; + break; + default: + break; + } + + if (i.notrack_prefix != NULL) + { + /* There must be no other prefixes after NOTRACK + prefix. */ + as_bad (_("expecting no other prefixes after `notrack'")); + return NULL; + } } } /* Skip past PREFIX_SEPARATOR and reset token_start. */ diff --git a/gas/configure b/gas/configure index d3ae96e..96fa7cb 100755 --- a/gas/configure +++ b/gas/configure @@ -12583,7 +12583,7 @@ $as_echo "#define NDS32_DEFAULT_AUDIO_EXT 1" >>confdefs.h $as_echo "$enable_audio_ext" >&6; } ;; - i386 | riscv | s390 | sparc) + aarch64 | i386 | riscv | s390 | sparc) if test $this_target = $target ; then cat >>confdefs.h <<_ACEOF diff --git a/gas/configure.ac b/gas/configure.ac index cc70aa7..da161b7 100644 --- a/gas/configure.ac +++ b/gas/configure.ac @@ -511,7 +511,7 @@ changequote([,])dnl AC_MSG_RESULT($enable_audio_ext) ;; - i386 | riscv | s390 | sparc) + aarch64 | i386 | riscv | s390 | sparc) if test $this_target = $target ; then AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.]) fi diff --git a/gas/configure.tgt b/gas/configure.tgt index ca58b69..9d5e781 100644 --- a/gas/configure.tgt +++ b/gas/configure.tgt @@ -46,8 +46,8 @@ eval `echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'` # endian and arch. # Note: This table is alpha-sorted, please try to keep it that way. case ${cpu} in - aarch64) cpu_type=aarch64 endian=little ;; - aarch64_be) cpu_type=aarch64 endian=big ;; + aarch64) cpu_type=aarch64 endian=little arch=aarch64;; + aarch64_be) cpu_type=aarch64 endian=big arch=aarch64;; alpha*) cpu_type=alpha ;; am33_2.0) cpu_type=mn10300 endian=little ;; arc*eb) cpu_type=arc endian=big ;; @@ -126,7 +126,10 @@ generic_target=${cpu_type}-$vendor-$os case ${generic_target} in aarch64*-*-elf*) fmt=elf;; aarch64*-*-fuchsia*) fmt=elf;; - aarch64*-*-linux*) fmt=elf em=linux ;; + aarch64*-*-linux*) fmt=elf em=linux + case ${cpu}-${os} in + aarch64*-linux-gnu_ilp32) arch=aarch64:32 ;; + esac ;; alpha-*-*vms*) fmt=evax ;; alpha-*-osf*) fmt=ecoff ;; diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index c1d6af7..67a7a13 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -385,6 +385,9 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "cet" run_dump_test "cet-intel" run_dump_test "pseudos" + run_dump_test "notrack" + run_dump_test "notrack-intel" + run_list_test "notrackbad" "-al" # These tests require support for 8 and 16 bit relocs, # so we only run them for ELF and COFF targets. @@ -805,6 +808,9 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-cet" run_dump_test "x86-64-cet-intel" run_dump_test "x86-64-pseudos" + run_dump_test "x86-64-notrack" + run_dump_test "x86-64-notrack-intel" + run_list_test "x86-64-notrackbad" "-al" if { ![istarget "*-*-aix*"] && ![istarget "*-*-beos*"] diff --git a/gas/testsuite/gas/i386/notrack-intel.d b/gas/testsuite/gas/i386/notrack-intel.d new file mode 100644 index 0000000..b99e194 --- /dev/null +++ b/gas/testsuite/gas/i386/notrack-intel.d @@ -0,0 +1,29 @@ +#source: notrack.s +#objdump: -dw -Mintel +#name: i386 NOTRACK prefix (Intel disassembly) + +.*: +file format .* + + +Disassembly of section .text: + +0+ <_start>: +[ ]*[a-f0-9]+: 3e ff d0 notrack call eax +[ ]*[a-f0-9]+: 66 3e ff d0 notrack call ax +[ ]*[a-f0-9]+: 3e ff e0 notrack jmp eax +[ ]*[a-f0-9]+: 66 3e ff e0 notrack jmp ax +[ ]*[a-f0-9]+: f2 3e ff d0 bnd notrack call eax +[ ]*[a-f0-9]+: 66 f2 3e ff d0 bnd notrack call ax +[ ]*[a-f0-9]+: f2 3e ff e0 bnd notrack jmp eax +[ ]*[a-f0-9]+: 66 f2 3e ff e0 bnd notrack jmp ax +[ ]*[a-f0-9]+: 3e ff d0 notrack call eax +[ ]*[a-f0-9]+: 66 3e ff d0 notrack call ax +[ ]*[a-f0-9]+: 3e ff e0 notrack jmp eax +[ ]*[a-f0-9]+: 66 3e ff e0 notrack jmp ax +[ ]*[a-f0-9]+: f2 3e ff d0 bnd notrack call eax +[ ]*[a-f0-9]+: 66 f2 3e ff d0 bnd notrack call ax +[ ]*[a-f0-9]+: f2 3e ff e0 bnd notrack jmp eax +[ ]*[a-f0-9]+: 66 f2 3e ff e0 bnd notrack jmp ax +[ ]*[a-f0-9]+: 3e f2 ff d0 ds bnd call eax +[ ]*[a-f0-9]+: 3e 66 ff d0 ds call ax +#pass diff --git a/gas/testsuite/gas/i386/notrack.d b/gas/testsuite/gas/i386/notrack.d new file mode 100644 index 0000000..eda09eb --- /dev/null +++ b/gas/testsuite/gas/i386/notrack.d @@ -0,0 +1,28 @@ +#objdump: -dw +#name: i386 NOTRACK prefix + +.*: +file format .* + + +Disassembly of section .text: + hooks/post-receive -- Repository for Project Archer.