I think this is a question of a separate topic. In Windows, a zero file of 3 GB is written.
I've double checked. It's not a linux file system limitation. Development fpc sources(trunc) have been used, but it's an old problem.
If SaveToFile calls something like "WriteBuffer(Memory^,Size);" where Size is int64 on x86_64 targets then the rtl devs might have hit the same problem as I did, meaning that they might have used a routine limited to longints. In this topic I've suggested adding some overloaded functions for 64bit integers. Anyway, the forum moderators and the rtl developers should know about this situation. Maybe this situation is encountered only when targeting linux-x86_64, I don't know.