Linux上的所有MIPS代码都应该是PIC吗?

在MIPS CPU上的MIPS(准确地说MIPSEL32),所有的用户级SO都是位置无关的(PIC)? 从权威来源引用将是最好的。

Android如何?

我的兴趣源于此 。

在Linux上的PIC代码的情况似乎有点有趣。 在过去(EGLIBC-2.9之前)MIPS上所有应该是PIC的二进制文件(包括应用程序和共享库)。 但是,为了减小应用程序的大小,开发了ABI扩展以允许非PIC可执行文件(但像以前一样共享对象保持PIC):

目前我们不提出对共享对象使用的与位置无关的寻址约定的任何改变。 同样,用“-fpie”编译的与位置无关的可执行文件(如“硬化的”Li​​nux发行版中的地址空间随机化所要求的)将继续使用现有的psABI寻址和调用机制。

http://gcc.gnu.org/ml/gcc/2008-07/txt00000.txt

linux-mips.org上的维基页面指出,MIPS上的所有二进制文件都必须是PIC,因为Linux上最近的GCC和EGLIBC都支持非PIC可执行文件: http://www.linux-mips。组织/维基/ PIC_code