No description
Find a file
H. Peter Anvin (Intel) 6f830c1c74 labels: handle the sequence EXTERN, GLOBAL, defined
The sequence EXTERN, GLOBAL, definition would fail, because the EXTERN
would create a pseudo-segment and consider it a definition, whereas
GLOBAL would set change it to a global definition, but leaving the
definition existing, which is not the normal case for a GLOBAL symbol
(define_label would not be called.)

Therefore, explicitly "undefine" the symbol by setting defn.defined to
0, as it would be after a GLOBAL statement, as as it is when an EXTERN
statement is followed by a definition (causing it to be implicitly
promoted to GLOBAL.)

Reported-by: E. C. Masloch <ecm-pushbx@github.com>
Reported-by: <roel-z@github.com>
Fixes: https://github.com/netwide-assembler/nasm/issues/224
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2026-06-11 15:08:27 -07:00
.github/workflows Setup CI/CD pipeline 2025-10-04 10:51:08 -07:00
asm labels: handle the sequence EXTERN, GLOBAL, defined 2026-06-11 15:08:27 -07:00
autoconf autoconf: sync with upstream pa_option_lto.m4 2026-06-04 10:50:54 -07:00
common error: factor out error functions into separate files 2025-11-07 14:42:33 -08:00
config treewide: replace verbose copyright headers with SPDX tags 2025-10-01 11:45:31 -07:00
contrib contrib/MSVC6.txt: Add guide how to use nasm in MSVC6 2010-01-24 23:17:55 +03:00
disasm Merge remote-tracking branch 'maciej/for-hpa-fixes' 2026-02-26 15:32:29 -08:00
doc changes.src: document %clear directive fix 2026-06-11 14:42:55 -07:00
editors editors: rename nasmtok.pl to emacstok.pl 2026-06-07 20:04:50 -07:00
include limits: allow querying limits, and reset limits for each pass 2026-04-09 17:00:49 -07:00
macros Disable other warnings in endstruc 2025-10-03 10:30:33 -07:00
misc omfdump.c: add updates from Bernd Böckmann 2026-06-07 21:00:04 -07:00
Mkfiles open-watcom: fix Open Watcom build make file 2026-06-11 14:05:52 -07:00
nasmlib nasmlib/numstr.c: check for buflen == 0 2026-04-07 23:09:21 -07:00
nsis nsis: remove references to RDOFF tools 2022-11-08 18:22:25 -08:00
output Proper handling of several code sections in Codeview debug information 2026-06-07 20:17:36 -07:00
perllib Fix some typos 2022-01-09 17:34:35 +01:00
stdlib nasmlib: move filename_set_extension() into path.c 2025-12-15 09:58:42 -08:00
templates Rename "headers" directory to "templates", add .h template 2025-10-15 17:34:29 -07:00
test test/wrtsymtab.asm: reproducible 2026-06-07 20:05:20 -07:00
tools x86: tools: Remove unused perl code variables 2025-10-06 19:17:51 +02:00
travis x86: fix {er} decorator placement for integer-source VCVT* instructions 2026-06-07 20:23:45 -07:00
win windows host: add embedded manifest file 2024-01-29 17:19:32 -08:00
x86 x86: fix {er} decorator placement for integer-source VCVT* instructions 2026-06-07 20:23:45 -07:00
zlib zlib: yet one more portability hack 2025-09-05 20:08:18 -07:00
.editorconfig .editorconfig: hard tabs are still 8 spaces 2024-06-10 21:12:52 -07:00
.gitattributes gitattributes: don't try to merge the version file 2020-06-30 13:48:13 -07:00
.gitignore travis: always generate a list file; show subtest number 2025-10-15 22:11:09 -07:00
.travis.yml travis: Disable osx for a while 2018-10-17 21:40:14 +03:00
AUTHORS Correct name spelling and email address 2015-01-18 20:21:14 +02:00
autogen.sh autogen.sh: Use $PATH_SEPARATOR as a path separator of ACLOCAL_PATH 2025-10-03 10:29:57 -07:00
ChangeLog Fix some typos 2022-01-09 17:34:35 +01:00
CHANGES Move the revision history into the documentation 2008-07-14 02:45:57 -04:00
configure.ac Remove nroff from configure.ac and Makefile.in 2026-06-07 18:27:49 -07:00
INSTALL Fix some typos 2022-01-09 17:34:35 +01:00
LICENSE treewide: replace verbose copyright headers with SPDX tags 2025-10-01 11:45:31 -07:00
Makefile.in editors: rename nasmtok.pl to emacstok.pl 2026-06-07 20:04:50 -07:00
nasm.spec.in nasm.spec.in: change http:// to https:// 2025-10-09 17:19:54 -07:00
nasm.spec.sed nasm.spec: use a sed file to insert perl dependencies 2017-04-23 18:54:23 -07:00
nasm.txt Fix some typos 2022-01-09 17:34:35 +01:00
ndisasm.txt ndisasm: man -- Add missing -p option 2013-04-20 20:18:46 +04:00
README.md doc: remove references to sourceforge 2020-07-01 21:48:44 -07:00
SubmittingPatches SubmittingPatches: more up to date information about the patch format 2026-06-11 12:47:32 -07:00
version NASM 3.02rc8 2026-06-07 20:56:10 -07:00
version.pl Move editor help files to editors/, add NASM version number 2025-10-02 13:49:43 -07:00

NASM, the Netwide Assembler

master

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 the "simplified" (2-clause) BSD license. This means its development is open to even wider society of programmers wishing to improve their lovely assembler.

Visit our nasm.us website for more details.

With best regards, the NASM crew.