[Mono-dev] (another) FreeBSD/amd64 build breakage
Atsushi Eno
atsushi at ximian.com
Sun Nov 16 17:19:47 EST 2008
Hello,
Here is another FreeBSD/amd64 build brakage reported (I'm translating
a Japanese report).
The error is:
./../doltlibtool --quiet --tag=CC --mode=link gcc -I../..
-I../../libgc/include -D_REENTRANT -I/usr/local/include/glib-2.0
-I/usr/local/lib/glib-2.0/include -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 -Wcast-align
-Wwrite-strings -mno-tls-direct-seg-refs -pthread -o mono
-export-dynamic -Wl,-version-script=./ldscript.mono -Wl,--export-dynamic
main.o libmono-static.la -pthread -L/usr/local/lib -lgthread-2.0
-lglib-2.0 -liconv -lm -pthread -lm
/.libs/libmono-static.a(aot-compiler.o)(.text+0x870a): In function
`emit_trampolines':
/local/home/ksmakoto/Mono/mono/mono/mini/aot-compiler.c:3500: undefined
reference to `mono_arch_create_monitor_enter_trampoline_full'
/.libs/libmono-static.a(aot-compiler.o)(.text+0x8740):/local/home/ksmakoto/Mono/mono/mono/mini/aot-compiler.c:3502:
undefined reference to `mono_arch_create_monitor_exit_trampoline_full'
gmake[4]: *** [mono] Error 1
gmake[4]: Leaving directory `/local/home/ksmakoto/Mono/mono/mono/mini'
The reporter looked at the code in depth and noticed:
- the caller in aot-compiler.c couldn't resolve
mono_arch_create_monitor_enter_trampoline_full, but the relevant
code is under:
#ifdef MONO_ARCH_HAVE_FULL_AOT_TRAMPOLINES
#ifdef __x86_64__
The former is defined as 1 in mini-amd64.h and the latter is 1
in amd64 by default. Hence it is valid.
- The callee mono_arch_create_monitor_enter_trampoline_full is defined
under #ifdef MONO_ARCH_MONITOR_OBJECT_REG in tramp-amd64.c.
It is defined in mini-am64.h as:
#if defined(__linux__) && !defined(HAVE_MOVING_COLLECTOR)
#define MONO_ARCH_MONITOR_OBJECT_REG AMD64_RDI
#endif
and hence it is *not* defined in FreeBSD.
Atsushi Eno
More information about the Mono-devel-list
mailing list