[fpc-pascal] External library name
Tomas Hajny
XHajT03 at hajny.biz
Sun Jan 5 12:45:49 CET 2025
On 2025-01-05 12:36, Hairy Pixels via fpc-pascal wrote:
> On Jan 5, 2025 at 4:43:39 PM, Jonas Maebe via fpc-pascal
> <fpc-pascal at lists.freepascal.org> wrote:
>
>> That said, Darwin also uses two-level namespaces:
>>
> https://blog.darlinghq.org/2018/07/mach-o-linking-and-loading-tricks.html#two-level-symbol-namespace
>> . However, it does not do this through name mangling. The linker
>> simply
>> encodes in the generated binary in which library/framework it found
>> the
>> symbol at link time. Then, at run time, the dynamic linker will only
>> look for that symbol in that specific library (unless you force a
>> flat/single namespace through an environment variable).
>
> Thank you for your very detailed response.
>
> It sounds like maybe the external library name is only useful for DLLs
> and maybe the Darwin two level namespaces?
As you might have noticed, it's simply a more general solution allowing
to cover all target platforms supporting dynamic libraries in a more or
less equal way.
Tomas
More information about the fpc-pascal
mailing list