[comp.os.minix] ST 1.5.5

meulenbr@cstw68.prl.philips.nl (Frans Meulenbroeks) (03/08/90)

Hi!

First the good news:
If you have gotten the 1.5.3 sources you can upgrade to ST 1.5.5
using the postings from ast.
Everything should work except ps. Below is an unofficial fix to ps.
This fix will be made official by ast (I hope) in the next version.`
Please keep your original version of ps.c

For those people stuck at the 1.5.0 to 1.5.3 upgrade, I can tell that
you can upgrade your lib with the PC 1.5.3 postings. The same holds for
mm, fs, test, commands. 
Always first apply ast's postings. Then minde.

Generally speaking the PC and ST versions are equivalent with the
exception of the following things:
kernel (I still haven't received the official 1.5.x kernel from ast, so
	you must use the 1.5.0 version for the time being).
lib/atari, commands/atari	(atari specific, extra)
lib/ibm, lib/string, commands/ibm	(PC specific, of no use on the ST)
include/a.out.h ST has a different version due to byte ordering in words
include/out.h	ST specific
tools		PC specific, ST has sttools directory

It is my intention to keep the sources as much as possible equivalent
between PC and ST. This cuts down the maintenance effort, and makes it
possible that we all use the same book.

regards, Frans Meulenbroeks.

PS:
If you encounter a bug I appreciate a posting or mail.
notice though that regularly I cannot reply due to weird addresses
or bounced messages from mailers.
If you encounter a problem before complaining please check first if the
crc of your source is equivalent with the one posted by ast, and if your
system is up to date (see ast's crc list for crc's for mm and fs, and
the one I posted about a month ago for the kernel)

*** ps.c	Tue Feb 20 11:50:48 1990
--- ps.c.new	Sat Mar  3 12:12:45 1990
***************
*** 106,114 ****
--- 106,120 ----
  #define	TASKTAB	tasktab
  
  /* default paths for system binaries */
+ #if (CHIP == M68000)
+ #define KERNEL_PATH	"/usr/src/kernel/kernel.mix"
+ #define MM_PATH		"/usr/src/mm/mm.mix"
+ #define FS_PATH		"/usr/src/fs/fs.mix"
+ #else
  #define KERNEL_PATH	"/usr/src/kernel/kernel"
  #define MM_PATH		"/usr/src/mm/mm"
  #define FS_PATH		"/usr/src/fs/fs"
+ # endif
  
  #define	KMEM_PATH	"/dev/kmem"	/* opened for kernel proc table */
  #define	MEM_PATH	"/dev/mem"	/* opened for mm/fs + user processes */
***************
*** 413,419 ****
--- 419,429 ----
  struct pstat *bufp;
  {
  	union {
+ #if (CHIP == M68000)
+ 		long stk_i;
+ #else
  		int stk_i;
+ #endif
  		char *stk_cp;
  		char stk_c;
  	} stk[ARG_MAX / sizeof(char *)], *sp;
***************
*** 480,487 ****
  		return NULL;
  
  	/* get a local version of argv[0]; l is offset back from end of stack */
! 	l = (bufp->ps_stack + bufp->ps_ssize) -
! 		(bufp->ps_data + (vir_bytes) sp[1].stk_cp);
  	if (l < 0 || l > cnt)
  		return NULL;
  	args = &((char *) stk)[cnt - (int) l];
--- 490,500 ----
  		return NULL;
  
  	/* get a local version of argv[0]; l is offset back from end of stack */
! 	l = bufp->ps_stack + bufp->ps_ssize -
! #if (CHIP == INTEL)
! 		bufp->ps_data - 
! #endif
! 		(vir_bytes) sp[1].stk_cp;
  	if (l < 0 || l > cnt)
  		return NULL;
  	args = &((char *) stk)[cnt - (int) l];
Frans Meulenbroeks        (meulenbr@cst.philips.nl)
	Centre for Software Technology
	( or try: ...!mcsun!phigate!prle!cst!meulenbr)