adb under networking 2.9 kernels

ps at uok.UUCP ps at uok.UUCP
Mon Feb 18 06:07:00 AEST 1985



This set of modifications seem to make adb work fairly well for me.  I
don't use adb very much except for the occassional debugging session,
and not much at all on kernel dumps anymore.  (I have a version of
crash that is much better and easier to use.)


*** defs.h.1	Sun Nov  4 13:09:59 1984
--- defs.h	Sun Nov  4 13:34:03 1984
***************
*** 109,114
   * If it doesn't correspond to reality, use pstat -u on a core file to get uar0,
   * subtract 0140000, and divide by 2 (sizeof int).
   */
  #define UAR0	(&corhdr[509])	/* default address of r0 (u.u_ar0) */
  
  #define KR0	2	/* location of r0 in kernel dump */

--- 109,116 -----
   * If it doesn't correspond to reality, use pstat -u on a core file to get uar0,
   * subtract 0140000, and divide by 2 (sizeof int).
   */
+ #define UAR0	(&corhdr[ctob(USIZE)/sizeof(POS) - 3])	/* default address of r0 (u.u_ar0) */
+ #ifdef old_and_notused_anymore
  #define UAR0	(&corhdr[509])	/* default address of r0 (u.u_ar0) */
  #endif
  
***************
*** 110,115
   * subtract 0140000, and divide by 2 (sizeof int).
   */
  #define UAR0	(&corhdr[509])	/* default address of r0 (u.u_ar0) */
  
  #define KR0	2	/* location of r0 in kernel dump */
  #define KR1	3

--- 112,118 -----
  #define UAR0	(&corhdr[ctob(USIZE)/sizeof(POS) - 3])	/* default address of r0 (u.u_ar0) */
  #ifdef old_and_notused_anymore
  #define UAR0	(&corhdr[509])	/* default address of r0 (u.u_ar0) */
+ #endif
  
  #define KR0	2	/* location of r0 in kernel dump */
  #define KR1	3

*** pcs.c.1	Sun Nov  4 13:20:13 1984
--- pcs.c	Sun Nov  4 13:18:20 1984
***************
*** 19,25
  
  CHAR		*lp;
  CHAR		lastc;
! POS		corhdr[512];
  POS		*endhdr;
  MAP		txtmap;
  

--- 19,25 -----
  
  CHAR		*lp;
  CHAR		lastc;
! POS		corhdr[ctob(USIZE)/sizeof(POS)];	/* was just 512 */
  POS		*endhdr;
  MAP		txtmap;
  

*** setup.c.1	Sun Nov  4 13:24:52 1984
--- setup.c	Tue Nov  6 10:04:50 1984
***************
*** 36,42
  long tell();
  INT		argcount;
  INT		signo;
! POS		corhdr[512];
  POS		*uar0 = UAR0;
  
  STRING		symfil	"a.out";

--- 36,42 -----
  long tell();
  INT		argcount;
  INT		signo;
! POS		corhdr[ctob(USIZE)/sizeof(POS)];	/* was just 512 */
  POS		*uar0 = UAR0;
  
  STRING		symfil	"a.out";
***************
*** 109,115
  					txtmap.bo = round(txtsiz, TXTRNDSIZ);
  					txtmap.eo = 0;
  					txtmap.fo = 0;
! 					FOR ovly = 0; ovly < 7; ovly++
  					DO	ovloff[ovly] = ovlsiz + txtsiz 
  							+TXTHDRSIZ+OVLHDRSIZ;
  						ovlsiz += ovlseg.ov[ovly];

--- 109,115 -----
  					txtmap.bo = round(txtsiz, TXTRNDSIZ);
  					txtmap.eo = 0;
  					txtmap.fo = 0;
! 					FOR ovly = 0; ovly < NOVL; ovly++
  					DO	ovloff[ovly] = ovlsiz + txtsiz 
  							+TXTHDRSIZ+OVLHDRSIZ;
  						ovlsiz += ovlseg.ov[ovly];
***************
*** 173,179
  			datmap.b2 = maxstor-stksiz;
  			datmap.e2 = maxstor;
  		ELSE	datsiz = round(datsiz+bss,64L);
! 			stksiz = 02000L;
  			datmap.f1 = 0;
  			datmap.b2 = 0140000L;
  			datmap.e2 = 0142000L;

--- 173,179 -----
  			datmap.b2 = maxstor-stksiz;
  			datmap.e2 = maxstor;
  		ELSE	datsiz = round(datsiz+bss,64L);
! 			stksiz = (long)(ctob(USIZE));
  			datmap.f1 = 0;
  			datmap.b2 = 0140000L;
  			datmap.e2 = 0140000L + stksiz;
***************
*** 176,182
  			stksiz = 02000L;
  			datmap.f1 = 0;
  			datmap.b2 = 0140000L;
! 			datmap.e2 = 0142000L;
  		FI
  		switch (magic)
  		{

--- 176,182 -----
  			stksiz = (long)(ctob(USIZE));
  			datmap.f1 = 0;
  			datmap.b2 = 0140000L;
! 			datmap.e2 = 0140000L + stksiz;
  		FI
  		switch (magic)
  		{
***************
*** 239,245
  		    else if (magic) {
  			  register POS *ar0;
  			  ar0 = (POS *)(((U *)corhdr)->u_ar0);
! 			  if ((ar0>(POS *)0140000) & (ar0<(POS *)0142000)
  			      && !(ar0&01))
  				uar0 = ar0 - 0140000 + (unsigned)corhdr;
  			  if (overlay) {

--- 239,245 -----
  		    else if (magic) {
  			  register POS *ar0;
  			  ar0 = (POS *)(((U *)corhdr)->u_ar0);
! 			  if ((ar0>(POS *)0140000) & (ar0<(POS *)(0140000+ctob(USIZE)))
  			      && !(ar0&01))
  				uar0 = ar0 - 0140000 + (unsigned)corhdr;
  			  if (overlay) {



More information about the Comp.bugs.2bsd mailing list