1570af302Sopenharmony_ci## Dynamic Linker Namespace 2570af302Sopenharmony_ci 3570af302Sopenharmony_ciThe dynamic linker provides the namespace mechanism which is based on configures and apis. 4570af302Sopenharmony_ci 5570af302Sopenharmony_ciShared libraries can be isolated in different namespaces so that libraries with same library name but with different symbols won't conflict. On the other hand, the namespace mechanism provides the flexibility so that some shared libraries can be exported by a linker namespace and used by another linker namespace. 6570af302Sopenharmony_ci 7570af302Sopenharmony_ci 8570af302Sopenharmony_ci### How does it work 9570af302Sopenharmony_ci 10570af302Sopenharmony_ciThere are two ways to use the linker namespace: 11570af302Sopenharmony_ci 12570af302Sopenharmony_ci1. Modify and save the namespace configure file </etc/ld-musl-namespace-arm.ini> or </etc/ld-musl-namespace-aarch64.ini> base on architecture. When it does not exist or is filled in, a default namespace will be created. 13570af302Sopenharmony_ci 14570af302Sopenharmony_ci2. Use the apis of namespace in head file <dlfcn.h>, to create a namespace, to set search paths of library, or to use exported libraries of another namespace by inheriting it. 15570af302Sopenharmony_ci 16570af302Sopenharmony_ci### Usage example 17570af302Sopenharmony_ci 18570af302Sopenharmony_ciTest usages show some examples of using the linker namespace. The file <ld-musl-namespace-arm.ini> or <ld-musl-namespace-aarch64.ini> in config directory is configures for test. The file <libc-test/src/functionalext/dlns/> gives usages of how apis and configures work. 19