Yeah, my point was that 64-bit Linux and Mac should be able to go over 4 GB without needing any changes to the DF program (unlike 64-bit windows, which requires you to modify the DF executable before it will let you). I was not intending to imply that 32-bit OS's would let you give over 4 GB without problems, sorry if you got that.
Also wrong! A 32-bit program
cannot use more than 4GB of ram,
ever. Under any circumstances! **
The reason is that a 32-bit program uses 32-bit addresses, which means it can uniquely address at most 2^32 = 4G addresses. Modern computers are byte-addressed, so that becomes 4GB. The difference between linux and windows versions of DF is whether you can use >2GB without setting the LAA flag, 4GB is a hard limit in both cases that you can't circumvent.
** I won't mention AWE, as that requires the program to be written specially to use it
Also for those it interests, Windows requires a program to be flagged as supporting up to 4GB of ram (well "4G of virtual addresses", technically) for compatibility reasons. Prior to PCs having anywhere near gigabytes of ram, the 32-bit Windows virtual address space was divided in half (2GB each for user and system) for simplicity. Both sides had more address space available than ram in the machine by at least an order of magnitude, so it was fine! Unfortunately some developers saved themselves some ram by shrinking their program's addresses to 31 bits (2GB, which was all the program could use anyway) and using the extra bit for whatever 1-bit flag they needed to store. This invisibly makes the program incapable of using 4GB, even if allowed to by the OS. In fact, allowing it access to 4GB will most likely cause it to crash! Microsoft prides compatibility more than the linux community, so rather than have existing programs crash everywhere they made it so developers who didn't pull tricks like this could mark their programs as "Large Address Aware" and use 4GB of ram, and older programs (which were theoretically designed for 2GB and less ram use anyway) would be fine continuing to be limited to 2GB.
3rd-party software that can set the LAA flag exist purely for when the developer doesn't do it themselves, it should really be the default for all new software.