git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] compat: fixes for header handling with OpenBSD / NetBSD
@ 2025-06-02  7:29 Brad Smith
  2025-06-02 18:06 ` Collin Funk
  0 siblings, 1 reply; 6+ messages in thread
From: Brad Smith @ 2025-06-02  7:29 UTC (permalink / raw)
  To: git

Handle OpenBSD and NetBSD as FreeBSD / DragonFly are. OpenBSD would
need _XOPEN_SOURCE to be set to 700. Its simpler to just not set
_XOPEN_SOURCE.

    CC strbuf.o
strbuf.c:645:6: warning: call to undeclared function 'getdelim'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        r = getdelim(&sb->buf, &sb->alloc, term, fp);
            ^
1 warning generated.

Signed-off-by: Brad Smith <brad@comstyle.com>
---
 compat/posix.h | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/compat/posix.h b/compat/posix.h
index f4c71f9427..61fb08b64c 100644
--- a/compat/posix.h
+++ b/compat/posix.h
@@ -60,18 +60,17 @@
 # else
 # define _XOPEN_SOURCE 500
 # endif
-#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__USLC__) && \
-      !defined(_M_UNIX) && !defined(__sgi) && !defined(__DragonFly__) && \
-      !defined(__TANDEM) && !defined(__QNX__) && !defined(__MirBSD__) && \
-      !defined(__CYGWIN__)
-#define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */
+#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && \
+      !defined(__OpenBSD__) && !defined(__DragonFly__) && !defined(__MirBSD__) && \
+      !defined(__USLC__) && !defined(_M_UNIX) && !defined(__sgi) && \
+      !defined(__TANDEM) && !defined(__QNX__) && !defined(__CYGWIN__)
+#define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500 */
 #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
 #endif
 #define _ALL_SOURCE 1
 #define _GNU_SOURCE 1
 #define _BSD_SOURCE 1
 #define _DEFAULT_SOURCE 1
-#define _NETBSD_SOURCE 1
 #define _SGI_SOURCE 1
 
 #if defined(WIN32) && !defined(__CYGWIN__) /* Both MinGW and MSVC */
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] compat: fixes for header handling with OpenBSD / NetBSD
  2025-06-02  7:29 [PATCH] compat: fixes for header handling with OpenBSD / NetBSD Brad Smith
@ 2025-06-02 18:06 ` Collin Funk
  2025-06-03  0:36   ` Junio C Hamano
  2025-06-03  3:56   ` Brad Smith
  0 siblings, 2 replies; 6+ messages in thread
From: Collin Funk @ 2025-06-02 18:06 UTC (permalink / raw)
  To: Brad Smith, git

Hi Brad,

You wrote:

> Handle OpenBSD and NetBSD as FreeBSD / DragonFly are. OpenBSD would
> need _XOPEN_SOURCE to be set to 700. Its simpler to just not set
> _XOPEN_SOURCE.
> 
>     CC strbuf.o
> strbuf.c:645:6: warning: call to undeclared function 'getdelim'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
>         r = getdelim(&sb->buf, &sb->alloc, term, fp);
>             ^
> 1 warning generated.
> 
> Signed-off-by: Brad Smith <brad@comstyle.com>
> ---
>  compat/posix.h | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)

I noticed this as well when testing your other fixes.

Just one question about this chunk:

>  #define _DEFAULT_SOURCE 1
> -#define _NETBSD_SOURCE 1

Why remove this definition? I think it might be useful on some older
systems and seems harmless otherwise.

Other than that, I tested on OpenBSD 7.6 and NetBSD 10.0 and this patch
fixes the missing declarations. So:

Reviewed-by: Collin Funk <collin.funk1@gmail.com>

Collin

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] compat: fixes for header handling with OpenBSD / NetBSD
  2025-06-02 18:06 ` Collin Funk
@ 2025-06-03  0:36   ` Junio C Hamano
  2025-06-03  3:56   ` Brad Smith
  1 sibling, 0 replies; 6+ messages in thread
From: Junio C Hamano @ 2025-06-03  0:36 UTC (permalink / raw)
  To: Collin Funk; +Cc: Brad Smith, git

Collin Funk <collin.funk1@gmail.com> writes:

> Just one question about this chunk:
>
>>  #define _DEFAULT_SOURCE 1
>> -#define _NETBSD_SOURCE 1
>
> Why remove this definition? I think it might be useful on some older
> systems and seems harmless otherwise.

Yes, it is curious.

>
> Other than that, I tested on OpenBSD 7.6 and NetBSD 10.0 and this patch
> fixes the missing declarations. So:
>
> Reviewed-by: Collin Funk <collin.funk1@gmail.com>
>
> Collin

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] compat: fixes for header handling with OpenBSD / NetBSD
  2025-06-02 18:06 ` Collin Funk
  2025-06-03  0:36   ` Junio C Hamano
@ 2025-06-03  3:56   ` Brad Smith
  2025-06-03  4:05     ` Collin Funk
  1 sibling, 1 reply; 6+ messages in thread
From: Brad Smith @ 2025-06-03  3:56 UTC (permalink / raw)
  To: Collin Funk, git

On 2025-06-02 2:06 p.m., Collin Funk wrote:
> Hi Brad,
>
> You wrote:
>
>> Handle OpenBSD and NetBSD as FreeBSD / DragonFly are. OpenBSD would
>> need _XOPEN_SOURCE to be set to 700. Its simpler to just not set
>> _XOPEN_SOURCE.
>>
>>      CC strbuf.o
>> strbuf.c:645:6: warning: call to undeclared function 'getdelim'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
>>          r = getdelim(&sb->buf, &sb->alloc, term, fp);
>>              ^
>> 1 warning generated.
>>
>> Signed-off-by: Brad Smith <brad@comstyle.com>
>> ---
>>   compat/posix.h | 11 +++++------
>>   1 file changed, 5 insertions(+), 6 deletions(-)
> I noticed this as well when testing your other fixes.
>
> Just one question about this chunk:
>
>>   #define _DEFAULT_SOURCE 1
>> -#define _NETBSD_SOURCE 1
> Why remove this definition? I think it might be useful on some older
> systems and seems harmless otherwise.

_XOPEN_SOURCE restricts the build environment. _NETBSD_SOURCE is added 
to counteract
_XOPEN_SOURCE. Not setting it in the first place provides everything by 
default.

I was removing it as it should no longer be necessary.

But as said, it is harmless. I can leave it in if desired.

> Other than that, I tested on OpenBSD 7.6 and NetBSD 10.0 and this patch
> fixes the missing declarations. So:
>
> Reviewed-by: Collin Funk <collin.funk1@gmail.com>
>
> Collin
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] compat: fixes for header handling with OpenBSD / NetBSD
  2025-06-03  3:56   ` Brad Smith
