[Mono-devel-list] building on yellowdog (PPC) fails

Eto eto at shaw.ca
Mon Nov 10 02:18:53 EST 2003


Hi,

I have a Mac G4 Cube.  I had OS X 10.2 on it, and tried compiling mono
with absolutely no success.  I figured it would be much better on linux,
so I installed yellowdog linux (redhat hybrid) for PPC.

There were a few problems that I encountered, and would like you guys to
know about it (so it can be fixed):

dump.c:

line 140 & 274 :  CSIZE is not defined..   even though, it is defined
(and included) with util.h, it does not seem to pick it up for some
reason.  I had to add the following to the beginning:

#define CSIZE(x) (sizeof(x) / 4)


exceptions-ppc.c:

structure as no member named 'sc_ir'  (lines 642, 812, 844, etc, etc)
structure as no member named 'sc_sp' (lines 662, 813, 815, etc, etc)

Seems to be a problem with MONO_CONTEXT_GET_IP() and
MONO_CONTEXT_GET_BP() macros:

#define MONO_CONTEXT_GET_IP(ctx) ((gpointer)((ctx)->sc_ir))
#define MONO_CONTEXT_GET_BP(ctx) ((gpointer)((ctx)->sc_sp))

I tracked down the structure(s) that it's using, and it's defined as:

/usr/include/asm-ppc/sigcontext.h
struct sigcontext_struct {
	unsigned long	_unused[4];
	int			signal;
	unsigned long	handler;
	unsigned long	oldmask;
	struct pt_regs	*regs;
};
	
struct pt_regs {
	unsigned long gpr[32];
	unsigned long nip;
	unsigned long msr;
	unsigned long orig_gpr3;
	unsigned long ctr;
	unsigned long link;
	unsigned long xer;
	unsigned long ccr;
	unsigned long mq;

	unsigned long trap;
	unsigned long dar;
	unsigned long dsisr;
	unsigned long result;
}

Does anyone know which one of these to use?  I tried a few, and it gives
a segmentation fault when running.. Heh

I really would like to get mono running on this machine..

Thanks!

Curtis.




More information about the Mono-devel-list mailing list