Commit: Gas: Add .nop directive.

Nick Clifton nickc@redhat.com
Mon Sep 14 15:13:59 GMT 2020


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  <nickc@redhat.com>

	* 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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gas-nop-directive.patch
Type: text/x-patch
Size: 12849 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20200914/ea30ee28/attachment.bin>


More information about the Binutils mailing list