#include <ubixos/types.h>#include <ubixos/sched.h>Include dependency graph for elf.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Data Structures | |
| struct | Elf_Auxargs | 
| struct | elfDynamic | 
| struct | elfDynSym | 
| struct | elfHeader | 
| struct | elfPltInfo | 
| struct | elfProgramHeader | 
| struct | elfSectionHeader | 
Defines | |
| #define | ELF32_R_INFO(s, t) ((s)<<8+(unsigned char)(t)) | 
| #define | ELF32_R_SYM(i) ((i)>>8) | 
| #define | ELF32_R_TYPE(i) ((unsigned char)(i)) | 
| #define | elfExecutable 0x002 | 
| #define | elfLibrary 0x003 | 
| #define | EM_386 3 | 
| #define | EM_68K 4 | 
| #define | EM_860 7 | 
| #define | EM_88K 5 | 
| #define | EM_M32 1 | 
| #define | EM_MIPS 8 | 
| #define | EM_NONE 0 | 
| #define | EM_SPARC 2 | 
| #define | ET_CORE 4 | 
| #define | ET_DYN 3 | 
| #define | ET_EXEC 2 | 
| #define | ET_HIPROC 0xffff | 
| #define | ET_LOPROC 0xff00 | 
| #define | ET_NONE 0 | 
| #define | ET_REL 1 | 
| #define | EV_CURRENT 1 | 
| #define | EV_NONE 0 | 
| #define | PT_DYNAMIC 2 | 
| #define | PT_GNU_EH_FRAME 0x6474e550 | 
| #define | PT_GNU_RELRO (PT_LOOS + 0x474e552) | 
| #define | PT_GNU_STACK (PT_LOOS + 0x474e551) | 
| #define | PT_HIOS 0x6fffffff | 
| #define | PT_HIPROC 0x7fffffff | 
| #define | PT_INTERP 3 | 
| #define | PT_LOAD 1 | 
| #define | PT_LOOS 0x60000000 | 
| #define | PT_LOPROC 0x70000000 | 
| #define | PT_NOTE 4 | 
| #define | PT_NULL 0 | 
| #define | PT_PAX_FLAGS (PT_LOOS + 0x5041580) | 
| #define | PT_PHDR 6 | 
| #define | PT_SHLIB 5 | 
| #define | R_386_32 1 | 
| #define | R_386_COPY 5 | 
| #define | R_386_GLOB_DAT 6 | 
| #define | R_386_GOT32 3 | 
| #define | R_386_GOTOFF 9 | 
| #define | R_386_GOTPC 10 | 
| #define | R_386_JMP_SLOT 7 | 
| #define | R_386_NONE 0 | 
| #define | R_386_PC32 2 | 
| #define | R_386_PLT32 4 | 
| #define | R_386_RELATIVE 8 | 
Functions | |
| int | elf_loadfile (kTask_t *p, const char *file, u_int32_t *addr, u_int32_t *entry) | 
| char * | elfGetPhType (int) | 
| char * | elfGetRelType (int) | 
| char * | elfGetShType (int) | 
| #define ELF32_R_SYM | ( | i | ) | ((i)>>8) | 
| #define ELF32_R_TYPE | ( | i | ) | ((unsigned char)(i)) | 
| #define ET_DYN 3 | 
| #define ET_EXEC 2 | 
| #define PT_DYNAMIC 2 | 
| #define PT_GNU_STACK (PT_LOOS + 0x474e551) | 
| #define PT_INTERP 3 | 
| #define PT_LOAD 1 | 
Definition at line 80 of file elf.h.
Referenced by elf_loadfile(), kmod_load(), ldEnable(), sys_exec(), and sysExec().
| #define PT_PAX_FLAGS (PT_LOOS + 0x5041580) | 
| #define PT_PHDR 6 | 
| #define R_386_32 1 | 
| #define R_386_PC32 2 | 
| #define R_386_RELATIVE 8 | 
Definition at line 111 of file elf.c.
References _current, elfHeader::eEntry, elfHeader::eIdent, elfHeader::ePhnum, elfHeader::ePhoff, ET_DYN, ET_EXEC, elfHeader::eType, fclose(), fopen(), fread(), fseek(), taskStruct::id, K_PANIC, kfree(), kmalloc(), kprintf(), memset(), PAGE_DEFAULT, PAGE_PRESENT, PAGE_USER, elfProgramHeader::phMemsz, elfProgramHeader::phVaddr, PT_LOAD, vmm_remapPage(), vmm_setPageAttributes(), vmmFindFreePage(), and x1000.
Here is the call graph for this function:

| char* elfGetPhType | ( | int | ) | 
| char* elfGetRelType | ( | int | ) | 
Definition at line 107 of file elf.c.
References elfRelType, and relTypeName.
Referenced by kmod_load(), and ldEnable().
| char* elfGetShType | ( | int | ) | 
 1.4.7