puzzling ld behavior, failing to find symbols from .so after adding more .o file

Michael Tokarev mjt@tls.msk.ru
Sat Mar 26 14:56:24 GMT 2022


26.03.2022 01:43, Andrew Bell wrote:
> On Fri, Mar 25, 2022 at 4:16 PM Michael Tokarev <mjt@tls.msk.ru <mailto:mjt@tls.msk.ru>> wrote:
> 
>     Hi!
> 
>     I've got a puzzling issue here which I need help with,
>     at least some pointers as of where to dig.
> 
>     ...deleted...
> 
>     I'm quite lost here. The question is: why after ecountering dbwrap_ctdb.o,
>     ld stops finding symbols in shared libraries which it were finding before,
>     but still being able to find symbols in static libs?  How to debug this,
>     maybe to make a test case?
> 
> There is certainly the LD_DEBUG environment variable.

Hm. LD_DEBUG seems to be something about ld.so (the runtime linker), not ld
(the build-time linker).  If I set LD_DEBUG when invoking ld, it will print
how *ld* symbols are resolved, not how ld resolves symbols in the executable
being build. Or am I wrong?

Thank you!

/mjt


More information about the Binutils mailing list