One of the issues I observed was with the way version 2.2 of gnu ld works. I'd built binutils 2.2 on redhat 6.1 machine and it looks like the way dynamic linking works has changed slightly. The following was the error I got. I don't see this on binutils 2.1.x
/usr/bin/ld: note: 'some_reference' is defined in DSO some.so so try adding it to the linker command lineI read about the possible work-around, rather fix I'd say, at Fedora Wiki page http://fedoraproject.org/wiki/UnderstandingDSOLinkChange , and it worked just fine in our case.
The bottomline is, while generating binary/.so out of objects/shared objects, you should make sure that any dynamic linked library that resolves the references to the symbols in these objects/shared objects must also be linked dynamically even while generating binary/.so i.e no indirect linking anymore..
If my explanation doesn't make sense, read through the wiki link given above, and you will be out of confusion.
No comments:
Post a Comment