Project Home
Project Home
Source Code
Source Code
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - huge of "unknown symbol" with new 4.2.1: (3 Items)
   
huge of "unknown symbol" with new 4.2.1  
Hello to all,
I have downloaded the new compiler (4.2.1) that permit to use advance instruction sets (like MMX, SSE*, and so on).
I am compiling a library with this new version. All works fine until I run the a program that use it. At runtime I have 
a huge of "unknown symbol:" without information regarding the symbol itself.
With the old compilers (2.95 and 3.3.5) all works fine from the build to the execution.
Can the problem be the runtime linker or newer loader library?
I have forced (in compilation) explicity visibility of the symbol, I have changed the library search path to the new one
 (such as libcpp and libc under 4.2.1 path), but nothing happens.
Can anyone direct me in right direction?
Re: huge of "unknown symbol" with new 4.2.1  
> Hello to all,
> I have downloaded the new compiler (4.2.1) that permit to use advance 
> instruction sets (like MMX, SSE*, and so on).
> I am compiling a library with this new version. All works fine until I run the
>  a program that use it. At runtime I have a huge of "unknown symbol:" without 
> information regarding the symbol itself.
> With the old compilers (2.95 and 3.3.5) all works fine from the build to the 
> execution.
> Can the problem be the runtime linker or newer loader library?
> I have forced (in compilation) explicity visibility of the symbol, I have 
> changed the library search path to the new one (such as libcpp and libc under 
> 4.2.1 path), but nothing happens.
> Can anyone direct me in right direction?

Somehow R_386_NONE relocations are being generated. You can use ntox86-readelf -r to confirm. This can happen if you 
link non-PIC code into PIC object. It can also be caused by a bug in the linker where it fails to clean up unused 
relocations.

Please make sure you're not linking in non-PIC code. If you are sure everything is PIC, can you post a small test case 
for me to look at. 

Regards,

Ryan Mansfield 

Re: huge of "unknown symbol" with new 4.2.1  
I have two version of the mentioned liibrary: dinamic and static versions.
If I use the static version of the library and there are errors on the library itself I think that I have problem during
 the linking process of my executable.
Therefore the library is self contained in the executable, but the executable relies on the system libraries for the OS 
primitives... right?
In the attached output I have inserted the output of the "ldd" command and only system library seems to be necessary.
In the same attachment there is the output of the "ntox86-readelf -r" command, but no R_386_NONE is present. All 
references seems to rely on entry point inside the dinamic libraries.

Thanks in advance for your reply.
Attachment: Text relocs.txt 15.88 KB