[comp.sys.encore] problems with undump on Encores

isaac@goanna.oz (Isaac Balbin) (10/25/89)

Well, I do have three versions of undump which used to work
properly on our two encores. Two were for BSD and the other for SYSV.
I haven't had a need to do undump for a while, and in the meantime
we have upgraded operating systems a few times. Now I find that neither
of the undump's work, ie they create a binary but under SYSV it dumps core
and under BSD it just exits silently.
The operating systems we are using are Umaxnfs 4.2 (B3_3.21) and
UMAX V 2.2H R3.1 (I have tried both universes in 2.2H under both dumps, and
the same results)

What I want to know is: if you have either of these OS's _and_ you
have recently remade, say TeX, ie
  initex
  plain \dump
  virtex '&plain' xyz
  ^\
  undump tex virtex core

if it still works.
For the moment, I am thankful for old binaries. This is a trite confusing
and I was hoping someone had encountered and fixed it.

dwm@encore.Encore.COM (Dave Mitchell) (10/26/89)

In article <2511@goanna.oz> isaac@goanna.oz (Isaac Balbin) writes:
>Well, I do have three versions of undump which used to work
>properly on our two encores. Two were for BSD and the other for SYSV.
> ...
>The operating systems we are using are Umaxnfs 4.2 (B3_3.21) and
>UMAX V 2.2H R3.1
>
	The format of core files was changed to so that any
	shared memory regions would also be available through
	the core file.  I believe this change was made with
	BSD release 3.3 and SysV release 2.2.  You will need
	to rebuild undump; some minor source changes may be
	needed.  Consult /usr/include/sys/ptrace.h for detailed
	information about the new core file format.  Enclosed
	below is a pictorial sketch of the core layout, stolen from
	ptrace.h:

	The ptrace_user structure is found at the beginning  of core files.
	The layout of a Umax core file is as follows:  

	+-------------------------------+ 0
	|	struct ptrace_user	|
	+-------------------------------+ sizeof(struct ptrace_user)
	/////////////////////////////////
	+-------------------------------+ <===== ptrace_user.pt_memptr
	| pt_mem_desc[ pt_nmem ]        |
	+-------------------------------+
	/////////////////////////////////
	+-------------------------------+ <===== ptrace_user.pt_dataptr
	|	data			|
	+-------------------------------+ ptrace_user.pt_dataptr + dsize
	|	stack			|
	+-------------------------------+ ptrace_user.pt_dataptr+dsize+ssize
	|	extra memory 0		| optional
	+-------------------------------+  ... + pt_mem_desc[0].pt_mem_size
	|	extra memory 1		| optional
	+-------------------------------+  ... + pt_mem_desc[1].pt_mem_size
	|       etc.			| optional
	+-------------------------------+

	Notice that the three or more components are contiguous and
	no padding or alignment is used.  

	The extra memory regions are all the shared memory regions and
	shared library data regions.

Dave Mitchell	Usenet:		...!{bu-cs,decvax,necntc,talcott}!encore!dwm
		Internet:	dwm@multimax.ARPA                *<8-O) Yow! 

madd@world.std.com (jim frost) (10/26/89)

In article <10202@encore.Encore.COM> dwm@encore.Encore.COM (Dave Mitchell) writes:
|	The format of core files was changed to so that any
|	shared memory regions would also be available through
|	the core file.  I believe this change was made with
|	BSD release 3.3 and SysV release 2.2.

Interesting.  I've never seen a BSD 3.3.  :-)

jim frost
software tool & die
madd@std.com

dwm@pinocchio.Encore.COM (Dave Mitchell) (10/27/89)

In article <1989Oct26.145318.5161@world.std.com> madd@world.UUCP (jim frost) writes:
>In article <10202@encore.Encore.COM> (Dave Mitchell) writes:
>|	The format of core files was changed to so that any
>|	shared memory regions would also be available through
>|	the core file.  I believe this change was made with
>|	BSD release 3.3 and SysV release 2.2.
>
>Interesting.  I've never seen a BSD 3.3.  :-)
>
	Sorry, I should have said Umax4.2 R3.3 and UmaxV R2.2,
	denoting Encore's BSD and SysV based products.



Dave Mitchell	Usenet:		...!{bu-cs,decvax,necntc,talcott}!encore!dwm
		Internet:	dwm@encore.com                   *<8-O) Yow!