Add a new ".nop" directive to the assembler to allow the creation of no-op instructio...
authorNick Clifton <nickc@redhat.com>
Mon, 14 Sep 2020 15:14:24 +0000 (16:14 +0100)
committerNick Clifton <nickc@redhat.com>
Mon, 14 Sep 2020 15:14:24 +0000 (16:14 +0100)
commitb1766e7ce88647c8002928aeb8a9f04048c494ae
tree33c8ecdce1a894dfba913c58e0b484991383be8c
parent04f5bab24ba93562d5d14b6f26efbd407dbccaaf
Add a new ".nop" directive to the assembler to allow the creation of no-op instructions in an architeture neutral manner.

* read.c (s_nop): New function.  Handles the .nop directive.
(potable): Add entry for "nop".
(s_nops): Code tidy.
* read.h (s_nop): Add prototype.
* config/tc-bpf.h (md_single_noop_insn): Define.
* config/tc-mmix.h (md_single_noop_insn): Define.
* config/tc-or1k.h (md_single_noop_insn): Define.
* config/tc-s12z.c (md_assemble): Preserve the input line pointer,
rather than corrupting it.
* write.c (relax_segment): Update error message regarding
non-absolute values passed to .fill and .nops.
* NEWS: Mention the new directive.
* doc/as.texi: Document the new directive.
* doc/internals.texi: Document the new internal macros used to
implement the new directive.
* testsuite/gas/all/nop.s: New test.
* testsuite/gas/all/nop.d: New test control file.
* testsuite/gas/all/gas.exp: Run the new test.
* testsuite/gas/elf/dwarf-5-nop-for-line-table.s: New test.
* testsuite/gas/elf/dwarf-5-nop-for-line-table.d: New test
control file.
* testsuite/gas/elf/elf.exp: Run the new test.
* testsuite/gas/i386/space1.l: Adjust expected output.
18 files changed:
gas/ChangeLog
gas/NEWS
gas/config/tc-bpf.h
gas/config/tc-mmix.h
gas/config/tc-or1k.h
gas/config/tc-s12z.c
gas/doc/as.texi
gas/doc/internals.texi
gas/read.c
gas/read.h
gas/testsuite/gas/all/gas.exp
gas/testsuite/gas/all/nop.d [new file with mode: 0644]
gas/testsuite/gas/all/nop.s [new file with mode: 0644]
gas/testsuite/gas/elf/dwarf-5-nop-for-line-table.d [new file with mode: 0644]
gas/testsuite/gas/elf/dwarf-5-nop-for-line-table.s [new file with mode: 0644]
gas/testsuite/gas/elf/elf.exp
gas/testsuite/gas/i386/space1.l
gas/write.c