[Mono-devel-list] Compile error Mono 0.91 on PowerBook G4 YDL 3

Paolo Molaro lupus at ximian.com
Mon May 17 11:02:26 EDT 2004

On 05/15/04 rico at elctech.com wrote:
> I have not seen any resolution to this issue on the list and I wanted to
> provide more information to help solve the problem. I'm hoping I've given
> enough information for someone to make sense of the exceptions-ppc.c mapping
> to the YDL headers. If not, please let me know what else I can provide.

See http://bugzilla.ximian.com/show_bug.cgi?id=58453.

> The failing code (in mono/mini/exceptions-ppc.c:1082) is caused by this
> lookup:
> uc->uc_mcontext.uc_regs->gregs [PT_NIP]

You can access this using pt_regs->nip. The other general registers are
in pt_regs->gpr [].

> struct pt_regs {
>         unsigned long gpr[32];
>         unsigned long nip;
>         unsigned long msr;
>         unsigned long orig_gpr3;        /* Used for restarting system calls
> */
>         unsigned long ctr;
>         unsigned long link;
>         unsigned long xer;
>         unsigned long ccr;
>         unsigned long mq;               /* 601 only (not used at present) */
>                                         /* Used on APUS to hold IPL value.
> */
>         unsigned long trap;             /* Reason for being here */
>         unsigned long dar;              /* Fault registers */
>         unsigned long dsisr;
>         unsigned long result;           /* Result of a system call */
> };

The structure doesn't include support for floating point registers.
You can likely ignore those for now, but later it will be required.
How old is your system? What version of glibc are you using?
Your distribution support for ucontext seems quite broken: you might
want to contacts its maintainers and ask how you're supposed to access
the FP registers at the time of the signal.


lupus at debian.org                                     debian/rules
lupus at ximian.com                             Monkeys do it better

More information about the Mono-devel-list mailing list