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