git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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.

Previous: Brandon CaseyNext: Mike Ralphson
Message 11 of 20 in “Makefile: update the default build options for AIX”
  1. Makefile: update the default build options for AIXMike Ralphson, May 7, 2008
  2. Johannes SixtMay 7, 2008
  3. Mike RalphsonMay 7, 2008
  4. Mike RalphsonMay 7, 2008
  5. Johannes SixtMay 7, 2008
  6. Mike RalphsonMay 7, 2008
  7. Brandon CaseyMay 7, 2008
  8. Mike RalphsonMay 7, 2008
  9. Johannes SixtMay 7, 2008
  10. Brandon CaseyMay 7, 2008
  11. Junio C HamanoMay 7, 2008
  12. Mike RalphsonMay 7, 2008
  13. Brandon CaseyMay 7, 2008
  14. compat/fopen.c: avoid clobbering the system defined fopen macroBrandon Casey, May 7, 2008
  15. Mike RalphsonMay 8, 2008
  16. Johannes SixtMay 8, 2008
  17. Mike RalphsonMay 8, 2008
  18. H.Merijn BrandMay 8, 2008
  19. Mike RalphsonMay 16, 2008
  20. Johannes SixtMay 16, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.