emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PROPOSAL] Builder, a build system integration for Emacs


From: Brian Cully
Subject: Re: [PROPOSAL] Builder, a build system integration for Emacs
Date: Sat, 27 May 2023 10:55:48 -0400
User-agent: mu4e 1.10.2; emacs 30.0.50


Richard Stallman <rms@gnu.org> writes:

I have trouble understanding that. Before dynamic libraries, we used static libraries. Each library was a .o file, made by compilation.

But how can each program have its own version of one and the same
library?  Does Rust store all libraries as **source code**
and recompile each library each time that library is linked
into a program?

More than that, each Rust program can have many versions of any particular symbol.

If program A links in libraries B and C, and B links with D version 1, while C links with D version 2, then A will have symbols from both versions of D linked in with it.

It is able to do this because when Rust does name mangling, the names are mangled with library metadata, including version, so that the symbols in the object file equivalent have unique names.

It's worth noting that Rust doesn't use standard .a/.so/.o files, but something like them called with a .rlib extension, which contains extra information not available in the aforementioned formats.

-bjc



reply via email to

[Prev in Thread] Current Thread [Next in Thread]