This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [AArch64/bfd/2.24] relocation truncated to fit: R_AARCH64_LD64_GOT_LO12_NC against
- From: pinskia at gmail dot com
- To: David Abdurachmanov <david dot abdurachmanov at gmail dot com>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Sun, 13 Jul 2014 00:42:31 -0700
- Subject: Re: [AArch64/bfd/2.24] relocation truncated to fit: R_AARCH64_LD64_GOT_LO12_NC against
- Authentication-results: sourceware.org; auth=none
- References: <B98BFD30-327B-47F6-94F3-CAD15DD20917 at gmail dot com>
> On Jul 11, 2014, at 1:19 PM, David Abdurachmanov <david.abdurachmanov@gmail.com> wrote:
>
> Hi,
>
> Tested on Fedora 19 Remix aarch64 (GCC 4.8.1, binutils 2.23.52.0.1-9.fc19 20130226) and June 28 Fedora 21 (rawhide) (GCC 4.9.0, binutils 2.24). Default linker if bfd.
>
> I am building a package called CVMFS. It depends on pacparser, which internally depends on Mozilla's SpiderMonkey JS engine.
>
> The packages compiles on i386, x86_64, and armv7hl for Fedora 19 and 20.
>
> I got these linker errors:
This could be a bug in gcc too. I had debugged a case in the aarch64 backend where it would change from the small coding model to the tiny one in some cases. I have a fix but I don't have it right now as I am on vacation. I can post it around Tuesday or so. I saw this while using a gcc 4.7 based gcc and with a distro build (I cannot remember the program right now either, maybe python).
Thanks,
Andrew
>
> libcvmfs.a(libcvmfs.a_pub.o): In function `TryArgumentFormatter':
> :(.text+0x77044): relocation truncated to fit: R_AARCH64_LD64_GOT_LO12_NC against `js_GetErrorMessage'
> libcvmfs.a(libcvmfs.a_pub.o): In function `JS_ConvertArgumentsVA':
> :(.text+0x77230): relocation truncated to fit: R_AARCH64_LD64_GOT_LO12_NC against `js_GetErrorMessage'
> libcvmfs.a(libcvmfs.a_pub.o): In function `JS_ConvertValue':
> :(.text+0x78630): relocation truncated to fit: R_AARCH64_LD64_GOT_LO12_NC against `js_GetErrorMessage'
> libcvmfs.a(libcvmfs.a_pub.o): In function `JS_EnumerateResolvedStandardClasses':
> :(.text+0x85000): relocation truncated to fit: R_AARCH64_LD64_GOT_LO12_NC against `js_InitObjectClass'
> libcvmfs.a(libcvmfs.a_pub.o): In function `JS_GetScopeChain':
> :(.text+0x8512c): relocation truncated to fit: R_AARCH64_LD64_GOT_LO12_NC against `js_GetErrorMessage'
> libcvmfs.a(libcvmfs.a_pub.o): In function `JS_LockGCThing':
> :(.text+0x85530): relocation truncated to fit: R_AARCH64_LD64_GOT_LO12_NC against `js_GetErrorMessage'
> libcvmfs.a(libcvmfs.a_pub.o): In function `JS_UnlockGCThing':
> :(.text+0x855a8): relocation truncated to fit: R_AARCH64_LD64_GOT_LO12_NC against `js_GetErrorMessage'
> libcvmfs.a(libcvmfs.a_pub.o): In function `JS_InstanceOf':
> :(.text+0x862c4): relocation truncated to fit: R_AARCH64_LD64_GOT_LO12_NC against `js_GetErrorMessage'
> libcvmfs.a(libcvmfs.a_pub.o): In function `JS_GetConstructor':
> :(.text+0x86948): relocation truncated to fit: R_AARCH64_LD64_GOT_LO12_NC against `js_GetErrorMessage'
> libcvmfs.a(libcvmfs.a_pub.o): In function `JS_SealObject':
> :(.text+0x86adc): relocation truncated to fit: R_AARCH64_LD64_GOT_LO12_NC against `js_GetErrorMessage'
> libcvmfs.a(libcvmfs.a_pub.o): In function `JS_AliasProperty':
> :(.text+0x87560): additional relocation overflows omitted from the output
> collect2: error: ld returned 1 exit status
> make[2]: *** [cvmfs/test_libcvmfs] Error 1
>
> All these functions are in jsapi.o. Other object files contains code calling the same functions [js_GetErrorMessage, js_InitObjectClass] and none of them are reported.
>
> ./src/spidermonkey/js/src/Linux_All_DBG.OBJ/jsapi.o
> 0000000000000094 t TryArgumentFormatter
> ./src/spidermonkey/js/src/Linux_All_DBG.OBJ/jsapi.o
> 000000000000022c T JS_ConvertArgumentsVA
> ./src/spidermonkey/js/src/Linux_All_DBG.OBJ/jsapi.o
> 0000000000001558 T JS_ConvertValue
> ./src/spidermonkey/js/src/Linux_All_DBG.OBJ/jsapi.o
> 000000000000df1c T JS_EnumerateResolvedStandardClasses
> ./src/spidermonkey/js/src/Linux_All_DBG.OBJ/jsapi.o
> 000000000000e204 T JS_GetScopeChain
> ./src/spidermonkey/js/src/Linux_All_DBG.OBJ/jsapi.o
> 000000000000e600 T JS_LockGCThing
> ./src/spidermonkey/js/src/Linux_All_DBG.OBJ/jsapi.o
> 000000000000e674 T JS_UnlockGCThing
> ./src/spidermonkey/js/src/Linux_All_DBG.OBJ/jsapi.o
> 000000000000f29c T JS_InstanceOf
> ./src/spidermonkey/js/src/Linux_All_DBG.OBJ/jsapi.o
> 000000000000f90c T JS_GetConstructor
> ./src/spidermonkey/js/src/Linux_All_DBG.OBJ/jsapi.o
> 000000000000fb18 T JS_SealObject
> ./src/spidermonkey/js/src/Linux_All_DBG.OBJ/jsapi.o
> 0000000000010504 T JS_AliasProperty
>
> ./src/spidermonkey/js/src/Linux_All_DBG.OBJ/jscntxt.o
> 000000000000219c T js_GetErrorMessage
>
> ./src/spidermonkey/js/src/Linux_All_DBG.OBJ/jsobj.o
> 000000000000577c T js_InitObjectClass
>
> I uploaded the and object file and a static library, which failed to link:
>
> davidlt.web.cern.ch/davidlt/testcase1.tar.bz2
>
> Compiling:
>
> c++ test_libcvmfs.cc.o -o test_libcvmfs libcvmfs.a -lssl -lcrypto -lrt -lpthread -ldl
>
> If more details are needed, reply.
>
> david