Go to the documentation of this file.
29 #ifndef _SYS_ELF_GENERIC_H_
30 #define _SYS_ELF_GENERIC_H_ 1
39 #if __ELF_WORD_SIZE != 32 && __ELF_WORD_SIZE != 64
40 #error "__ELF_WORD_SIZE must be defined as 32 or 64"
43 #define ELF_CLASS __CONCAT(ELFCLASS,__ELF_WORD_SIZE)
45 #if BYTE_ORDER == LITTLE_ENDIAN
46 #define ELF_DATA ELFDATA2LSB
47 #elif BYTE_ORDER == BIG_ENDIAN
48 #define ELF_DATA ELFDATA2MSB
50 #error "Unknown byte order"
53 #define __elfN(x) __CONCAT(__CONCAT(__CONCAT(elf,__ELF_WORD_SIZE),_),x)
54 #define __ElfN(x) __CONCAT(__CONCAT(__CONCAT(Elf,__ELF_WORD_SIZE),_),x)
55 #define __ELFN(x) __CONCAT(__CONCAT(__CONCAT(ELF,__ELF_WORD_SIZE),_),x)
56 #define __ElfType(x) typedef __ElfN(x) __CONCAT(Elf_,x)
81 #define ELF_R_SYM __ELFN(R_SYM)
82 #define ELF_R_TYPE __ELFN(R_TYPE)
83 #define ELF_R_INFO __ELFN(R_INFO)
84 #define ELF_ST_BIND __ELFN(ST_BIND)
85 #define ELF_ST_TYPE __ELFN(ST_TYPE)
86 #define ELF_ST_INFO __ELFN(ST_INFO)
87 #define ELF_ST_VISIBILITY __ELFN(ST_VISIBILITY)