/* SPDX-License-Identifier: GPL-2.0 */ | |
#ifndef RELOCS_H | |
#define RELOCS_H | |
#include <stdio.h> | |
#include <stdarg.h> | |
#include <stdlib.h> | |
#include <stdint.h> | |
#include <inttypes.h> | |
#include <string.h> | |
#include <errno.h> | |
#include <unistd.h> | |
#include <elf.h> | |
#include <byteswap.h> | |
#define USE_BSD | |
#include <endian.h> | |
#include <regex.h> | |
void die(char *fmt, ...); | |
/* | |
* Introduced for MIPSr6 | |
*/ | |
#ifndef R_MIPS_PC21_S2 | |
#define R_MIPS_PC21_S2 60 | |
#endif | |
#ifndef R_MIPS_PC26_S2 | |
#define R_MIPS_PC26_S2 61 | |
#endif | |
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) | |
enum symtype { | |
S_ABS, | |
S_REL, | |
S_SEG, | |
S_LIN, | |
S_NSYMTYPES | |
}; | |
void process_32(FILE *fp, int as_text, int as_bin, | |
int show_reloc_info, int keep_relocs); | |
void process_64(FILE *fp, int as_text, int as_bin, | |
int show_reloc_info, int keep_relocs); | |
#endif /* RELOCS_H */ |