Read the OS documentation about file sizes. Basically, with 32-bit
integers, you will typically have 4GB or 2GB. If they use the high
bit for something else then their maximum file size will be 2GB.
I don't know about the specifics here, but it looks like [with your
multiple posts] you have a program that you didn't write that
can only support 2GB whereas a program you write can support
4GB? If this is the case, then it's the software that's the culprit,
not the OS.