Date: Sun, 19 Nov 1995 18:18:57 +1100 (EST) From: John Birrell <cimaxp1!jb@werple.net.au> To: bde@zeta.org.au (Bruce Evans) Cc: hackers@FreeBSD.org, jb@cimlogic.com.au Subject: Re: int type in jmpbuf Message-ID: <199511190715.SAA27472@werple.net.au> In-Reply-To: <199511190529.QAA20802@godzilla.zeta.org.au> from "Bruce Evans" at Nov 19, 95 04:29:36 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> The whole struct should probably be delcared in a machine dependent file
> as something like
>
> typedef struct {
> __type_whose_alignment_requirement_i_maximal_t _jb0;
> char _jb1[_NOT_QUITE_THE_FULL_SIZEOF_JMP_BUF];
> } jmp_buf[1];
I don't understand the significance of the type (__type_whose..imal_t) for
_jb0 vs char for _jb1. How is this different to
typedef struct {
char _jb0[_THE_FULL_SIZEOF_JMP_BUF];
} jmp_buf[1];
And if the whole struct should be declared in a machine dependent file, what
would prevent us from defining the structure from what it contains
typedef struct {
long reg_edx;
long reg_ebx;
long reg_esp;
:
:
} jmp_buf[1];
I guess the answer to this is that it is supposed to be opaque, but in my
case I have to manually setup a jmp_buf for each user-space thread and I'd
like a clean way of accessing the structure. Any ideas?
>
> longs just happen to be right for a few more machine than ints.
Agreed.
>
> Bruce
>
--
John Birrell CIMlogic Pty Ltd
jb@cimlogic.com.au 119 Cecil Street
Ph +61 3 9690 9600 South Melbourne Vic 3205
Fax +61 3 9690 6650 Australia
Mob +61 18 353 137
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511190715.SAA27472>
