[mod.computers.apollo] /bin/cc, /com/cc, uupath, pathalias...

burati@ULOWELL.CSNET (Michael Burati) (01/28/86)

If any of these have been discussed here already, I am sorry to bring
it up again, ( I can't recall ever reading about it).

What are the major/minor differences between the AEGIS /com/cc compiler
and DOMAIN/IX /bin/cc compiler ?

----------------------------------

I have tried to install the pathalias and uupath software on our net and
have come across a few problems.  Before I go in and hack the c source,
has anybody out there tried this yet and found solutions to the problems?

	The biggest problem is after running 'make' on the pathalias code
(it compiled fine) and running it on the uumap directory, I get a "Bus error".
The same thing occurs even if I try to pathalias only one uumap file. My
first guess is that there must be something wrong with my 'config.h'.

Any ideas?

---------------------------------
Thanks in advance...

Michael Burati
University of Lowell CS Dept.
Lowell, MA

UUCP: ..wanginst!ulowell!burati
CSNET: burati@ulowell

JW-Peterson@UTAH-20.ARPA (John W Peterson) (01/29/86)

> What are the major/minor differences between the AEGIS /com/cc compiler
> and DOMAIN/IX /bin/cc compiler ?

/bin/cc is really just a small program that translates the unix C compiler
flags to aegis flags and then invokes /com/cc.

> 	The biggest problem is after running 'make' on the pathalias code
>(it compiled fine) and running it on the uumap directory, I get a "Bus error"

Try running the same program under the /com/sh.  You'll get a real error
message.  Then type "tb".  You'll get a full stack trace back.  If that
doesn't help, compile it with -g and use debug...
-------

jnp@BROWN.CSNET (Joe Pato) (01/29/86)

>>	 The biggest problem is after running 'make' on the pathalias code
>>(it compiled fine) and running it on the uumap directory, I get a "Bus error"

>Try running the same program under the /com/sh.  You'll get a real error
>message.  Then type "tb".  You'll get a full stack trace back.  If that
>doesn't help, compile it with -g and use debug...

You don't have to run /com/sh in order to get a traceback.  The bourne
shell (/bin/sh) runs "inprocess" like the /com/sh and will allow you
examine the stack trace back.  If you run the Cshell (/bin/csh) you have
to set the "inprocess" shell variable in order to have the trace back
facility available.

If you don't normally run the Cshell "inprocess" you can still examine
process fault information by using /systest/ssr_util/fmpd. (fmpd will
format the process dump information stored in /sys/node_data/proc_dump.
It presents output that is a combination of /com/tb and /com/fst -a.)
Fmpd is normally used with the "-l" option which only displays information
for the last process dump, otherwise it will output information for all
dump records in the proc_dump file.


- Joe Pato
  Box 1910 - Dept. of Computer Science
  Brown University
  Providence, R.I. 02912 (USA)

  ARPA: jnp%brown@csnet-relay	UUCP: {decvax,ihnp4,allegra}!brunix!jnp

apollo@ucbvax.UUCP (01/29/86)

    I have tried to install the pathalias and uupath software on our net and
    have come across a few problems.  Before I go in and hack the c source,
    has anybody out there tried this yet and found solutions to the problems?

The only problem is that you run out of sbrk space.  Unix programs assume
that sbrk space is always contiguously allocated, which is mutually exclusive
with a rich mapped address space such as is provided by aegis.

Here are the mods I made to pathalias to get it to work:

% diff -c Makefile_o Makefile 
*** Makefile_o	Tue Aug 20 10:17:25 1985
--- Makefile	Tue Aug 20 11:25:29 1985
***************
*** 10,16
  LDFLAGS =
  YFLAGS = -d
  
! OBJ = addlink.o addnode.o extern.o local.o main.o mapit.o mapaux.o mem.o parse.o yylex.o
  HDRS = def.h config.h
  SRC = addlink.c addnode.c extern.c local.c main.c mapit.c mapaux.c mem.c parse.y yylex.c
  CSRC = addlink.c addnode.c extern.c local.c main.c mapit.c mapaux.c mem.c parse.c yylex.c

--- 10,16 -----
  LDFLAGS =
  YFLAGS = -d
  
! OBJ = addlink.o addnode.o extern.o local.o main.o mapit.o mapaux.o mem.o parse.o yylex.o sbrk.o
  HDRS = def.h config.h
  SRC = addlink.c addnode.c extern.c local.c main.c mapit.c mapaux.c mem.c parse.y yylex.c
  CSRC = addlink.c addnode.c extern.c local.c main.c mapit.c mapaux.c mem.c parse.c yylex.c
% diff -c config.h_o config.h 
*** config.h_o	Tue Aug 20 10:17:30 1985
--- config.h	Tue Aug 20 11:23:24 1985
***************
*** 7,13
  #define UNAME /* */
  
  /* memset() -- probably system v or 8th ed. */
! #define MEMSET /* */
  
  /* gethostname() -- probably 4.2bsd */
  /* #define GETHOSTNAME	/* */

--- 7,13 -----
  #define UNAME /* */
  
  /* memset() -- probably system v or 8th ed. */
! /* #define MEMSET /* */
  
  /* gethostname() -- probably 4.2bsd */
  /* #define GETHOSTNAME	/* */
***************
*** 13,19
  /* #define GETHOSTNAME	/* */
  
  /* bzero() -- probably 4.2bsd */
! /* #define BZERO /* */
  
  /* default place for dbm output of makedb; can use -o file at run-time  */
  #define	ALIASDB	"/usr/local/lib/palias"

--- 13,19 -----
  /* #define GETHOSTNAME	/* */
  
  /* bzero() -- probably 4.2bsd */
! #define BZERO /* */
  
  /* default place for dbm output of makedb; can use -o file at run-time  */
  #define	ALIASDB	"/usr/lib/uupaths"
***************
*** 34,40
   *
   * perkin-elmer 3220 wants ALIGN to be 2. 
   */
! #define ALIGN 0
  
  /****************************************/
  /*	END OF CONFIGURATION SECTION	*/

--- 34,40 -----
   *
   * perkin-elmer 3220 wants ALIGN to be 2.
   */
! #define ALIGN 1
  
  /****************************************/
  /*	END OF CONFIGURATION SECTION	*/
% cat sbrk.c
#include "/sys/ins/base.ins.c"
#include "/sys/ins/rws.ins.c"

char *sbrk(n)
long n;
{
	return rws_$alloc_rw(n);
}
-------