🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.gcc.bug
Article #2906

Re: gcc 1.37.1 core dumps when compiling for the ns32k cpu

#2906
From: Jon Loeliger
Date: Mon, 26 Feb 1990 17:08
53 lines
2849 bytes
In article <9002240636.AA08346@pozzo> taylor@THINK.COM (David Taylor) writes:
>I built gcc 1.37.1 as a cross compiler on a vax running Ultrix 3.1.  The
>links are:
>
>	aux-output.c --> ../config/out-ns32k.c
>	config.h --> ../config/xm-vax.h
>	md --> ../config/ns32k.md
>	tm.h --> ../config/tm-pc532.h
>
>[I'm trying to get it to generate code for a 32532 based personal
>computer; since I don't have the machine built yet, much less have an
>operating system for it, I'm trying to run gcc as a cross compiler.]
>--
>David Taylor
>taylor@think.com, ...{ames,bloom-beacon,harvard}!think!taylor

I'm in the midst of a similar task...  And had a different
question about the function prologue and epilogue.  There are
two instructions, enter [], and exit [], that are intended to
save and restore callee used registers.  I am not that familiar
with the ns32k and the data sheets aren't that informative in 
a couple of areas, so I have a couple of questions:

1) Does the enter [] instruction save the registers in the
frame in addresses {smaller|larger} than where the PC is stored?

2) If there are in fact stored registers on procedure entry, then
the offset of the first argument from the FP is not a hard 8 as
this declaration (from config/ns32k.h) would suggest:

/* Offset of first parameter from the argument pointer register value.  */
#define FIRST_PARM_OFFSET(FNDECL) 8

Is it instead something that looks like:
	8 + (#of_regs_stored_in_[]_mask * size_of_a_register)


Am I confused here?  What has me mystified here is the dichotomy between
a belief that it sort-of works as is (due to current use and all), and
the apparent brain-damage of not knowing how big your call frame is...
Now if the ns32k really has an AP and I don't know about it, then this
is all academic...

Thanks.
------------------------------------------------------------------------------
Jon Loeliger			    | loeliger@convex.com
Convex Computer Corporation	    | I'm the thirteenth at your table,
3000 Waterview, Richardson TX 75080 | I'm the uninvited guest.  - Marillion
--
------------------------------------------------------------------------------
Jon Loeliger			    | loeliger@convex.com
Convex Computer Corporation	    | I'm the thirteenth at your table,
3000 Waterview, Richardson TX 75080 | I'm the uninvited guest.  - Marillion
Technical Details
Message-ID: <100265@convex.convex.com>
Path: arc1-ca.pugleaf.net!utzoo!telly!attcan!uunet!ogicse!caesar.cs.montana.edu!uakari.primate.wisc.edu!brutus.cs.uiuc.edu!apple!sun-barr!newstop!texsun!convex!loeliger
References: <9002240636.AA08346@pozzo>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!telly!attcan!uunet!ogicse!caesar.cs.montana.edu!uakari.primate.wisc.edu!brutus.cs.uiuc.edu!apple!sun-barr!newstop!texsun!convex!loeliger
From: loeliger@convex.com (Jon Loeliger)
Newsgroups: gnu.gcc.bug
Subject: Re: gcc 1.37.1 core dumps when compiling for the ns32k cpu
Message-ID: <100265@convex.convex.com>
Date: 26 Feb 90 17:08:46 GMT
References: <9002240636.AA08346@pozzo>
Sender: news@convex.com
Distribution: gnu
Organization: Convex
Lines: 53