elfrel.h - scc - simple c99 compiler
HTML git clone git://git.simple-cc.org/scc
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
elfrel.h (800B)
---
1 /* See http://www.sco.com/developers/gabi/latest/contents.html */
2
3 /* Relocation definitions */
4
5 typedef struct {
6 Elf32_Addr r_offset;
7 Elf32_Word r_info;
8 } Elf32_Rel;
9
10 typedef struct {
11 Elf32_Addr r_offset;
12 Elf32_Word r_info;
13 Elf32_Sword r_addend;
14 } Elf32_Rela;
15
16 typedef struct {
17 Elf64_Addr r_offset;
18 Elf64_Xword r_info;
19 } Elf64_Rel;
20
21 typedef struct {
22 Elf64_Addr r_offset;
23 Elf64_Xword r_info;
24 Elf64_Sxword r_addend;
25 } Elf64_Rela;
26
27 #define ELFR32SZ 8
28 #define ELFRA32SZ 12
29
30 #define ELFR64SZ 16
31 #define ELFRA64SZ 24
32
33 #define ELF32_R_SYM(i) ((i)>>8)
34 #define ELF32_R_TYPE(i) ((unsigned char)(i))
35 #define ELF32_R_INFO(s,t) (((s)<<8)+(unsigned char)(t))
36
37 #define ELF64_R_SYM(i) ((i)>>32)
38 #define ELF64_R_TYPE(i) ((i)&0xffffffffL)
39 #define ELF64_R_INFO(s,t) (((s)<<32)+((t)&0xffffffffL))