[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AC_SYS_LARGEFILE and old OSX framework
From: |
Diorcet Yann |
Subject: |
Re: AC_SYS_LARGEFILE and old OSX framework |
Date: |
Thu, 31 Oct 2013 01:46:32 +0100 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 |
Le 30/10/2013 20:56, Paul Eggert a écrit :
> On 10/30/2013 12:46 PM, Diorcet Yann wrote:
>> Could be an explanation. but how do you explain the issue on that
>> https://gitorious.org/glib/android/source/003dbec6c84798cb5c6a8759258f2b7180e5fa10:glib/gkeyfile.c#L354-1871
>> S_ISREG is done just after fstat ... and there is #include "config.h".
> I don't know Darwin, but one possible explanation is that
> it's not just struct stat that's affected; it's also 'open'.
> At least, that's the case for the off_t stuff on many platforms,
> and maybe Apple's doing the same for the ino_t stuff.
>
> Anyway, I'd try building the entire application with
> -D_DARWIN_USE_64_BIT_INODE. If that makes the problem go
> away we're probably on the right track. And if not, perhaps
> it's not an Autoconf problem anyway.
Great,
I tried your idea ... same result.
So i take a look the documentation
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man2/stat.2.html
which said that < 10.5 the flag _DARWIN_USE_64_BIT_INODE should do
nothing (keep 32)
I quote:
"
32-bit 32-bit inode values are enabled, and the legacy
structures involving the ino_t type
are in use. The macro
_DARWIN_FEATURE_64_BIT_INODE is not defined.
"
in the headers
/*
* _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and
* structures modified for 64-bit inodes (like struct stat) will be used.
*/
#if __DARWIN_64_BIT_INO_T
#define _DARWIN_FEATURE_64_BIT_INODE 1
#endif
the __DARWIN_64_BIT_INO_T flag is controlled by _DARWIN_USE_64_BIT_INODE
Maybe there is an issue in the OSX SDK