O que é a global offset table?
A global offset table, ou GOT, é uma tabela que o linker dinâmico preenche com os endereços de tempo de execução de variáveis globais e símbolos externos. O código independente de posição alcança esses símbolos indiretamente por meio da GOT, em vez de com endereços absolutos embutidos nas instruções. Como apenas as entradas da tabela mudam, o próprio código pode permanecer somente leitura e compartilhável.
Por que isso importa
A GOT é a camada de indireção que torna as bibliotecas compartilhadas ao mesmo tempo relocáveis e compartilháveis entre processos. Ela está intimamente ligada a como funcionam a resolução dinâmica de símbolos e o lazy binding.
Guias relacionados
What Is the Procedure Linkage Table?The procedure linkage table is a stub table that routes calls to external functions, enabling their addresses…
What Is Position-Independent Code (PIC)?Position-independent code runs correctly regardless of the address it is loaded at, by addressing data and ca…
What Is Lazy Binding?Lazy binding defers resolving the address of an external function until the first time it is actually called,…