Report information
The Basics
Id:
46333
Status:
resolved
Priority:
Low/Low
Queue:

People
Owner:
Nobody in particular
Requestors:
Stephen Morris <stephen@isc.org>(email delivery suspended)
Cc:
AdminCc:

BugTracker
Version Fixed:
9.11.3, 9.12.0
Version Found:
9.12.0b1
Versions Affected:
(no value)
Versions Planned:
(no value)
Priority:
P3 Low
Severity:
S3 Low
CVSS Score:
(no value)
CVE ID:
(no value)
Component:
BIND Server
Area:
bug

Dates
Created:Thu, 19 Oct 2017 10:33:34 -0400
Updated:Tue, 30 Jan 2018 15:07:04 -0500
Closed:Fri, 20 Oct 2017 01:07:19 -0400



This bug tracker is no longer active.

Please go to our Gitlab to submit issues (both feature requests and bug reports) for active projects maintained by Internet Systems Consortium (ISC).

Due to security and confidentiality requirements, full access is limited to the primary maintainers.

Subject: Unit tests don't build on 32-bit systems when configured with --enable-developer
To: bind9-public@isc.org
From: stephen@isc.org
Date: Thu, 19 Oct 2017 14:33:34 +0000
FreeBSD 11 (i386) and also Ubuntu 12.04 (32 bit): After configuring BIND with --enable-developer (and --disable-atomic to overcome the issue identified in #46324), "make" failed with: ht_test.c: In function 'test_ht_full': ht_test.c:63:36: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] result = isc_ht_add(ht, key, 16, (void *) i); ^ In file included from /home/stephen/bind9/unit/atf/include/atf-c.h:34:0, from ht_test.c:13: ht_test.c:74:21: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast] ATF_REQUIRE_EQ(i, (isc_int64_t) f); ^ /home/stephen/bind9/unit/atf/include/atf-c/macros.h:136:15: note: in definition of macro 'ATF_REQUIRE_MSG' if (!(x)) \ ^ ... and several other similar errors in the same file. True, --enable-developer promotes warnings to errors and the unit tests can be built without this flag. However, the test appears to be assuming a particular pointer size.
On Thu Oct 19 04:33:35 2017, stephen wrote: > FreeBSD 11 (i386) and also Ubuntu 12.04 (32 bit): > > After configuring BIND with --enable-developer (and --disable-atomic > to overcome the issue identified in #46324), "make" failed with: > > ht_test.c: In function 'test_ht_full': > ht_test.c:63:36: error: cast to pointer from integer of different size > [-Werror=int-to-pointer-cast] > result = isc_ht_add(ht, key, 16, (void *) i); > ^ > In file included from /home/stephen/bind9/unit/atf/include/atf- > c.h:34:0, > from ht_test.c:13: > ht_test.c:74:21: error: cast from pointer to integer of different size > [-Werror=pointer-to-int-cast] > ATF_REQUIRE_EQ(i, (isc_int64_t) f); > ^ > /home/stephen/bind9/unit/atf/include/atf-c/macros.h:136:15: note: in > definition of macro 'ATF_REQUIRE_MSG' > if (!(x)) \ > ^ > > ... and several other similar errors in the same file. > > True, --enable-developer promotes warnings to errors and the unit > tests can be built without this flag. However, the test appears to be > assuming a particular pointer size. The tests assume the test values can be converted to a pointer and back which they can be. A proper static analyser can determine this. Casting though uintptr_t should fix this.
ready for review.