NASM Wishlist
=============

- Add Fox Cutter's makefile out of +nasm

- Find and fix the segfault relating to LCC 3.5 on Jules' machine.

- Actually _do_ something with the processor, privileged and
  undocumented flags in the instruction table.

- Be able to cope with arbitrarily long lines.

- Symbol map in binary format. Format-specific options...

- Listing file support.

- Sort out near/far commons in OBJ, and aligned commons in ELF.

- Yet more object formats.
  * Do OS/2 object files have documentation?
  * What format does Watcom C use?
  * IEEE695, if George Lindauer ever sends me documentation.
  * Are there any others?

- Debug information, in all formats it can be usefully done in.

- Line number support, in general:
  * support it in COFF, probably Win32, ELF, probably not a.out,
    possibly OBJ.
  * support preprocessor `line' directives, and pass this info
    through to the object formats _and_ the error reporting routine.
    So people generating NASM code automatically from other files
    can have errors reported in a useful manner.
  * the preprocessor should be able to read line directives in the
    form they come out of GNU cpp: `# 1 "wibble" 1' or whatever.

- PIC support in ELF?

- DLL export/import in Win32. Possibly Win16 extensions to OBJ, as
  well.

- REDESIGN: Think about EQU dependency, and about start-point
  specification in OBJ. Possibly re-think directive support.

- REDESIGN: Modularise assemble_file() to include explicit calls to
  get_line() for preprocessing. We want to be able to assemble
  without preprocessing, preprocess without assembling, and have
  enough modularity to plug in different preprocessors.

- Think about a wrapper program like gcc? Possibly invent a _patch_
  for gcc so that it can take .asm files on the command line?

- If a wrapper happens, think about adding an option to cause the
  resulting executable file to be executed immediately, thus
  allowing NASM source files to have #!... (probably silly)

- A preprocessor. Features should include:
  * cpp-style single-line optionally-parametric macro expansions.
  * access to environment variables.
  * macros should have defaults for omitted parameters.
  * big macros - flexible line-level parser.
  * condition code handling and inverting.
