Module Name:    src
Committed By:   christos
Date:           Mon Jan 27 02:16:05 UTC 2025

Modified Files:
        src/external/mpl/bind/dist/lib/dns: qp.c xfrin.c zone.c
        src/external/mpl/bind/dist/lib/isc: histo.c
        src/external/mpl/bind/dist/lib/isc/include/isc: types.h
        src/external/mpl/bind/dist/lib/ns: client.c
        src/external/mpl/bind/dist/lib/ns/include/ns: client.h

Log Message:
Fix the _ILP32 build.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/mpl/bind/dist/lib/dns/qp.c
cvs rdiff -u -r1.16 -r1.17 src/external/mpl/bind/dist/lib/dns/xfrin.c
cvs rdiff -u -r1.21 -r1.22 src/external/mpl/bind/dist/lib/dns/zone.c
cvs rdiff -u -r1.2 -r1.3 src/external/mpl/bind/dist/lib/isc/histo.c
cvs rdiff -u -r1.13 -r1.14 \
    src/external/mpl/bind/dist/lib/isc/include/isc/types.h
cvs rdiff -u -r1.22 -r1.23 src/external/mpl/bind/dist/lib/ns/client.c
cvs rdiff -u -r1.18 -r1.19 \
    src/external/mpl/bind/dist/lib/ns/include/ns/client.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/mpl/bind/dist/lib/dns/qp.c
diff -u src/external/mpl/bind/dist/lib/dns/qp.c:1.2 src/external/mpl/bind/dist/lib/dns/qp.c:1.3
--- src/external/mpl/bind/dist/lib/dns/qp.c:1.2	Sun Jan 26 11:25:24 2025
+++ src/external/mpl/bind/dist/lib/dns/qp.c	Sun Jan 26 21:16:05 2025
@@ -1,4 +1,4 @@
-/*	$NetBSD: qp.c,v 1.2 2025/01/26 16:25:24 christos Exp $	*/
+/*	$NetBSD: qp.c,v 1.3 2025/01/27 02:16:05 christos Exp $	*/
 
 /*
  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
@@ -63,9 +63,33 @@
  * XXXFANF for now we're logging GC times, but ideally we should
  * accumulate stats more quietly and report via the statschannel
  */
+#ifdef _LP64
 static atomic_uint_fast64_t compact_time;
 static atomic_uint_fast64_t recycle_time;
 static atomic_uint_fast64_t rollback_time;
+#define ISC_QP_ADD(v, a) atomic_fetch_add_relaxed(&(v), (a))
+#define ISC_QP_GET(v) atomic_load_relaxed(v)
+#else
+static uint64_t compact_time;
+static uint64_t recycle_time;
+static uint64_t rollback_time;
+static isc_mutex_t qp_mutex = PTHREAD_MUTEX_INITIALIZER;
+#define ISC_QP_ADD(v, a) \
+	({ \
+		isc_mutex_lock(&qp_mutex); \
+		uint64_t x = (v) + (a); \
+		isc_mutex_unlock(&qp_mutex); \
+		x; \
+	})
+#define ISC_QP_GET(v) \
+	({ \
+		isc_mutex_lock(&qp_mutex); \
+		uint64_t x = (v); \
+		isc_mutex_unlock(&qp_mutex); \
+		x; \
+	})
+#endif
+
 
 /* for LOG_STATS() format strings */
 #define PRItime " %" PRIu64 " ns "
@@ -680,7 +704,7 @@ recycle(dns_qp_t *qp) {
 	}
 
 	isc_nanosecs_t time = isc_time_monotonic() - start;
-	atomic_fetch_add_relaxed(&recycle_time, time);
+	ISC_QP_ADD(recycle_time, time);
 
 	if (free > 0) {
 		LOG_STATS("qp recycle" PRItime "free %u chunks", time, free);
@@ -723,7 +747,7 @@ reclaim_chunks_cb(struct rcu_head *arg) 
 			     STRUCT_FLEX_SIZE(rcuctx, chunk, rcuctx->count));
 
 	isc_nanosecs_t time = isc_time_monotonic() - start;
