Go to the first, previous, next, last section, table of contents.


Linker Sections

deals with just four kinds of sections, summarized below.

These sections hold your program. and treat them as separate but equal sections. Anything you can say of one section is true another.
bss section
This section contains zeroed bytes when your program begins running. It is used to hold unitialized variables or common storage. The length of each partial program's bss section is important, but because it starts out containing zeroed bytes there is no need to store explicit zero bytes in the object file. The bss section was invented to eliminate those explicit zeros from object files.
absolute section
Address 0 of this section is always "relocated" to runtime address 0. This is useful if you want to refer to an address that must not change when relocating. In this sense we speak of absolute addresses being "unrelocatable": they do not change during relocation.
undefined section
This "section" is a catch-all for address references to objects not in the preceding sections.

An idealized example of three relocatable sections follows. Memory addresses are on the horizontal axis.


Go to the first, previous, next, last section, table of contents.