MIPS N32 编译 Firefox 链接 libxu.so 时被 Kill

在 Arch Linux (MIPS N32) 系统中编译 Firefox,链接 libxul.so 过程中 ld 进程被 system 给 kill 了,多次尝试都如此。检查发现是 OOM 触发了 system 将进程 kill 了。增加 swap 后仍然无效,原因是 32-bit 的虚拟地址空间不足了。。。

在这种杯具的情况下,可以启动 ld 参数 –no-keep-memory 临时解决此问题。

--no-keep-memory
ld normally optimizes for speed over memory usage by caching the symbol tables
 of input files in memory. This option tells ld to instead optimize for memory
 usage, by rereading the symbol tables as necessary. This may be required if ld
 runs out of memory space while linking a large executable.

如果还是不行,那就要再加上 -S 或 –strip-debug

-S
--strip-debug
    Omit debugger symbol information (but not all symbols) from the output file.

Over!