qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Darwin User mode won't compile


From: C . W . Betts
Subject: [Qemu-devel] Darwin User mode won't compile
Date: Sun, 26 Oct 2008 15:34:34 -0600

While I congratulate people for making the BSD user-mode emulation, the Darwin user-mode emulation doesn't seem to be maintained very well.  I can't get it to compile:
gcc -I. -I.. -I/Users/cwbetts/makestuff/qemu-allmac/src/target-i386 -I/Users/cwbetts/makestuff/qemu-allmac/src -MMD -MT main.o -MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/Users/cwbetts/makestuff/qemu-allmac/src/tcg -I/Users/cwbetts/makestuff/qemu-allmac/src/tcg/i386 -I/Users/cwbetts/makestuff/qemu-allmac/src/fpu -I/Users/cwbetts/makestuff/qemu-allmac/src/darwin-user -I/Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/i386 -O2 -g -fno-strict-aliasing -Wall -Wundef -Wendif-labels -Wwrite-strings -mdynamic-no-pic -m32 -c -o main.o /Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/main.c
In file included from /Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/qemu.h:9,
                 from /Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/main.c:31:
/Users/cwbetts/makestuff/qemu-allmac/src/thunk.h: In function ‘thunk_type_size’:
/Users/cwbetts/makestuff/qemu-allmac/src/thunk.h:105: error: ‘TARGET_ABI_BITS’ undeclared (first use in this function)
/Users/cwbetts/makestuff/qemu-allmac/src/thunk.h:105: error: (Each undeclared identifier is reported only once
/Users/cwbetts/makestuff/qemu-allmac/src/thunk.h:105: error: for each function it appears in.)
/Users/cwbetts/makestuff/qemu-allmac/src/thunk.h: In function ‘thunk_type_align’:
/Users/cwbetts/makestuff/qemu-allmac/src/thunk.h:142: error: ‘TARGET_ABI_BITS’ undeclared (first use in this function)
In file included from /Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/main.c:31:
/Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/qemuh: At top level:
/Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/qemuh:100: warning: ‘struct sigaltstack’ declared inside parameter list
/Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/qemuh:100: warning: its scope is only this definition or declaration, which is probably not what you want
/Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/mainc: In function ‘main’:
/Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/mainc:810: warning: assignment discards qualifiers from pointer target type
make[1]: *** [main.o] Error 1
make: *** [subdir-i386-darwin-user] Error 2

After adding the following:
#ifdef TARGET_ABI32
typedef uint32_t abi_ulong;
typedef int32_t abi_long;
#define TARGET_ABI_FMT_lx "%08x"
#define TARGET_ABI_FMT_ld "%d"
#define TARGET_ABI_FMT_lu "%u"
#define TARGET_ABI_BITS 32
#else
typedef target_ulong abi_ulong;
typedef target_long abi_long;
#define TARGET_ABI_FMT_lx TARGET_FMT_lx
#define TARGET_ABI_FMT_ld TARGET_FMT_ld
#define TARGET_ABI_FMT_lu TARGET_FMT_lu
#define TARGET_ABI_BITS TARGET_LONG_BITS
/* for consistency, define ABI32 too */
#if TARGET_ABI_BITS == 32
#define TARGET_ABI32 1
#endif
#endif


it stops at machload.c:
gcc -I. -I.. -I/Users/cwbetts/makestuff/qemu-allmac/src/target-i386 -I/Users/cwbetts/makestuff/qemu-allmac/src -MMD -MT machload.o -MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/Users/cwbetts/makestuff/qemu-allmac/src/tcg -I/Users/cwbetts/makestuff/qemu-allmac/src/tcg/i386 -I/Users/cwbetts/makestuff/qemu-allmac/src/fpu -I/Users/cwbetts/makestuff/qemu-allmac/src/darwin-user -I/Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/i386 -O2 -g -fno-strict-aliasing -Wall -Wundef -Wendif-labels -Wwrite-strings -mdynamic-no-pic -m32 -c -o machload.o /Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/machload.c
In file included from /Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/machload.c:30:
/Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/qemuh:120: warning: ‘struct sigaltstack’ declared inside parameter list
/Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/qemuh:120: warning: its scope is only this definition or declaration, which is probably not what you want
/Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/machload.c: In function ‘load_object’:
/Users/cwbetts/makestuff/qemu-allmac/src/darwin-user/machload.c:708: error: incompatible types in assignment
make[1]: *** [machload.o] Error 1

Does anyone have plans on fixing it?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]