122 #define EF_MIPS_NOREORDER 0x00000001
125 #define EF_MIPS_PIC 0x00000002
129 #define EF_MIPS_CPIC 0x00000004
132 #define EF_MIPS_XGOT 0x00000008
135 #define EF_MIPS_UCODE 0x00000010
138 #define EF_MIPS_ABI2 0x00000020
141 #define EF_MIPS_OPTIONS_FIRST 0x00000080
144 #define EF_MIPS_ARCH_ASE 0x0f000000
147 #define EF_MIPS_ARCH_ASE_MDMX 0x08000000
150 #define EF_MIPS_ARCH_ASE_M16 0x04000000
154 #define EF_MIPS_32BITMODE 0x00000100
157 #define EF_MIPS_ARCH 0xf0000000
160 #define E_MIPS_ARCH_1 0x00000000
163 #define E_MIPS_ARCH_2 0x10000000
166 #define E_MIPS_ARCH_3 0x20000000
169 #define E_MIPS_ARCH_4 0x30000000
172 #define E_MIPS_ARCH_5 0x40000000
175 #define E_MIPS_ARCH_32 0x50000000
178 #define E_MIPS_ARCH_64 0x60000000
181 #define E_MIPS_ARCH_32R2 0x70000000
184 #define E_MIPS_ARCH_64R2 0x80000000
187 #define EF_MIPS_ABI 0x0000F000
190 #define E_MIPS_ABI_O32 0x00001000
193 #define E_MIPS_ABI_O64 0x00002000
196 #define E_MIPS_ABI_EABI32 0x00003000
199 #define E_MIPS_ABI_EABI64 0x00004000
205 #define EF_MIPS_MACH 0x00FF0000
211 #define E_MIPS_MACH_3900 0x00810000
212 #define E_MIPS_MACH_4010 0x00820000
213 #define E_MIPS_MACH_4100 0x00830000
214 #define E_MIPS_MACH_4650 0x00850000
215 #define E_MIPS_MACH_4120 0x00870000
216 #define E_MIPS_MACH_4111 0x00880000
217 #define E_MIPS_MACH_SB1 0x008a0000
218 #define E_MIPS_MACH_5400 0x00910000
219 #define E_MIPS_MACH_5500 0x00980000
220 #define E_MIPS_MACH_9000 0x00990000
228 #define SHN_MIPS_ACOMMON 0xff00
232 #define SHN_MIPS_TEXT 0xff01
236 #define SHN_MIPS_DATA 0xff02
239 #define SHN_MIPS_SCOMMON 0xff03
242 #define SHN_MIPS_SUNDEFINED 0xff04
248 #define SHT_MIPS_LIBLIST 0x70000000
251 #define SHT_MIPS_MSYM 0x70000001
255 #define SHT_MIPS_CONFLICT 0x70000002
258 #define SHT_MIPS_GPTAB 0x70000003
262 #define SHT_MIPS_UCODE 0x70000004
266 #define SHT_MIPS_DEBUG 0x70000005
269 #define SHT_MIPS_REGINFO 0x70000006
272 #define SHT_MIPS_PACKAGE 0x70000007
275 #define SHT_MIPS_PACKSYM 0x70000008
278 #define SHT_MIPS_RELD 0x70000009
281 #define SHT_MIPS_IFACE 0x7000000b
284 #define SHT_MIPS_CONTENT 0x7000000c
287 #define SHT_MIPS_OPTIONS 0x7000000d
290 #define SHT_MIPS_SHDR 0x70000010
293 #define SHT_MIPS_FDESC 0x70000011
296 #define SHT_MIPS_EXTSYM 0x70000012
299 #define SHT_MIPS_DENSE 0x70000013
302 #define SHT_MIPS_PDESC 0x70000014
305 #define SHT_MIPS_LOCSYM 0x70000015
308 #define SHT_MIPS_AUXSYM 0x70000016
311 #define SHT_MIPS_OPTSYM 0x70000017
314 #define SHT_MIPS_LOCSTR 0x70000018
317 #define SHT_MIPS_LINE 0x70000019
320 #define SHT_MIPS_RFDESC 0x7000001a
323 #define SHT_MIPS_DELTASYM 0x7000001b
326 #define SHT_MIPS_DELTAINST 0x7000001c
329 #define SHT_MIPS_DELTACLASS 0x7000001d
332 #define SHT_MIPS_DWARF 0x7000001e
335 #define SHT_MIPS_DELTADECL 0x7000001f
339 #define SHT_MIPS_SYMBOL_LIB 0x70000020
342 #define SHT_MIPS_EVENTS 0x70000021
345 #define SHT_MIPS_TRANSLATE 0x70000022
348 #define SHT_MIPS_PIXIE 0x70000023
351 #define SHT_MIPS_XLATE 0x70000024
354 #define SHT_MIPS_XLATE_DEBUG 0x70000025
357 #define SHT_MIPS_WHIRL 0x70000026
360 #define SHT_MIPS_EH_REGION 0x70000027
363 #define SHT_MIPS_XLATE_OLD 0x70000028
366 #define SHT_MIPS_PDR_EXCEPTION 0x70000029
375 unsigned long l_name;
377 unsigned long l_time_stamp;
379 unsigned long l_checksum;
381 unsigned long l_version;
383 unsigned long l_flags;
389 unsigned char l_name[4];
390 unsigned char l_time_stamp[4];
391 unsigned char l_checksum[4];
392 unsigned char l_version[4];
393 unsigned char l_flags[4];
400 #define LL_EXACT_MATCH 0x00000001
403 #define LL_IGNORE_INT_VER 0x00000002
406 #define LL_REQUIRE_MINOR 0x00000004
409 #define LL_EXPORTS 0x00000008
412 #define LL_DELAY_LOAD 0x00000010
415 #define LL_DELTA 0x00000020
455 unsigned char gt_current_g_value[4];
456 unsigned char gt_unused[4];
460 unsigned char gt_g_value[4];
461 unsigned char gt_bytes[4];
472 unsigned long ri_cprmask[4];
480 unsigned char ri_gprmask[4];
481 unsigned char ri_cprmask[4][4];
482 unsigned char ri_gp_value[4];
492 #define SHF_MIPS_GPREL 0x10000000
495 #define SHF_MIPS_MERGE 0x20000000
499 #define SHF_MIPS_ADDR 0x40000000
502 #define SHF_MIPS_STRING 0x80000000
505 #define SHF_MIPS_NOSTRIP 0x08000000
508 #define SHF_MIPS_LOCAL 0x04000000
511 #define SHF_MIPS_NAMES 0x02000000
515 #define SHF_MIPS_NODUPES 0x01000000
520 #define PT_MIPS_REGINFO 0x70000000
523 #define PT_MIPS_RTPROC 0x70000001
526 #define PT_MIPS_OPTIONS 0x70000002
531 #define DT_MIPS_RLD_VERSION 0x70000001
534 #define DT_MIPS_TIME_STAMP 0x70000002
537 #define DT_MIPS_ICHECKSUM 0x70000003
540 #define DT_MIPS_IVERSION 0x70000004
543 #define DT_MIPS_FLAGS 0x70000005
546 #define DT_MIPS_BASE_ADDRESS 0x70000006
549 #define DT_MIPS_MSYM 0x70000007
552 #define DT_MIPS_CONFLICT 0x70000008
555 #define DT_MIPS_LIBLIST 0x70000009
558 #define DT_MIPS_LOCAL_GOTNO 0x7000000a
561 #define DT_MIPS_CONFLICTNO 0x7000000b
564 #define DT_MIPS_LIBLISTNO 0x70000010
567 #define DT_MIPS_SYMTABNO 0x70000011
570 #define DT_MIPS_UNREFEXTNO 0x70000012
573 #define DT_MIPS_GOTSYM 0x70000013
576 #define DT_MIPS_HIPAGENO 0x70000014
579 #define DT_MIPS_RLD_MAP 0x70000016
582 #define DT_MIPS_DELTA_CLASS 0x70000017
585 #define DT_MIPS_DELTA_CLASS_NO 0x70000018
588 #define DT_MIPS_DELTA_INSTANCE 0x70000019
591 #define DT_MIPS_DELTA_INSTANCE_NO 0x7000001a
594 #define DT_MIPS_DELTA_RELOC 0x7000001b
597 #define DT_MIPS_DELTA_RELOC_NO 0x7000001c
600 #define DT_MIPS_DELTA_SYM 0x7000001d
603 #define DT_MIPS_DELTA_SYM_NO 0x7000001e
606 #define DT_MIPS_DELTA_CLASSSYM 0x70000020
609 #define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021
612 #define DT_MIPS_CXX_FLAGS 0x70000022
615 #define DT_MIPS_PIXIE_INIT 0x70000023
618 #define DT_MIPS_SYMBOL_LIB 0x70000024
621 #define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025
624 #define DT_MIPS_LOCAL_GOTIDX 0x70000026
627 #define DT_MIPS_HIDDEN_GOTIDX 0x70000027
630 #define DT_MIPS_PROTECTED_GOTIDX 0x70000028
633 #define DT_MIPS_OPTIONS 0x70000029
636 #define DT_MIPS_INTERFACE 0x7000002a
639 #define DT_MIPS_DYNSTR_ALIGN 0x7000002b
642 #define DT_MIPS_INTERFACE_SIZE 0x7000002c
645 #define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002d
648 #define DT_MIPS_PERF_SUFFIX 0x7000002e
651 #define DT_MIPS_COMPACT_SIZE 0x7000002f
654 #define DT_MIPS_GP_VALUE 0x70000030
657 #define DT_MIPS_AUX_DYNAMIC 0x70000031
662 #define RHF_NONE 0x00000000
665 #define RHF_QUICKSTART 0x00000001
668 #define RHF_NOTPOT 0x00000002
671 #define RHS_NO_LIBRARY_REPLACEMENT 0x00000004
674 #define RHF_NO_MOVE 0x00000008
677 #define RHF_SGI_ONLY 0x00000010
681 #define RHF_GUARANTEE_INIT 0x00000020
684 #define RHF_DELTA_C_PLUS_PLUS 0x00000040
688 #define RHF_GUARANTEE_START_INIT 0x00000080
691 #define RHF_PIXIE 0x00000100
694 #define RHF_DEFAULT_DELAY_LOAD 0x00000200
697 #define RHF_REQUICKSTART 0x00000400
700 #define RHF_REQUICKSTARTED 0x00000800
703 #define RHF_CORD 0x00001000
706 #define RHF_NO_UNRES_UNDEF 0x00002000
709 #define RHF_RLD_ORDER_SAFE 0x00004000
714 #define STO_DEFAULT STV_DEFAULT
715 #define STO_INTERNAL STV_INTERNAL
716 #define STO_HIDDEN STV_HIDDEN
717 #define STO_PROTECTED STV_PROTECTED
720 #define STO_MIPS16 0xf0
725 #define STO_OPTIONAL (1 << 2)
727 #define ELF_MIPS_IS_OPTIONAL(other) ((other)&STO_OPTIONAL)
742 unsigned char rz_offset[8];
744 unsigned char rz_sym[4];
746 unsigned char rz_ssym[1];
748 unsigned char rz_type3[1];
750 unsigned char rz_type2[1];
752 unsigned char rz_type[1];
776 unsigned char rz_offset[8];
778 unsigned char rz_sym[4];
780 unsigned char rz_ssym[1];
782 unsigned char rz_type3[1];
784 unsigned char rz_type2[1];
786 unsigned char rz_type[1];
788 unsigned char rz_addend[8];
810 #define ELF64_MIPS_R_SSYM(i) (((i) >> 24) & 0xff)
811 #define ELF64_MIPS_R_TYPE3(i) (((i) >> 16) & 0xff)
812 #define ELF64_MIPS_R_TYPE2(i) (((i) >> 8) & 0xff)
813 #define ELF64_MIPS_R_TYPE(i) ((i)&0xff)
835 unsigned char kind[1];
867 #define ODK_REGINFO 1
870 #define ODK_EXCEPTIONS 2
876 #define ODK_HWPATCH 4
891 #define ODK_GP_GROUP 9
903 unsigned char ri_gprmask[4];
905 unsigned char ri_pad[4];
907 unsigned char ri_cprmask[4][4];
909 unsigned char ri_gp_value[8];
919 unsigned long ri_cprmask[4];
928 unsigned char ms_hash_value[4];
936 unsigned char ms_info[4];
954 #define ELF32_MS_REL_INDEX(i) ((i) >> 8)
955 #define ELF32_MS_FLAGS(i) (i) & 0xff)
956 #define ELF32_MS_INFO(r, f) (((r) << 8) + ((f)&0xff))
963 #define OEX_FPU_MIN 0x1f
964 #define OEX_FPU_MAX 0x1f00
965 #define OEX_PAGE0 0x10000
966 #define OEX_SMM 0x20000
967 #define OEX_FPDBUG 0x40000
969 #define OEX_DISMISS 0x80000
972 #define OEX_FPU_INVAL 0x10
973 #define OEX_FPU_DIV0 0x08
974 #define OEX_FPU_OFLO 0x04
975 #define OEX_FPU_UFLO 0x02
976 #define OEX_FPU_INEX 0x01
979 #define OPAD_PREFIX 0x01
980 #define OPAD_POSTFIX 0x02
981 #define OPAD_SYMBOL 0x04
984 #define OHW_R4KEOP 0x00000001
985 #define OHW_R8KPFETCH 0x00000002
986 #define OHW_R5KEOP 0x00000004
987 #define OHW_R5KCVTL 0x00000008
989 #define OHW_R10KLDL 0x00000010
993 #define OGP_GROUP 0x0000ffff
994 #define OGP_SELF 0xffff0000
997 #define OHWA0_R4KEOP_CHECKED 0x00000001
998 #define OHWA0_R4KEOP_CLEAN 0x00000002
RzBinInfo * info(RzBinFile *bf)
#define RZ_MIPS_CALL_HI16
#define RZ_MIPS_TLS_TPREL64
#define RZ_MIPS_TLS_DTPMOD64
#define RZ_MIPS_TLS_TPREL32
#define RZ_MIPS_TLS_TPREL_HI16
#define RZ_MIPS_ADD_IMMEDIATE
#define RZ_MIPS_TLS_DTPMOD32
#define RZ_MIPS_TLS_DTPREL64
#define RZ_MIPS_JUMP_SLOT
#define RZ_MIPS_CALL_LO16
#define RZ_MIPS_TLS_TPREL_LO16
#define RZ_MIPS_TLS_GOTTPREL
#define RZ_MIPS_TLS_DTPREL_HI16
#define RZ_MIPS_TLS_DTPREL32
#define RZ_MIPS_TLS_DTPREL_LO16
unsigned char Elf32_External_Conflict[4]
void bfd_mips_elf32_swap_reginfo_out(bfd *, const Elf32_RegInfo *, Elf32_External_RegInfo *)
RELOC_NUMBER(RZ_MIPS_32, 2) RELOC_NUMBER(RZ_MIPS_REL32
unsigned char Elf64_External_Conflict[8]
void bfd_mips_elf64_swap_reginfo_out(bfd *, const Elf64_Internal_RegInfo *, Elf64_External_RegInfo *)
void bfd_mips_elf32_swap_reginfo_in(bfd *, const Elf32_External_RegInfo *, Elf32_RegInfo *)
void bfd_mips_elf64_swap_reginfo_in(bfd *, const Elf64_External_RegInfo *, Elf64_Internal_RegInfo *)
void bfd_mips_elf_swap_options_in(bfd *, const Elf_External_Options *, Elf_Internal_Options *)
void bfd_mips_elf_swap_options_out(bfd *, const Elf_Internal_Options *, Elf_External_Options *)
unsigned long Elf64_Conflict
unsigned long Elf32_Conflict
BFD_HOST_64_BIT bfd_signed_vma
BFD_HOST_U_64_BIT bfd_vma
#define FAKE_RELOC(name, number)
#define END_RELOC_NUMBERS(name)
#define START_RELOC_NUMBERS(name)
unsigned long ms_hash_value
unsigned long gt_current_g_value