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 */ |
47 | |