Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/mips/boot/tools/relocs.h
51072 views
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
/*
33
* GNU extension that available in glibc only since 2023, not available on musl.
34
*/
35
#ifndef R_MIPS_PC32
36
#define R_MIPS_PC32 248
37
#endif
38
39
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
40
41
enum symtype {
42
S_ABS,
43
S_REL,
44
S_SEG,
45
S_LIN,
46
S_NSYMTYPES
47
};
48
49
void process_32(FILE *fp, int as_text, int as_bin,
50
int show_reloc_info, int keep_relocs);
51
void process_64(FILE *fp, int as_text, int as_bin,
52
int show_reloc_info, int keep_relocs);
53
#endif /* RELOCS_H */
54
55