Opened 11 years ago

Closed 11 years ago

Last modified 10 years ago

#14454 closed defect (fixed)

mono 1.2.6 fails to build (darwin_stop_world.c)

Reported by: opendarwin.nospam@… Owned by: mww@…
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: mono libgc Cc:
Port:

Description

There is already a ticket regarding mono, but it seems to be another problem.

$ sudo port install mono
--->  Fetching mono
--->  Verifying checksum(s) for mono
--->  Extracting mono
--->  Applying patches to mono
--->  Configuring mono
--->  Building mono with target all
Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_mono/work/mono-1.2.6" && make all " returned error 2
Command output:  /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"libgc-mono\" -DPACKAGE_TARNAME=\"libgc-mono\" -DPACKAGE_VERSION=\"6.6\" "-DPACKAGE_STRING=\"libgc-mono 6.6\"" -DPACKAGE_BUGREPORT=\"Hans_Boehm@hp.com\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -D_IN_LIBGC=1 -I./.. -I./.. -I./include -I/opt/local/include -O2 -D_NONSTD_SOURCE -MT backgraph.lo -MD -MP -MF .deps/backgraph.Tpo -c backgraph.c  -fno-common -DPIC -o .libs/backgraph.o
 /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"libgc-mono\" -DPACKAGE_TARNAME=\"libgc-mono\" -DPACKAGE_VERSION=\"6.6\" "-DPACKAGE_STRING=\"libgc-mono 6.6\"" -DPACKAGE_BUGREPORT=\"Hans_Boehm@hp.com\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -D_IN_LIBGC=1 -I./.. -I./.. -I./include -I/opt/local/include -O2 -D_NONSTD_SOURCE -MT backgraph.lo -MD -MP -MF .deps/backgraph.Tpo -c backgraph.c -o backgraph.o >/dev/null 2>&1
mv -f .deps/backgraph.Tpo .deps/backgraph.Plo
/bin/sh ./libtool --mode=compile /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"libgc-mono\" -DPACKAGE_TARNAME=\"libgc-mono\" -DPACKAGE_VERSION=\"6.6\" -DPACKAGE_STRING=\"libgc-mono\ 6.6\" -DPACKAGE_BUGREPORT=\"Hans_Boehm@hp.com\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -D_IN_LIBGC=1 -I./.. -I./.. -I./include  -I/opt/local/include  -O2 -D_NONSTD_SOURCE   -MT win32_threads.lo -MD -MP -MF .deps/win32_threads.Tpo -c -o win32_threads.lo win32_threads.c
 /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"libgc-mono\" -DPACKAGE_TARNAME=\"libgc-mono\" -DPACKAGE_VERSION=\"6.6\" "-DPACKAGE_STRING=\"libgc-mono 6.6\"" -DPACKAGE_BUGREPORT=\"Hans_Boehm@hp.com\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -D_IN_LIBGC=1 -I./.. -I./.. -I./include -I/opt/local/include -O2 -D_NONSTD_SOURCE -MT win32_threads.lo -MD -MP -MF .deps/win32_threads.Tpo -c win32_threads.c  -fno-common -DPIC -o .libs/win32_threads.o
 /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"libgc-mono\" -DPACKAGE_TARNAME=\"libgc-mono\" -DPACKAGE_VERSION=\"6.6\" "-DPACKAGE_STRING=\"libgc-mono 6.6\"" -DPACKAGE_BUGREPORT=\"Hans_Boehm@hp.com\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -D_IN_LIBGC=1 -I./.. -I./.. -I./include -I/opt/local/include -O2 -D_NONSTD_SOURCE -MT win32_threads.lo -MD -MP -MF .deps/win32_threads.Tpo -c win32_threads.c -o win32_threads.o >/dev/null 2>&1
mv -f .deps/win32_threads.Tpo .deps/win32_threads.Plo
/bin/sh ./libtool --mode=compile /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"libgc-mono\" -DPACKAGE_TARNAME=\"libgc-mono\" -DPACKAGE_VERSION=\"6.6\" -DPACKAGE_STRING=\"libgc-mono\ 6.6\" -DPACKAGE_BUGREPORT=\"Hans_Boehm@hp.com\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -D_IN_LIBGC=1 -I./.. -I./.. -I./include  -I/opt/local/include  -O2 -D_NONSTD_SOURCE   -MT pthread_support.lo -MD -MP -MF .deps/pthread_support.Tpo -c -o pthread_support.lo pthread_support.c
 /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"libgc-mono\" -DPACKAGE_TARNAME=\"libgc-mono\" -DPACKAGE_VERSION=\"6.6\" "-DPACKAGE_STRING=\"libgc-mono 6.6\"" -DPACKAGE_BUGREPORT=\"Hans_Boehm@hp.com\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -D_IN_LIBGC=1 -I./.. -I./.. -I./include -I/opt/local/include -O2 -D_NONSTD_SOURCE -MT pthread_support.lo -MD -MP -MF .deps/pthread_support.Tpo -c pthread_support.c  -fno-common -DPIC -o .libs/pthread_support.o
 /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"libgc-mono\" -DPACKAGE_TARNAME=\"libgc-mono\" -DPACKAGE_VERSION=\"6.6\" "-DPACKAGE_STRING=\"libgc-mono 6.6\"" -DPACKAGE_BUGREPORT=\"Hans_Boehm@hp.com\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -D_IN_LIBGC=1 -I./.. -I./.. -I./include -I/opt/local/include -O2 -D_NONSTD_SOURCE -MT pthread_support.lo -MD -MP -MF .deps/pthread_support.Tpo -c pthread_support.c -o pthread_support.o >/dev/null 2>&1
