home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.hp
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!ira.uka.de!math.fu-berlin.de!informatik.tu-muenchen.de!achter
- From: achter@Informatik.TU-Muenchen.DE (Sven Achter)
- Subject: problems with setjmp(3C),longjmp(3C)
- Originator: achter@hpschlichter8.informatik.tu-muenchen.de
- Sender: news@Informatik.TU-Muenchen.DE (USENET Newssystem)
- Organization: Technische Universitaet Muenchen, Germany
- Date: Thu, 17 Dec 1992 13:15:23 GMT
- Message-ID: <1992Dec17.131523.11740@Informatik.TU-Muenchen.DE>
- Lines: 34
-
-
- Hi,
-
- I'm trying to port a distributed system to a HP9000/710 running
- HP-UX 8.07. This system uses setjmp and longjmp for task switching.
- I need to access stackpointer and framepointer through the jmp_buf
- structure but nowhere in the HP documentation and also not in
- /usr/include/setjmp.h there is information on the position in
- jmp_buf where the contents of the dumped registers are stored.
-
- In the porting notes of the system is also read:
- "It is not possible to use setjmp or longjmp on some systems
- either because they contain bugs and fail to restore state
- properly, or because they check that longjmp only returns to
- a previously encountered stack frame, i.e setjmp was previously
- executed on the current stack."
-
- So my questions are:
- - What registers are stored in what order in jmp_buf ?
- - Do the HP-UX 8.07 implemetations of setjmp and longjmp conform
- to the mentioned criteria?
- - If not how would assembly routines look like that could be
- used instead ?
-
- Thanks in advance
-
- Sven Achter
-
- --------------------------------------------------------------------
- achter@informatik.tu-muenchen.de (Sven Achter)
- Fakultaet fuer Informatik
- Technische Universitaet Muenchen
- --------------------------------------------------------------------
-
-