📄 gdb-6.4.patch.svn-base
字号:
#define INSN_5500 0x02000000+/* Sony Allegrex instruction. */+#define INSN_ALLEGREX 0x10000000 /* MT ASE */ #define INSN_MT 0x04000000 @@ -549,6 +651,7 @@ #define CPU_MIPS64 64 #define CPU_MIPS64R2 65 #define CPU_SB1 12310201 /* octal 'SB', 01. */+#define CPU_ALLEGREX 10111431 /* octal 'AL', 31. */ /* Test for membership in an ISA including chip specific ISAs. INSN is pointer to an element of the opcode table; ISA is the specified@@ -570,6 +673,7 @@ || (cpu == CPU_VR4120 && ((insn)->membership & INSN_4120) != 0) \ || (cpu == CPU_VR5400 && ((insn)->membership & INSN_5400) != 0) \ || (cpu == CPU_VR5500 && ((insn)->membership & INSN_5500) != 0) \+ || (cpu == CPU_ALLEGREX && ((insn)->membership & INSN_ALLEGREX) != 0) \ || 0) /* Please keep this term for easier source merging. */ /* This is a list of macro expanded instructions.@@ -685,6 +789,16 @@ M_LL_AB, M_LLD_AB, M_LS_A,+ M_LVHIP,+ M_LVHIS,+ M_LVIP,+ M_LVIQ,+ M_LVIS,+ M_LVIT,+ M_LVLQ_AB,+ M_LVRQ_AB,+ M_LVQ_AB,+ M_LVQ_AB_2, M_LW_A, M_LW_AB, M_LWC0_A,@@ -774,6 +888,10 @@ M_SUB_I, M_SUBU_I, M_SUBU_I_2,+ M_SVLQ_AB,+ M_SVQ_AB,+ M_SVRQ_AB,+ M_SVS_AB, M_TEQ_I, M_TGE_I, M_TGEU_I,@@ -788,14 +906,24 @@ M_ULH_A, M_ULHU, M_ULHU_A,+ M_ULVQ,+ M_ULVQ_AB,+ M_ULVS, M_ULW, M_ULW_A, M_USH, M_USH_A,+ M_USVQ,+ M_USVQ_AB,+ M_USVS, M_USW, M_USW_A, M_USD, M_USD_A,+ M_VCMOVP,+ M_VCMOVQ,+ M_VCMOVS,+ M_VCMOVT, M_XOR_I, M_COP0, M_COP1,diff -burN gdb-6.4/opcodes/mips-dis.c gdb-psp/opcodes/mips-dis.c--- gdb-6.4/opcodes/mips-dis.c 2005-09-06 19:46:57.000000000 +0100+++ gdb-psp/opcodes/mips-dis.c 2007-02-08 20:06:04.000000000 +0000@@ -133,6 +133,139 @@ "c0_taglo", "c0_taghi", "c0_errorepc", "c0_desave", }; +static const char * const vfpu_sreg_names[128] = {+ "S000", "S010", "S020", "S030", "S100", "S110", "S120", "S130",+ "S200", "S210", "S220", "S230", "S300", "S310", "S320", "S330",+ "S400", "S410", "S420", "S430", "S500", "S510", "S520", "S530",+ "S600", "S610", "S620", "S630", "S700", "S710", "S720", "S730",+ "S001", "S011", "S021", "S031", "S101", "S111", "S121", "S131",+ "S201", "S211", "S221", "S231", "S301", "S311", "S321", "S331",+ "S401", "S411", "S421", "S431", "S501", "S511", "S521", "S531",+ "S601", "S611", "S621", "S631", "S701", "S711", "S721", "S731",+ "S002", "S012", "S022", "S032", "S102", "S112", "S122", "S132",+ "S202", "S212", "S222", "S232", "S302", "S312", "S322", "S332",+ "S402", "S412", "S422", "S432", "S502", "S512", "S522", "S532",+ "S602", "S612", "S622", "S632", "S702", "S712", "S722", "S732",+ "S003", "S013", "S023", "S033", "S103", "S113", "S123", "S133",+ "S203", "S213", "S223", "S233", "S303", "S313", "S323", "S333",+ "S403", "S413", "S423", "S433", "S503", "S513", "S523", "S533",+ "S603", "S613", "S623", "S633", "S703", "S713", "S723", "S733"+};++static const char * const vfpu_vpreg_names[128] = {+ "C000", "C010", "C020", "C030", "C100", "C110", "C120", "C130",+ "C200", "C210", "C220", "C230", "C300", "C310", "C320", "C330",+ "C400", "C410", "C420", "C430", "C500", "C510", "C520", "C530",+ "C600", "C610", "C620", "C630", "C700", "C710", "C720", "C730",+ "R000", "R001", "R002", "R003", "R100", "R101", "R102", "R103",+ "R200", "R201", "R202", "R203", "R300", "R301", "R302", "R303",+ "R400", "R401", "R402", "R403", "R500", "R501", "R502", "R503",+ "R600", "R601", "R602", "R603", "R700", "R701", "R702", "R703",+ "C002", "C012", "C022", "C032", "C102", "C112", "C122", "C132",+ "C202", "C212", "C222", "C232", "C302", "C312", "C322", "C332",+ "C402", "C412", "C422", "C432", "C502", "C512", "C522", "C532",+ "C602", "C612", "C622", "C632", "C702", "C712", "C722", "C732",+ "R020", "R021", "R022", "R023", "R120", "R121", "R122", "R123",+ "R220", "R221", "R222", "R223", "R320", "R321", "R322", "R323",+ "R420", "R421", "R422", "R423", "R520", "R521", "R522", "R523",+ "R620", "R621", "R622", "R623", "R720", "R721", "R722", "R723"+};++static const char * const vfpu_vtreg_names[128] = {+ "C000", "C010", "C020", "C030", "C100", "C110", "C120", "C130",+ "C200", "C210", "C220", "C230", "C300", "C310", "C320", "C330",+ "C400", "C410", "C420", "C430", "C500", "C510", "C520", "C530",+ "C600", "C610", "C620", "C630", "C700", "C710", "C720", "C730",+ "R000", "R001", "R002", "R003", "R100", "R101", "R102", "R103",+ "R200", "R201", "R202", "R203", "R300", "R301", "R302", "R303",+ "R400", "R401", "R402", "R403", "R500", "R501", "R502", "R503",+ "R600", "R601", "R602", "R603", "R700", "R701", "R702", "R703",+ "C001", "C011", "C021", "C031", "C101", "C111", "C121", "C131",+ "C201", "C211", "C221", "C231", "C301", "C311", "C321", "C331",+ "C401", "C411", "C421", "C431", "C501", "C511", "C521", "C531",+ "C601", "C611", "C621", "C631", "C701", "C711", "C721", "C731",+ "R010", "R011", "R012", "R013", "R110", "R111", "R112", "R113",+ "R210", "R211", "R212", "R213", "R310", "R311", "R312", "R313",+ "R410", "R411", "R412", "R413", "R510", "R511", "R512", "R513",+ "R610", "R611", "R612", "R613", "R710", "R711", "R712", "R713"+};++static const char * const vfpu_vqreg_names[128] = {+ "C000", "C010", "C020", "C030", "C100", "C110", "C120", "C130",+ "C200", "C210", "C220", "C230", "C300", "C310", "C320", "C330",+ "C400", "C410", "C420", "C430", "C500", "C510", "C520", "C530",+ "C600", "C610", "C620", "C630", "C700", "C710", "C720", "C730",+ "R000", "R001", "R002", "R003", "R100", "R101", "R102", "R103",+ "R200", "R201", "R202", "R203", "R300", "R301", "R302", "R303",+ "R400", "R401", "R402", "R403", "R500", "R501", "R502", "R503",+ "R600", "R601", "R602", "R603", "R700", "R701", "R702", "R703",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", ""+};++static const char * const vfpu_mpreg_names[128] = {+ "M000", "", "M020", "", "M100", "", "M120", "",+ "M200", "", "M220", "", "M300", "", "M320", "",+ "M400", "", "M420", "", "M500", "", "M520", "",+ "M600", "", "M620", "", "M700", "", "M720", "",+ "E000", "", "E002", "", "E100", "", "E102", "",+ "E200", "", "E202", "", "E300", "", "E302", "",+ "E400", "", "E402", "", "E500", "", "E502", "",+ "E600", "", "E602", "", "E700", "", "E702", "",+ "M002", "", "M022", "", "M102", "", "M122", "",+ "M202", "", "M222", "", "M302", "", "M322", "",+ "M402", "", "M422", "", "M502", "", "M522", "",+ "M602", "", "M622", "", "M702", "", "M722", "",+ "E020", "", "E022", "", "E120", "", "E122", "",+ "E220", "", "E222", "", "E320", "", "E322", "",+ "E420", "", "E422", "", "E520", "", "E522", "",+ "E620", "", "E622", "", "E720", "", "E722", ""+};++static const char * const vfpu_mtreg_names[128] = {+ "M000", "M010", "", "", "M100", "M110", "", "",+ "M200", "M210", "", "", "M300", "M310", "", "",+ "M400", "M410", "", "", "M500", "M510", "", "",+ "M600", "M610", "", "", "M700", "M710", "", "",+ "E000", "E001", "", "", "E100", "E101", "", "",+ "E200", "E201", "", "", "E300", "E301", "", "",+ "E400", "E401", "", "", "E500", "E501", "", "",+ "E600", "E601", "", "", "E700", "E701", "", "",+ "M001", "M011", "", "", "M101", "M111", "", "",+ "M201", "M211", "", "", "M301", "M311", "", "",+ "M401", "M411", "", "", "M501", "M511", "", "",+ "M601", "M611", "", "", "M701", "M711", "", "",+ "E010", "E011", "", "", "E110", "E111", "", "",+ "E210", "E211", "", "", "E310", "E311", "", "",+ "E410", "E411", "", "", "E510", "E511", "", "",+ "E610", "E611", "", "", "E710", "E711", "", ""+};++static const char * const vfpu_mqreg_names[128] = {+ "M000", "", "", "", "M100", "", "", "",+ "M200", "", "", "", "M300", "", "", "",+ "M400", "", "", "", "M500", "", "", "",+ "M600", "", "", "", "M700", "", "", "",+ "E000", "", "", "", "E100", "", "", "",+ "E200", "", "", "", "E300", "", "", "",+ "E400", "", "", "", "E500", "", "", "",+ "E600", "", "", "", "E700", "", "", "",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", "",+ "", "", "", "", "", "", "", ""+};+ static const struct mips_cp0sel_name mips_cp0sel_names_mips3264[] = { { 16, 1, "c0_config1" },@@ -288,6 +421,55 @@ "$24", "$25", "$26", "$27", "$28", "$29", "$30", "$31" }; +static const char * const vfpu_cond_names[16] = {+ "FL", "EQ", "LT", "LE", "TR", "NE", "GE", "GT",+ "EZ", "EN", "EI", "ES", "NZ", "NN", "NI", "NS"+};++static const char * const vfpu_const_names[20] = {+ "",+ "VFPU_HUGE",+ "VFPU_SQRT2",+ "VFPU_SQRT1_2",+ "VFPU_2_SQRTPI",+ "VFPU_2_PI",+ "VFPU_1_PI",+ "VFPU_PI_4",+ "VFPU_PI_2",+ "VFPU_PI",+ "VFPU_E",+ "VFPU_LOG2E",+ "VFPU_LOG10E",+ "VFPU_LN2",+ "VFPU_LN10",+ "VFPU_2PI",+ "VFPU_PI_6",+ "VFPU_LOG10TWO",+ "VFPU_LOG2TEN",+ "VFPU_SQRT3_2"+};++#define VFPU_NUM_CONSTANTS \+ ((sizeof vfpu_const_names) / (sizeof (vfpu_const_names[0])))+const unsigned int vfpu_num_constants = VFPU_NUM_CONSTANTS;++static const char * const vfpu_rwb_names[4] = {+ "wt", "wb", "", ""+};++static const char * const pfx_cst_names[8] = {+ "0", "1", "2", "1/2", "3", "1/3", "1/4", "1/6"+};++static const char * const pfx_swz_names[4] = {+ "x", "y", "z", "w"+};++static const char * const pfx_sat_names[4] = {+ "", "[0:1]", "", "[-1:1]"+};++ struct mips_abi_choice { const char * name;@@ -363,6 +545,8 @@ mips_cp0_names_numeric, NULL, 0, mips_hwr_names_numeric }, { "mips5", 1, bfd_mach_mips5, CPU_MIPS5, ISA_MIPS5, mips_cp0_names_numeric, NULL, 0, mips_hwr_names_numeric },+ { "allegrex", 1, bfd_mach_mips_allegrex, CPU_ALLEGREX, ISA_MIPS2,+ mips_cp0_names_numeric, NULL, 0, mips_hwr_names_numeric }, /* For stock MIPS32, disassemble all applicable MIPS-specified ASEs. Note that MIPS-3D and MDMX are not applicable to MIPS32. (See@@ -1147,6 +1331,349 @@ (l >> OP_SH_FT) & OP_MASK_FT); break; + case '?':
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -