1 #define NSYM 50 2 #define NSNAME 8 3 #define NOPROF (1<<0) 4 #define DUPOK (1<<1) 5 6 /* 7 * amd64 8 */ 9 10 enum as 11 { 12 AXXX, 13 AAAA, 14 AAAD, 15 AAAM, 16 AAAS, 17 AADCB, 18 AADCL, 19 AADCW, 20 AADDB, 21 AADDL, 22 AADDW, 23 AADJSP, 24 AANDB, 25 AANDL, 26 AANDW, 27 AARPL, 28 ABOUNDL, 29 ABOUNDW, 30 ABSFL, 31 ABSFW, 32 ABSRL, 33 ABSRW, 34 ABTL, 35 ABTW, 36 ABTCL, 37 ABTCW, 38 ABTRL, 39 ABTRW, 40 ABTSL, 41 ABTSW, 42 ABYTE, 43 ACALL, 44 ACLC, 45 ACLD, 46 ACLI, 47 ACLTS, 48 ACMC, 49 ACMPB, 50 ACMPL, 51 ACMPW, 52 ACMPSB, 53 ACMPSL, 54 ACMPSW, 55 ADAA, 56 ADAS, 57 ADATA, 58 ADECB, 59 ADECL, 60 ADECQ, 61 ADECW, 62 ADIVB, 63 ADIVL, 64 ADIVW, 65 AENTER, 66 AGLOBL, 67 AGOK, 68 AHISTORY, 69 AHLT, 70 AIDIVB, 71 AIDIVL, 72 AIDIVW, 73 AIMULB, 74 AIMULL, 75 AIMULW, 76 AINB, 77 AINL, 78 AINW, 79 AINCB, 80 AINCL, 81 AINCQ, 82 AINCW, 83 AINSB, 84 AINSL, 85 AINSW, 86 AINT, 87 AINTO, 88 AIRETL, 89 AIRETW, 90 AJCC, 91 AJCS, 92 AJCXZ, 93 AJEQ, 94 AJGE, 95 AJGT, 96 AJHI, 97 AJLE, 98 AJLS, 99 AJLT, 100 AJMI, 101 AJMP, 102 AJNE, 103 AJOC, 104 AJOS, 105 AJPC, 106 AJPL, 107 AJPS, 108 ALAHF, 109 ALARL, 110 ALARW, 111 ALEAL, 112 ALEAW, 113 ALEAVEL, 114 ALEAVEW, 115 ALOCK, 116 ALODSB, 117 ALODSL, 118 ALODSW, 119 ALONG, 120 ALOOP, 121 ALOOPEQ, 122 ALOOPNE, 123 ALSLL, 124 ALSLW, 125 AMOVB, 126 AMOVL, 127 AMOVW, 128 AMOVBLSX, 129 AMOVBLZX, 130 AMOVBQSX, 131 AMOVBQZX, 132 AMOVBWSX, 133 AMOVBWZX, 134 AMOVWLSX, 135 AMOVWLZX, 136 AMOVWQSX, 137 AMOVWQZX, 138 AMOVSB, 139 AMOVSL, 140 AMOVSW, 141 AMULB, 142 AMULL, 143 AMULW, 144 ANAME, 145 ANEGB, 146 ANEGL, 147 ANEGW, 148 ANOP, 149 ANOTB, 150 ANOTL, 151 ANOTW, 152 AORB, 153 AORL, 154 AORW, 155 AOUTB, 156 AOUTL, 157 AOUTW, 158 AOUTSB, 159 AOUTSL, 160 AOUTSW, 161 APOPAL, 162 APOPAW, 163 APOPFL, 164 APOPFW, 165 APOPL, 166 APOPW, 167 APUSHAL, 168 APUSHAW, 169 APUSHFL, 170 APUSHFW, 171 APUSHL, 172 APUSHW, 173 ARCLB, 174 ARCLL, 175 ARCLW, 176 ARCRB, 177 ARCRL, 178 ARCRW, 179 AREP, 180 AREPN, 181 ARET, 182 AROLB, 183 AROLL, 184 AROLW, 185 ARORB, 186 ARORL, 187 ARORW, 188 ASAHF, 189 ASALB, 190 ASALL, 191 ASALW, 192 ASARB, 193 ASARL, 194 ASARW, 195 ASBBB, 196 ASBBL, 197 ASBBW, 198 ASCASB, 199 ASCASL, 200 ASCASW, 201 ASETCC, 202 ASETCS, 203 ASETEQ, 204 ASETGE, 205 ASETGT, 206 ASETHI, 207 ASETLE, 208 ASETLS, 209 ASETLT, 210 ASETMI, 211 ASETNE, 212 ASETOC, 213 ASETOS, 214 ASETPC, 215 ASETPL, 216 ASETPS, 217 ACDQ, 218 ACWD, 219 ASHLB, 220 ASHLL, 221 ASHLW, 222 ASHRB, 223 ASHRL, 224 ASHRW, 225 ASTC, 226 ASTD, 227 ASTI, 228 ASTOSB, 229 ASTOSL, 230 ASTOSW, 231 ASUBB, 232 ASUBL, 233 ASUBW, 234 ASYSCALL, 235 ATESTB, 236 ATESTL, 237 ATESTW, 238 ATEXT, 239 AVERR, 240 AVERW, 241 AWAIT, 242 AWORD, 243 AXCHGB, 244 AXCHGL, 245 AXCHGW, 246 AXLAT, 247 AXORB, 248 AXORL, 249 AXORW, 250 251 AFMOVB, 252 AFMOVBP, 253 AFMOVD, 254 AFMOVDP, 255 AFMOVF, 256 AFMOVFP, 257 AFMOVL, 258 AFMOVLP, 259 AFMOVV, 260 AFMOVVP, 261 AFMOVW, 262 AFMOVWP, 263 AFMOVX, 264 AFMOVXP, 265 266 AFCOMB, 267 AFCOMBP, 268 AFCOMD, 269 AFCOMDP, 270 AFCOMDPP, 271 AFCOMF, 272 AFCOMFP, 273 AFCOML, 274 AFCOMLP, 275 AFCOMW, 276 AFCOMWP, 277 AFUCOM, 278 AFUCOMP, 279 AFUCOMPP, 280 281 AFADDDP, 282 AFADDW, 283 AFADDL, 284 AFADDF, 285 AFADDD, 286 287 AFMULDP, 288 AFMULW, 289 AFMULL, 290 AFMULF, 291 AFMULD, 292 293 AFSUBDP, 294 AFSUBW, 295 AFSUBL, 296 AFSUBF, 297 AFSUBD, 298 299 AFSUBRDP, 300 AFSUBRW, 301 AFSUBRL, 302 AFSUBRF, 303 AFSUBRD, 304 305 AFDIVDP, 306 AFDIVW, 307 AFDIVL, 308 AFDIVF, 309 AFDIVD, 310 311 AFDIVRDP, 312 AFDIVRW, 313 AFDIVRL, 314 AFDIVRF, 315 AFDIVRD, 316 317 AFXCHD, 318 AFFREE, 319 320 AFLDCW, 321 AFLDENV, 322 AFRSTOR, 323 AFSAVE, 324 AFSTCW, 325 AFSTENV, 326 AFSTSW, 327 328 AF2XM1, 329 AFABS, 330 AFCHS, 331 AFCLEX, 332 AFCOS, 333 AFDECSTP, 334 AFINCSTP, 335 AFINIT, 336 AFLD1, 337 AFLDL2E, 338 AFLDL2T, 339 AFLDLG2, 340 AFLDLN2, 341 AFLDPI, 342 AFLDZ, 343 AFNOP, 344 AFPATAN, 345 AFPREM, 346 AFPREM1, 347 AFPTAN, 348 AFRNDINT, 349 AFSCALE, 350 AFSIN, 351 AFSINCOS, 352 AFSQRT, 353 AFTST, 354 AFXAM, 355 AFXTRACT, 356 AFYL2X, 357 AFYL2XP1, 358 359 AEND, 360 361 ADYNT, 362 AINIT, 363 364 ASIGNAME, 365 366 /* extra 32-bit operations */ 367 ACMPXCHGB, 368 ACMPXCHGL, 369 ACMPXCHGW, 370 ACMPXCHG8B, 371 ACPUID, 372 AINVD, 373 AINVLPG, 374 ALFENCE, 375 AMFENCE, 376 AMOVNTIL, 377 ARDMSR, 378 ARDPMC, 379 ARDTSC, 380 ARSM, 381 ASFENCE, 382 ASYSRET, 383 AWBINVD, 384 AWRMSR, 385 AXADDB, 386 AXADDL, 387 AXADDW, 388 389 /* conditional move */ 390 ACMOVLCC, 391 ACMOVLCS, 392 ACMOVLEQ, 393 ACMOVLGE, 394 ACMOVLGT, 395 ACMOVLHI, 396 ACMOVLLE, 397 ACMOVLLS, 398 ACMOVLLT, 399 ACMOVLMI, 400 ACMOVLNE, 401 ACMOVLOC, 402 ACMOVLOS, 403 ACMOVLPC, 404 ACMOVLPL, 405 ACMOVLPS, 406 ACMOVQCC, 407 ACMOVQCS, 408 ACMOVQEQ, 409 ACMOVQGE, 410 ACMOVQGT, 411 ACMOVQHI, 412 ACMOVQLE, 413 ACMOVQLS, 414 ACMOVQLT, 415 ACMOVQMI, 416 ACMOVQNE, 417 ACMOVQOC, 418 ACMOVQOS, 419 ACMOVQPC, 420 ACMOVQPL, 421 ACMOVQPS, 422 ACMOVWCC, 423 ACMOVWCS, 424 ACMOVWEQ, 425 ACMOVWGE, 426 ACMOVWGT, 427 ACMOVWHI, 428 ACMOVWLE, 429 ACMOVWLS, 430 ACMOVWLT, 431 ACMOVWMI, 432 ACMOVWNE, 433 ACMOVWOC, 434 ACMOVWOS, 435 ACMOVWPC, 436 ACMOVWPL, 437 ACMOVWPS, 438 439 /* 64-bit */ 440 AADCQ, 441 AADDQ, 442 AANDQ, 443 ABSFQ, 444 ABSRQ, 445 ABTCQ, 446 ABTQ, 447 ABTRQ, 448 ABTSQ, 449 ACMPQ, 450 ACMPSQ, 451 ACMPXCHGQ, 452 ACQO, 453 ADIVQ, 454 AIDIVQ, 455 AIMULQ, 456 AIRETQ, 457 ALEAQ, 458 ALEAVEQ, 459 ALODSQ, 460 AMOVQ, 461 AMOVLQSX, 462 AMOVLQZX, 463 AMOVNTIQ, 464 AMOVSQ, 465 AMULQ, 466 ANEGQ, 467 ANOTQ, 468 AORQ, 469 APOPFQ, 470 APOPQ, 471 APUSHFQ, 472 APUSHQ, 473 ARCLQ, 474 ARCRQ, 475 AROLQ, 476 ARORQ, 477 AQUAD, 478 ASALQ, 479 ASARQ, 480 ASBBQ, 481 ASCASQ, 482 ASHLQ, 483 ASHRQ, 484 ASTOSQ, 485 ASUBQ, 486 ATESTQ, 487 AXADDQ, 488 AXCHGQ, 489 AXORQ, 490 491 /* media */ 492 AADDPD, 493 AADDPS, 494 AADDSD, 495 AADDSS, 496 AANDNPD, 497 AANDNPS, 498 AANDPD, 499 AANDPS, 500 ACMPPD, 501 ACMPPS, 502 ACMPSD, 503 ACMPSS, 504 ACOMISD, 505 ACOMISS, 506 ACVTPD2PL, 507 ACVTPD2PS, 508 ACVTPL2PD, 509 ACVTPL2PS, 510 ACVTPS2PD, 511 ACVTPS2PL, 512 ACVTSD2SL, 513 ACVTSD2SQ, 514 ACVTSD2SS, 515 ACVTSL2SD, 516 ACVTSL2SS, 517 ACVTSQ2SD, 518 ACVTSQ2SS, 519 ACVTSS2SD, 520 ACVTSS2SL, 521 ACVTSS2SQ, 522 ACVTTPD2PL, 523 ACVTTPS2PL, 524 ACVTTSD2SL, 525 ACVTTSD2SQ, 526 ACVTTSS2SL, 527 ACVTTSS2SQ, 528 ADIVPD, 529 ADIVPS, 530 ADIVSD, 531 ADIVSS, 532 AEMMS, 533 AFXRSTOR, 534 AFXRSTOR64, 535 AFXSAVE, 536 AFXSAVE64, 537 ALDMXCSR, 538 AMASKMOVDQU, 539 AMASKMOVQ, 540 AMAXPD, 541 AMAXPS, 542 AMAXSD, 543 AMAXSS, 544 AMINPD, 545 AMINPS, 546 AMINSD, 547 AMINSS, 548 AMOVAPD, 549 AMOVAPS, 550 AMOVDQU, 551 AMOVHLPS, 552 AMOVHPD, 553 AMOVHPS, 554 AMOVLHPS, 555 AMOVLPD, 556 AMOVLPS, 557 AMOVMSKPD, 558 AMOVMSKPS, 559 AMOVNTDQ, 560 AMOVNTPD, 561 AMOVNTPS, 562 AMOVNTQ, 563 AMOVO, 564 AMOVQOZX, 565 AMOVSD, 566 AMOVSS, 567 AMOVUPD, 568 AMOVUPS, 569 AMULPD, 570 AMULPS, 571 AMULSD, 572 AMULSS, 573 AORPD, 574 AORPS, 575 APACKSSLW, 576 APACKSSWB, 577 APACKUSWB, 578 APADDB, 579 APADDL, 580 APADDQ, 581 APADDSB, 582 APADDSW, 583 APADDUSB, 584 APADDUSW, 585 APADDW, 586 APANDB, 587 APANDL, 588 APANDSB, 589 APANDSW, 590 APANDUSB, 591 APANDUSW, 592 APANDW, 593 APAND, 594 APANDN, 595 APAVGB, 596 APAVGW, 597 APCMPEQB, 598 APCMPEQL, 599 APCMPEQW, 600 APCMPGTB, 601 APCMPGTL, 602 APCMPGTW, 603 APEXTRW, 604 APFACC, 605 APFADD, 606 APFCMPEQ, 607 APFCMPGE, 608 APFCMPGT, 609 APFMAX, 610 APFMIN, 611 APFMUL, 612 APFNACC, 613 APFPNACC, 614 APFRCP, 615 APFRCPIT1, 616 APFRCPI2T, 617 APFRSQIT1, 618 APFRSQRT, 619 APFSUB, 620 APFSUBR, 621 APINSRW, 622 APMADDWL, 623 APMAXSW, 624 APMAXUB, 625 APMINSW, 626 APMINUB, 627 APMOVMSKB, 628 APMULHRW, 629 APMULHUW, 630 APMULHW, 631 APMULLW, 632 APMULULQ, 633 APOR, 634 APSADBW, 635 APSHUFHW, 636 APSHUFL, 637 APSHUFLW, 638 APSHUFW, 639 APSLLDQ, 640 APSLLL, 641 APSLLQ, 642 APSLLW, 643 APSRAL, 644 APSRAW, 645 APSRLDQ, 646 APSRLL, 647 APSRLQ, 648 APSRLW, 649 APSUBB, 650 APSUBL, 651 APSUBQ, 652 APSUBSB, 653 APSUBSW, 654 APSUBUSB, 655 APSUBUSW, 656 APSUBW, 657 APSWAPL, 658 APUNPCKHBW, 659 APUNPCKHLQ, 660 APUNPCKHQDQ, 661 APUNPCKHWL, 662 APUNPCKLBW, 663 APUNPCKLLQ, 664 APUNPCKLQDQ, 665 APUNPCKLWL, 666 APXOR, 667 ARCPPS, 668 ARCPSS, 669 ARSQRTPS, 670 ARSQRTSS, 671 ASHUFPD, 672 ASHUFPS, 673 ASQRTPD, 674 ASQRTPS, 675 ASQRTSD, 676 ASQRTSS, 677 ASTMXCSR, 678 ASUBPD, 679 ASUBPS, 680 ASUBSD, 681 ASUBSS, 682 AUCOMISD, 683 AUCOMISS, 684 AUNPCKHPD, 685 AUNPCKHPS, 686 AUNPCKLPD, 687 AUNPCKLPS, 688 AXORPD, 689 AXORPS, 690 691 APF2IW, 692 APF2IL, 693 API2FW, 694 API2FL, 695 ARETFW, 696 ARETFL, 697 ARETFQ, 698 ASWAPGS, 699 700 AMODE, 701 702 AMOVQQA, 703 AMOVQQU, 704 ABSWAPL, 705 ABSWAPQ, 706 707 /* more sse/vex */ 708 AAESDEC, 709 AAESDECLAST, 710 AAESENC, 711 AAESENCLAST, 712 AAESIMC, 713 AAESKEYGENASSIST, 714 ABLENDPD, 715 ABLENDPS, 716 ABLENDVPD, 717 ABLENDVPS, 718 ACRC32L, 719 ADPPD, 720 ADPPS, 721 AEXTRACTPS, 722 AINSERTPS, 723 AMOVNTDQA, 724 AMPSADBW, 725 APABSB, 726 APABSL, 727 APABSW, 728 APACKUSDW, 729 APALIGNR, 730 APBLENDVB, 731 APBLENDW, 732 APCLMULHQHQDQ, 733 APCLMULHQLQDQ, 734 APCLMULLQHQDQ, 735 APCLMULLQLQDQ, 736 APCLMULQDQ, 737 APCMPEQQ, 738 APCMPESTRI, 739 APCMPESTRM, 740 APCMPGTQ, 741 APCMPISTRI, 742 APCMPISTRM, 743 APEXTRB, 744 APEXTRL, 745 APHADDL, 746 APHADDSW, 747 APHADDW, 748 APHMINPOSUW, 749 APHSUBL, 750 APHSUBSW, 751 APHSUBW, 752 APINSRB, 753 APINSRL, 754 APMADDUBSW, 755 APMAXSB, 756 APMAXSL, 757 APMAXUL, 758 APMAXUW, 759 APMINSB, 760 APMINSL, 761 APMINUL, 762 APMINUW, 763 APMOVSXBL, 764 APMOVSXBQ, 765 APMOVSXBW, 766 APMOVSXLQ, 767 APMOVSXWL, 768 APMOVSXWQ, 769 APMOVZXBL, 770 APMOVZXBQ, 771 APMOVZXBW, 772 APMOVZXLQ, 773 APMOVZXWL, 774 APMOVZXWQ, 775 APMULHRSW, 776 APMULLL, 777 APMULLQ, 778 APSHUFB, 779 APSIGNB, 780 APSIGNL, 781 APSIGNW, 782 APTEST, 783 AROUNDPD, 784 AROUNDPS, 785 AROUNDSD, 786 AROUNDSS, 787 AVBROADCASTF128, 788 AVBROADCASTSL, 789 AVBROADCASTSS, 790 AVMASKMOVPD, 791 AVMASKMOVPS, 792 AVPERMILPD, 793 AVPERMILPS, 794 AVTESTPD, 795 AVTESTPS, 796 AXSAVE, 797 AXSAVEOPT, 798 AXRSTOR, 799 ACRC32B, 800 ACRC32W, 801 ARDRANDW, 802 ARDRANDL, 803 ACRC32Q, 804 APEXTRQ, 805 APINSRQ, 806 ARDRANDQ, 807 AMOVDQA, 808 APOPCNTW, 809 APOPCNTL, 810 APOPCNTQ, 811 AMOVQL, 812 APAUSE, 813 ACMPXCHG16B, 814 815 ALAST 816 }; 817 818 enum 819 { 820 821 D_AL = 0, 822 D_CL, 823 D_DL, 824 D_BL, 825 D_SPB, 826 D_BPB, 827 D_SIB, 828 D_DIB, 829 D_R8B, 830 D_R9B, 831 D_R10B, 832 D_R11B, 833 D_R12B, 834 D_R13B, 835 D_R14B, 836 D_R15B, 837 838 D_AX = 16, 839 D_CX, 840 D_DX, 841 D_BX, 842 D_SP, 843 D_BP, 844 D_SI, 845 D_DI, 846 D_R8, 847 D_R9, 848 D_R10, 849 D_R11, 850 D_R12, 851 D_R13, 852 D_R14, 853 D_R15, 854 855 D_AH = 32, 856 D_CH, 857 D_DH, 858 D_BH, 859 860 D_Y0 = 36, 861 D_Y15 = D_Y0+15, 862 863 D_X0 = 52, 864 D_X15 = D_X0+15, 865 866 D_CS = 68, 867 D_SS, 868 D_DS, 869 D_ES, 870 D_FS, 871 D_GS, 872 873 D_GDTR, /* global descriptor table register */ 874 D_IDTR, /* interrupt descriptor table register */ 875 D_LDTR, /* local descriptor table register */ 876 D_MSW, /* machine status word */ 877 D_TASK, /* task register */ 878 879 D_CR = 79, 880 D_DR = 95, 881 D_TR = 103, 882 883 D_NONE = 111, 884 885 D_BRANCH = 112, 886 D_EXTERN = 113, 887 D_STATIC = 114, 888 D_AUTO = 115, 889 D_PARAM = 116, 890 D_CONST = 117, 891 D_FCONST = 118, 892 D_SCONST = 119, 893 D_ADDR = 120, 894 895 D_FILE, 896 D_FILE1, 897 898 D_INDIR, /* additive */ 899 D_CONST2 = D_INDIR+D_INDIR, 900 D_SIZE, 901 902 D_M0, 903 D_M7 = D_M0+7, 904 D_F0 = D_M0, 905 D_F7 = D_F0+7, 906 D_XREG, 907 908 T_TYPE = 1<<0, 909 T_INDEX = 1<<1, 910 T_OFFSET = 1<<2, 911 T_FCONST = 1<<3, 912 T_SYM = 1<<4, 913 T_SCONST = 1<<5, 914 T_64 = 1<<6, 915 916 REGARG = D_BP, /* MIGHT CHANGE */ 917 REGRET = D_AX, 918 FREGRET = D_X0, 919 REGSP = D_SP, 920 REGTMP = D_DI, 921 REGEXT = D_R15, /* compiler allocates external registers R15 down */ 922 FREGMIN = D_X0+5, /* first register variable */ 923 FREGEXT = D_X0+7 /* first external register */ 924 }; 925 926 /* 927 * this is the ranlib header 928 */ 929 #define SYMDEF "__.SYMDEF" 930 931 /* 932 * this is the simulated IEEE floating point 933 */ 934 typedef struct ieee Ieee; 935 struct ieee 936 { 937 long l; /* contains ls-man 0xffffffff */ 938 long h; /* contains sign 0x80000000 939 exp 0x7ff00000 940 ms-man 0x000fffff */ 941 }; 942