9.3. Sections

9.3.1. Introduction

In addition to the requirements for ELF sections described in the generic LSB Core specification, conforming implementations shall support architecture specific sections as described below.

Note: The System V Application Binary Interface AMD64 Architecture Processor Supplement specifies some architecture specific section flags and section types that are not required by LSB-conforming systems.

9.3.2. Special Sections

The following architecture-specific sections are defined in the System V Application Binary Interface AMD64 Architecture Processor Supplement.

Table 9-1. ELF Special Sections

NameTypeAttributes
.gotSHT_PROGBITSSHF_ALLOC+SHF_WRITE
.pltSHT_PROGBITSSHF_ALLOC+SHF_EXECINSTR

.got 

This section holds the global offset table.

.plt 

This section holds the procedure linkage table.

Note: Since LSB-conforming implementations are not required to support the large code model, it is not necessary for them to provide support for the additional special sections for the large code model described in the System V Application Binary Interface AMD64 Architecture Processor Supplement.

Also, the System V Application Binary Interface AMD64 Architecture Processor Supplement specifies a section .eh_frame, with a type of SHT_AMD64_UNWIND. This section is described in the generic LSB-Core specification, but with type SHT_PROGBITS. This specification does not require support for the SHT_AMD64_UNWIND section type.

9.3.3. Additional Special Sections

The following additional sections are defined here.

Table 9-2. Additional Special Sections

NameTypeAttributes
.rela.dynSHT_RELASHF_ALLOC
.rela.pltSHT_RELASHF_ALLOC

.rela.dyn 

This section holds RELA type relocation information for all sections of a shared library except the PLT.

.rela.plt 

This section holds RELA type relocation information for the PLT section of a shared library or dynamically linked application.