xref: /openbmc/linux/arch/mips/boot/tools/relocs.h (revision e58e871b)
1 #ifndef RELOCS_H
2 #define RELOCS_H
3 
4 #include <stdio.h>
5 #include <stdarg.h>
6 #include <stdlib.h>
7 #include <stdint.h>
8 #include <inttypes.h>
9 #include <string.h>
10 #include <errno.h>
11 #include <unistd.h>
12 #include <elf.h>
13 #include <byteswap.h>
14 #define USE_BSD
15 #include <endian.h>
16 #include <regex.h>
17 
18 void die(char *fmt, ...);
19 
20 /*
21  * Introduced for MIPSr6
22  */
23 #ifndef R_MIPS_PC21_S2
24 #define R_MIPS_PC21_S2		60
25 #endif
26 
27 #ifndef R_MIPS_PC26_S2
28 #define R_MIPS_PC26_S2		61
29 #endif
30 
31 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
32 
33 enum symtype {
34 	S_ABS,
35 	S_REL,
36 	S_SEG,
37 	S_LIN,
38 	S_NSYMTYPES
39 };
40 
41 void process_32(FILE *fp, int as_text, int as_bin,
42 		int show_reloc_info, int keep_relocs);
43 void process_64(FILE *fp, int as_text, int as_bin,
44 		int show_reloc_info, int keep_relocs);
45 #endif /* RELOCS_H */
46