H. Peter Anvin 10ba8490ce outcoff: set the "virtual size field" to zero (BR 1351586)
Per SF bug report 1351586:

The COFF spec suggests that the "Virtual Size" field (which
immediately follows the name field inside a section header) be set to
0 for an object file.

By contrast (as documented in comment #4 at the beginning of its
outcoff.c file) NASM sets it to a particular non-0 value.

MASM 6.15 matches NASM for both 16- and 32-bit object files,
i.e. emits non-0 values.

MASM 8 (from VS 2005 Beta) matches the COFF spec for 64-bit object
files, i.e. emits 0.

GAS matches the COFF spec for 32-bit object files (MinGW or Cygwin),
i.e. also emits 0.

Older versions of GNU ld seem to honor said "Virtual Size" field
whereas newer versions do not.  As a result those older versions
generate "bloated" image files.

Since the COFF spec and the real world seem to disagree for this case,
it might make sense to add a method for selecting between the two to
NASM.

Date: 2005-11-28 15:39
Sender: nasm64developer
Logged In: YES
user_id=804543

MASM 8 (from VS 2005 Beta) also matches the COFF spec for 16- and
32-bit object files, i.e. emits 0.

That said, NASM should always emit 0 too. Therefore I am turning this
from a support request into a bug.
2007-09-24 17:02:41 -07:00
2007-09-24 13:54:00 -07:00
2007-09-12 21:05:06 -07:00
2007-04-15 22:45:25 +00:00
2002-04-30 21:09:12 +00:00
2005-01-15 22:15:51 +00:00
2007-09-18 21:55:56 -07:00
2002-04-30 21:09:12 +00:00
2007-04-13 00:38:29 +00:00
2007-04-14 00:10:59 +00:00
2005-01-15 22:15:51 +00:00
2007-09-17 13:56:26 -07:00
2007-09-19 21:41:27 -07:00
2007-09-22 16:44:56 -07:00
2007-09-19 21:41:27 -07:00
2007-09-12 21:05:06 -07:00
2007-09-19 21:41:02 -07:00
2007-09-19 21:07:32 -04:00

              NASM, the Netwide Assembler.

Many many developers all over the net respect NASM for what it is
- a widespread (thus netwide), portable (thus netwide!), very
flexible and mature assembler tool with support for many output
formats (thus netwide!!).

Now we have good news for you: NASM is licensed under LGPL.
This means its development is open to even wider society of
programmers wishing to improve their lovely assembler.

The NASM project is now situated at SourceForge.net, the most
popular Open Source development site on the Internet.

Visit our website at http://nasm.sourceforge.net/ and our
SourceForge project at http://sourceforge.net/projects/nasm/

See the file CHANGES for the description of changes between revisions.

                                                   With best regards,
                                                           NASM crew.
Description
No description provided
Readme BSD-2-Clause 10 MiB
Languages
Assembly 61.7%
C 31.7%
Perl 3.2%
Makefile 0.8%
M4 0.7%
Other 1.9%