This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [AArch64/bfd/2.24] relocation truncated to fit: R_AARCH64_LD64_GOT_LO12_NC against



> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]