The reason it fails to compile is that lines 1194 and 1210 in
SrcShared/Hardware/EmCPU68K.cpp are compile-time assert()s about the
size of the ExceptionStackFrame1 and ExceptionStackFrame2 structs.
Unfortunately, the code assumes that unsigned longs are equivalent to
uint32, which they are not on linux/amd64; also, the structures need to
be packed, otherwise, gcc 32bit aligns the elements on amd64. Fixing
those results in other 64 bit cleanliness issues,and because its an
emulator, it's not clear whether things like emuptr and MemPtr can be
expanded to 64 bits or must remain as 32bits because they may or may not
represent emulated pointers.

I've attached a dpatch that was as far as I got in fixing it, but it
doesn't build on either i386 or amd64. A full cleanup will require
someone who understands the code much better than me.

** Attachment added: "30_amd64_compile_lp230527.dpatch"
   http://launchpadlibrarian.net/23206183/30_amd64_compile_lp230527.dpatch

-- 
FTBFS: error: size of array `_dummy' is negative
https://bugs.launchpad.net/bugs/230527
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to