Re: [PATCH] Makefile: update the default build options for AIX
- From
Brandon Casey <casey@nrlssc.navy.mil>
- Date
- May 7, 2008, 15:40 UTC
- Message-ID
- <4821CD5C.5010506@nrlssc.navy.mil>
- In-Reply-To
- <e2b179460805070815u6cc627feo6137084fe7c5a635@mail.gmail.com>
Mike Ralphson wrote:
Show 30 quoted lines
> 2008/5/7 Brandon Casey <casey@nrlssc.navy.mil>:
>> Johannes Sixt wrote:
>> > The #define fopen in git-compat-util.h essentially defeats the effect of
>> > _LARGE_FILES as far as fopen() calls are concerned: If
>> > FREAD_READS_DIRECTORIES is not defined, fopen() would be redirected to
>> > fopen64(), but when it is defined, it is redirected to git_fopen(), which
>> > in turn uses fopen() instead of fopen64() (due to the #undef in
>> > compat/fopen.c).
>> >
>>
>> How about something like this?
>>
>> diff --git a/compat/fopen.c b/compat/fopen.c
>> index ccb9e89..70b0d4d 100644
>> --- a/compat/fopen.c
>> +++ b/compat/fopen.c
>> @@ -1,5 +1,5 @@
>> +#undef FREAD_READS_DIRECTORIES
>> #include "../git-compat-util.h"
>> -#undef fopen
>> FILE *git_fopen(const char *path, const char *mode)
>> {
>> FILE *fp;
>>
>>
>> -brandon
>>
>
> Ta. I still get all the warnings with that, was that what you were
> trying to solve? The 64 bit specific tests in t5302 do still pass.Ah, yes. You would still get the warnings for every other file that includes git-compat-util.h, except compat/fopen.c. I didn't think about all of those. :) In this case those are indeed harmless. And now the git provided git_fopen() will use the compiler selected fopen() which should avoid any of the gotchas that Hannes brought up.
-brandon