https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95620
Bug ID: 95620 Summary: [10/11 Regression] relocation truncated to fit: R_X86_64_PC32 against `.bss' Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: hubicka at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- It's a test-case reduced from opa-ff project: $ cat intel.i double a[353783808]; int b, c, d; int main() { for (; b;) #pragma omp parallel a[c] = 1; for (;; b++) if (a[c]) d++; } $ gcc intel.i -mcmodel=medium -O2 -fopenmp $ gcc intel.i -mcmodel=medium -O2 -flto -fopenmp /tmp/ccaU2BEX.ltrans0.ltrans.o: in function `main': <artificial>:(.text.startup+0x2): relocation truncated to fit: R_X86_64_PC32 against `.bss' <artificial>:(.text.startup+0x22): relocation truncated to fit: R_X86_64_PC32 against `.bss' collect2: error: ld returned 1 exit status They have a huge .bss array (~350MB). Since r10-5244-g6d8fd122c4f856e9 we can't handle it, the maximum value supported by LTO is ~270MB.