Astolaf.150
net.unix-wizards
utcsrgv!utzoo!decvax!ucbvax!mhtsa!harpo!floyd!houxi!ihnss!ihps3!stolaf!borman
Tue Feb 23 19:07:10 1982
Re: Core -> a.out conversion program
I just got undump to work on our system. We're running a fairly standard
version of V7 on an 11/70. Three things that are on interest to everyone
are 1) change the declarations of txtcnt and datacnt to unsigned. Failure
to do so cause the program to blow up on large programs. 2) in copy_data(),
a click to bit conversion should be done on u.u_tsize before adding it
to datacnt. 3) type cast long onto the second arg. of the fseeks. The
specific changes I made are as follows (sys/sto.h contains #define macros
for our current version on UNIX*)
Dave Borman
!ihnss!ihuxl!stolaf!borman
diff undump.orig undump.c
14a15,16
> #include <SYS/STO.H>
> #include <SYS/TYPES.H>
18c20
---
> #include <SYS/STAT.H>
21a24,30
> #define N_BADMAG(x) ( (x.a_magic != A_MAGIC1) && (x.a_magic != A_MAGIC2) &&\
> (x.a_magic != A_MAGIC3) && (x.a_magic != A_MAGIC4) &&\
> (x.a_magic != A_MAGIC5) && (x.a_magic != A_MAGIC6) )
>
> #define N_TXTOFF(hdr) (sizeof hdr)
> #define OMAGIC A_MAGIC1 /* Magic number of Writeable text file */
> #define UPAGES 020
95a105
>
97,99c107,112
((hdr.a_magic != OMAGIC) &&
> (hdr.a_text != u.u_exdata.ux_tsize ||
> hdr.a_data != u.u_exdata.ux_dsize)) ||
> ((hdr.a_magic == OMAGIC) &&
> (hdr.a_data + hdr.a_text != u.u_exdata.ux_dsize)) ||
> hdr.a_entry != u.u_exdata.ux_entloc)
123c136
unsigned txtcnt = hdr.a_text;
125,126c138,139
fseek(new, (long)N_TXTOFF(hdr), 0);
> fseek(a_out, (long)N_TXTOFF(hdr), 0);
130c143
fseek(a_out, (long)hdr.a_text, 1); /* skip over text */
169c182
unsigned datacnt = ctob(u.u_dsize);
172,173c185,186
datacnt += ctob(u.u_tsize);
> fseek(core, (long)ctob(UPAGES), 0);
212c225
fseek(a_out, (long)ohdr.a_data, 1); /* skip over data segment */
--------------------------
*UNIX is a Trademark of Bell Laboratories.
-----------------------------------------------------------------
gopher://quux.org/ conversion by John Goerzen <
[email protected]>
of
http://communication.ucsd.edu/A-News/
This Usenet Oldnews Archive
article may be copied and distributed freely, provided:
1. There is no money collected for the text(s) of the articles.
2. The following notice remains appended to each copy:
The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996
Bruce Jones, Henry Spencer, David Wiseman.