home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!cs.utexas.edu!usc!nic.csu.net!csus.edu!netcom.com!netcomsv!terapin!paulk
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: SAS/C 6.1 + __saveds + cres.o == crash ?
- Message-ID: <paulk.3dyh@terapin.com>
- From: paulk@terapin.com (Paul Kienitz)
- Date: 21 Jan 93 23:36:23 PST
- References: <C13uFx.ED0@unx.sas.com>
- Organization: BBS
- Lines: 13
-
- > __saveds is inherently unable to work with cres.o.
-
- My Purify module for Aztec allows residency similar to cres.o and
- also geta4(), as long as anything that sets A4 is called in the
- context of YOUR process. Not suitable for a boopsi handler, I bet.
-
- Anyway, you might look at providing an A4 setter with cres.o which
- gets the A4 pointer from a task-local source -- this could be useful
- with frinstance callback hooks. The way I did it was to save it on
- the stack, create a fake new stack base, and find the old stack base
- with the pr_ReturnAddr field which had been modified to point to the
- fake new base. I also redirected all methods of exiting to go
- through the cleanup code to undo that.
-