home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / sys / amiga / programm / 19070 < prev    next >
Encoding:
Internet Message Format  |  1993-01-22  |  1.0 KB

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