Patches to fix isc_atomic_xadd problem (Solaris, HP-UX and other rare CPU architectures)

Ondřej Surý ondrej at
Fri Apr 26 20:08:23 UTC 2019


when backporting the patch to fix TCP Client Issue a design decision was made to not use stdatomic.h (as used in 9.14+), but rather use the old ISC atomic API that we believed was more compatible with existing user base. Unfortunately, it has slipped our attention that said API lack support for less common CPU architectures. So far, we’ve been made aware about HP-UX, Solaris sparc and various fringe Linux architectures.

As immediate remedy to the problem, we are encouraging users to use following patches:

# BIND 9.11.6-P1

Patch replacing isc_atomic_xadd with isc_refcount API in BIND 9.11:
The patch will be part of next regular BIND 9.11.7 release.

If by any chance your compiler doesn’t support GNU extensions, you might also want to apply:
We introduced this as a fix for alignment problem on Solaris, but it broke HP-UX.

# BIND 9.12.4-P1

Patch replacing isc_atomic_xadd with isc_refcount API in BIND 9.12.4-P1:
Please note that BIND 9.12 has reached EOL and there will be only new release if there’s serious security issue.  We hope not.

# BIND 9.14.1

For BIND 9.14.1, a patch would be needed only if you are using GCC with only the old atomic intrinsic, but here it is anyway:

I apologise for the inconvenience this has caused for platforms we don’t have support for old atomics.

Ondřej Surý
ondrej at

More information about the bind-users mailing list