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

Re: [PATCH] Port to 12 other Platforms.

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 8, 2008, 21:19 UTC
Message-ID
<7v8wxfiq01.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<Pine.LNX.4.64.0806081443130.18454@xenau.zenez.com>
Boyd Lynn Gerber <gerberb@zenez.com> writes:
> So the patch should be
> ...
Thanks.
I'll apply, but I'd reword the part on _XOPEN_SOURCE like this:
    Looking at the the various platform headers, I see around line 450:
            #if defined(_KERNEL) || !defined(_POSIX_SOURCE) \
                 && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)
    which hides u_short and other typedefs that other header files on these
    platforms depend on.  With _XOPEN_SOURCE defined, sources that include
    system header files that depend on the typedefs such as u_short cannot be
    compiled on these platforms.
Honestly, I'd have to say that such platform header files are buggy ;-)

If they want to use u_short and other custom types for their internal use, that is understandable and perfectly fine, and if they want to hide these names when _POSIX or _XOPEN is defined because you are not supposed to contaminate the namespace, that is also sensible, but at the same time you (not you, Boyd, but whoever developed the system header files) should have taken an alternate measure (perhaps by using __u_short or something) not to break the features they declare in the other header files of their own.

And not defining _XOPEN nor _POSIX would be a reasonable workaround to the problem on such systems.

Previous: Boyd Lynn GerberNext: Boyd Lynn Gerber
Message 12 of 15 in “Port to 12 other Platforms.”
  1. Port to 12 other Platforms.Boyd Lynn Gerber, Jun 8, 2008
  2. Jakub NarebskiJun 8, 2008
  3. Boyd Lynn GerberJun 8, 2008
  4. Matthieu MoyJun 8, 2008
  5. Boyd Lynn GerberJun 8, 2008
  6. Jakub NarebskiJun 8, 2008
  7. Boyd Lynn GerberJun 8, 2008
  8. Boyd Lynn GerberJun 8, 2008
  9. Junio C HamanoJun 8, 2008
  10. Boyd Lynn GerberJun 8, 2008
  11. Boyd Lynn GerberJun 8, 2008
  12. Junio C HamanoJun 8, 2008
  13. version 0001 Port to 12 other Platforms.Boyd Lynn Gerber, Jun 8, 2008
  14. progress.c: avoid use of dynamic-sized arrayBoyd Lynn Gerber, Jun 8, 2008
  15. Boyd Lynn GerberJun 8, 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.