I have often encountered the following warning from gdb:
warning: .dynamic section for XXX is not at the
expected address
where XXX is the name of some library. Most recently I got it for libgobject-2.0.so. My app uses GTK. gdb had been launching it without problems till yesterday when I synced the latest code from the repository and built it afresh. Since then it has been complaining about .dynamic section. What are the possible reasons for it? And how do I resolve them?
A warning is a caution against something dangerous. When there's a shark warning at the beach, the lifeguards will order everyone out of the water.
warning. / (ˈwɔːnɪŋ) / noun. a hint, intimation, threat, etc, of harm or danger. advice to beware or desist.
A warning message is a modal dialog box, in-place message, notification, or balloon that alerts the user of a condition that might cause a problem in the future. A typical modal warning message.
Information that must be given or made available to a particular person or to the public within a legally mandated period of time so that its recipient will have the opportunity to respond to a situation or to allegations that affect the individual's or public's legal rights or duties.
Some gdb versions are actually a bit more helpful with that warning. They output something like the following:
warning: .dynamic section for "libhello.so" is not at the expected address (wrong library or version mismatch?)
Make sure GDB finds the library your program was actually compiled with and that any debugging symbols, if in separate files, for the application and the library are current and consistent with the builds you are using.
An upgrade sounds like a good suspect for a cause. Prelinking libraries might also cause this warning to appear, although I think gdb can handle that case.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With