It turns out there are many examples of external C code that expects
the register index defines after a #include <sys/ucontext.h> so we've
decided to just back this out for the moment.  Sorry about the noise
and trouble.

Gordon


On Sat, Oct 17, 2015 at 8:44 AM, Gordon Ross <[email protected]> wrote:
> After 5876, the  header file sys/regset.h is no longer
> included by sys/ucontext.h, and therefore no longer
> indirectly included by sys/signal.h, stdlib.h etc.
>
> Most programs are not affected at all.  Many programs
> no longer need to work around "surprise" defines for
> SS, CS, ERR, and the like.
>
> A few programs will require changes as a result of
> this header change, where the code expected symbols
> like EAX to be defined after include <sys/ucontex.h>.
> Such program are easily adapted to this change by
> adding an include <sys/regset.h>.  Without that,
> the code will fail to compile with errors like:
>   "signal.c", line 79: undefined symbol: UESP
>   "signal.c", line 80: undefined symbol: EIP
>   "signal.c", line 81: undefined symbol: EFL
>   "signal.c", line 82: undefined symbol: EAX
>   "signal.c", line 83: undefined symbol: EDX
>
> There were several examples in illumos-gate where
> this change was required.  Here's one example:
> --- a/usr/src/cmd/csh/i386/signal.c
> +++ b/usr/src/cmd/csh/i386/signal.c
> @@ -28,6 +26,7 @@
>  #include <sys/types.h>
>  #include <sys/siginfo.h>
>  #include <sys/ucontext.h>
> +#include <sys/regset.h>
>  #include <signal.h>
>  #include "signal.h"
>  #include <errno.h>
>
> The new rule is basically: If your source module needs the register
> name defines (EIP etc.) it needs to include <sys/regset.h>.
>
> I hope this solves more problems than it causes.


-------------------------------------------
illumos-discuss
Archives: https://www.listbox.com/member/archive/182180/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182180/21175430-2e6923be
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=21175430&id_secret=21175430-6a77cda4
Powered by Listbox: http://www.listbox.com

Reply via email to