Hi Guys, I am checking in the attached patch to add a ".nop" directive to the assembler. This directive creates a single no-op instruction. It is similar to the already existing ".nops" directive, apart from two important differences: 1. It is implemented for all architectures, not just x86. 2. The instruction it generates counts as a real instruction for the purposes of DWARF line number table generation. Fact 1 is important as it allows the directive to be used to generate architecture neutral test cases containing real instructions. Tested with a large variety of different targets. Cheers Nick gas/ChangeLog 2020-09-14 Nick Clifton * 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.