[Mono-devel-list] mono-1.0b2, Solaris x86
Paolo Molaro
lupus at ximian.com
Sun Jun 6 05:51:39 EDT 2004
On 06/03/04 Guenter Feldmann wrote:
> I've started to install mono-1.0b2 on my Solaris x86 system.
> With the following three small fixes 'make' succeeded:
>
> *** mini-x86.h.orig Wed Jun 2 21:35:16 2004
> --- mini-x86.h Thu Jun 3 12:13:14 2004
> ***************
> *** 43,48 ****
> --- 43,75 ----
>
> #endif /* PLATFORM_WIN32 */
>
> + #ifdef sun // Solaris x86
> + # define MONO_ARCH_USE_SIGACTION 1
> + struct sigcontext {
> + unsigned short gs, __gsh;
[...]
> + };
> + #endif // sun, Solaris x86
You should instead include the header where sigcontext is defined in
Solaris, instead of making you own copy here.
> +
> /* Enables OP_LSHL, OP_LSHL_IMM, OP_LSHR, OP_LSHR_IMM, OP_LSHR_UN,
> OP_LSHR_UN_IMM */
> #define MONO_ARCH_NO_EMULATE_LONG_SHIFT_OPS
>
> *** mini-x86.c.orig Thu Jun 3 12:07:25 2004
> --- mini-x86.c Wed Jun 2 23:31:49 2004
> ***************
> *** 3733,3743 ****
> --- 3733,3747 ----
> #else
> #ifdef HAVE_PTHREAD_ATTR_GET_NP
> pthread_attr_get_np( self, &attr );
> + #elif defined(sun)
> + pthread_attr_getstacksize( &attr, &stsize );
> #else
> #error "Not implemented"
> #endif
> #endif
> + #ifndef sun
> pthread_attr_getstack( &attr, &staddr, &stsize );
> + #endif
> }
>
> /*
>
> ** mini.c.orig Wed Jun 2 21:28:36 2004
> --- mini.c Wed Jun 2 22:12:54 2004
> ***************
> *** 8077,8083 ****
> #define GET_CONTEXT \
> struct sigcontext *ctx = (struct sigcontext*)_dummy;
> #else
> ! #ifdef __sparc
> #define GET_CONTEXT \
> void *ctx = context;
> #elif defined(__ppc__) || defined (__powerpc__) || defined (__s390__)
> --- 8077,8083 ----
> #define GET_CONTEXT \
> struct sigcontext *ctx = (struct sigcontext*)_dummy;
> #else
> ! #if defined(__sparc) || defined(sun)
> #define GET_CONTEXT \
> void *ctx = context;
> #elif defined(__ppc__) || defined (__powerpc__) || defined (__s390__)
>
>
> But 'make install' aborted as follows:
>
> [ ... ]
> make[3]: Entering directory
> `/home/src/unix/mono/beta2/mono-0.95/intel/runtime/net_1_1'
> make[3]: Nothing to be done for `install-exec-am'.
> /usr/local/bin/bash ../../../mkinstalldirs /usr/local/MONO/1.0b2/lib
> /usr/local/bin/gnu/install -c -m
> 644 ../../../runtime/net_1_1/mscorlib.dll /usr/local/MONO/1.0b2/lib/mscorlib.dll
> MONO_PATH=../../../runtime/net_1_1 ../../mono/mini/mono
> --config ../../data/config ../../../runtime/net_1_1/../gacutil.exe /i ../../../runtime/net_1_1/Accessibility.dll /f /package
> 1.0 /root /usr/local/MONO/1.0b2/lib
> GC Warning: Insufficient space for /proc read
libgc issue: you should report it to the libgc mailing list.
> Unhandled Exception: System.DllNotFoundException: libc
> in <0x00053> (wrapper managed-to-native)
In configure.in check where LIBC is set and add an entry for
solaris/x86. Or you can change the dllmap entry in data/config
as a temporary solution.
> - are there other software pices which also have to be adapted for
> proper exception handling?
You may need changes in mini/exceptions-x86.c.
> - does the abort indicate that my fixes are wrong or incomplete or
> is there a different kind of problem?
different kind of problem.
> - What is the easiest way to test if exception handling works?
run make rcheck in mini and/or make test in mono/tests.
lupus
--
-----------------------------------------------------------------
lupus at debian.org debian/rules
lupus at ximian.com Monkeys do it better
More information about the Mono-devel-list
mailing list