getSymbolicLinkStatus (and possibly other functions) broken on systems with large file system support
This thread contains more details:
http://www.haskell.org/pipermail/haskell-cafe/2008-February/039549.html
Basically, it appears that the unix module is built without the large filesystem support enabled, so it calls the 32-bit version of lstat. But hsc2hs includes header files that enable large file system support, so the offsets are for the stat64 struct. This means many fields in FileStatus are filled with garbage.
I have attached a patch which adds the AC_SYS_LARGEFILE macro to configure.ac. This is the same macro which enables large file support in ghc. There could still be a problem however. For example, if you built ghc on a system without large file support, and but the unix module on a system with large file support -- then they would be out of sync. This patch seems better than the current situation however.
Trac metadata
Trac field | Value |
---|---|
Version | 6.8.2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | libraries/unix |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |