Plan 9 from Bell Labs’s /usr/web/sources/contrib/uriel/changes/2005/1106/2

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


64-bit fixes.
 [rsc] --rw-rw-r-- M 451989 glenda sys 8586 Nov  6 09:58 sys/include/mach.h
	/n/sourcesdump/2005/1106/plan9/sys/include/mach.h:119,127 - 
	/n/sourcesdump/2005/1107/plan9/sys/include/mach.h:119,127
	  		int	fd;		/* file descriptor */
	  		int	inuse;		/* in use - not in use */
	  		int	cache;		/* should cache reads? */
	- 		ulong	b;		/* base */
	- 		ulong	e;		/* end */
	- 		ulong	f;		/* offset within file */
	+ 		uvlong	b;		/* base */
	+ 		uvlong	e;		/* end */
	+ 		vlong	f;		/* offset within file */
	  	} seg[1];			/* actually n of these */
	  };
	  
	/n/sourcesdump/2005/1106/plan9/sys/include/mach.h:169,176 - 
	/n/sourcesdump/2005/1107/plan9/sys/include/mach.h:169,176
	  	char	*name;
	  	int	mtype;			/* machine type code */
	  	Reglist *reglist;		/* register set */
	- 	ulong	regsize;		/* sizeof registers in bytes*/
	- 	ulong	fpregsize;		/* sizeof fp registers in bytes*/
	+ 	long	regsize;		/* sizeof registers in bytes */
	+ 	long	fpregsize;		/* sizeof fp registers in bytes */
	  	char	*pc;			/* pc name */
	  	char	*sp;			/* sp name */
	  	char	*link;			/* link register name */
	/n/sourcesdump/2005/1106/plan9/sys/include/mach.h:179,184 - 
	/n/sourcesdump/2005/1107/plan9/sys/include/mach.h:179,185
	  	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) */
	/n/sourcesdump/2005/1106/plan9/sys/include/mach.h:188,213 - 
	/n/sourcesdump/2005/1107/plan9/sys/include/mach.h:189,214
	  
	  extern	Mach	*mach;			/* Current machine */
	  
	- typedef vlong	(*Rgetter)(Map*, char*);
	- typedef	void	(*Tracer)(Map*, ulong, ulong, Symbol*);
	+ 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);		/* short to local byte order */
	- 	long	(*swal)(long);			/* long to local byte order */
	- 	vlong	(*swav)(vlong);			/* vlong to local byte order */
	- 	int	(*ctrace)(Map*, ulong, ulong, ulong, Tracer); /* C traceback */
	- 	ulong	(*findframe)(Map*, ulong, ulong, ulong, ulong);/* frame finder */
	+ 	ushort	(*swab)(ushort);		/* ushort to local byte order */
	+ 	ulong	(*swal)(ulong);			/* ulong 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 */
	- 	ulong	(*bpfix)(ulong);		/* breakpoint fixup */
	+ 	ulong	(*bpfix)(uvlong);		/* breakpoint fixup */
	  	int	(*sftos)(char*, int, void*);	/* single precision float */
	  	int	(*dftos)(char*, int, void*);	/* double precision float */
	- 	int	(*foll)(Map*, ulong, Rgetter, ulong*);	/* follow set */
	- 	int	(*das)(Map*, ulong, char, char*, int);	/* symbolic disassembly */
	- 	int	(*hexinst)(Map*, ulong, char*, int); 	/* hex disassembly */
	- 	int	(*instsize)(Map*, ulong);	/* instruction size */
	+ 	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 */
	  };
	  
	  /*
	/n/sourcesdump/2005/1106/plan9/sys/include/mach.h:216,238 - 
	/n/sourcesdump/2005/1107/plan9/sys/include/mach.h:217,240
	  typedef struct Fhdr
	  {
	  	char	*name;		/* identifier of executable */
	- 	short	type;		/* file type - see codes above*/
	- 	short	hdrsz;		/* size of this header */
	+ 	uchar	type;		/* file type - see codes above*/
	+ 	uchar	hdrsz;		/* header size */
	+ 	uchar	spare[2];
	  	long	magic;		/* magic number */
	- 	long	txtaddr;	/* text address */
	- 	long	entry;		/* entry point */
	+ 	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 */
	  	long	txtsz;		/* text size */
	- 	long	txtoff;		/* start of text in file */
	- 	long	dataddr;	/* start of data segment */
	  	long	datsz;		/* size of data seg */
	- 	long	datoff;		/* offset to data seg in file */
	  	long	bsssz;		/* size of bss */
	  	long	symsz;		/* size of symbol table */
	- 	long	symoff;		/* offset of symbol table in file */
	  	long	sppcsz;		/* size of sp-pc table */
	- 	long	sppcoff;	/* offset of sp-pc table in file */
	  	long	lnpcsz;		/* size of line number-pc table */
	- 	long	lnpcoff;	/* size of line number-pc table */
	  } Fhdr;
	  
	  extern	int	asstype;	/* dissembler type - machdata.c */
	/n/sourcesdump/2005/1106/plan9/sys/include/mach.h:243,266 - 
	/n/sourcesdump/2005/1107/plan9/sys/include/mach.h:245,269
	  int		beieeesftos(char*, int, void*);
	  int		beieeedftos(char*, int, void*);
	  ushort		beswab(ushort);
	- long		beswal(long);
	- vlong		beswav(vlong);
	- int		cisctrace(Map*, ulong, ulong, ulong, Tracer);
	- ulong		ciscframe(Map*, ulong, ulong, ulong, ulong);
	+ ulong		beswal(ulong);
	+ uvlong		beswav(uvlong);
	+ uvlong		ciscframe(Map*, uvlong, uvlong, uvlong, uvlong);
	+ int		cisctrace(Map*, uvlong, uvlong, uvlong, Tracer);
	  int		crackhdr(int fd, Fhdr*);
	- long		file2pc(char*, ulong);
	+ uvlong		file2pc(char*, long);
	  int		fileelem(Sym**, uchar *, char*, int);
	- int		fileline(char*, int, ulong);
	+ long		fileline(char*, int, uvlong);
	  int		filesym(int, char*, int);
	  int		findlocal(Symbol*, char*, Symbol*);
	  int		findseg(Map*, char*);
	- int		findsym(long, int, Symbol *);
	- int		fnbound(long, ulong*);
	+ int		findsym(uvlong, int, Symbol *);
	+ int		fnbound(uvlong, uvlong*);
	  int		fpformat(Map*, Reglist*, char*, int, int);
	- int		get1(Map*, ulong, uchar*, int);
	- int		get2(Map*, ulong, ushort*);
	- int		get4(Map*, ulong, long*);
	- int		get8(Map*, ulong, vlong*);
	+ int		get1(Map*, uvlong, uchar*, int);
	+ int		get2(Map*, uvlong, ushort*);
	+ int		get4(Map*, uvlong, ulong*);
	+ int		get8(Map*, uvlong, uvlong*);
	+ int		geta(Map*, uvlong, uvlong*);
	  int		getauto(Symbol*, int, int, Symbol*);
	  Sym*		getsym(int);
	  int		globalsym(Symbol *, int);
	/n/sourcesdump/2005/1106/plan9/sys/include/mach.h:272,282 - 
	/n/sourcesdump/2005/1107/plan9/sys/include/mach.h:275,285
	  int		leieeesftos(char*, int, void*);
	  int		leieeedftos(char*, int, void*);
	  ushort		leswab(ushort);
	- long		leswal(long);
	- vlong		leswav(vlong);
	- long		line2addr(ulong, ulong, ulong);
	+ ulong		leswal(ulong);
	+ uvlong		leswav(uvlong);
	+ uvlong		line2addr(long, uvlong, uvlong);
	  Map*		loadmap(Map*, int, Fhdr*);
	- int		localaddr(Map*, char*, char*, long*, Rgetter);
	+ int		localaddr(Map*, char*, char*, uvlong*, Rgetter);
	  int		localsym(Symbol*, int);
	  int		lookup(char*, char*, Symbol*);
	  void		machbytype(int);
	/n/sourcesdump/2005/1106/plan9/sys/include/mach.h:285,304 - 
	/n/sourcesdump/2005/1107/plan9/sys/include/mach.h:288,308
	  Map*		newmap(Map*, int);
	  void		objtraverse(void(*)(Sym*, void*), void*);
	  int		objtype(Biobuf*, char**);
	- long		pc2sp(ulong);
	- long		pc2line(ulong);
	- int		put1(Map*, ulong, uchar*, int);
	- int		put2(Map*, ulong, ushort);
	- int		put4(Map*, ulong, long);
	- int		put8(Map*, ulong, vlong);
	- int		readar(Biobuf*, int, int, int);
	+ uvlong		pc2sp(uvlong);
	+ long		pc2line(uvlong);
	+ int		put1(Map*, uvlong, uchar*, int);
	+ int		put2(Map*, uvlong, ushort);
	+ int		put4(Map*, uvlong, ulong);
	+ int		put8(Map*, uvlong, uvlong);
	+ int		puta(Map*, uvlong, uvlong);
	+ int		readar(Biobuf*, int, vlong, int);
	  int		readobj(Biobuf*, int);
	- ulong		riscframe(Map*, ulong, ulong, ulong, ulong);
	- int		risctrace(Map*, ulong, ulong, ulong, Tracer);
	- int		setmap(Map*, int, ulong, ulong, ulong, char*);
	+ uvlong		riscframe(Map*, uvlong, uvlong, uvlong, uvlong);
	+ int		risctrace(Map*, uvlong, uvlong, uvlong, Tracer);
	+ int		setmap(Map*, int, uvlong, uvlong, vlong, char*);
	  Sym*		symbase(long*);
	  int		syminit(int, Fhdr*);
	- int		symoff(char*, int, long, int);
	- void		textseg(ulong, Fhdr*);
	+ int		symoff(char*, int, uvlong, int);
	+ void		textseg(uvlong, Fhdr*);
	  int		textsym(Symbol*, int);
	  void		unusemap(Map*, int);


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.