This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Wild and Crazy hacking under Solaris


Hi,

Anyone out there tried to catch a fault (like SIGSEGV) under
Solaris and modify the "local" and "in" registers(%l0-%l7 and
 %i0 - %i7), so that they get restored when you "setcontext()"?

I am finding that I can access / modify the registers available
in the ucontext structure passed to my signal handler, (%o and %g registers),
but I can't find any info on where the other registers are, and if it is
possible to get them "restored" from the stack...

I created a program to put specific values in some of the registers
and looked at the stack on a fault and found them, but they don't seem
to get restored on "setcontext()".

Thanks - Joe