diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2008-10-19 15:05:04 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2008-10-19 15:05:04 (GMT) |
commit | 10deb6bbbeeaacfec577f5b24c5f821492af77f3 (patch) | |
tree | 9db0a1679c518f6a95cdb25e38c7a281b8ea30c1 /src/format/elf/elf-int.h | |
parent | 43f740ee35b452980e8d190660896a535816dfc3 (diff) |
Registered symbols found in the PLT.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@35 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/format/elf/elf-int.h')
-rw-r--r-- | src/format/elf/elf-int.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/format/elf/elf-int.h b/src/format/elf/elf-int.h index f366c71..6e7bca1 100644 --- a/src/format/elf/elf-int.h +++ b/src/format/elf/elf-int.h @@ -84,6 +84,39 @@ typedef union _Elf_Phdr #define ELF_PHDR(fmt, hdr, fld) (fmt->is_32b ? hdr.header32.fld : hdr.header64.fld) +/* Entrée de la table de relocalisation */ + +typedef union _Elf_Rel +{ + Elf32_Rel rel32; /* Version 32 bits */ + Elf64_Rel rel64; /* Version 64 bits */ + +} Elf_Rel; + +#define ELF_SIZEOF_REL(fmt) (fmt->is_32b ? sizeof(Elf32_Rel) : sizeof(Elf64_Rel)) + +#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)) + + +/* Information sur un symbole */ + +typedef union _Elf_Sym +{ + Elf32_Sym sym32; /* Version 32 bits */ + Elf64_Sym sym64; /* Version 64 bits */ + +} Elf_Sym; + +#define ELF_SIZEOF_SYM(fmt) (fmt->is_32b ? sizeof(Elf32_Sym) : sizeof(Elf64_Sym)) + +#define ELF_SYM(fmt, sb, fld) (fmt->is_32b ? sb.sym32.fld : sb.sym64.fld) + + + + #endif /* _FORMAT_ELF_ELF_INT_H */ |