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