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

[PATCH v3] config.mak.uname: update settings for FreeBSD

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 12, 2025, 21:51 UTC
Message-ID
<xmqqv7p0bpdl.fsf_-_@gitster.g>
In-Reply-To
<aEsE8S90fJSr9Or5@fruit.crustytoothpaste.net>

Even though FreeBSD 6 introduced memmem(), the implementation in that version was buggy and not performant until FreeBSD 12, FreeBSD 11.4 (the last version of FreeBSD 11) went end of life in September 2021, so nobody should be using it since it hasn't had security support since then. And memmem() has even been functional (but slow) since FreeBSD 11.0, and 10.4 went EOL in 2018. So users shouldn't actually be experiencing any actual functionality problems since then.

Let's draw the line to require FreeBSD 12 or newer (but we do not officially document it or enforce it by breaking build when compiled on older versions, at least not yet), which allows us to drop the special casing of FreeBSD 4.x and rely on platform implementation of memmem() unconditionally.

Signed-off-by: Brad Smith <brad@comstyle.com>
[jc: log message with help from info by brian carlson]
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 * So,... earlier I mentioned about officially documenting the EoL
   timeline for various platform support, but without any official
   one that documents the decision in one place, how about a commit
   with a detailed log like this one, which I stole from brian?
   No code changes since v2; only the log message talks more about
   where we draw the line and why.
 config.mak.uname | 6 ------
 1 file changed, 6 deletions(-)
diff --git a/config.mak.uname b/config.mak.uname
index b12d4e168a..5d18d92cb1 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -273,16 +273,10 @@ ifeq ($(uname_S),FreeBSD)
         ifeq ($(firstword $(subst -, ,$(uname_R))),10.1)
 		OLD_ICONV = YesPlease
         endif
-	NO_MEMMEM = YesPlease
 	BASIC_CFLAGS += -I/usr/local/include
 	BASIC_LDFLAGS += -L/usr/local/lib
 	DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
 	USE_ST_TIMESPEC = YesPlease
-        ifeq ($(shell expr "$(uname_R)" : '4\.'),2)
-		PTHREAD_LIBS = -pthread
-		NO_UINTMAX_T = YesPlease
-		NO_STRTOUMAX = YesPlease
-        endif
 	PYTHON_PATH = /usr/local/bin/python
 	PERL_PATH = /usr/local/bin/perl
 	HAVE_PATHS_H = YesPlease
-- 
2.50.0-rc2-215-g56f75d5edf
Previous: Carlo Marcelo Arenas BelónNext: Carlo Marcelo Arenas Belón
Message 4 of 11 in “Re: [PATCH v2] config.mak.uname: update settings for FreeBSD”
  1. Carlo ArenasJun 12, 2025
  2. brian m. carlsonJun 12, 2025
  3. Carlo Marcelo Arenas BelónJun 12, 2025
  4. config.mak.uname: update settings for FreeBSDJunio C Hamano, Jun 12, 2025
  5. Carlo Marcelo Arenas BelónJun 12, 2025
  6. Junio C HamanoJun 12, 2025
  7. 0/2 config.mak.uname: update settings for FreeBSDCarlo Marcelo Arenas Belón, Jul 2, 2025
  8. 1/2 config.mak.uname: set NO_MEMMEM only for functional versionCarlo Marcelo Arenas Belón, Jul 2, 2025
  9. 2/2 build: retire NO_UINTMAX_TCarlo Marcelo Arenas Belón, Jul 2, 2025
  10. Junio C HamanoJul 2, 2025
  11. Junio C HamanoJun 12, 2025

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.