-fpic vs -fPIC powerpc混乱

时间:2012-10-17 01:56:27

标签: c powerpc

我正在尝试使用一些更简单的代码重现我遇到的问题。我写了一个小脚本来生成一个如下所示的C文件:

int SYM_0 = 0;
int SYM_1 = 1;
int SYM_2 = 2;
int SYM_3 = 3;
int SYM_4 = 4;
.
.
.
int SYM_16384 = 16384; 

int main() {
  int sum = 0;
  sum += SYM_0;
  sum += SYM_1;
  sum += SYM_2;
  sum += SYM_3;
  sum += SYM_4;
  .
  .
  .
  sum += SYM_16384;
  return sum;
}

所以基本上是16385个全球变量。当我现在用-fpic编译它时,它编译没有错误。当我用-fPIC编译时,我得到:

/tmp/ccCB1pty.s: Assembler messages:
/tmp/ccCB1pty.s:229412: Error: operand out of range (0x00008000 is not between 0xffff8000 and 0x00007fff)

我感到困惑,因为从我读到的内容来看,-fPIC应该允许每个函数有16k条目的最大GOT条目数量,其中-fpic总共为16k条目。那么,为什么我用fPIC而不是fpic得到错误?

0 个答案:

没有答案