-	recycle_time += time;
+	ISC_QP_ADD(recycle_time, time);
 
 	if (free > 0) {
 		LOG_STATS("qp reclaim" PRItime "free %u chunks", time, free);
@@ -816,7 +840,7 @@ marksweep_chunks(dns_qpmulti_t *multi) {
 	}
 
 	isc_nanosecs_t time = isc_time_monotonic() - start;
-	recycle_time += time;
+	ISC_QP_ADD(recycle_time, time);
 
 	if (free > 0) {
 		LOG_STATS("qp marksweep" PRItime "free %u chunks", time, free);
@@ -945,7 +969,7 @@ compact(dns_qp_t *qp) {
 	qp->compact_all = false;
 
 	isc_nanosecs_t time = isc_time_monotonic() - start;
-	atomic_fetch_add_relaxed(&compact_time, time);
+	ISC_QP_ADD(compact_time, time);
 
 	LOG_STATS("qp compact" PRItime
 		  "leaf %u live %u used %u free %u hold %u",
@@ -1073,9 +1097,9 @@ dns_qpmulti_memusage(dns_qpmulti_t *mult
 void
 dns_qp_gctime(isc_nanosecs_t *compact_p, isc_nanosecs_t *recycle_p,
 	      isc_nanosecs_t *rollback_p) {
-	*compact_p = atomic_load_relaxed(&compact_time);
-	*recycle_p = atomic_load_relaxed(&recycle_time);
-	*rollback_p = atomic_load_relaxed(&rollback_time);
+	*compact_p = ISC_QP_GET(compact_time);
+	*recycle_p = ISC_QP_GET(recycle_time);
+	*rollback_p = ISC_QP_GET(rollback_time);
 }
 
 /***********************************************************************
@@ -1300,7 +1324,7 @@ dns_qpmulti_rollback(dns_qpmulti_t *mult
 	INSIST(multi->rollback == NULL);
 
 	isc_nanosecs_t time = isc_time_monotonic() - start;
-	atomic_fetch_add_relaxed(&rollback_time, time);
+	ISC_QP_ADD(rollback_time, time);
 
 	LOG_STATS("qp rollback" PRItime "free %u chunks", time, free);
 

Index: src/external/mpl/bind/dist/lib/dns/xfrin.c
diff -u src/external/mpl/bind/dist/lib/dns/xfrin.c:1.16 src/external/mpl/bind/dist/lib/dns/xfrin.c:1.17
--- src/external/mpl/bind/dist/lib/dns/xfrin.c:1.16	Sun Jan 26 11:25:26 2025
+++ src/external/mpl/bind/dist/lib/dns/xfrin.c	Sun Jan 26 21:16:05 2025
@@ -1,4 +1,4 @@
-/*	$NetBSD: xfrin.c,v 1.16 2025/01/26 16:25:26 christos Exp $	*/
+/*	$NetBSD: xfrin.c,v 1.17 2025/01/27 02:16:05 christos Exp $	*/
 
 /*
  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
@@ -84,6 +84,34 @@ typedef enum {
 	XFRST_AXFR_END
 } xfrin_state_t;
 
+#ifdef _LP64
+#define ISC_XFRIN_LOAD(a, t)	atomic_load_relaxed(a)
+#define ISC_XFRIN_STORE(a, b)	atomic_store_relaxed(a, b)
+#define ISC_XFRIN_ADD(a, b) 	atomic_fetch_add_relaxed(a, b)
+#else
+static isc_mutex_t xfrin_lock = PTHREAD_MUTEX_INITIALIZER;
+#define ISC_XFRIN_LOAD(a, t) \
+	({ \
+		isc_mutex_lock(&xfrin_lock); \
+		t x = *(a); \
+		isc_mutex_unlock(&xfrin_lock); \
+		x; \
+	})
+#define ISC_XFRIN_STORE(a, b) \
+	({ \
+		isc_mutex_lock(&xfrin_lock); \
+		 *(a) = (b); \
+		isc_mutex_unlock(&xfrin_lock); \
+	})
+#define ISC_XFRIN_ADD(a, b) \
+	({ \
+		isc_mutex_lock(&xfrin_lock); \
+		 *(a) += (b); \
+		isc_mutex_unlock(&xfrin_lock); \
+	})
+#endif
+
+
 /*%
  * Incoming zone transfer context.
  */
@@ -153,8 +181,13 @@ struct dns_xfrin {
 	 */
 	atomic_uint nmsg;	     /*%< Number of messages recvd */
 	atomic_uint nrecs;	     /*%< Number of records recvd */
+#ifdef _LP64
 	atomic_uint_fast64_t nbytes; /*%< Number of bytes received */
 	_Atomic(isc_time_t) start;   /*%< Start time of the transfer */
+#else
+	atomic_uint_fast32_t nbytes; /*%< Number of bytes received */
+	isc_time_t start;	     /*%< Start time of the transfer */
+#endif
 	_Atomic(dns_transport_type_t) soa_transport_type;
 	atomic_uint_fast32_t end_serial;
 
@@ -967,7 +1000,7 @@ isc_time_t
 dns_xfrin_getstarttime(dns_xfrin_t *xfr) {
 	REQUIRE(VALID_XFRIN(xfr));
 
-	return atomic_load_relaxed(&xfr->start);
+	return ISC_XFRIN_LOAD(&xfr->start, isc_time_t);
 }
 
 void
@@ -1030,7 +1063,7 @@ dns_xfrin_getstats(dns_xfrin_t *xfr, uns
 
 	SET_IF_NOT_NULL(nmsgp, atomic_load_relaxed(&xfr->nmsg));
 	SET_IF_NOT_NULL(nrecsp, atomic_load_relaxed(&xfr->nrecs));
-	SET_IF_NOT_NULL(nbytesp, atomic_load_relaxed(&xfr->nbytes));
+	SET_IF_NOT_NULL(nbytesp, ISC_XFRIN_LOAD(&xfr->nbytes, uint64_t));
 }
 
 const isc_sockaddr_t *
@@ -1218,7 +1251,7 @@ xfrin_create(isc_mem_t *mctx, dns_zone_t
 		atomic_init(&xfr->state, XFRST_ZONEXFRREQUEST);
 	}
 
-	atomic_init(&xfr->start, isc_time_now());
+	ISC_XFRIN_STORE(&xfr->start, isc_time_now());
 
 	if (tsigkey != NULL) {
 		dns_tsigkey_attach(tsigkey, &xfr->tsigkey);
@@ -1588,8 +1621,8 @@ xfrin_send_request(dns_xfrin_t *xfr) {
 
 	atomic_store_relaxed(&xfr->nmsg, 0);
 	atomic_store_relaxed(&xfr->nrecs, 0);
-	atomic_store_relaxed(&xfr->nbytes, 0);
-	atomic_store_relaxed(&xfr->start, isc_time_now());
+	ISC_XFRIN_STORE(&xfr->nbytes, 0);
+	ISC_XFRIN_STORE(&xfr->start, isc_time_now());
 
 	msg->id = xfr->id;
 	if (xfr->tsigctx != NULL) {
@@ -1967,7 +2000,7 @@ xfrin_recv_done(isc_result_t result, isc
 	 * Update the number of messages and bytes received.
 	 */
 	atomic_fetch_add_relaxed(&xfr->nmsg, 1);
-	atomic_fetch_add_relaxed(&xfr->nbytes, buffer.used);
+	ISC_XFRIN_ADD(&xfr->nbytes, buffer.used);
 
 	/*
 	 * Take the context back.
@@ -2050,12 +2083,12 @@ xfrin_destroy(dns_xfrin_t *xfr) {
 	 * Calculate the length of time the transfer took,
 	 * and print a log message with the bytes and rate.
 	 */
-	isc_time_t start = atomic_load_relaxed(&xfr->start);
+	isc_time_t start = ISC_XFRIN_LOAD(&xfr->start, isc_time_t);
 	msecs = isc_time_microdiff(&now, &start) / 1000;
 	if (msecs == 0) {
 		msecs = 1;
 	}
-	persec = (atomic_load_relaxed(&xfr->nbytes) * 1000) / msecs;
+	persec = (ISC_XFRIN_LOAD(&xfr->nbytes, uint64_t) * 1000) / msecs;
 
 	if (xfr->expireoptset) {
 		sep = ", expire option ";
@@ -2068,7 +2101,7 @@ xfrin_destroy(dns_xfrin_t *xfr) {
 		  "%u.%03u secs (%u bytes/sec) (serial %" PRIuFAST32 "%s%s)",
 		  atomic_load_relaxed(&xfr->nmsg),
 		  atomic_load_relaxed(&xfr->nrecs),
-		  atomic_load_relaxed(&xfr->nbytes),
+		  ISC_XFRIN_LOAD(&xfr->nbytes, uint64_t),
 		  (unsigned int)(msecs / 1000), (unsigned int)(msecs % 1000),
 		  (unsigned int)persec, atomic_load_relaxed(&xfr->end_serial),
 		  sep, expireopt);

Index: src/external/mpl/bind/dist/lib/dns/zone.c
diff -u src/external/mpl/bind/dist/lib/dns/zone.c:1.21 src/external/mpl/bind/dist/lib/dns/zone.c:1.22
--- src/external/mpl/bind/dist/lib/dns/zone.c:1.21	Sun Jan 26 11:25:26 2025
+++ src/external/mpl/bind/dist/lib/dns/zone.c	Sun Jan 26 21:16:05 2025
@@ -1,4 +1,4 @@
-/*	$NetBSD: zone.c,v 1.21 2025/01/26 16:25:26 christos Exp $	*/
+/*	$NetBSD: zone.c,v 1.22 2025/01/27 02:16:05 christos Exp $	*/
 
 /*
  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
@@ -260,6 +260,9 @@ struct dns_zone {
 	/* Unlocked */
 	unsigned int magic;
 	isc_mutex_t lock;
+#ifndef _LP64
+	isc_mutex_t atomic_lock;
+#endif
 #ifdef DNS_ZONE_CHECKLOCK
 	bool locked;
 #endif /* ifdef DNS_ZONE_CHECKLOCK */
@@ -289,8 +292,13 @@ struct dns_zone {
 	int32_t journalsize;
 	dns_rdataclass_t rdclass;
 	dns_zonetype_t type;
+#ifdef _LP64
 	atomic_uint_fast64_t flags;
 	atomic_uint_fast64_t options;
+#else
+	uint64_t flags;
+	uint64_t options;
+#endif
 	unsigned int db_argc;
 	char **db_argv;
 	isc_time_t expiretime;
@@ -431,7 +439,11 @@ struct dns_zone {
 	/*%
 	 * Autosigning/key-maintenance options
 	 */
+#ifdef _LP64
 	atomic_uint_fast64_t keyopts;
+#else
+	uint64_t keyopts;
+#endif
 
 	/*%
 	 * True if added by "rndc addzone"
@@ -518,10 +530,38 @@ struct dns_zone {
 		(_z)->diff = (d);          \
 		(_z)->offline = false;     \
 	} while (0)
+#ifdef _LP64
+#define ISC_ZONE_GET(z, f) atomic_load_relaxed(&(z)->f)
+#define ISC_ZONE_SET(z, f, o) atomic_fetch_or(&(z)->f, (o))
+#define DNS_ZONE_CLR(z, f, o) atomic_fetch_and(&(z)->f, ~(o))
+#else
+#define ISC_ZONE_GET(z, f) \
+	({ \
+		isc_mutex_lock(&(z)->atomic_lock); \
+		uint64_t x = (z)->f; \
+		isc_mutex_unlock(&(z)->atomic_lock); \
+		x; \
+	})
+#define ISC_ZONE_SET(z, f, o) \
+	({ \
+		isc_mutex_lock(&(z)->atomic_lock); \
+		uint64_t x = ((z)->f | (o)); \
+		isc_mutex_unlock(&(z)->atomic_lock); \
+		x; \
+	})
+#define ISC_ZONE_CLR(z, f, o) \
+	({ \
+		isc_mutex_lock(&(z)->atomic_lock); \
+		uint64_t x = ((z)->f & ~(o)); \
+		isc_mutex_unlock(&(z)->atomic_lock); \
+		x; \
+	})
+#endif
+#define ISC_ZONE_TEST(z, f, o) ((ISC_ZONE_GET(z, f) & (o)) != 0)
 
-#define DNS_ZONE_FLAG(z, f)    ((atomic_load_relaxed(&(z)->flags) & (f)) != 0)
-#define DNS_ZONE_SETFLAG(z, f) atomic_fetch_or(&(z)->flags, (f))
-#define DNS_ZONE_CLRFLAG(z, f) atomic_fetch_and(&(z)->flags, ~(f))
+#define DNS_ZONE_FLAG(z, f)    ISC_ZONE_TEST(z, flags, f)
+#define DNS_ZONE_SETFLAG(z, f) ISC_ZONE_SET(z, flags, f)
+#define DNS_ZONE_CLRFLAG(z, f) ISC_ZONE_CLR(z, flags, f)
 typedef enum {
 	DNS_ZONEFLG_REFRESH = 0x00000001U,     /*%< refresh check in progress */
 	DNS_ZONEFLG_NEEDDUMP = 0x00000002U,    /*%< zone need consolidation */
@@ -571,14 +611,14 @@ typedef enum {
 	DNS_ZONEFLG___MAX = UINT64_MAX, /* trick to make the ENUM 64-bit wide */
 } dns_zoneflg_t;
 
-#define DNS_ZONE_OPTION(z, o)	 ((atomic_load_relaxed(&(z)->options) & (o)) != 0)
-#define DNS_ZONE_SETOPTION(z, o) atomic_fetch_or(&(z)->options, (o))
-#define DNS_ZONE_CLROPTION(z, o) atomic_fetch_and(&(z)->options, ~(o))
-
-#define DNS_ZONEKEY_OPTION(z, o) \
-	((atomic_load_relaxed(&(z)->keyopts) & (o)) != 0)
-#define DNS_ZONEKEY_SETOPTION(z, o) atomic_fetch_or(&(z)->keyopts, (o))
-#define DNS_ZONEKEY_CLROPTION(z, o) atomic_fetch_and(&(z)->keyopts, ~(o))
+
+#define DNS_ZONE_OPTION(z, o)		ISC_ZONE_TEST(z, options, o)
+#define DNS_ZONE_SETOPTION(z, o)	ISC_ZONE_SET(z, options, o)
+#define DNS_ZONE_CLROPTION(z, o)	ISC_ZONE_CLR(z, options, o)
+#define DNS_ZONEKEY_OPTION(z, o)	ISC_ZONE_TEST(z, keyopts, o)
+#define DNS_ZONEKEY_SETOPTION(z, o)	ISC_ZONE_SET(z, keyopts, o)
+#define DNS_ZONEKEY_CLROPTION(z, o)	ISC_ZONE_CLR(z, keyopts, o)
+
 
 /* Flags for zone_load() */
 typedef enum {
@@ -1166,6 +1206,9 @@ dns_zone_create(dns_zone_t **zonep, isc_
 
 	isc_mem_attach(mctx, &zone->mctx);
 	isc_mutex_init(&zone->lock);
+#ifndef _LP64
+	isc_mutex_init(&zone->atomic_lock);
+#endif
 	ZONEDB_INITLOCK(&zone->dblock);
 
 	isc_refcount_init(&zone->references, 1);
@@ -1374,6 +1417,9 @@ zone_free(dns_zone_t *zone) {
 	/* last stuff */
 	ZONEDB_DESTROYLOCK(&zone->dblock);
 	isc_mutex_destroy(&zone->lock);
+#ifndef _LP64
+	isc_mutex_destroy(&zone->atomic_lock);
+#endif
 	zone->magic = 0;
 	isc_mem_putanddetach(&zone->mctx, zone, sizeof(*zone));
 }
@@ -5803,7 +5849,7 @@ dns_zoneopt_t
 dns_zone_getoptions(dns_zone_t *zone) {
 	REQUIRE(DNS_ZONE_VALID(zone));
 
-	return atomic_load_relaxed(&zone->options);
+	return ISC_ZONE_GET(zone, options);
 }
 
 void
@@ -5821,7 +5867,7 @@ unsigned int
 dns_zone_getkeyopts(dns_zone_t *zone) {
 	REQUIRE(DNS_ZONE_VALID(zone));
 
-	return atomic_load_relaxed(&zone->keyopts);
+	return ISC_ZONE_GET(zone, keyopts);
 }
 
 isc_result_t
@@ -11431,7 +11477,7 @@ zone_refresh(dns_zone_t *zone) {
 	 * in progress at a time.
 	 */
 
-	oldflags = atomic_load(&zone->flags);
+	oldflags = ISC_ZONE_GET(zone, flags);
 	if (dns_remote_addresses(&zone->primaries) == NULL) {
 		DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_NOPRIMARIES);
 		if ((oldflags & DNS_ZONEFLG_NOPRIMARIES) == 0) {

Index: src/external/mpl/bind/dist/lib/isc/histo.c
diff -u src/external/mpl/bind/dist/lib/isc/histo.c:1.2 src/external/mpl/bind/dist/lib/isc/histo.c:1.3
--- src/external/mpl/bind/dist/lib/isc/histo.c:1.2	Sun Jan 26 11:25:37 2025
+++ src/external/mpl/bind/dist/lib/isc/histo.c	Sun Jan 26 21:16:05 2025
@@ -1,4 +1,4 @@
-/*	$NetBSD: histo.c,v 1.2 2025/01/26 16:25:37 christos Exp $	*/
+/*	$NetBSD: histo.c,v 1.3 2025/01/27 02:16:05 christos Exp $	*/
 
 /*
  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
@@ -62,7 +62,11 @@
 #define MAXCHUNK(hg)  EXPONENTS(hg)
 #define CHUNKSIZE(hg) MANTISSAS(hg)
 
+#ifdef _LP64
 typedef atomic_uint_fast64_t hg_bucket_t;
+#else
+typedef atomic_uint_fast32_t hg_bucket_t;
+#endif
 typedef atomic_ptr(hg_bucket_t) hg_chunk_t;
 
 struct isc_histo {

Index: src/external/mpl/bind/dist/lib/isc/include/isc/types.h
diff -u src/external/mpl/bind/dist/lib/isc/include/isc/types.h:1.13 src/external/mpl/bind/dist/lib/isc/include/isc/types.h:1.14
--- src/external/mpl/bind/dist/lib/isc/include/isc/types.h:1.13	Sun Jan 26 11:25:43 2025
+++ src/external/mpl/bind/dist/lib/isc/include/isc/types.h	Sun Jan 26 21:16:05 2025
@@ -1,4 +1,4 @@
-/*	$NetBSD: types.h,v 1.13 2025/01/26 16:25:43 christos Exp $	*/
+/*	$NetBSD: types.h,v 1.14 2025/01/27 02:16:05 christos Exp $	*/
 
 /*
  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
@@ -74,8 +74,13 @@ typedef struct isc_sockaddr	 isc_sockadd
 typedef ISC_LIST(isc_sockaddr_t) isc_sockaddrlist_t; /*%< Socket Address List
 						      * */
 typedef struct isc_stats      isc_stats_t;	     /*%< Statistics */
+#ifdef _LP64
 typedef int_fast64_t	      isc_statscounter_t;
 typedef atomic_int_fast64_t   isc_atomic_statscounter_t;
+#else
+typedef int_fast32_t	      isc_statscounter_t;
+typedef atomic_int_fast32_t   isc_atomic_statscounter_t;
+#endif
 typedef struct isc_symtab     isc_symtab_t;	/*%< Symbol Table */
 typedef struct isc_textregion isc_textregion_t; /*%< Text Region */
 typedef struct isc_time	      isc_time_t;	/*%< Time */

Index: src/external/mpl/bind/dist/lib/ns/client.c
diff -u src/external/mpl/bind/dist/lib/ns/client.c:1.22 src/external/mpl/bind/dist/lib/ns/client.c:1.23
--- src/external/mpl/bind/dist/lib/ns/client.c:1.22	Sun Jan 26 11:25:45 2025
+++ src/external/mpl/bind/dist/lib/ns/client.c	Sun Jan 26 21:16:05 2025
@@ -1,4 +1,4 @@
-/*	$NetBSD: client.c,v 1.22 2025/01/26 16:25:45 christos Exp $	*/
+/*	$NetBSD: client.c,v 1.23 2025/01/27 02:16:05 christos Exp $	*/
 
 /*
  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
@@ -118,7 +118,11 @@
 #define NS_CLIENT_DROPPORT 1
 #endif /* ifndef NS_CLIENT_DROPPORT */
 
+#ifdef _LP64
 atomic_uint_fast64_t ns_client_requests = 0;
+#else
+atomic_uint_fast32_t ns_client_requests = 0;
+#endif
 
 static atomic_uint_fast32_t last_sigchecks_quota_log = 0;
 

Index: src/external/mpl/bind/dist/lib/ns/include/ns/client.h
diff -u src/external/mpl/bind/dist/lib/ns/include/ns/client.h:1.18 src/external/mpl/bind/dist/lib/ns/include/ns/client.h:1.19
--- src/external/mpl/bind/dist/lib/ns/include/ns/client.h:1.18	Sun Jan 26 11:25:46 2025
+++ src/external/mpl/bind/dist/lib/ns/include/ns/client.h	Sun Jan 26 21:16:05 2025
@@ -1,4 +1,4 @@
-/*	$NetBSD: client.h,v 1.18 2025/01/26 16:25:46 christos Exp $	*/
+/*	$NetBSD: client.h,v 1.19 2025/01/27 02:16:05 christos Exp $	*/
 
 /*
  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
@@ -268,7 +268,11 @@ struct ns_client {
  */
 #define NS_FAILCACHE_CD 0x01
 
+#ifdef _LP64
 extern atomic_uint_fast64_t ns_client_requests;
+#else
+extern atomic_uint_fast32_t ns_client_requests;
+#endif
 
 /***
  *** Functions

Reply via email to