Altera Nios II User Manual page 169

Hide thumbs Also See for Nios II:
Table of Contents

Advertisement

Chapter 7: Application Binary Interface
ABI for Linux Systems
Linux Toolchain Relocation Information
Dynamic relocations can appear in the runtime relocation sections of executables and
shared objects, but never appear in object files (with the exception of
R_NIOS2_TLS_DTPREL, which is used for debug information). No other relocations
are dynamic.
Table 7–5. Dynamic Relocations
R_NIOS2_TLS_DTPMOD
R_NIOS2_TLS_DTPREL
R_NIOS2_TLS_TPREL
R_NIOS2_COPY
R_NIOS2_GLOB_DAT
R_NIOS2_JUMP_SLOT
R_NIOS2_RELATIVE
A global offset table (GOT) entry referenced using R_NIOS2_GOT16 must be resolved
at load time. A GOT entry referenced only using R_NIOS2_CALL16 can initially refer
to a procedure linkage table (PLT) entry and then be resolved lazily.
Because the GOT-relative and TP-relative relocations are 16-bit relocations, no single
object file can require more than 64 KB of GOT and no dynamic object using local
dynamic or local executable thread-local storage (TLS) can have more than 64 KB of
TLS data. New relocations might be added to support this in the future.
Several new assembler operators are defined to generate the Linux-specific
relocations, as listed in
Table 7–6.
R_NIOS2_GOT16
R_NIOS2_CALL16
R_NIOS2_GOTOFF_LO
R_NIOS2_GOTOFF_HA
R_NIOS2_PCREL_LO
R_NIOS2_PCREL_HA
R_NIOS2_TLS_GD16
R_NIOS2_TLS_LDM16
R_NIOS2_TLS_LDO16
R_NIOS2_TLS_IE16
R_NIOS2_TLS_LE16
R_NIOS2_TLS_DTPREL
R_NIOS2_GOTOFF
February 2014 Altera Corporation
Table
7–6.
Relocation
%got
%call
%gotoff_hiadj
%gotoff_lo
%hiadj
%lo
%tls_gd
%tls_ldm
%tls_ldo
%tls_ie
%tls_le
%tls_ldo
%gotoff
Operator
Nios II Processor Reference Handbook
7–11

Advertisement

Table of Contents
loading

Table of Contents