summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog33
-rw-r--r--gas/NEWS2
-rw-r--r--gas/doc/as.texinfo8
-rw-r--r--gas/read.c6
-rw-r--r--gas/read.h2
-rw-r--r--gas/testsuite/gas/i386/nop-1.d2
-rw-r--r--gas/testsuite/gas/i386/nop-1.s12
-rw-r--r--gas/testsuite/gas/i386/nop-2.d2
-rw-r--r--gas/testsuite/gas/i386/nop-2.s12
-rw-r--r--gas/testsuite/gas/i386/nop-3.d2
-rw-r--r--gas/testsuite/gas/i386/nop-3.s2
-rw-r--r--gas/testsuite/gas/i386/nop-4.d2
-rw-r--r--gas/testsuite/gas/i386/nop-4.s2
-rw-r--r--gas/testsuite/gas/i386/nop-5.d2
-rw-r--r--gas/testsuite/gas/i386/nop-5.s2
-rw-r--r--gas/testsuite/gas/i386/nop-6.d2
-rw-r--r--gas/testsuite/gas/i386/nop-6.s2
-rw-r--r--gas/testsuite/gas/i386/nop-bad-1.l2
-rw-r--r--gas/testsuite/gas/i386/nop-bad-1.s6
-rw-r--r--gas/testsuite/gas/i386/x86-64-nop-1.d2
-rw-r--r--gas/testsuite/gas/i386/x86-64-nop-2.d2
-rw-r--r--gas/testsuite/gas/i386/x86-64-nop-3.d2
-rw-r--r--gas/testsuite/gas/i386/x86-64-nop-4.d2
-rw-r--r--gas/testsuite/gas/i386/x86-64-nop-5.d2
-rw-r--r--gas/testsuite/gas/i386/x86-64-nop-6.d2
-rw-r--r--gas/write.c6
26 files changed, 77 insertions, 44 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index b28a79fc57c..7c9f2f20b58 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,38 @@
2018-02-27 H.J. Lu <hongjiu.lu@intel.com>
+ * NEWS: Rename .nop to .nops.
+ * doc/as.texinfo: Likewise.
+ * read.c (potable): Add "nops". Remove "nop".
+ (s_nop): Renamed to ...
+ (s_nops): This.
+ * read.h (s_nop): Renamed to ...
+ (s_nops): This.
+ * write.c (cvt_frag_to_fill): Rename .nop to .nops.
+ (md_generate_nops): Likewise.
+ (relax_segment): Likewise.
+ * testsuite/gas/i386/nop-1.d: Updated.
+ * testsuite/gas/i386/nop-1.s: Likewise.
+ * testsuite/gas/i386/nop-2.d: Likewise.
+ * testsuite/gas/i386/nop-2.s: Likewise.
+ * testsuite/gas/i386/nop-3.d: Likewise.
+ * testsuite/gas/i386/nop-3.s: Likewise.
+ * testsuite/gas/i386/nop-4.d: Likewise.
+ * testsuite/gas/i386/nop-4.s: Likewise.
+ * testsuite/gas/i386/nop-5.d: Likewise.
+ * testsuite/gas/i386/nop-5.s: Likewise.
+ * testsuite/gas/i386/nop-6.d: Likewise.
+ * testsuite/gas/i386/nop-6.s: Likewise.
+ * testsuite/gas/i386/nop-bad-1.l: Likewise.
+ * testsuite/gas/i386/nop-bad-1.s: Likewise.
+ * testsuite/gas/i386/x86-64-nop-1.d: Likewise.
+ * testsuite/gas/i386/x86-64-nop-2.d: Likewise.
+ * testsuite/gas/i386/x86-64-nop-3.d: Likewise.
+ * testsuite/gas/i386/x86-64-nop-4.d: Likewise.
+ * testsuite/gas/i386/x86-64-nop-5.d: Likewise.
+ * testsuite/gas/i386/x86-64-nop-6.d: Likewise.
+
+2018-02-27 H.J. Lu <hongjiu.lu@intel.com>
+
PR gas/22871
* NEWS: Mention -O[2|s].
* config/tc-i386.c (_i386_insn): Add no_optimize.
diff --git a/gas/NEWS b/gas/NEWS
index 8a9d3a2f161..8a4b93a726f 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -3,7 +3,7 @@
* Add -O[2|s] command-line options to x86 assembler to enable alternate
shorter instruction encoding.
-* Add support for .nop directive. It is currently supported only for
+* Add support for .nops directive. It is currently supported only for
x86 targets.
Changes in 2.30:
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index 392365d2ae0..f56515e5e8e 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -4482,7 +4482,7 @@ Some machine configurations provide additional directives.
* MRI:: @code{.mri @var{val}}
* Noaltmacro:: @code{.noaltmacro}
* Nolist:: @code{.nolist}
-* Nop:: @code{.nop @var{size}[, @var{control}]}
+* Nops:: @code{.nops @var{size}[, @var{control}]}
* Octa:: @code{.octa @var{bignums}}
* Offset:: @code{.offset @var{loc}}
* Org:: @code{.org @var{new-lc}, @var{fill}}
@@ -6199,10 +6199,10 @@ internal counter (which is zero initially). @code{.list} increments the
counter, and @code{.nolist} decrements it. Assembly listings are
generated whenever the counter is greater than zero.
-@node Nop
-@section @code{.nop @var{size}[, @var{control}]}
+@node Nops
+@section @code{.nops @var{size}[, @var{control}]}
-@cindex @code{nop} directive
+@cindex @code{nops} directive
@cindex filling memory with no-op instructions
This directive emits @var{size} bytes filled with no-op instructions.
@var{size} is absolute expression, which must be a positve value.
diff --git a/gas/read.c b/gas/read.c
index 9ab88f8962a..ff78caef38c 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -417,6 +417,7 @@ static const pseudo_typeS potable[] = {
{"noformat", s_ignore, 0},
{"nolist", listing_list, 0}, /* Turn listing off. */
{"nopage", listing_nopage, 0},
+ {"nops", s_nops, 0},
{"octa", cons, 16},
{"offset", s_struct, 0},
{"org", s_org, 0},
@@ -442,7 +443,6 @@ static const pseudo_typeS potable[] = {
/* size */
{"space", s_space, 0},
{"skip", s_space, 0},
- {"nop", s_nop, 0},
{"sleb128", s_leb128, 1},
{"spc", s_ignore, 0},
{"stabd", s_stab, 'd'},
@@ -3510,7 +3510,7 @@ s_space (int mult)
}
void
-s_nop (int ignore ATTRIBUTE_UNUSED)
+s_nops (int ignore ATTRIBUTE_UNUSED)
{
expressionS exp;
expressionS val;
@@ -3556,7 +3556,7 @@ s_nop (int ignore ATTRIBUTE_UNUSED)
}
}
else
- as_bad (_("unsupported variable nop control in .nop directive"));
+ as_bad (_("unsupported variable nop control in .nops directive"));
demand_empty_rest_of_line ();
}
diff --git a/gas/read.h b/gas/read.h
index 3f0927bc9ed..352b802d4af 100644
--- a/gas/read.h
+++ b/gas/read.h
@@ -206,7 +206,7 @@ extern void s_purgem (int);
extern void s_rept (int);
extern void s_set (int);
extern void s_space (int mult);
-extern void s_nop (int);
+extern void s_nops (int);
extern void s_stab (int what);
extern void s_struct (int);
extern void s_text (int);
diff --git a/gas/testsuite/gas/i386/nop-1.d b/gas/testsuite/gas/i386/nop-1.d
index 46422c88dbf..5a9e03ef194 100644
--- a/gas/testsuite/gas/i386/nop-1.d
+++ b/gas/testsuite/gas/i386/nop-1.d
@@ -1,5 +1,5 @@
#objdump: -drw
-#name: i386 .nop 1
+#name: i386 .nops 1
.*: +file format .*
diff --git a/gas/testsuite/gas/i386/nop-1.s b/gas/testsuite/gas/i386/nop-1.s
index 891783dce80..94ec28e815d 100644
--- a/gas/testsuite/gas/i386/nop-1.s
+++ b/gas/testsuite/gas/i386/nop-1.s
@@ -1,21 +1,21 @@
.text
single:
- .nop 0
+ .nops 0
nop
pseudo_1:
- .nop 1
+ .nops 1
pseudo_8:
- .nop 8
+ .nops 8
pseudo_8_4:
- .nop 8, 4
+ .nops 8, 4
pseudo_20:
- .nop 20
+ .nops 20
pseudo_30:
- .nop 30
+ .nops 30
xor %eax, %eax
diff --git a/gas/testsuite/gas/i386/nop-2.d b/gas/testsuite/gas/i386/nop-2.d
index 332b990a978..d248fd1df75 100644
--- a/gas/testsuite/gas/i386/nop-2.d
+++ b/gas/testsuite/gas/i386/nop-2.d
@@ -1,5 +1,5 @@
#objdump: -drw -Mi8086
-#name: i386 .nop 2
+#name: i386 .nops 2
.*: +file format .*
diff --git a/gas/testsuite/gas/i386/nop-2.s b/gas/testsuite/gas/i386/nop-2.s
index 2b71b9786d8..9f7a3729c0e 100644
--- a/gas/testsuite/gas/i386/nop-2.s
+++ b/gas/testsuite/gas/i386/nop-2.s
@@ -1,22 +1,22 @@
.text
.code16
single:
- .nop 0
+ .nops 0
nop
pseudo_1:
- .nop 1
+ .nops 1
pseudo_8:
- .nop 8
+ .nops 8
pseudo_8_4:
- .nop 8, 4
+ .nops 8, 4
pseudo_20:
- .nop 20
+ .nops 20
pseudo_30:
- .nop 30
+ .nops 30
xor %eax, %eax
diff --git a/gas/testsuite/gas/i386/nop-3.d b/gas/testsuite/gas/i386/nop-3.d
index bebd24bc08b..b2b4577b555 100644
--- a/gas/testsuite/gas/i386/nop-3.d
+++ b/gas/testsuite/gas/i386/nop-3.d
@@ -1,5 +1,5 @@
#objdump: -drw
-#name: i386 .nop 3
+#name: i386 .nops 3
.*: +file format .*
diff --git a/gas/testsuite/gas/i386/nop-3.s b/gas/testsuite/gas/i386/nop-3.s
index 57370ff5797..0a6bb58fdf5 100644
--- a/gas/testsuite/gas/i386/nop-3.s
+++ b/gas/testsuite/gas/i386/nop-3.s
@@ -4,7 +4,7 @@ _start:
140:
testl %eax, %eax
141:
- .nop -(((144f-143f)-(141b-140b)) > 0)*((144f-143f)-(141b-140b)),7
+ .nops -(((144f-143f)-(141b-140b)) > 0)*((144f-143f)-(141b-140b)),7
142:
xor %eax, %eax
.pushsection .altinstr_replacement,"ax"
diff --git a/gas/testsuite/gas/i386/nop-4.d b/gas/testsuite/gas/i386/nop-4.d
index 99ddcd39945..b548d079a36 100644
--- a/gas/testsuite/gas/i386/nop-4.d
+++ b/gas/testsuite/gas/i386/nop-4.d
@@ -1,5 +1,5 @@
#objdump: -drw
-#name: i386 .nop 4
+#name: i386 .nops 4
.*: +file format .*
diff --git a/gas/testsuite/gas/i386/nop-4.s b/gas/testsuite/gas/i386/nop-4.s
index f7aa11187e3..4f0bfe6dc3a 100644
--- a/gas/testsuite/gas/i386/nop-4.s
+++ b/gas/testsuite/gas/i386/nop-4.s
@@ -4,7 +4,7 @@ _start:
140:
testl %eax, %eax
141:
- .nop -(((144f-143f)-(141b-140b)) > 0)*((144f-143f)-(141b-140b))
+ .nops -(((144f-143f)-(141b-140b)) > 0)*((144f-143f)-(141b-140b))
142:
xor %eax, %eax
.pushsection .altinstr_replacement,"ax"
diff --git a/gas/testsuite/gas/i386/nop-5.d b/gas/testsuite/gas/i386/nop-5.d
index aab4258b198..6a4791344f9 100644
--- a/gas/testsuite/gas/i386/nop-5.d
+++ b/gas/testsuite/gas/i386/nop-5.d
@@ -1,5 +1,5 @@
#objdump: -drw
-#name: i386 .nop 5
+#name: i386 .nops 5
.*: +file format .*
diff --git a/gas/testsuite/gas/i386/nop-5.s b/gas/testsuite/gas/i386/nop-5.s
index 4f563ce82f9..d91f81fb097 100644
--- a/gas/testsuite/gas/i386/nop-5.s
+++ b/gas/testsuite/gas/i386/nop-5.s
@@ -4,7 +4,7 @@ _start:
140:
testl %eax, %eax
141:
- .nop -(((144f-143f)-(141b-140b)) > 0)*((144f-143f)-(141b-140b)),6
+ .nops -(((144f-143f)-(141b-140b)) > 0)*((144f-143f)-(141b-140b)),6
142:
xor %eax, %eax
.pushsection .altinstr_replacement,"ax"
diff --git a/gas/testsuite/gas/i386/nop-6.d b/gas/testsuite/gas/i386/nop-6.d
index 93ee8def031..851c129c4a8 100644
--- a/gas/testsuite/gas/i386/nop-6.d
+++ b/gas/testsuite/gas/i386/nop-6.d
@@ -1,5 +1,5 @@
#objdump: -drw
-#name: i386 .nop 6
+#name: i386 .nops 6
.*: +file format .*
diff --git a/gas/testsuite/gas/i386/nop-6.s b/gas/testsuite/gas/i386/nop-6.s
index c7b1e2cbf04..d8952c9a430 100644
--- a/gas/testsuite/gas/i386/nop-6.s
+++ b/gas/testsuite/gas/i386/nop-6.s
@@ -1,5 +1,5 @@
.macro mknops nr_bytes
- .nop \nr_bytes, 9
+ .nops \nr_bytes, 9
.endm
.macro ALTERNATIVE
diff --git a/gas/testsuite/gas/i386/nop-bad-1.l b/gas/testsuite/gas/i386/nop-bad-1.l
index 34be496b4b4..2ae5b484536 100644
--- a/gas/testsuite/gas/i386/nop-bad-1.l
+++ b/gas/testsuite/gas/i386/nop-bad-1.l
@@ -1,4 +1,4 @@
.*: Assembler messages:
.*:2: Warning: negative nop control byte, ignored
-.*:4: Warning: \.space, \.nop or \.fill with negative value, ignored
+.*:4: Warning: \.space, \.nops or \.fill with negative value, ignored
.*:3: Error: invalide single nop size: 20 \(expect within \[0, [0-9]+\]\)
diff --git a/gas/testsuite/gas/i386/nop-bad-1.s b/gas/testsuite/gas/i386/nop-bad-1.s
index 53cc7d554ae..2f2bbfb9fd2 100644
--- a/gas/testsuite/gas/i386/nop-bad-1.s
+++ b/gas/testsuite/gas/i386/nop-bad-1.s
@@ -1,4 +1,4 @@
.text
- .nop 100, -2
- .nop 100, 20
- .nop -1
+ .nops 100, -2
+ .nops 100, 20
+ .nops -1
diff --git a/gas/testsuite/gas/i386/x86-64-nop-1.d b/gas/testsuite/gas/i386/x86-64-nop-1.d
index f3edc7d346c..ec6263b49dc 100644
--- a/gas/testsuite/gas/i386/x86-64-nop-1.d
+++ b/gas/testsuite/gas/i386/x86-64-nop-1.d
@@ -1,6 +1,6 @@
#source: nop-1.s
#objdump: -drw
-#name: x86-64 .nop 1
+#name: x86-64 .nops 1
.*: +file format .*
diff --git a/gas/testsuite/gas/i386/x86-64-nop-2.d b/gas/testsuite/gas/i386/x86-64-nop-2.d
index e894d2c7bf4..438e4f84f29 100644
--- a/gas/testsuite/gas/i386/x86-64-nop-2.d
+++ b/gas/testsuite/gas/i386/x86-64-nop-2.d
@@ -1,6 +1,6 @@
#source: nop-2.s
#objdump: -drw -Mi8086
-#name: x86-64 .nop 2
+#name: x86-64 .nops 2
.*: +file format .*
diff --git a/gas/testsuite/gas/i386/x86-64-nop-3.d b/gas/testsuite/gas/i386/x86-64-nop-3.d
index b43239af6f0..1dc9505b4f8 100644
--- a/gas/testsuite/gas/i386/x86-64-nop-3.d
+++ b/gas/testsuite/gas/i386/x86-64-nop-3.d
@@ -1,6 +1,6 @@
#source: nop-3.s
#objdump: -drw
-#name: x86-64 .nop 3
+#name: x86-64 .nops 3
.*: +file format .*
diff --git a/gas/testsuite/gas/i386/x86-64-nop-4.d b/gas/testsuite/gas/i386/x86-64-nop-4.d
index a910171303f..25927ca2228 100644
--- a/gas/testsuite/gas/i386/x86-64-nop-4.d
+++ b/gas/testsuite/gas/i386/x86-64-nop-4.d
@@ -1,6 +1,6 @@
#source: nop-4.s
#objdump: -drw
-#name: x86-64 .nop 4
+#name: x86-64 .nops 4
.*: +file format .*
diff --git a/gas/testsuite/gas/i386/x86-64-nop-5.d b/gas/testsuite/gas/i386/x86-64-nop-5.d
index 57493cf6dcb..a609a1254bd 100644
--- a/gas/testsuite/gas/i386/x86-64-nop-5.d
+++ b/gas/testsuite/gas/i386/x86-64-nop-5.d
@@ -1,6 +1,6 @@
#source: nop-5.s
#objdump: -drw
-#name: x86-64 .nop 5
+#name: x86-64 .nops 5
.*: +file format .*
diff --git a/gas/testsuite/gas/i386/x86-64-nop-6.d b/gas/testsuite/gas/i386/x86-64-nop-6.d
index 520f5909453..63f3817148a 100644
--- a/gas/testsuite/gas/i386/x86-64-nop-6.d
+++ b/gas/testsuite/gas/i386/x86-64-nop-6.d
@@ -1,6 +1,6 @@
#source: nop-6.s
#objdump: -drw
-#name: x86-64 .nop 6
+#name: x86-64 .nops 6
.*: +file format .*
diff --git a/gas/write.c b/gas/write.c
index 9b14fda1562..4c8e42b4b49 100644
--- a/gas/write.c
+++ b/gas/write.c
@@ -453,7 +453,7 @@ skip_align:
if (fragP->fr_offset < 0)
{
as_bad_where (fragP->fr_file, fragP->fr_line,
- _("attempt to .org/.space/.nop backwards? (%ld)"),
+ _("attempt to .org/.space/.nops backwards? (%ld)"),
(long) fragP->fr_offset);
fragP->fr_offset = 0;
}
@@ -1587,7 +1587,7 @@ md_generate_nops (fragS *f ATTRIBUTE_UNUSED,
offsetT count ATTRIBUTE_UNUSED,
int control ATTRIBUTE_UNUSED)
{
- as_bad (_("unimplemented .nop directive"));
+ as_bad (_("unimplemented .nops directive"));
}
#endif
@@ -2840,7 +2840,7 @@ relax_segment (struct frag *segment_frag_root, segT segment, int pass)
}
as_warn_where (fragP->fr_file, fragP->fr_line,
- _(".space, .nop or .fill with negative value, ignored"));
+ _(".space, .nops or .fill with negative value, ignored"));
fragP->fr_symbol = 0;
}
else