Due to platform concerns with my smart home system, I am having to build i386 versions of mame alongside amd64 versions. However, I am consistently getting virtual memory exhausted errors with GCC 5.4.1, even though I have 32GB of RAM and 32GB of swap dedicated to the build server. The i386 build server is running pae, so there should be sufficient address space...does anyone know how best to work through this problem?
If GCC itself is exhausting its 2GB of address space, there's nothing you can do about it really besides cross-compiling on a 64-bit box. PAE usually doesn't allow a single process to use more than 4GB of address space, and Linux generally maps 2GB of user space plus 2GB of kernel space in an application's address space. (I say "usually" because MS Windows AWE lets a 32-bit process map windows into a larger address space on 32-bit systems with PAE. SQL Server and some other applications use it.)