Solaris elfedit: Is there something similar for Linux? (shared library editor)?

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?

+3
2

elfsh. ELF, .

. : http://www.eresi-project.org

, . elfsh.

+2

, , .

lib , : - .

LDD

LD_DEBUG = libs

.

dlopen() .

0

Source: https://habr.com/ru/post/1730895/


All Articles