@ 2025-06-03  4:05     ` Collin Funk
  2025-06-03 14:37       ` Junio C Hamano
  0 siblings, 1 reply; 6+ messages in thread
From: Collin Funk @ 2025-06-03  4:05 UTC (permalink / raw)
  To: Brad Smith; +Cc: git

Brad Smith <brad@comstyle.com> writes:

>> Why remove this definition? I think it might be useful on some older
>> systems and seems harmless otherwise.
>
> _XOPEN_SOURCE restricts the build environment. _NETBSD_SOURCE is added
> to counteract
> _XOPEN_SOURCE. Not setting it in the first place provides everything
> by default.
>
> I was removing it as it should no longer be necessary.
>
> But as said, it is harmless. I can leave it in if desired.

In Autoconf's AC_USE_SYSTEM_EXTENSIONS it is defined with the comment:

    /* Enable general extensions on NetBSD.
       Enable NetBSD compatibility extensions on Minix.  */

I would prefer just leaving it for any old system that may need it. Or
in case git uses features from a recent standard that might still be
hidden as a NetBSD extension.

For example, POSIX.1-2024 has been released, but most functions added
there are still under _GNU_SOURCE in current glibc.

Collin

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] compat: fixes for header handling with OpenBSD / NetBSD
  2025-06-03  4:05     ` Collin Funk
@ 2025-06-03 14:37       ` Junio C Hamano
  0 siblings, 0 replies; 6+ messages in thread
From: Junio C Hamano @ 2025-06-03 14:37 UTC (permalink / raw)
  To: Collin Funk; +Cc: Brad Smith, git

Collin Funk <collin.funk1@gmail.com> writes:

> Brad Smith <brad@comstyle.com> writes:
> ...
>> But as said, it is harmless. I can leave it in if desired.
> ...
> I would prefer just leaving it for any old system that may need it.

OK, here is what I will queue.

-------- >8 --------
From: Brad Smith <brad@comstyle.com>
Date: Mon, 2 Jun 2025 03:29:02 -0400
Subject: [PATCH] compat: fixes for header handling with OpenBSD / NetBSD

Handle OpenBSD and NetBSD as FreeBSD / DragonFly are. OpenBSD would
need _XOPEN_SOURCE to be set to 700. Its simpler to just not set
_XOPEN_SOURCE.

    CC strbuf.o
strbuf.c:645:6: warning: call to undeclared function 'getdelim'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        r = getdelim(&sb->buf, &sb->alloc, term, fp);
            ^
1 warning generated.

Signed-off-by: Brad Smith <brad@comstyle.com>
Reviewed-by: Collin Funk <collin.funk1@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 compat/posix.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/compat/posix.h b/compat/posix.h
index f4c71f9427..067a00f33b 100644
--- a/compat/posix.h
+++ b/compat/posix.h
@@ -60,11 +60,11 @@
 # else
 # define _XOPEN_SOURCE 500
 # endif
-#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__USLC__) && \
-      !defined(_M_UNIX) && !defined(__sgi) && !defined(__DragonFly__) && \
-      !defined(__TANDEM) && !defined(__QNX__) && !defined(__MirBSD__) && \
-      !defined(__CYGWIN__)
-#define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */
+#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && \
+      !defined(__OpenBSD__) && !defined(__DragonFly__) && !defined(__MirBSD__) && \
+      !defined(__USLC__) && !defined(_M_UNIX) && !defined(__sgi) && \
+      !defined(__TANDEM) && !defined(__QNX__) && !defined(__CYGWIN__)
+#define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500 */
 #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
 #endif
 #define _ALL_SOURCE 1
-- 
2.50.0-rc0-176-g427db30fd9


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-06-03 14:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-02  7:29 [PATCH] compat: fixes for header handling with OpenBSD / NetBSD Brad Smith
2025-06-02 18:06 ` Collin Funk
2025-06-03  0:36   ` Junio C Hamano
2025-06-03  3:56   ` Brad Smith
2025-06-03  4:05     ` Collin Funk
2025-06-03 14:37       ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).