Linux: Is there a way to edit a compiled shared library?
In particular, I'm looking for how to add DT_SYMBOLIC flagto an already compiled binary shared library?
This is why I am asking about this :
our application consists of
- our own libraries ( static libXXX.a)
- some third-party libraries ( libYYY.so shared libraries)
So far, everything is in order with the application.
Now I have replaced our own static * libXXX.a libraries with shared library versions (libXXX.so).
Everything compiles and communicates well.
But when I launch the application, it starts and does a lot of expected processing, and then it crashes somewhere by half. The output from gdb shows that a failure occurs in some of the third-party shared libraries.
I searched around SOF and found an interesting article here .
I mean
... add the DT_SYMBOLIC flag to the dynamic section ...
Although I doubt it really helps, I think it might be worth a try.
Any ideas how I can add DT_SYMBOLIC flagto an already compiled / linked shared library?
environment : debian lenny 64bit with g ++ v4.2.4 and binutils v20.
EDIT : There is a program on the tanning bed called elfedit. Is there something similar for Linux?
anon