On Fri, Dec 03, 2010 at 01:20:13PM -0800, Seth Goldberg wrote:
In testing grub-emu after a merge, I was getting weird behavior whereby
a zfs volume could not be properly read. It was failing because, after a
lot of painful debugging, I discovered that the offsets issued to the
underlying host disk device were wrong, because the grub-emu was not
build largefile-aware on platform on which I was testing. grub-emu
should be built with -DLARGEFILE_SOURCE and _FILE_OFFSET_BITS=64 so that
off_t will be defined as a 64-bit type and calls like lseek will work
with large files (and devices). So, I think a configure test for this
for the emu target is essential.
We actually have AC_SYS_LARGEFILE in configure.ac already, which is
supposed to append appropriate options to (slightly oddly) CC. Now,
hostdisk.c is built with TARGET_CC instead; but TARGET_CC should be set
to CC when building the emu target, if I'm reading this right, because
it doesn't count as cross-compilation.
Are you setting CC by hand? Could I see the output of configure?