vBulletin Search Engine Optimization
|
|||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Hi NG
I use AIX 5.3, GCC 4.2.2 and ld 1.65.2.4 (2/8/07). I have a problem when linking some binaries which are part of our product. I could reduce the problem to a hello-world program. I get the following errors when linking my hello-world program with the libraries of our product: ld: 0711-783 WARNING: TOC overflow. TOC size: 955784 Maximum size: 65536 Extra instructions are being generated for each reference to a TOC symbol if the symbol is in the TOC overflow area. ld: 0711-780 SEVERE ERROR: Symbol .global constructors keyed to ..._.._.._.._.._gcc_4.2.2_libstdc___v3_src_locale_ inst.cc_6FCA3617_17007445(entry 14303) in object /opt/pware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.2/../../../ppc64/libstdc++.a[locale-inst.o]: Relocation overflow in reference to: .text (entry 712) Address: 0x00009f80; RLD type: R_RBR; RLD length: 26 ld: 0711-780 SEVERE ERROR: Symbol .global constructors keyed to ..._.._.._.._.._gcc_4.2.2_libstdc___v3_src_wlocale _inst.cc_76D38880_3E573169(entry 13434) in object /opt/pware/lib/gcc/powerpc-ibm-aix5.3.0.0/4.2.2/../../../ppc64/libstdc++.a[wlocale-inst.o]: Relocation overflow in reference to: .text (entry 992) Address: 0x00009ca8; RLD type: R_RBR; RLD length: 26 collect2: ld returned 12 exit status The g++ call looks like this: g++ -o testprog -maix64 -Wl,-bbigtoc -Wl,-brtl testprog.o -lLib1 -lLib2 -lLib3 -lodm -lc_r -lld -ldl -lstdc++ -lclntsh -lpthread -lz -lm_r Most of these libraries are unnecessary for this hello-world program and when I leave them, I have no problems building my test program. E.g. when I leave -lLib2 -lLib3 the no error occurs. So I suppose the error is in one of these two libraries. Of course I need the libraries for the mentioned binaries of our product, so I cannot solve the problem by leaving out these libs. I googled "ld: 0711-780" and found some results which didn't really help me. I tried different compiler and linker options but no one solved the problem (-mlongcall, infos got from -bnoquiet, ...). 1. Is this a known problem? 2. Does it have to do with the TOC overflow warning? (Please note that I already link with -bbigtoc) 3. What does this error description mean and what is meant by "Symbol ..global constructors"? I don't understand it. Let me know if you need some more info to be able to help. Thanks in advance! Regards, Chris |
|
|||
|
On Jan 18, 2:55 pm, "Christian Meier" <chris@no_spam.com> wrote:
> Hi NG > > I use AIX 5.3, GCC 4.2.2 and ld 1.65.2.4 (2/8/07). > > I have a problem when linking some binaries which are part of our product. > I could reduce the problem to a hello-world program. I get the following > errors when linking my hello-world program with the libraries of our > product: > > ld: 0711-783 WARNING: TOC overflow. TOC size: 955784 Maximum size: 65536 > Extra instructions are being generated for each reference to a TOC > symbol if the symbol is in the TOC overflow area. From http://www-304.ibm.com/jct09002c/isv...sp?oid=1:15856 .... On AIX 4.x there is no limit for TOC size. You can use -bbigtoc flag and get around MAX TOC size using regular ld/bind. You will still get the WARNING: TOC overflow message. This warning is expected whenever TOC overflow occurs and the -bbigtoc option is used. So i would assume the same for AIX 5.3 hth hajo |
|
|||
|
"Hajo Ehlers" <[email protected]> schrieb im Newsbeitrag
news:[email protected]... > On Jan 18, 2:55 pm, "Christian Meier" <chris@no_spam.com> wrote: >> Hi NG >> >> I use AIX 5.3, GCC 4.2.2 and ld 1.65.2.4 (2/8/07). >> >> I have a problem when linking some binaries which are part of our >> product. >> I could reduce the problem to a hello-world program. I get the following >> errors when linking my hello-world program with the libraries of our >> product: >> >> ld: 0711-783 WARNING: TOC overflow. TOC size: 955784 Maximum size: >> 65536 >> Extra instructions are being generated for each reference to a >> TOC >> symbol if the symbol is in the TOC overflow area. > From > http://www-304.ibm.com/jct09002c/isv...sp?oid=1:15856 > ... > On AIX 4.x there is no limit for TOC size. You can use -bbigtoc flag > and get around MAX TOC size using regular ld/bind. You will still get > the WARNING: TOC overflow message. This warning is expected whenever > TOC overflow occurs and the -bbigtoc option is used. > > So i would assume the same for AIX 5.3 > > hth > hajo Thanks for your answer. This warning is not my problem. I posted it because I don't know whether it is relevant or not for the error which occurs while linking. Btw, I use the -bbigtoc option as mentioned in my first post. >> 2. Does it have to do with the TOC overflow warning? (Please note that I >> already link with -bbigtoc) Regards, Chris |