Re: [PATCH] Makefile: update the default build options for AIX
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 7, 2008, 16:04 UTC
- Message-ID
- <7vfxsudrt0.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <4821CD5C.5010506@nrlssc.navy.mil>
Brandon Casey <casey@nrlssc.navy.mil> writes:
Show 37 quoted lines
> Mike Ralphson wrote:
>> 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.In any case, that #undef then #include dance needs a big comment on why it has to be so.