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