------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=1274 Summary: Cross compiling MIPS64, error relocation truncated to fit: R_MIPS_GOT_PAGE while linking libpcre.a Product: PCRE Version: 8.31 Platform: Other OS/Version: Linux Status: NEW Severity: bug Priority: medium Component: Code AssignedTo: [email protected] ReportedBy: [email protected] CC: [email protected] /usr/lib/cross-tools/mips64-xlr/lib/libpcre.a(pcre_compile.o): In function `find_error_text': pcre_compile.c:(.text+0x24): relocation truncated to fit: R_MIPS_GOT_PAGE against `no symbol' pcre_compile.c:(.text+0x6c): relocation truncated to fit: R_MIPS_GOT_PAGE against `no symbol' /usr/lib/cross-tools/mips64-xlr/lib/libpcre.a(pcre_compile.o): In function `check_escape': pcre_compile.c:(.text+0x4e0): relocation truncated to fit: R_MIPS_GOT_PAGE against `no symbol' pcre_compile.c:(.text+0x534): relocation truncated to fit: R_MIPS_GOT_PAGE against `no symbol' pcre_compile.c:(.text+0x588): relocation truncated to fit: R_MIPS_GOT_PAGE against `no symbol' pcre_compile.c:(.text+0x5b4): relocation truncated to fit: R_MIPS_GOT_PAGE against `no symbol' pcre_compile.c:(.text+0x5e0): relocation truncated to fit: R_MIPS_GOT_PAGE against `no symbol' pcre_compile.c:(.text+0x60c): relocation truncated to fit: R_MIPS_GOT_PAGE against `no symbol' pcre_compile.c:(.text+0xd20): relocation truncated to fit: R_MIPS_GOT_PAGE against `no symbol' pcre_compile.c:(.text+0xd4c): relocation truncated to fit: R_MIPS_GOT_PAGE against `no symbol' pcre_compile.c:(.text+0xef4): additional relocation overflows omitted from the output make[1]: *** [rmios_app_pass1] Error 1 Several documents point to adding -mxgot to CFLAGS http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/MIPS-Options.html -mxgot -mno-xgot Lift (do not lift) the usual restrictions on the size of the global offset table. GCC normally uses a single instruction to load values from the GOT. While this is relatively efficient, it will only work if the GOT is smaller than about 64k. Anything larger will cause the linker to report an error such as: relocation truncated to fit: R_MIPS_GOT16 foobar If this happens, you should recompile your code with -mxgot. It should then work with very large GOTs, although it will also be less efficient, since it will take three instructions to fetch the value of a global symbol. Note that some linkers can create multiple GOTs. If you have such a linker, you should only need to use -mxgot when a single object file accesses more than 64k's worth of GOT entries. Very few do. These options have no effect unless GCC is generating position independent code. It should also be noted that libpcre operates properly as a static library. -- Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email -- ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev
