Quote:> I've seen several references to "assembly" and the GNU "assembler" related
> to the process of building from sources. I understand the compilation and
> linking part, but I'm not sure about the "assembly" part.
The GNU compilers produce assembly language which is then converted to
symbolic binary files (object modules) by the assembler. The symbolic binary
files are linked together to produce the runnable binary files.
Quote:> This has
> something to do with shared libraries? I take it this has nothing to do
> with the assembler programming language.
Wrong. The assembly language modules are essential in the compiling and
linking process. (See above).
The shared libraries are runnable modules with certain function entry points
preserved. Due to the memory address allocation issues, the libraries are
compiled into position-independent code, so they can reside at different
addresses in the address spaces of different processes at the same time. The
linker constructs the references to the shared library entries but it does
not include the library code in the run modules.
Tauno Voipio