This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ng table for the symbol tables in the .symtab and .debug sections, and for the section names in the section headers. A string table is a sequence of null-terminated character strings.
Aside: Why is uninitialized data called .bss? The use of the term .bss to denote uninitialized data is universal. It was originally an acronym for the “Block Storage Start” instruction from the IBM 704 assembly language (circa 1957) and the acronym has stuck. A simple way to remember the difference between the .data and .bss sections is to think of “bss” as an abbreviation for “Better Save Space!”. End Aside. 7.5 Symbols and Symbol Tables
Each relocatable object module, Ñ, has a symbol table that contains information about the symbols that are deﬁned and referenced by Ñ. In the context of a linker, there are three different kinds of symbols: ¯ ¯ Global symbols that are deﬁned by module Ñ and that can be referenced by other modules. Global linker symbols correspond to nonstatic C functions and global variables that are deﬁned without the C static attri...
View Full Document