diff options
author | Russ Cox <rsc@golang.org> | 2014-04-14 11:09:25 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2014-04-14 11:09:25 -0400 |
commit | 403b2903d05c56de5708c96a99880b99a06c36bf (patch) | |
tree | 9584f38b2835f9868e6518cc863c67a214fc5a97 /include | |
parent | 2445a14e7fceee7af7d545062e90adceb2742193 (diff) | |
download | go-403b2903d05c56de5708c96a99880b99a06c36bf.tar.gz |
cmd/prof, libmach: delete
We have never released cmd/prof and don't plan to.
Now that nm, addr2line, and objdump have been rewritten in Go,
cmd/prof is the only thing keeping us from deleting libmach.
Delete cmd/prof, and then since nothing is using libmach, delete libmach.
13,000 lines of C deleted.
LGTM=minux.ma
R=golang-codereviews, minux.ma
CC=golang-codereviews, iant, r
https://codereview.appspot.com/87020044
Diffstat (limited to 'include')
-rw-r--r-- | include/bootexec.h | 169 | ||||
-rw-r--r-- | include/mach.h | 411 | ||||
-rw-r--r-- | include/plan9/mach.h | 5 | ||||
-rw-r--r-- | include/plan9/ureg_amd64.h | 5 | ||||
-rw-r--r-- | include/plan9/ureg_arm.h | 5 | ||||
-rw-r--r-- | include/plan9/ureg_x86.h | 5 | ||||
-rw-r--r-- | include/ureg_amd64.h | 59 | ||||
-rw-r--r-- | include/ureg_arm.h | 50 | ||||
-rw-r--r-- | include/ureg_x86.h | 54 |
9 files changed, 0 insertions, 763 deletions
diff --git a/include/bootexec.h b/include/bootexec.h deleted file mode 100644 index 49721ea33..000000000 --- a/include/bootexec.h +++ /dev/null @@ -1,169 +0,0 @@ -// Inferno libmach/bootexec.h -// http://code.google.com/p/inferno-os/source/browse/utils/libmach/bootexec.h -// -// Copyright © 1994-1999 Lucent Technologies Inc. -// Power PC support Copyright © 1995-2004 C H Forsyth (forsyth@terzarima.net). -// Portions Copyright © 1997-1999 Vita Nuova Limited. -// Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). -// Revisions Copyright © 2000-2004 Lucent Technologies Inc. and others. -// Portions Copyright © 2009 The Go Authors. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -struct coffsect -{ - char name[8]; - uint32 phys; - uint32 virt; - uint32 size; - uint32 fptr; - uint32 fptrreloc; - uint32 fptrlineno; - uint32 nrelocnlineno; - uint32 flags; -}; - -/* - * proprietary exec headers, needed to bootstrap various machines - */ -struct mipsexec -{ - short mmagic; /* (0x160) mips magic number */ - short nscns; /* (unused) number of sections */ - int32 timdat; /* (unused) time & date stamp */ - int32 symptr; /* offset to symbol table */ - int32 nsyms; /* size of symbol table */ - short opthdr; /* (0x38) sizeof(optional hdr) */ - short pcszs; /* flags */ - short amagic; /* see above */ - short vstamp; /* version stamp */ - int32 tsize; /* text size in bytes */ - int32 dsize; /* initialized data */ - int32 bsize; /* uninitialized data */ - int32 mentry; /* entry pt. */ - int32 text_start; /* base of text used for this file */ - int32 data_start; /* base of data used for this file */ - int32 bss_start; /* base of bss used for this file */ - int32 gprmask; /* general purpose register mask */ -union{ - int32 cprmask[4]; /* co-processor register masks */ - int32 pcsize; -}; - int32 gp_value; /* the gp value used for this object */ -}; - -struct mips4kexec -{ - struct mipsexec h; - struct coffsect itexts; - struct coffsect idatas; - struct coffsect ibsss; -}; - -struct sparcexec -{ - short sjunk; /* dynamic bit and version number */ - short smagic; /* 0407 */ - uint32 stext; - uint32 sdata; - uint32 sbss; - uint32 ssyms; - uint32 sentry; - uint32 strsize; - uint32 sdrsize; -}; - -struct nextexec -{ -/* UNUSED - struct nexthdr{ - uint32 nmagic; - uint32 ncputype; - uint32 ncpusubtype; - uint32 nfiletype; - uint32 ncmds; - uint32 nsizeofcmds; - uint32 nflags; - }; - - struct nextcmd{ - uint32 cmd; - uint32 cmdsize; - uchar segname[16]; - uint32 vmaddr; - uint32 vmsize; - uint32 fileoff; - uint32 filesize; - uint32 maxprot; - uint32 initprot; - uint32 nsects; - uint32 flags; - }textc; - struct nextsect{ - char sectname[16]; - char segname[16]; - uint32 addr; - uint32 size; - uint32 offset; - uint32 align; - uint32 reloff; - uint32 nreloc; - uint32 flags; - uint32 reserved1; - uint32 reserved2; - }texts; - struct nextcmd datac; - struct nextsect datas; - struct nextsect bsss; - struct nextsym{ - uint32 cmd; - uint32 cmdsize; - uint32 symoff; - uint32 nsyms; - uint32 spoff; - uint32 pcoff; - }symc; -*/ -}; - -struct i386exec -{ -/* UNUSED - struct i386coff{ - uint32 isectmagic; - uint32 itime; - uint32 isyms; - uint32 insyms; - uint32 iflags; - }; - struct i386hdr{ - uint32 imagic; - uint32 itextsize; - uint32 idatasize; - uint32 ibsssize; - uint32 ientry; - uint32 itextstart; - uint32 idatastart; - }; - struct coffsect itexts; - struct coffsect idatas; - struct coffsect ibsss; - struct coffsect icomments; -*/ -}; diff --git a/include/mach.h b/include/mach.h deleted file mode 100644 index cf7151cfd..000000000 --- a/include/mach.h +++ /dev/null @@ -1,411 +0,0 @@ -// Inferno libmach/a.out.h and libmach/mach.h -// http://code.google.com/p/inferno-os/source/browse/utils/libmach/a.out.h -// http://code.google.com/p/inferno-os/source/browse/utils/libmach/mach.h -// -// Copyright © 1994-1999 Lucent Technologies Inc. -// Power PC support Copyright © 1995-2004 C H Forsyth (forsyth@terzarima.net). -// Portions Copyright © 1997-1999 Vita Nuova Limited. -// Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). -// Revisions Copyright © 2000-2004 Lucent Technologies Inc. and others. -// Portions Copyright © 2009 The Go Authors. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -/* - * Architecture-dependent application data - */ - -typedef struct Exec Exec; -struct Exec -{ - int32 magic; /* magic number */ - int32 text; /* size of text segment */ - int32 data; /* size of initialized data */ - int32 bss; /* size of uninitialized data */ - int32 syms; /* size of symbol table */ - int32 entry; /* entry point */ - int32 spsz; /* size of pc/sp offset table */ - int32 pcsz; /* size of pc/line number table */ -}; - -#define HDR_MAGIC 0x00008000 /* header expansion */ - -#define _MAGIC(f, b) ((f)|((((4*(b))+0)*(b))+7)) -#define A_MAGIC _MAGIC(0, 8) /* 68020 */ -#define I_MAGIC _MAGIC(0, 11) /* intel 386 */ -#define J_MAGIC _MAGIC(0, 12) /* intel 960 (retired) */ -#define K_MAGIC _MAGIC(0, 13) /* sparc */ -#define V_MAGIC _MAGIC(0, 16) /* mips 3000 BE */ -#define X_MAGIC _MAGIC(0, 17) /* att dsp 3210 (retired) */ -#define M_MAGIC _MAGIC(0, 18) /* mips 4000 BE */ -#define D_MAGIC _MAGIC(0, 19) /* amd 29000 (retired) */ -#define E_MAGIC _MAGIC(0, 20) /* arm */ -#define Q_MAGIC _MAGIC(0, 21) /* powerpc */ -#define N_MAGIC _MAGIC(0, 22) /* mips 4000 LE */ -#define L_MAGIC _MAGIC(0, 23) /* dec alpha */ -#define P_MAGIC _MAGIC(0, 24) /* mips 3000 LE */ -#define U_MAGIC _MAGIC(0, 25) /* sparc64 */ -#define S_MAGIC _MAGIC(HDR_MAGIC, 26) /* amd64 */ -#define T_MAGIC _MAGIC(HDR_MAGIC, 27) /* powerpc64 */ - -#define MIN_MAGIC 8 -#define MAX_MAGIC 27 /* <= 90 */ - -#define DYN_MAGIC 0x80000000 /* dlm */ - -typedef struct Sym Sym; -struct Sym -{ - vlong value; - uint sig; - char type; - char *name; - vlong gotype; - int sequence; // order in file -}; - - -/* - * Supported architectures: - * mips, - * 68020, - * i386, - * amd64, - * sparc, - * sparc64, - * mips2 (R4000) - * arm - * powerpc, - * powerpc64 - * alpha - */ -enum -{ - MMIPS, /* machine types */ - MSPARC, - M68020, - MI386, - MI960, /* retired */ - M3210, /* retired */ - MMIPS2, - NMIPS2, - M29000, /* retired */ - MARM, - MPOWER, - MALPHA, - NMIPS, - MSPARC64, - MAMD64, - MPOWER64, - /* types of executables */ - FNONE = 0, /* unidentified */ - FMIPS, /* v.out */ - FMIPSB, /* mips bootable */ - FSPARC, /* k.out */ - FSPARCB, /* Sparc bootable */ - F68020, /* 2.out */ - F68020B, /* 68020 bootable */ - FNEXTB, /* Next bootable */ - FI386, /* 8.out */ - FI386B, /* I386 bootable */ - FI960, /* retired */ - FI960B, /* retired */ - F3210, /* retired */ - FMIPS2BE, /* 4.out */ - F29000, /* retired */ - FARM, /* 5.out */ - FARMB, /* ARM bootable */ - FPOWER, /* q.out */ - FPOWERB, /* power pc bootable */ - FMIPS2LE, /* 0.out */ - FALPHA, /* 7.out */ - FALPHAB, /* DEC Alpha bootable */ - FMIPSLE, /* 3k little endian */ - FSPARC64, /* u.out */ - FAMD64, /* 6.out */ - FAMD64B, /* 6.out bootable */ - FPOWER64, /* 9.out */ - FPOWER64B, /* 9.out bootable */ - FWINPE, /* windows PE executable */ - - ANONE = 0, /* dissembler types */ - AMIPS, - AMIPSCO, /* native mips */ - ASPARC, - ASUNSPARC, /* native sun */ - A68020, - AI386, - AI8086, /* oh god */ - AI960, /* retired */ - A29000, /* retired */ - AARM, - APOWER, - AALPHA, - ASPARC64, - AAMD64, - APOWER64, - /* object file types */ - Obj68020 = 0, /* .2 */ - ObjSparc, /* .k */ - ObjMips, /* .v */ - Obj386, /* .8 */ - Obj960, /* retired */ - Obj3210, /* retired */ - ObjMips2, /* .4 */ - Obj29000, /* retired */ - ObjArm, /* .5 */ - ObjPower, /* .q */ - ObjMips2le, /* .0 */ - ObjAlpha, /* .7 */ - ObjSparc64, /* .u */ - ObjAmd64, /* .6 */ - ObjSpim, /* .0 */ - ObjPower64, /* .9 */ - Maxobjtype, - - CNONE = 0, /* symbol table classes */ - CAUTO, - CPARAM, - CSTAB, - CTEXT, - CDATA, - CANY, /* to look for any class */ -}; - -typedef struct Map Map; -typedef struct Symbol Symbol; -typedef struct Reglist Reglist; -typedef struct Mach Mach; -typedef struct Machdata Machdata; -typedef struct Seg Seg; - -typedef int Maprw(Map *m, Seg *s, uvlong addr, void *v, uint n, int isread); - -struct Seg { - char *name; /* the segment name */ - int fd; /* file descriptor */ - int inuse; /* in use - not in use */ - int cache; /* should cache reads? */ - uvlong b; /* base */ - uvlong e; /* end */ - vlong f; /* offset within file */ - Maprw *rw; /* read/write fn for seg */ -}; - -/* - * Structure to map a segment to data - */ -struct Map { - int pid; - int tid; - int nsegs; /* number of segments */ - Seg seg[1]; /* actually n of these */ -}; - -/* - * Internal structure describing a symbol table entry - */ -struct Symbol { - void *handle; /* used internally - owning func */ - struct { - char *name; - vlong value; /* address or stack offset */ - char type; /* as in a.out.h */ - char class; /* as above */ - int index; /* in findlocal, globalsym, textsym */ - }; -}; - -/* - * machine register description - */ -struct Reglist { - char *rname; /* register name */ - short roffs; /* offset in u-block */ - char rflags; /* INTEGER/FLOAT, WRITABLE */ - char rformat; /* print format: 'x', 'X', 'f', '8', '3', 'Y', 'W' */ -}; - -enum { /* bits in rflags field */ - RINT = (0<<0), - RFLT = (1<<0), - RRDONLY = (1<<1), -}; - -/* - * Machine-dependent data is stored in two structures: - * Mach - miscellaneous general parameters - * Machdata - jump vector of service functions used by debuggers - * - * Mach is defined in ?.c and set in executable.c - * - * Machdata is defined in ?db.c - * and set in the debugger startup. - */ -struct Mach{ - char *name; - int mtype; /* machine type code */ - Reglist *reglist; /* register set */ - int32 regsize; /* sizeof registers in bytes */ - int32 fpregsize; /* sizeof fp registers in bytes */ - char *pc; /* pc name */ - char *sp; /* sp name */ - char *link; /* link register name */ - char *sbreg; /* static base register name */ - uvlong sb; /* static base register value */ - int pgsize; /* page size */ - uvlong kbase; /* kernel base address */ - uvlong ktmask; /* ktzero = kbase & ~ktmask */ - uvlong utop; /* user stack top */ - int pcquant; /* quantization of pc */ - int szaddr; /* sizeof(void*) */ - int szreg; /* sizeof(register) */ - int szfloat; /* sizeof(float) */ - int szdouble; /* sizeof(double) */ -}; - -extern Mach *mach; /* Current machine */ - -typedef uvlong (*Rgetter)(Map*, char*); -typedef void (*Tracer)(Map*, uvlong, uvlong, Symbol*); - -struct Machdata { /* Machine-dependent debugger support */ - uchar bpinst[4]; /* break point instr. */ - short bpsize; /* size of break point instr. */ - - ushort (*swab)(ushort); /* ushort to local byte order */ - uint32 (*swal)(uint32); /* uint32 to local byte order */ - uvlong (*swav)(uvlong); /* uvlong to local byte order */ - int (*ctrace)(Map*, uvlong, uvlong, uvlong, Tracer); /* C traceback */ - uvlong (*findframe)(Map*, uvlong, uvlong, uvlong, uvlong);/* frame finder */ - char* (*excep)(Map*, Rgetter); /* last exception */ - uint32 (*bpfix)(uvlong); /* breakpoint fixup */ - int (*sftos)(char*, int, void*); /* single precision float */ - int (*dftos)(char*, int, void*); /* double precision float */ - int (*foll)(Map*, uvlong, Rgetter, uvlong*);/* follow set */ - int (*das)(Map*, uvlong, char, char*, int); /* symbolic disassembly */ - int (*hexinst)(Map*, uvlong, char*, int); /* hex disassembly */ - int (*instsize)(Map*, uvlong); /* instruction size */ -}; - -/* - * Common a.out header describing all architectures - */ -typedef struct Fhdr -{ - char *name; /* identifier of executable */ - uchar type; /* file type - see codes above */ - uchar hdrsz; /* header size */ - uchar _magic; /* _MAGIC() magic */ - uchar spare; - int32 magic; /* magic number */ - uvlong txtaddr; /* text address */ - vlong txtoff; /* start of text in file */ - uvlong dataddr; /* start of data segment */ - vlong datoff; /* offset to data seg in file */ - vlong symoff; /* offset of symbol table in file */ - uvlong entry; /* entry point */ - vlong sppcoff; /* offset of sp-pc table in file */ - vlong lnpcoff; /* offset of line number-pc table in file */ - int32 txtsz; /* text size */ - int32 datsz; /* size of data seg */ - int32 bsssz; /* size of bss */ - int32 symsz; /* size of symbol table */ - int32 sppcsz; /* size of sp-pc table */ - int32 lnpcsz; /* size of line number-pc table */ -} Fhdr; - -extern int asstype; /* dissembler type - machdata.c */ -extern Machdata *machdata; /* jump vector - machdata.c */ - -int beieee80ftos(char*, int, void*); -int beieeesftos(char*, int, void*); -int beieeedftos(char*, int, void*); -ushort beswab(ushort); -uint32 beswal(uint32); -uvlong beswav(uvlong); -uvlong ciscframe(Map*, uvlong, uvlong, uvlong, uvlong); -int cisctrace(Map*, uvlong, uvlong, uvlong, Tracer); -int crackhdr(int fd, Fhdr*); -uvlong file2pc(char*, int32); -int fileelem(Sym**, uchar *, char*, int); -int32 fileline(char*, int, uvlong); -int filesym(int, char*, int); -int findlocal(Symbol*, char*, Symbol*); -int findseg(Map*, char*); -int findsym(uvlong, int, Symbol *); -int fnbound(uvlong, uvlong*); -int fpformat(Map*, Reglist*, char*, int, int); -int get1(Map*, uvlong, uchar*, int); -int get2(Map*, uvlong, ushort*); -int get4(Map*, uvlong, uint32*); -int get8(Map*, uvlong, uvlong*); -int geta(Map*, uvlong, uvlong*); -int getauto(Symbol*, int, int, Symbol*); -Sym* getsym(int); -int globalsym(Symbol *, int); -char* _hexify(char*, uint32, int); -int ieeesftos(char*, int, uint32); -int ieeedftos(char*, int, uint32, uint32); -int isar(Biobuf*); -int leieee80ftos(char*, int, void*); -int leieeesftos(char*, int, void*); -int leieeedftos(char*, int, void*); -ushort leswab(ushort); -uint32 leswal(uint32); -uvlong leswav(uvlong); -uvlong line2addr(int32, uvlong, uvlong); -Map* loadmap(Map*, int, Fhdr*); -int localaddr(Map*, char*, char*, uvlong*, Rgetter); -int localsym(Symbol*, int); -int lookup(char*, char*, Symbol*); -void machbytype(int); -int machbyname(char*); -int nextar(Biobuf*, int, char*); -Map* newmap(Map*, int); -void objtraverse(void(*)(Sym*, void*), void*); -int objtype(Biobuf*, char**); -uvlong pc2sp(uvlong); -int32 pc2line(uvlong); -int put1(Map*, uvlong, uchar*, int); -int put2(Map*, uvlong, ushort); -int put4(Map*, uvlong, uint32); -int put8(Map*, uvlong, uvlong); -int puta(Map*, uvlong, uvlong); -int readar(Biobuf*, int, vlong, int); -int readobj(Biobuf*, int); -uvlong riscframe(Map*, uvlong, uvlong, uvlong, uvlong); -int risctrace(Map*, uvlong, uvlong, uvlong, Tracer); -int setmap(Map*, int, uvlong, uvlong, vlong, char*, Maprw *rw); -Sym* symbase(int32*); -int syminit(int, Fhdr*); -int symoff(char*, int, uvlong, int); -void textseg(uvlong, Fhdr*); -int textsym(Symbol*, int); -void unusemap(Map*, int); - -Map* attachproc(int pid, Fhdr *fp); -int ctlproc(int pid, char *msg); -void detachproc(Map *m); -int procnotes(int pid, char ***pnotes); -char* proctextfile(int pid); -int procthreadpids(int pid, int *tid, int ntid); -char* procstatus(int); - -Maprw fdrw; diff --git a/include/plan9/mach.h b/include/plan9/mach.h deleted file mode 100644 index 636f44fe8..000000000 --- a/include/plan9/mach.h +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -#include "../mach.h" diff --git a/include/plan9/ureg_amd64.h b/include/plan9/ureg_amd64.h deleted file mode 100644 index a7d6ed1fc..000000000 --- a/include/plan9/ureg_amd64.h +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -#include "../ureg_amd64.h" diff --git a/include/plan9/ureg_arm.h b/include/plan9/ureg_arm.h deleted file mode 100644 index fdb0d27ea..000000000 --- a/include/plan9/ureg_arm.h +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -#include "../ureg_arm.h" diff --git a/include/plan9/ureg_x86.h b/include/plan9/ureg_x86.h deleted file mode 100644 index 6fc481932..000000000 --- a/include/plan9/ureg_x86.h +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -#include "../ureg_x86.h" diff --git a/include/ureg_amd64.h b/include/ureg_amd64.h deleted file mode 100644 index 9c793bc62..000000000 --- a/include/ureg_amd64.h +++ /dev/null @@ -1,59 +0,0 @@ -// Inferno utils/libmach/ureg6.h -// http://code.google.com/p/inferno-os/source/browse/utils/libmach/ureg6.h -// -// Copyright © 1994-1999 Lucent Technologies Inc. -// Power PC support Copyright © 1995-2004 C H Forsyth (forsyth@terzarima.net). -// Portions Copyright © 1997-1999 Vita Nuova Limited. -// Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). -// Revisions Copyright © 2000-2004 Lucent Technologies Inc. and others. -// Portions Copyright © 2009 The Go Authors. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -typedef struct UregAmd64 UregAmd64; -struct UregAmd64 { - u64int ax; - u64int bx; - u64int cx; - u64int dx; - u64int si; - u64int di; - u64int bp; - u64int r8; - u64int r9; - u64int r10; - u64int r11; - u64int r12; - u64int r13; - u64int r14; - u64int r15; - - u16int ds; - u16int es; - u16int fs; - u16int gs; - - u64int type; - u64int error; /* error code (or zero) */ - u64int ip; /* pc */ - u64int cs; /* old context */ - u64int flags; /* old flags */ - u64int sp; /* sp */ - u64int ss; /* old stack segment */ -}; diff --git a/include/ureg_arm.h b/include/ureg_arm.h deleted file mode 100644 index 11f98aa60..000000000 --- a/include/ureg_arm.h +++ /dev/null @@ -1,50 +0,0 @@ -// Inferno utils/libmach/ureg5.h -// http://code.google.com/p/inferno-os/source/browse/utils/libmach/ureg5.h -// -// Copyright © 1994-1999 Lucent Technologies Inc. -// Power PC support Copyright © 1995-2004 C H Forsyth (forsyth@terzarima.net). -// Portions Copyright © 1997-1999 Vita Nuova Limited. -// Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). -// Revisions Copyright © 2000-2004 Lucent Technologies Inc. and others. -// Portions Copyright © 2009 The Go Authors. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -typedef struct UregArm UregArm; -struct UregArm { - uint r0; - uint r1; - uint r2; - uint r3; - uint r4; - uint r5; - uint r6; - uint r7; - uint r8; - uint r9; - uint r10; - uint r11; - uint r12; - uint r13; - uint r14; - uint link; - uint type; - uint psr; - uint pc; -}; diff --git a/include/ureg_x86.h b/include/ureg_x86.h deleted file mode 100644 index 641016def..000000000 --- a/include/ureg_x86.h +++ /dev/null @@ -1,54 +0,0 @@ -// Inferno utils/libmach/ureg8.h -// http://code.google.com/p/inferno-os/source/browse/utils/libmach/ureg8.h -// -// Copyright © 1994-1999 Lucent Technologies Inc. -// Power PC support Copyright © 1995-2004 C H Forsyth (forsyth@terzarima.net). -// Portions Copyright © 1997-1999 Vita Nuova Limited. -// Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuova.com). -// Revisions Copyright © 2000-2004 Lucent Technologies Inc. and others. -// Portions Copyright © 2009 The Go Authors. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -typedef struct Ureg386 Ureg386; -struct Ureg386 -{ - uint32 di; /* general registers */ - uint32 si; /* ... */ - uint32 bp; /* ... */ - uint32 nsp; - uint32 bx; /* ... */ - uint32 dx; /* ... */ - uint32 cx; /* ... */ - uint32 ax; /* ... */ - uint32 gs; /* data segments */ - uint32 fs; /* ... */ - uint32 es; /* ... */ - uint32 ds; /* ... */ - uint32 trap; /* trap type */ - uint32 ecode; /* error code (or zero) */ - uint32 pc; /* pc */ - uint32 cs; /* old context */ - uint32 flags; /* old flags */ - union { - uint32 usp; - uint32 sp; - }; - uint32 ss; /* old stack segment */ -}; |