blob: 3cf676f49e181f1044b5df0b5aeed1d6d60d8147 [file] [log] [blame]
Matt Redfearn766c5802016-03-31 10:05:32 +01001#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
18void 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
33enum symtype {
34 S_ABS,
35 S_REL,
36 S_SEG,
37 S_LIN,
38 S_NSYMTYPES
39};
40
41void process_32(FILE *fp, int as_text, int as_bin,
42 int show_reloc_info, int keep_relocs);
43void process_64(FILE *fp, int as_text, int as_bin,
44 int show_reloc_info, int keep_relocs);
45#endif /* RELOCS_H */