Files
glide/glide3x/sst1
sezero e6797e4fd8 asm: rename TEXT, DATA, CONST macros to SEG_TEXT, SEG_DATA and SEG_CONST
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]
2018-08-16 21:11:10 +03:00
..
2004-03-02 07:56:29 +00:00