Go to the documentation of this file.
7 #ifndef __ASMBFIN_ELF_H
8 #define __ASMBFIN_ELF_H
14 #include <asm/ptrace.h>
18 #define EF_BFIN_PIC 0x00000001
19 #define EF_BFIN_FDPIC 0x00000002
20 #define EF_BFIN_CODE_IN_L1 0x00000010
21 #define EF_BFIN_DATA_IN_L1 0x00000020
22 #define EF_BFIN_CODE_IN_L2 0x00000040
23 #define EF_BFIN_DATA_IN_L2 0x00000080
28 #define ELF_NGREG (sizeof(struct pt_regs) / sizeof(elf_greg_t))
37 #define elf_check_arch(x) ((x)->e_machine == EM_BLACKFIN)
39 #define elf_check_fdpic(x) ((x)->e_flags & EF_BFIN_FDPIC )
40 #define elf_check_const_displacement(x) ((x)->e_flags & EF_BFIN_PIC)
47 #define ELF_CLASS ELFCLASS32
48 #define ELF_DATA ELFDATA2LSB
49 #define ELF_ARCH EM_BLACKFIN
51 #define ELF_PLAT_INIT(_r) _r->p1 = 0
53 #define ELF_FDPIC_PLAT_INIT(_regs, _exec_map_addr, _interp_map_addr, _dynamic_addr) \
56 _regs->p0 = _exec_map_addr; \
57 _regs->p1 = _interp_map_addr; \
58 _regs->p2 = _dynamic_addr; \
62 #define CORE_DUMP_USE_REGSET
64 #define ELF_FDPIC_CORE_EFLAGS EF_BFIN_FDPIC
65 #define ELF_EXEC_PAGESIZE 4096
67 #define R_BFIN_UNUSED0 0
68 #define R_BFIN_PCREL5M2 1
69 #define R_BFIN_UNUSED1 2
70 #define R_BFIN_PCREL10 3
71 #define R_BFIN_PCREL12_JUMP 4
72 #define R_BFIN_RIMM16 5
73 #define R_BFIN_LUIMM16 6
74 #define R_BFIN_HUIMM16 7
75 #define R_BFIN_PCREL12_JUMP_S 8
76 #define R_BFIN_PCREL24_JUMP_X 9
77 #define R_BFIN_PCREL24 10
78 #define R_BFIN_UNUSEDB 11
79 #define R_BFIN_UNUSEDC 12
80 #define R_BFIN_PCREL24_JUMP_L 13
81 #define R_BFIN_PCREL24_CALL_X 14
82 #define R_BFIN_VAR_EQ_SYMB 15
83 #define R_BFIN_BYTE_DATA 16
84 #define R_BFIN_BYTE2_DATA 17
85 #define R_BFIN_BYTE4_DATA 18
86 #define R_BFIN_PCREL11 19
87 #define R_BFIN_UNUSED14 20
88 #define R_BFIN_UNUSED15 21
91 #define R_BFIN_PUSH 0xE0
92 #define R_BFIN_CONST 0xE1
93 #define R_BFIN_ADD 0xE2
94 #define R_BFIN_SUB 0xE3
95 #define R_BFIN_MULT 0xE4
96 #define R_BFIN_DIV 0xE5
97 #define R_BFIN_MOD 0xE6
98 #define R_BFIN_LSHIFT 0xE7
99 #define R_BFIN_RSHIFT 0xE8
100 #define R_BFIN_AND 0xE9
101 #define R_BFIN_OR 0xEA
102 #define R_BFIN_XOR 0xEB
103 #define R_BFIN_LAND 0xEC
104 #define R_BFIN_LOR 0xED
105 #define R_BFIN_LEN 0xEE
106 #define R_BFIN_NEG 0xEF
107 #define R_BFIN_COMP 0xF0
108 #define R_BFIN_PAGE 0xF1
109 #define R_BFIN_HWPAGE 0xF2
110 #define R_BFIN_ADDR 0xF3
117 #define ELF_ET_DYN_BASE 0xD0000000UL
119 #define ELF_CORE_COPY_REGS(pr_reg, regs) \
120 memcpy((char *) &pr_reg, (char *)regs, \
121 sizeof(struct pt_regs));
122 #define ELF_CORE_COPY_FPREGS(...) 0
127 #define ELF_HWCAP (0)
133 #define ELF_PLATFORM (NULL)
135 #define SET_PERSONALITY(ex) \
136 set_personality(PER_LINUX | (current->personality & (~PER_MASK)))