191 /** 192 * Elf64_Rel structure defines 193 */ 194 enum Elf64_Rel { 195 r_offset( 0, 8), 196 r_info( 8, 8); 197 198 final int off; 199 final int sz; 200 201 Elf64_Rel(int offset, int size) { 202 this.off = offset; 203 this.sz = size; 204 } 205 206 static int totalsize = 16; 207 208 /** 209 * Relocation types 210 */ 211 static final int R_X86_64_NONE = 0x0; 212 static final int R_X86_64_64 = 0x1; 213 static final int R_X86_64_PC32 = 0x2; 214 static final int R_X86_64_PLT32 = 0x4; 215 static final int R_X86_64_GOTPCREL = 0x9; 216 217 } 218 219 /** 220 * Elf64_Rela structure defines 221 */ 222 enum Elf64_Rela { 223 r_offset( 0, 8), 224 r_info( 8, 8), 225 r_addend(16, 8); 226 227 final int off; 228 final int sz; 229 230 Elf64_Rela(int offset, int size) { 231 this.off = offset; 232 this.sz = size; 233 } 234 235 static int totalsize = 24; 236 237 static final int R_X86_64_NONE = 0x0; 238 static final int R_X86_64_64 = 0x1; 239 static final int R_X86_64_PC32 = 0x2; 240 static final int R_X86_64_PLT32 = 0x4; 241 static final int R_X86_64_GOTPCREL = 0x9; 242 243 static long ELF64_R_INFO(int symidx, int type) { 244 return (((long)symidx << 32) + type); 245 } 246 247 } 248 //@formatter:on 249 } | 191 /** 192 * Elf64_Rel structure defines 193 */ 194 enum Elf64_Rel { 195 r_offset( 0, 8), 196 r_info( 8, 8); 197 198 final int off; 199 final int sz; 200 201 Elf64_Rel(int offset, int size) { 202 this.off = offset; 203 this.sz = size; 204 } 205 206 static int totalsize = 16; 207 208 /** 209 * Relocation types 210 */ 211 212 static final int R_X86_64_NONE = 0x0; 213 static final int R_X86_64_64 = 0x1; 214 static final int R_X86_64_PC32 = 0x2; 215 static final int R_X86_64_PLT32 = 0x4; 216 static final int R_X86_64_GOTPCREL = 0x9; 217 218 static final int R_AARCH64_NONE = 256; 219 static final int R_AARCH64_ABS64 = 257; 220 static final int R_AARCH64_CALL26 = 283; 221 static final int R_AARCH64_ADR_GOT_PAGE = 311; 222 static final int R_AARCH64_LD64_GOT_LO12_NC = 312; 223 224 static final int R_AARCH64_MOVW_UABS_G0_NC = 264; 225 static final int R_AARCH64_MOVW_UABS_G1_NC = 266; 226 static final int R_AARCH64_MOVW_UABS_G2_NC = 268; 227 228 static final int R_AARCH64_ADR_PREL_PG_HI21 = 275; 229 static final int R_AARCH64_ADD_ABS_LO12_NC = 277; 230 static final int R_AARCH64_LDST64_ABS_LO12_NC = 286; 231 } 232 233 /** 234 * Elf64_Rela structure defines 235 */ 236 enum Elf64_Rela { 237 r_offset( 0, 8), 238 r_info( 8, 8), 239 r_addend(16, 8); 240 241 final int off; 242 final int sz; 243 244 Elf64_Rela(int offset, int size) { 245 this.off = offset; 246 this.sz = size; 247 } 248 249 static int totalsize = 24; 250 251 static final int R_X86_64_NONE = 0x0; 252 static final int R_X86_64_64 = 0x1; 253 static final int R_X86_64_PC32 = 0x2; 254 static final int R_X86_64_PLT32 = 0x4; 255 static final int R_X86_64_GOTPCREL = 0x9; 256 257 static final int R_AARCH64_NONE = 256; 258 static final int R_AARCH64_ABS64 = 257; 259 static final int R_AARCH64_CALL26 = 283; 260 static final int R_AARCH64_ADR_GOT_PAGE = 311; 261 static final int R_AARCH64_LD64_GOT_LO12_NC = 312; 262 263 static final int R_AARCH64_MOVW_UABS_G0_NC = 264; 264 static final int R_AARCH64_MOVW_UABS_G1_NC = 266; 265 static final int R_AARCH64_MOVW_UABS_G2_NC = 268; 266 267 static final int R_AARCH64_ADR_PREL_PG_HI21 = 275; 268 static final int R_AARCH64_ADD_ABS_LO12_NC = 277; 269 static final int R_AARCH64_LDST64_ABS_LO12_NC = 286; 270 271 static long ELF64_R_INFO(int symidx, int type) { 272 return (((long)symidx << 32) + type); 273 } 274 275 } 276 //@formatter:on 277 } |