mv -f .deps/pthread_support.Tpo .deps/pthread_support.Plo
/bin/sh ./libtool --mode=compile /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"libgc-mono\" -DPACKAGE_TARNAME=\"libgc-mono\" -DPACKAGE_VERSION=\"6.6\" -DPACKAGE_STRING=\"libgc-mono\ 6.6\" -DPACKAGE_BUGREPORT=\"Hans_Boehm@hp.com\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -D_IN_LIBGC=1 -I./.. -I./.. -I./include  -I/opt/local/include  -O2 -D_NONSTD_SOURCE   -MT pthread_stop_world.lo -MD -MP -MF .deps/pthread_stop_world.Tpo -c -o pthread_stop_world.lo pthread_stop_world.c
 /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"libgc-mono\" -DPACKAGE_TARNAME=\"libgc-mono\" -DPACKAGE_VERSION=\"6.6\" "-DPACKAGE_STRING=\"libgc-mono 6.6\"" -DPACKAGE_BUGREPORT=\"Hans_Boehm@hp.com\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -D_IN_LIBGC=1 -I./.. -I./.. -I./include -I/opt/local/include -O2 -D_NONSTD_SOURCE -MT pthread_stop_world.lo -MD -MP -MF .deps/pthread_stop_world.Tpo -c pthread_stop_world.c  -fno-common -DPIC -o .libs/pthread_stop_world.o
 /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"libgc-mono\" -DPACKAGE_TARNAME=\"libgc-mono\" -DPACKAGE_VERSION=\"6.6\" "-DPACKAGE_STRING=\"libgc-mono 6.6\"" -DPACKAGE_BUGREPORT=\"Hans_Boehm@hp.com\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -D_IN_LIBGC=1 -I./.. -I./.. -I./include -I/opt/local/include -O2 -D_NONSTD_SOURCE -MT pthread_stop_world.lo -MD -MP -MF .deps/pthread_stop_world.Tpo -c pthread_stop_world.c -o pthread_stop_world.o >/dev/null 2>&1
mv -f .deps/pthread_stop_world.Tpo .deps/pthread_stop_world.Plo
/bin/sh ./libtool --mode=compile /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"libgc-mono\" -DPACKAGE_TARNAME=\"libgc-mono\" -DPACKAGE_VERSION=\"6.6\" -DPACKAGE_STRING=\"libgc-mono\ 6.6\" -DPACKAGE_BUGREPORT=\"Hans_Boehm@hp.com\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -D_IN_LIBGC=1 -I./.. -I./.. -I./include  -I/opt/local/include  -O2 -D_NONSTD_SOURCE   -MT darwin_stop_world.lo -MD -MP -MF .deps/darwin_stop_world.Tpo -c -o darwin_stop_world.lo darwin_stop_world.c
 /usr/bin/gcc-4.0 -DPACKAGE_NAME=\"libgc-mono\" -DPACKAGE_TARNAME=\"libgc-mono\" -DPACKAGE_VERSION=\"6.6\" "-DPACKAGE_STRING=\"libgc-mono 6.6\"" -DPACKAGE_BUGREPORT=\"Hans_Boehm@hp.com\" -DGC_DARWIN_THREADS=1 -DTHREAD_LOCAL_ALLOC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSILENT=1 -DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1 -D_IN_LIBGC=1 -I./.. -I./.. -I./include -I/opt/local/include -O2 -D_NONSTD_SOURCE -MT darwin_stop_world.lo -MD -MP -MF .deps/darwin_stop_world.Tpo -c darwin_stop_world.c  -fno-common -DPIC -o .libs/darwin_stop_world.o
