Skip to content

Commit

Permalink
Fix missing undocumented x86_i386 registers
Browse files Browse the repository at this point in the history
  • Loading branch information
hainest committed Nov 24, 2023
1 parent 03e62d7 commit 44a4a1f
Showing 1 changed file with 180 additions and 92 deletions.
272 changes: 180 additions & 92 deletions common/src/registers/MachRegister.C
Expand Up @@ -1156,53 +1156,97 @@ namespace Dyninst {
case 91: return Dyninst::InvalidReg;
case 92: return Dyninst::InvalidReg;

/* End of documented registers */
/* The rest of these are assigned arbitrary values for internal Dyninst use. */
/* End of documented registers */
/* The rest of these are assigned arbitrary values for internal Dyninst use. */
case 1024: return Dyninst::x86::ax;
case 1025: return Dyninst::x86::al;
case 1026: return Dyninst::x86::ch;
case 1027: return Dyninst::x86::dx;
case 1028: return Dyninst::x86::dl;
case 1029: return Dyninst::x86::bh;
case 1030: return Dyninst::x86::sp;
case 1031: return Dyninst::x86::si;
case 1032: return Dyninst::x86::cf;
case 1033: return Dyninst::x86::pf;
case 1034: return Dyninst::x86::af;
case 1035: return Dyninst::x86::zf;
case 1036: return Dyninst::x86::tf;
case 1037: return Dyninst::x86::df;
case 1038: return Dyninst::x86::flagc;
case 1039: return Dyninst::x86::nt_;
case 1040: return Dyninst::x86::rf;
case 1041: return Dyninst::x86::ac;
case 1042: return Dyninst::x86::vip;
case 1043: return Dyninst::x86::cr0;
case 1044: return Dyninst::x86::cr2;
case 1045: return Dyninst::x86::cr4;
case 1046: return Dyninst::x86::cr6;
case 1047: return Dyninst::x86::dr0;
case 1048: return Dyninst::x86::dr2;
case 1049: return Dyninst::x86::dr4;
case 1050: return Dyninst::x86::dr6;
case 1051: return Dyninst::x86::ymm0;
case 1052: return Dyninst::x86::ymm2;
case 1053: return Dyninst::x86::ymm4;
case 1054: return Dyninst::x86::ymm6;
case 1055: return Dyninst::x86::zmm0;
case 1056: return Dyninst::x86::zmm2;
case 1057: return Dyninst::x86::zmm4;
case 1058: return Dyninst::x86::zmm6;
case 1059: return Dyninst::x86::k0;
case 1060: return Dyninst::x86::k2;
case 1061: return Dyninst::x86::k4;
case 1062: return Dyninst::x86::k6;
case 1063: return Dyninst::x86::oeax;
case 1064: return Dyninst::x86::gsbase;
case 1065: return Dyninst::x86::tr1;
case 1066: return Dyninst::x86::tr3;
case 1067: return Dyninst::x86::tr5;
case 1068: return Dyninst::x86::tr7;
case 1025: return Dyninst::x86::ah;
case 1026: return Dyninst::x86::al;
case 1027: return Dyninst::x86::cx;
case 1028: return Dyninst::x86::ch;
case 1029: return Dyninst::x86::cl;
case 1030: return Dyninst::x86::dx;
case 1031: return Dyninst::x86::dh;
case 1032: return Dyninst::x86::dl;
case 1033: return Dyninst::x86::bx;
case 1034: return Dyninst::x86::bh;
case 1035: return Dyninst::x86::bl;
case 1036: return Dyninst::x86::sp;
case 1037: return Dyninst::x86::bp;
case 1038: return Dyninst::x86::si;
case 1039: return Dyninst::x86::di;
case 1040: return Dyninst::x86::cf;
case 1041: return Dyninst::x86::flag1;
case 1042: return Dyninst::x86::pf;
case 1043: return Dyninst::x86::flag3;
case 1044: return Dyninst::x86::af;
case 1045: return Dyninst::x86::flag5;
case 1046: return Dyninst::x86::zf;
case 1047: return Dyninst::x86::sf;
case 1048: return Dyninst::x86::tf;
case 1049: return Dyninst::x86::if_;
case 1050: return Dyninst::x86::df;
case 1051: return Dyninst::x86::of;
case 1052: return Dyninst::x86::flagc;
case 1053: return Dyninst::x86::flagd;
case 1054: return Dyninst::x86::nt_;
case 1055: return Dyninst::x86::flagf;
case 1056: return Dyninst::x86::rf;
case 1057: return Dyninst::x86::vm;
case 1058: return Dyninst::x86::ac;
case 1059: return Dyninst::x86::vif;
case 1060: return Dyninst::x86::vip;
case 1061: return Dyninst::x86::id;
case 1062: return Dyninst::x86::cr0;
case 1063: return Dyninst::x86::cr1;
case 1064: return Dyninst::x86::cr2;
case 1065: return Dyninst::x86::cr3;
case 1066: return Dyninst::x86::cr4;
case 1067: return Dyninst::x86::cr5;
case 1068: return Dyninst::x86::cr6;
case 1069: return Dyninst::x86::cr7;
case 1070: return Dyninst::x86::dr0;
case 1071: return Dyninst::x86::dr1;
case 1072: return Dyninst::x86::dr2;
case 1073: return Dyninst::x86::dr3;
case 1074: return Dyninst::x86::dr4;
case 1075: return Dyninst::x86::dr5;
case 1076: return Dyninst::x86::dr6;
case 1077: return Dyninst::x86::dr7;
case 1078: return Dyninst::x86::ymm0;
case 1079: return Dyninst::x86::ymm1;
case 1080: return Dyninst::x86::ymm2;
case 1081: return Dyninst::x86::ymm3;
case 1082: return Dyninst::x86::ymm4;
case 1083: return Dyninst::x86::ymm5;
case 1084: return Dyninst::x86::ymm6;
case 1085: return Dyninst::x86::ymm7;
case 1086: return Dyninst::x86::zmm0;
case 1087: return Dyninst::x86::zmm1;
case 1088: return Dyninst::x86::zmm2;
case 1089: return Dyninst::x86::zmm3;
case 1090: return Dyninst::x86::zmm4;
case 1091: return Dyninst::x86::zmm5;
case 1092: return Dyninst::x86::zmm6;
case 1093: return Dyninst::x86::zmm7;
case 1094: return Dyninst::x86::k0;
case 1095: return Dyninst::x86::k1;
case 1096: return Dyninst::x86::k2;
case 1097: return Dyninst::x86::k3;
case 1098: return Dyninst::x86::k4;
case 1099: return Dyninst::x86::k5;
case 1100: return Dyninst::x86::k6;
case 1101: return Dyninst::x86::k7;
case 1102: return Dyninst::x86::oeax;
case 1103: return Dyninst::x86::fsbase;
case 1104: return Dyninst::x86::gsbase;
case 1105: return Dyninst::x86::tr0;
case 1106: return Dyninst::x86::tr1;
case 1107: return Dyninst::x86::tr2;
case 1108: return Dyninst::x86::tr3;
case 1109: return Dyninst::x86::tr4;
case 1110: return Dyninst::x86::tr5;
case 1111: return Dyninst::x86::tr6;
case 1112: return Dyninst::x86::tr7;
default: return Dyninst::InvalidReg;
}
break;
Expand Down Expand Up @@ -1873,53 +1917,97 @@ namespace Dyninst {
/*[91] Reserved */
/*[92] Reserved */

/* End of documented registers */
/* The rest of these are assigned arbitrary values for internal Dyninst use. */
/* End of documented registers */
/* The rest of these are assigned arbitrary values for internal Dyninst use. */
case Dyninst::x86::iax: return 1024;
case Dyninst::x86::ial: return 1025;
case Dyninst::x86::ich: return 1026;
case Dyninst::x86::idx: return 1027;
case Dyninst::x86::idl: return 1028;
case Dyninst::x86::ibh: return 1029;
case Dyninst::x86::isp: return 1030;
case Dyninst::x86::isi: return 1031;
case Dyninst::x86::icf: return 1032;
case Dyninst::x86::ipf: return 1033;
case Dyninst::x86::iaf: return 1034;
case Dyninst::x86::izf: return 1035;
case Dyninst::x86::itf: return 1036;
case Dyninst::x86::idf: return 1037;
case Dyninst::x86::iflagc: return 1038;
case Dyninst::x86::int_: return 1039;
case Dyninst::x86::irf: return 1040;
case Dyninst::x86::iac: return 1041;
case Dyninst::x86::ivip: return 1042;
case Dyninst::x86::icr0: return 1043;
case Dyninst::x86::icr2: return 1044;
case Dyninst::x86::icr4: return 1045;
case Dyninst::x86::icr6: return 1046;
case Dyninst::x86::idr0: return 1047;
case Dyninst::x86::idr2: return 1048;
case Dyninst::x86::idr4: return 1049;
case Dyninst::x86::idr6: return 1050;
case Dyninst::x86::iymm0: return 1051;
case Dyninst::x86::iymm2: return 1052;
case Dyninst::x86::iymm4: return 1053;
case Dyninst::x86::iymm6: return 1054;
case Dyninst::x86::izmm0: return 1055;
case Dyninst::x86::izmm2: return 1056;
case Dyninst::x86::izmm4: return 1057;
case Dyninst::x86::izmm6: return 1058;
case Dyninst::x86::ik0: return 1059;
case Dyninst::x86::ik2: return 1060;
case Dyninst::x86::ik4: return 1061;
case Dyninst::x86::ik6: return 1062;
case Dyninst::x86::ioeax: return 1063;
case Dyninst::x86::igsbase: return 1064;
case Dyninst::x86::itr1: return 1065;
case Dyninst::x86::itr3: return 1066;
case Dyninst::x86::itr5: return 1067;
case Dyninst::x86::itr7: return 1068;
case Dyninst::x86::iah: return 1025;
case Dyninst::x86::ial: return 1026;
case Dyninst::x86::icx: return 1027;
case Dyninst::x86::ich: return 1028;
case Dyninst::x86::icl: return 1029;
case Dyninst::x86::idx: return 1030;
case Dyninst::x86::idh: return 1031;
case Dyninst::x86::idl: return 1032;
case Dyninst::x86::ibx: return 1033;
case Dyninst::x86::ibh: return 1034;
case Dyninst::x86::ibl: return 1035;
case Dyninst::x86::isp: return 1036;
case Dyninst::x86::ibp: return 1037;
case Dyninst::x86::isi: return 1038;
case Dyninst::x86::idi: return 1039;
case Dyninst::x86::icf: return 1040;
case Dyninst::x86::iflag1: return 1041;
case Dyninst::x86::ipf: return 1042;
case Dyninst::x86::iflag3: return 1043;
case Dyninst::x86::iaf: return 1044;
case Dyninst::x86::iflag5: return 1045;
case Dyninst::x86::izf: return 1046;
case Dyninst::x86::isf: return 1047;
case Dyninst::x86::itf: return 1048;
case Dyninst::x86::iif_: return 1049;
case Dyninst::x86::idf: return 1050;
case Dyninst::x86::iof: return 1051;
case Dyninst::x86::iflagc: return 1052;
case Dyninst::x86::iflagd: return 1053;
case Dyninst::x86::int_: return 1054;
case Dyninst::x86::iflagf: return 1055;
case Dyninst::x86::irf: return 1056;
case Dyninst::x86::ivm: return 1057;
case Dyninst::x86::iac: return 1058;
case Dyninst::x86::ivif: return 1059;
case Dyninst::x86::ivip: return 1060;
case Dyninst::x86::iid: return 1061;
case Dyninst::x86::icr0: return 1062;
case Dyninst::x86::icr1: return 1063;
case Dyninst::x86::icr2: return 1064;
case Dyninst::x86::icr3: return 1065;
case Dyninst::x86::icr4: return 1066;
case Dyninst::x86::icr5: return 1067;
case Dyninst::x86::icr6: return 1068;
case Dyninst::x86::icr7: return 1069;
case Dyninst::x86::idr0: return 1070;
case Dyninst::x86::idr1: return 1071;
case Dyninst::x86::idr2: return 1072;
case Dyninst::x86::idr3: return 1073;
case Dyninst::x86::idr4: return 1074;
case Dyninst::x86::idr5: return 1075;
case Dyninst::x86::idr6: return 1076;
case Dyninst::x86::idr7: return 1077;
case Dyninst::x86::iymm0: return 1078;
case Dyninst::x86::iymm1: return 1079;
case Dyninst::x86::iymm2: return 1080;
case Dyninst::x86::iymm3: return 1081;
case Dyninst::x86::iymm4: return 1082;
case Dyninst::x86::iymm5: return 1083;
case Dyninst::x86::iymm6: return 1084;
case Dyninst::x86::iymm7: return 1085;
case Dyninst::x86::izmm0: return 1086;
case Dyninst::x86::izmm1: return 1087;
case Dyninst::x86::izmm2: return 1088;
case Dyninst::x86::izmm3: return 1089;
case Dyninst::x86::izmm4: return 1090;
case Dyninst::x86::izmm5: return 1091;
case Dyninst::x86::izmm6: return 1092;
case Dyninst::x86::izmm7: return 1093;
case Dyninst::x86::ik0: return 1094;
case Dyninst::x86::ik1: return 1095;
case Dyninst::x86::ik2: return 1096;
case Dyninst::x86::ik3: return 1097;
case Dyninst::x86::ik4: return 1098;
case Dyninst::x86::ik5: return 1099;
case Dyninst::x86::ik6: return 1100;
case Dyninst::x86::ik7: return 1101;
case Dyninst::x86::ioeax: return 1102;
case Dyninst::x86::ifsbase: return 1103;
case Dyninst::x86::igsbase: return 1104;
case Dyninst::x86::itr0: return 1105;
case Dyninst::x86::itr1: return 1106;
case Dyninst::x86::itr2: return 1107;
case Dyninst::x86::itr3: return 1108;
case Dyninst::x86::itr4: return 1109;
case Dyninst::x86::itr5: return 1110;
case Dyninst::x86::itr6: return 1111;
case Dyninst::x86::itr7: return 1112;
default: return -1;
}
break;
Expand Down

0 comments on commit 44a4a1f

Please sign in to comment.