[Mono-dev] [PATCH] Re: trunk compile error, sgen-gc.c

Zoltan Varga vargaz at gmail.com
Mon Jan 17 17:00:12 EST 2011


Applied. Please send patches as attachments in the future.

            Zoltan

On Mon, Jan 17, 2011 at 5:20 AM, KISHIMOTO, Makoto
<ksmakoto at dd.iij4u.or.jp>wrote:

> Hello,
>
> I tried to patch. This looks work fine.
>
> diff --git a/mono/utils/mono-sigcontext.h b/mono/utils/mono-sigcontext.h
> index 2335f6f..dfe383c 100644
> --- a/mono/utils/mono-sigcontext.h
> +++ b/mono/utils/mono-sigcontext.h
> @@ -58,7 +58,7 @@
>        #define UCONTEXT_REG_EDI(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_EDI])
>        #define UCONTEXT_REG_EIP(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_EIP])
>  #elif defined(__OpenBSD__)
> -    #define UCONTEXT_REG_EAX(ctx) (((ucontext_t*)(ctx))->sc_eax)
> +       #define UCONTEXT_REG_EAX(ctx) (((ucontext_t*)(ctx))->sc_eax)
>        #define UCONTEXT_REG_EBX(ctx) (((ucontext_t*)(ctx))->sc_ebx)
>        #define UCONTEXT_REG_ECX(ctx) (((ucontext_t*)(ctx))->sc_ecx)
>        #define UCONTEXT_REG_EDX(ctx) (((ucontext_t*)(ctx))->sc_edx)
> @@ -81,6 +81,10 @@
>
>  #elif defined(__x86_64__)
>
> +#if defined(__FreeBSD__)
> +#include <ucontext.h>
> +#endif
> +
>  #if defined(__APPLE__)
>        #define UCONTEXT_REG_RAX(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext->__ss.__rax)
>        #define UCONTEXT_REG_RBX(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext->__ss.__rbx)
> @@ -100,7 +104,23 @@
>        #define UCONTEXT_REG_R14(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext->__ss.__r14)
>        #define UCONTEXT_REG_R15(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext->__ss.__r15)
>  #elif defined(__FreeBSD__)
> -#define UCONTEXT_GREGS(ctx)
>  ((guint64*)&(((ucontext_t*)(ctx))->uc_mcontext))
> +       #define UCONTEXT_REG_RAX(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_rax)
> +       #define UCONTEXT_REG_RBX(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_rbx)
> +       #define UCONTEXT_REG_RCX(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_rcx)
> +       #define UCONTEXT_REG_RDX(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_rdx)
> +       #define UCONTEXT_REG_RBP(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_rbp)
> +       #define UCONTEXT_REG_RSP(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_rsp)
> +       #define UCONTEXT_REG_RSI(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_rsi)
> +       #define UCONTEXT_REG_RDI(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_rdi)
> +       #define UCONTEXT_REG_RIP(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_rip)
> +       #define UCONTEXT_REG_R8(ctx)
>  (((ucontext_t*)(ctx))->uc_mcontext.mc_r8)
> +       #define UCONTEXT_REG_R9(ctx)
>  (((ucontext_t*)(ctx))->uc_mcontext.mc_r9)
> +       #define UCONTEXT_REG_R10(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_r10)
> +       #define UCONTEXT_REG_R11(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_r11)
> +       #define UCONTEXT_REG_R12(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_r12)
> +       #define UCONTEXT_REG_R13(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_r13)
> +       #define UCONTEXT_REG_R14(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_r14)
> +       #define UCONTEXT_REG_R15(ctx)
> (((ucontext_t*)(ctx))->uc_mcontext.mc_r15)
>  #elif defined(__OpenBSD__)
>     /* OpenBSD/amd64 has no gregs array, ucontext_t == sigcontext */
>        #define UCONTEXT_REG_RAX(ctx) (((ucontext_t*)(ctx))->sc_rax)
>
>
> On Sun, 19 Dec 2010 23:15:04 +0100
> Zoltan Varga <vargaz at gmail.com> wrote:
>
> > Hi,
> >
> >   Use configure --with-sgen=no in the meantime until this is fixed.
> >
> >                  Zoltan
> >
> > On Wed, Dec 15, 2010 at 1:47 AM, KISHIMOTO, Makoto
> > <ksmakoto at dd.iij4u.or.jp>wrote:
> >
> > > Hello,
> > >
> > > At my FreeBSD box, trunk build failed.
> > > Errors are following.
> > >
> > > $ gmake
> > > (snip)
> > > ../../doltlibtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.
> > > -I../../../mono/mono/metadata -I../.. -I../../../mono
> -I../../../mono/mono
> > > -I../../../mono/libgc/include -I../../../mono/eglib/src
> -I../../eglib/src
> > > -DMONO_BINDIR=\"/usr/local/bin/\" -DMONO_ASSEMBLIES=\"/usr/local/lib\"
> > > -DMONO_CFG_DIR=\"/usr/local/etc\"  -DGC_FREEBSD_THREADS -DPLATFORM_BSD
> > >  -DHAVE_SGEN_GC -DHAVE_MOVING_COLLECTOR -DHAVE_WRITE_BARRIERS -g -O2
> > > -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused
> > > -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes
> > >  -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual
> > > -Wwrite-strings -mno-tls-direct-seg-refs -MT
> > > libmonoruntimesgen_la-sgen-os-mach.lo -MD -MP -MF
> > > .deps/libmonoruntimesgen_la-sgen-os-mach.Tpo -c -o
> > > libmonoruntimesgen_la-sgen-os-mach.lo `test -f 'sgen-os-mach.c' || echo
> > > '../../../mono/mono/metadata/'`sgen-os-mach.c
> > > mv -f .deps/libmonoruntimesgen_la-sgen-os-mach.Tpo
> > > .deps/libmonoruntimesgen_la-sgen-os-mach.Plo
> > > ../../doltlibtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.
> > > -I../../../mono/mono/metadata -I../.. -I../../../mono
> -I../../../mono/mono
> > > -I../../../mono/libgc/include -I../../../mono/eglib/src
> -I../../eglib/src
> > > -DMONO_BINDIR=\"/usr/local/bin/\" -DMONO_ASSEMBLIES=\"/usr/local/lib\"
> > > -DMONO_CFG_DIR=\"/usr/local/etc\"  -DGC_FREEBSD_THREADS -DPLATFORM_BSD
> > >  -DHAVE_SGEN_GC -DHAVE_MOVING_COLLECTOR -DHAVE_WRITE_BARRIERS -g -O2
> > > -fno-strict-aliasing -Wdeclaration-after-statement -g -Wall -Wunused
> > > -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes
> > >  -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-cast-qual
> > > -Wwrite-strings -mno-tls-direct-seg-refs -MT
> > > libmonoruntimesgen_la-sgen-gc.lo -MD -MP -MF
> > > .deps/libmonoruntimesgen_la-sgen-gc.Tpo -c -o
> > > libmonoruntimesgen_la-sgen-gc.lo `test -f 'sgen-gc.c' || echo
> > > '../../../mono/mono/metadata/'`sgen-gc.c
> > > ../../../mono/mono/metadata/sgen-gc.c: In function
> > > 'mono_sgen_thread_info_lookup':
> > > ../../../mono/mono/metadata/sgen-gc.c:4863: warning: cast from pointer
> to
> > > integer of different size
> > > ../../../mono/mono/metadata/sgen-gc.c: In function 'suspend_handler':
> > > ../../../mono/mono/metadata/sgen-gc.c:5022: error: 'ucontext_t'
> undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5022: error: (Each undeclared
> > > identifier is reported only once
> > > ../../../mono/mono/metadata/sgen-gc.c:5022: error: for each function it
> > > appears in.)
> > > ../../../mono/mono/metadata/sgen-gc.c:5022: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5022: error: 'REG_RIP' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5033: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5033: error: 'REG_RSP' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_RAX' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_RBX' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_RCX' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_RDX' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_RSI' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_RDI' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_RBP' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_R8' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_R9' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_R10' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_R11' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_R12' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_R13' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_R14' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: expected expression
> > > before ')' token
> > > ../../../mono/mono/metadata/sgen-gc.c:5039: error: 'REG_R15' undeclared
> > > (first use in this function)
> > > ../../../mono/mono/metadata/sgen-gc.c: In function
> > > 'gc_register_current_thread':
> > > ../../../mono/mono/metadata/sgen-gc.c:5681: warning: cast from pointer
> to
> > > integer of different size
> > > ../../../mono/mono/metadata/sgen-gc.c: In function
> > > 'unregister_current_thread':
> > > ../../../mono/mono/metadata/sgen-gc.c:5722: warning: cast from pointer
> to
> > > integer of different size
> > > gmake[3]: *** [libmonoruntimesgen_la-sgen-gc.lo] Error 1
> > > gmake[3]: Leaving directory
> > > `/export/home/ksmakoto/Mono/BUILD/mono/metadata'
> > > gmake[2]: *** [all-recursive] Error 1
> > > gmake[2]: Leaving directory `/export/home/ksmakoto/Mono/BUILD/mono'
> > > gmake[1]: *** [all-recursive] Error 1
> > > gmake[1]: Leaving directory `/export/home/ksmakoto/Mono/BUILD'
> > > gmake: *** [all] Error 2
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20110117/3634936d/attachment-0001.html 


More information about the Mono-devel-list mailing list