libdragon
Loading...
Searching...
No Matches
Data Structures | Macros
dso_format.h File Reference

Go to the source code of this file.

Data Structures

struct  dso_sym_t
 DSO symbol. More...
 
struct  dso_reloc_t
 DSO relocation. More...
 
struct  dso_module_t
 DSO module data. More...
 
struct  mainexe_sym_info_t
 Information to load main executable symbol table. More...
 

Macros

#define DSO_MAGIC   0x44534F30
 DSO magic number.
 
#define DSO_MAINEXE_SYM_DATA_MAGIC   0x4D53594D
 Main executable symbol table magic.
 
#define DSO_SYMS_OFS   0x18
 Offset of syms member of dso_module_t on N64.
 
#define DSO_NUM_IMPORT_SYMS_OFS   0x20
 Offset of num_import_syms member of dso_module_t on N64.
 
#define DSO_SYM_SIZE   0xC
 Size of dso_sym_t on N64.
 

Detailed Description

Author
gamemasterplc gamem.nosp@m.aste.nosp@m.rplc@.nosp@m.gmai.nosp@m.l.com

Data Structure Documentation

◆ dso_sym_t

struct dso_sym_t

DSO symbol.

Data Fields
char * name Name of symbol.
uint32_t value Pointer to symbol.
uint32_t info Top bit: absolute flag; Next bit: weak flag; lowest 30 bits: size.

◆ dso_reloc_t

struct dso_reloc_t

DSO relocation.

Data Fields
uint32_t offset Program-relative offset of relocation target.
uint32_t info Top 8 bits: type; lowest 24 bits: symbol index.

◆ dso_module_t

struct dso_module_t

DSO module data.

Data Fields
uint32_t magic Magic number.
struct dso_module_s * prev Previous loaded dynamic library.
struct dso_module_s * next Next loaded dynamic library.
uint32_t ref_count Dynamic library reference count.
char * src_elf Path to Source ELF.
char * filename Filename data.
dso_sym_t * syms Symbols array.
uint32_t num_syms Number of symbols (includes dummy symbol at start of array)
uint32_t num_import_syms Number of symbols imported.
dso_reloc_t * relocs Relocation array.
uint32_t num_relocs Number of relocations.
void * prog_base Pointer to program memory image.
uint32_t prog_size Size of program memory image.
uint32_t ehframe_obj[6] Exception frame object.
uint32_t sym_romofs Debug symbol data rom address.
uint32_t mode Dynamic library flags.

◆ mainexe_sym_info_t

struct mainexe_sym_info_t

Information to load main executable symbol table.

Data Fields
uint32_t magic Magic number.
uint32_t size Size of data to load.
uint32_t num_syms Number of symbols in this symbol table.