darwin_stop_world.c: In function 'GC_push_all_stacks':
darwin_stop_world.c:106: error: 'i386_thread_state_t' has no member named '__esp'
darwin_stop_world.c:108: error: 'i386_thread_state_t' has no member named '__eax'
darwin_stop_world.c:109: error: 'i386_thread_state_t' has no member named '__ebx'
darwin_stop_world.c:110: error: 'i386_thread_state_t' has no member named '__ecx'
darwin_stop_world.c:111: error: 'i386_thread_state_t' has no member named '__edx'
darwin_stop_world.c:112: error: 'i386_thread_state_t' has no member named '__edi'
darwin_stop_world.c:113: error: 'i386_thread_state_t' has no member named '__esi'
darwin_stop_world.c:114: error: 'i386_thread_state_t' has no member named '__ebp'
make[3]: *** [darwin_stop_world.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Attachments (1)

Portfile.diff (558 bytes) - added by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) 11 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 11 years ago by daniel@…

I can reproduce this problem with OS X Leopard. My solution was to open the file

{{{ /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_mono/work/mono-1.2.6/libgc/darwin_stop_world.c }}}

by hand and jump to line 106. I removed the whole block enclosed by

  #if defined(_STRUCT_X86_EXCEPTION_STATE32) 
        lo = state.__esp;

        GC_push_one(state.__eax); 
        GC_push_one(state.__ebx); 
        GC_push_one(state.__ecx); 
        GC_push_one(state.__edx); 
        GC_push_one(state.__edi); 
        GC_push_one(state.__esi); 
        GC_push_one(state.__ebp); 
  #elif

It seems to work with the following code:

        lo = state.esp;

        GC_push_one(state.eax); 
        GC_push_one(state.ebx); 
        GC_push_one(state.ecx); 
        GC_push_one(state.edx); 
        GC_push_one(state.edi); 
        GC_push_one(state.esi); 
        GC_push_one(state.ebp); 

Of course then you'll just run into the next problem:

exceptions-x86.c: In function 'mono_arch_sigctx_to_monoctx':
exceptions-x86.c:711: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:712: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:713: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:714: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:715: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:716: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:717: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:718: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:719: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c: In function 'mono_arch_monoctx_to_sigctx':
exceptions-x86.c:741: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:742: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:743: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:744: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:745: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:746: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:747: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:748: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:749: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c: In function 'mono_arch_ip_from_context':
exceptions-x86.c:770: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c: In function 'mono_arch_handle_altstack_exception':
exceptions-x86.c:837: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:845: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:846: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:849: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:869: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:874: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:881: error: 'struct mcontext32' has no member named '__ss'
exceptions-x86.c:882: error: 'struct mcontext32' has no member named '__ss'
make[4]: *** [exceptions-x86.lo] Error 1
make[3]: *** [all] Error 2
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Then I opened mono/mini/mini-x86.h and deleted the block

#elif defined(__APPLE__) && defined(_STRUCT_MCONTEXT)
        #define UCONTEXT_REG_EAX(ctx) ((ctx)->uc_mcontext->__ss.__eax)
        #define UCONTEXT_REG_EBX(ctx) ((ctx)->uc_mcontext->__ss.__ebx)
        #define UCONTEXT_REG_ECX(ctx) ((ctx)->uc_mcontext->__ss.__ecx)
        #define UCONTEXT_REG_EDX(ctx) ((ctx)->uc_mcontext->__ss.__edx)
        #define UCONTEXT_REG_EBP(ctx) ((ctx)->uc_mcontext->__ss.__ebp)
        #define UCONTEXT_REG_ESP(ctx) ((ctx)->uc_mcontext->__ss.__esp)
        #define UCONTEXT_REG_ESI(ctx) ((ctx)->uc_mcontext->__ss.__esi)
        #define UCONTEXT_REG_EDI(ctx) ((ctx)->uc_mcontext->__ss.__edi)
        #define UCONTEXT_REG_EIP(ctx) ((ctx)->uc_mcontext->__ss.__eip)

and replaced

#elif defined(__APPLE__) && !defined(_STRUCT_MCONTEXT)

by

#elif defined(__APPLE__)

To summarize, it seems that the switches _STRUCT_X86_EXCEPTION_STATE32 and _STRUCT_MCONTEXT don't have the right values for OS X Leopard.

comment:2 Changed 11 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Attached is a proposal to repair darwin_stop_world.c file.
I can only test the patch on Leopard so I hope it does not introduce any further problems.

Changed 11 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Attachment: Portfile.diff added

comment:3 Changed 11 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to mww@…

Assigning to maintainer.

comment:4 Changed 11 years ago by mww@…

Keywords: mono libgc added
Resolution: fixed
Status: newclosed

Thanks a lot for the patches everyone! I've submitted them alongside the update to v1.9; the patches to libgc and mini-x86/ppc.h are 10.5-only, so they won't do any harm on 10.4.

comment:5 Changed 10 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.