diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2015-01-31 00:55:26 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2015-01-31 00:55:26 (GMT) |
commit | 21a05df6423bdc13ca148ff2b96aec80bf7af2b2 (patch) | |
tree | 87043734800103178ee49e771dcacab18b19cc74 /src/format/elf/elf_def.h | |
parent | d246c98c515cb44c5bc4c742a674bae2e824872b (diff) |
Defined many entry points from many identified potential candidates.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@463 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/format/elf/elf_def.h')
-rw-r--r-- | src/format/elf/elf_def.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/format/elf/elf_def.h b/src/format/elf/elf_def.h index b02469a..a43b417 100644 --- a/src/format/elf/elf_def.h +++ b/src/format/elf/elf_def.h @@ -278,7 +278,7 @@ typedef union _elf_phdr } elf_phdr; -#define ELF_PHDR(fmt, hdr, fld) (fmt->is_32b ? hdr.phdr32.fld : hdr.phdr64.fld) +#define ELF_PHDR(fmt, hdr, fld) (fmt->is_32b ? (hdr).phdr32.fld : (hdr).phdr64.fld) #define ELF_SIZEOF_PHDR(fmt) (fmt->is_32b ? sizeof(elf32_phdr) : sizeof(elf64_phdr)) @@ -481,6 +481,20 @@ typedef union _elf_dyn #define DT_JMPREL 23 /* Relocalisations PLT */ +#define DT_PLTGOT 3 /* Processor defined value */ + +#define DT_INIT 12 /* Address of init function */ +#define DT_FINI 13 /* Address of termination function */ + +#define DT_INIT_ARRAY 25 /* Array with addresses of init fct */ +#define DT_FINI_ARRAY 26 /* Array with addresses of fini fct */ +#define DT_INIT_ARRAYSZ 27 /* Size in bytes of DT_INIT_ARRAY */ +#define DT_FINI_ARRAYSZ 28 /* Size in bytes of DT_FINI_ARRAY */ + +#define DT_PREINIT_ARRAY 32 /* Array with addresses of preinit fct*/ +#define DT_PREINIT_ARRAYSZ 33 /* size in bytes of DT_PREINIT_ARRAY */ + + /* ---------------------------- SYMBOLES DE BINAIRES ELF ---------------------------- */ @@ -517,7 +531,7 @@ typedef union _elf_sym } elf_sym; -#define ELF_SYM(fmt, sb, fld) (fmt->is_32b ? sb.sym32.fld : sb.sym64.fld) +#define ELF_SYM(fmt, sb, fld) (fmt->is_32b ? (sb).sym32.fld : (sb).sym64.fld) #define ELF_ST_BIND(fmt, sym) (fmt->is_32b ? ELF32_ST_BIND(sym.sym32.st_info) : ELF64_ST_BIND(sym.sym64.st_info)) #define ELF_ST_TYPE(fmt, sym) (fmt->is_32b ? ELF32_ST_TYPE(sym.sym32.st_info) : ELF64_ST_TYPE(sym.sym64.st_info)) @@ -568,7 +582,7 @@ typedef union _elf_rel } elf_rel; -#define ELF_REL(fmt, rl, fld) (fmt->is_32b ? rl.rel32.fld : rl.rel64.fld) +#define ELF_REL(fmt, rl, fld) (fmt->is_32b ? (rl).rel32.fld : (rl).rel64.fld) #define ELF_REL_SYM(fmt, rl) (fmt->is_32b ? ELF32_R_SYM(rl.rel32.r_info) : ELF64_R_SYM(rl.rel64.r_info)) #define ELF_REL_TYPE(fmt, rl) (fmt->is_32b ? ELF32_R_TYPE(rl.rel32.r_info) : ELF64_R_TYPE(rl.rel64.r_info)) |