xref: /openbmc/linux/arch/x86/tools/relocs.h (revision 03dca99e)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2c889ba80SH. Peter Anvin #ifndef RELOCS_H
3c889ba80SH. Peter Anvin #define RELOCS_H
4c889ba80SH. Peter Anvin 
5c889ba80SH. Peter Anvin #include <stdio.h>
6c889ba80SH. Peter Anvin #include <stdarg.h>
7c889ba80SH. Peter Anvin #include <stdlib.h>
8c889ba80SH. Peter Anvin #include <stdint.h>
9c889ba80SH. Peter Anvin #include <inttypes.h>
10c889ba80SH. Peter Anvin #include <string.h>
11c889ba80SH. Peter Anvin #include <errno.h>
12c889ba80SH. Peter Anvin #include <unistd.h>
13c889ba80SH. Peter Anvin #include <elf.h>
14c889ba80SH. Peter Anvin #include <byteswap.h>
15c889ba80SH. Peter Anvin #define USE_BSD
16c889ba80SH. Peter Anvin #include <endian.h>
17c889ba80SH. Peter Anvin #include <regex.h>
18c889ba80SH. Peter Anvin #include <tools/le_byteshift.h>
19c889ba80SH. Peter Anvin 
20*03dca99eSBorislav Petkov __attribute__((__format__(printf, 1, 2)))
21adee8705SPeter Foley void die(char *fmt, ...) __attribute__((noreturn));
22c889ba80SH. Peter Anvin 
23c889ba80SH. Peter Anvin #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
24c889ba80SH. Peter Anvin 
25c889ba80SH. Peter Anvin enum symtype {
26c889ba80SH. Peter Anvin 	S_ABS,
27c889ba80SH. Peter Anvin 	S_REL,
28c889ba80SH. Peter Anvin 	S_SEG,
29c889ba80SH. Peter Anvin 	S_LIN,
30c889ba80SH. Peter Anvin 	S_NSYMTYPES
31c889ba80SH. Peter Anvin };
32c889ba80SH. Peter Anvin 
33c889ba80SH. Peter Anvin void process_32(FILE *fp, int use_real_mode, int as_text,
34214a8876SMichael Davidson 		int show_absolute_syms, int show_absolute_relocs,
35214a8876SMichael Davidson 		int show_reloc_info);
36c889ba80SH. Peter Anvin void process_64(FILE *fp, int use_real_mode, int as_text,
37214a8876SMichael Davidson 		int show_absolute_syms, int show_absolute_relocs,
38214a8876SMichael Davidson 		int show_reloc_info);
39c889ba80SH. Peter Anvin #endif /* RELOCS_H */
40