e6797e4fd85bae402c235f4e5f03744c148cc48c
Defining certain keywords in nasm makes it go haywire. See, https://bugzilla.nasm.us/show_bug.cgi?id=3392505 $ cat 1.asm %define TEXT _TEXT align=1 public use32 class=CODE FLAT %define DATA _DATA align=4 public use32 class=DATA FLAT %define CONST CONST2 align=4 public use32 class=DATA FLAT segment TEXT segment DATA segment CONST $ nasm -E 1.asm %line 4+1 1.asm [segment _TEXT align=1 public use32 class=CODE FLAT] [segment _DATA align=4 public use32 class=_DATA align=4 public use32 class=DATA FLAT FLAT] [segment CONST2 align=4 public use32 class=_DATA align=4 public use32 class=_DATA align=4 public use32 class=DATA FLAT FLAT FLAT] Either this (with nasm-2.0..nasm-2.09.xx), or it errors out with: 1.asm:6: error: interminable macro recursion 1.asm:7: error: interminable macro recursion ... which happens with nasm-2.10.xx-nasm-2.13.01 The glide3 tree uses this for Watcom builds / obj output format, and the result is not what is intended. After the renaming, it works as expected: $ cat 1.asm %define SEG_TEXT _TEXT align=1 public use32 class=CODE FLAT %define SEG_DATA _DATA align=4 public use32 class=DATA FLAT %define SEG_CONST CONST2 align=4 public use32 class=DATA FLAT segment SEG_TEXT segment SEG_DATA segment SEG_CONST $ nasm -E 1.asm %line 4+1 1.asm [segment _TEXT align=1 public use32 class=CODE FLAT] [segment _DATA align=4 public use32 class=DATA FLAT] [segment CONST2 align=4 public use32 class=DATA FLAT]
This is the source code to 3Dfx Glide for Voodoo graphics accelerators. It's forked from the original CVS repo of Glide open source project at sourceforge: https://sourceforge.net/projects/glide/ Source is licensed under 3DFX GLIDE Source Code General Public License: see 'glide_license.txt' under the glide2x, glide3x or swlibs directory.
Languages
C
81.1%
Roff
8.2%
Assembly
8%
C++
1.8%
Makefile
0.5%
Other
0.3%