gh-128279: Enhance the NetBSD compatibility for thread naming (#128280)

Enhance NetBSD compatibility for thread naming in _threadmodule.c.
diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c
index 75b34a8..2cbdfeb 100644
--- a/Modules/_threadmodule.c
+++ b/Modules/_threadmodule.c
@@ -2438,6 +2438,9 @@ _thread_set_name_impl(PyObject *module, PyObject *name_obj)
     const char *name = PyBytes_AS_STRING(name_encoded);
 #ifdef __APPLE__
     int rc = pthread_setname_np(name);
+#elif defined(__NetBSD__)
+    pthread_t thread = pthread_self();
+    int rc = pthread_setname_np(thread, "%s", (void *)name);
 #else
     pthread_t thread = pthread_self();
     int rc = pthread_setname_np(thread, name);
diff --git a/configure b/configure
index a697bc1..299eff6 100755
--- a/configure
+++ b/configure
@@ -29148,6 +29148,7 @@
 case "$ac_sys_system" in
   Linux*) PYTHREAD_NAME_MAXLEN=15;;  # Linux and Android
   SunOS*) PYTHREAD_NAME_MAXLEN=31;;
+  NetBSD*) PYTHREAD_NAME_MAXLEN=31;;
   Darwin) PYTHREAD_NAME_MAXLEN=63;;
   iOS) PYTHREAD_NAME_MAXLEN=63;;
   FreeBSD*) PYTHREAD_NAME_MAXLEN=98;;
diff --git a/configure.ac b/configure.ac
index ebc1550..badb19d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7514,6 +7514,7 @@
 case "$ac_sys_system" in
   Linux*) PYTHREAD_NAME_MAXLEN=15;;  # Linux and Android
   SunOS*) PYTHREAD_NAME_MAXLEN=31;;
+  NetBSD*) PYTHREAD_NAME_MAXLEN=31;;
   Darwin) PYTHREAD_NAME_MAXLEN=63;;
   iOS) PYTHREAD_NAME_MAXLEN=63;;
   FreeBSD*) PYTHREAD_NAME_MAXLEN=98;;