
13 Feb
2008
13 Feb
'08
2:04 a.m.
On Feb 12, 2008 10:44 PM, Adam Langley
Currently I'm looking at hsc2hs for this bug. On a 32 bit box here:
hsc2hs is forgiven; if you build with #define _FILE_OFFSET_BITS 32 then the structure is 96 bytes and the 64-bit offset is, indeed, at offset 88. However, if you end up calling the wrong libc lstat (and it's tough to tell, because both lstat and lstat64 in libc call the system call lstat64, so strace can't tell you) you'll only get an 88 byte structure filled in. HsUnix.h has a wrapper around lstat for exactly this reason, however ltrace shows it calling the wrong one. -- Adam Langley agl@imperialviolet.org http://www.imperialviolet.org 650-283-9641