]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/6c/6.out.h
make bind(2) error handling consistent
[plan9front.git] / sys / src / cmd / 6c / 6.out.h
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         AMASKMOVOU,
539         AMASKMOVQ,
540         AMAXPD,
541         AMAXPS,
542         AMAXSD,
543         AMAXSS,
544         AMINPD,
545         AMINPS,
546         AMINSD,
547         AMINSS,
548         AMOVAPD,
549         AMOVAPS,
550         AMOVOU,
551         AMOVHLPS,
552         AMOVHPD,
553         AMOVHPS,
554         AMOVLHPS,
555         AMOVLPD,
556         AMOVLPS,
557         AMOVMSKPD,
558         AMOVMSKPS,
559         AMOVNTO,
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         APSLLO,
640         APSLLL,
641         APSLLQ,
642         APSLLW,
643         APSRAL,
644         APSRAW,
645         APSRLO,
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         AMOVQL,
703
704         ALAST
705 };
706
707 enum
708 {
709
710         D_AL            = 0,
711         D_CL,
712         D_DL,
713         D_BL,
714         D_SPB,
715         D_BPB,
716         D_SIB,
717         D_DIB,
718         D_R8B,
719         D_R9B,
720         D_R10B,
721         D_R11B,
722         D_R12B,
723         D_R13B,
724         D_R14B,
725         D_R15B,
726
727         D_AX            = 16,
728         D_CX,
729         D_DX,
730         D_BX,
731         D_SP,
732         D_BP,
733         D_SI,
734         D_DI,
735         D_R8,
736         D_R9,
737         D_R10,
738         D_R11,
739         D_R12,
740         D_R13,
741         D_R14,
742         D_R15,
743
744         D_AH            = 32,
745         D_CH,
746         D_DH,
747         D_BH,
748
749         D_F0            = 36,
750
751         D_M0            = 44,
752
753         D_X0            = 52,
754
755         D_CS            = 68,
756         D_SS,
757         D_DS,
758         D_ES,
759         D_FS,
760         D_GS,
761
762         D_GDTR,         /* global descriptor table register */
763         D_IDTR,         /* interrupt descriptor table register */
764         D_LDTR,         /* local descriptor table register */
765         D_MSW,          /* machine status word */
766         D_TASK,         /* task register */
767
768         D_CR            = 79,
769         D_DR            = 95,
770         D_TR            = 103,
771
772         D_NONE          = 111,
773
774         D_BRANCH        = 112,
775         D_EXTERN        = 113,
776         D_STATIC                = 114,
777         D_AUTO          = 115,
778         D_PARAM         = 116,
779         D_CONST         = 117,
780         D_FCONST        = 118,
781         D_SCONST        = 119,
782         D_ADDR          = 120,
783
784         D_FILE,
785         D_FILE1,
786
787         D_INDIR,        /* additive */
788
789         T_TYPE          = 1<<0,
790         T_INDEX         = 1<<1,
791         T_OFFSET        = 1<<2,
792         T_FCONST        = 1<<3,
793         T_SYM           = 1<<4,
794         T_SCONST        = 1<<5,
795         T_64    = 1<<6,
796
797         REGARG          = D_BP, /* MIGHT CHANGE */
798         REGRET          = D_AX,
799         FREGRET         = D_X0,
800         REGSP           = D_SP,
801         REGTMP          = D_DI,
802         REGEXT          = D_R15,        /* compiler allocates external registers R15 down */
803         FREGMIN         = D_X0+5,       /* first register variable */
804         FREGEXT         = D_X0+7        /* first external register */
805 };
806
807 /*
808  * this is the ranlib header
809  */
810 #define SYMDEF  "__.SYMDEF"
811
812 /*
813  * this is the simulated IEEE floating point
814  */
815 typedef struct  ieee    Ieee;
816 struct  ieee
817 {
818         long    l;      /* contains ls-man      0xffffffff */
819         long    h;      /* contains sign        0x80000000
820                                     exp         0x7ff00000
821                                     ms-man      0x000fffff */
822 };