According to the documentation of OpenWatcom, CONST and CONST2 are read-only non-executable segments, string literals are put to CONST, and user-defined const global variables are put to CONST2. My question: what else does the OpenWatcom C compiler put to CONST? (And is it possible to configure it, e.g. so that only string literals go to CONST?)
I've discovered at least one thing: some floating-point constants are also added to CONST, for example in the function double mul3(double x) { return 3 * x; }, the output of the dmpobj tool indicates that the 8-byte constant 3 is put to CONST.
wcccompiler andwclcompiler driver used for targeting DOS, Windows 3.1, and other supported 16-bit targets. On the other hand, it also appear to not be badged "16-bit only", meaning it is also applicable to thewcc386compiler andwcl386compiler driver, where modern Linux has been added alongside DPMI, Windows NT, and Windows 9x as a valid output target.