Artificial intelligent assistant

Does `dlopen()` performs dynamic linking by invoking dynamic linker `ld-linux.so`? CSAPP says > Linux systems provide a simple interface to **the dynamic linker** that allows application programs to load and link shared libraries at run time. > > > #include <dlfcn.h> > void *dlopen(const char *filename, int flag); > > > Returns: pointer to handle if OK, NULL on error Does `dlopen()` performs dynamic linking by invoking dynamic linker `ld-linux.so`? Is `ld-linux.so` the dynamic linker which `dlopen()` invokes to perform dynamic linking? Thanks.

`dlopen` is provided by `libdl`, but behind the scenes, with the GNU C library implementation at least, the latter relies on symbols provided by `ld-linux.so` to perform the dynamic linking. If `dlopen` is called from a dynamically-linked program, `ld-linux.so` is already loaded, so it uses those symbols directly; if it’s called from a statically-linked program, it tries to load `ld-linux.so`.

xcX3v84RxoQ-4GxG32940ukFUIEgYdPy b82e93897baf9978d7b13bef6966b53a