How does a linker work? (III) – Types of symbols

After learning what information contains the symbol table in the previous post, we can now talk more about the attributes that a symbol can have and what role do they have in the resolution of symbols from the linker point

How does a linker work? (II) – The symbol table

In previous posts we talked about that the linkers are the ones in charge of combining different files of translatable object code in an executable. For this they had two fundamental tasks, the resolution of symbols and the transfer; in

How does a linker work? (I)

In the process of converting the code from a high level language to an executable that understands our system, the linkers have a role that often goes unnoticed, but that is important to know. When we want to convert a

Hardening binaries (VI) – RELRO

In this post we are going to talk about two options that can happen to the linker to make certain sections of our executable more secure: -Wl, -z, relro, -z, now. When a program calls a function not defined in