9.11.23: undefined reference to `isc_atomic_xadd' on arm
Summary
undefined reference to `isc_atomic_xadd' on 9.11.23
BIND version used
9.11.23
Steps to reproduce
build bind on arch without atomic support in lib/isc:
- armv7hl
- aarch64
- s390x
What is the current bug behavior?
I made new test build on Fedora. BIND 9.11.23 fails, where the same package with previous release passes.
What is the expected correct behavior?
Even platforms without explicit support for atomic operations still work.
Relevant configuration files
../configure --build=armv7hl-redhat-linux-gnu --host=armv7hl-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-python=/usr/bin/python3 --with-libtool --localstatedir=/var --enable-threads --enable-ipv6 --enable-filter-aaaa --with-pic --disable-static --includedir=/usr/include/bind9 --with-tuning=large --with-libidn2 --enable-openssl-hash --with-geoip2 --enable-native-pkcs11 --with-pkcs11=/usr/lib/pkcs11/libsofthsm2.so --with-dlopen=yes --with-dlz-ldap=yes --with-dlz-postgres=yes --with-dlz-mysql=yes --with-dlz-filesystem=yes --with-gssapi=yes --disable-isc-spnego --with-lmdb=yes --with-libjson --enable-dnstap --with-cmocka --enable-fixed-rrset --with-docbook-xsl=/usr/share/sgml/docbook/xsl-stylesheets --enable-full-report
Relevant logs and/or screenshots
libtool: compile: gcc -I/builddir/build/BUILD/bind-9.11.23/build -I../../../.. -I. -Iinclude -I/builddir/build/BUILD/bind-9.11.23/build/lib/dns/include -I../../../../lib/dns/include -I/builddir/build/BUILD/bind-9.11.23/build/lib/isc/include -I../../../../lib/isc -I../../../../lib/isc/include -I../../../../lib/isc/unix/include -I../../../../lib/isc/pthreads/include -I../../../../lib/isc/noatomic/include -D_REENTRANT -DOPENSSL -DTESTS=\"/builddir/build/BUILD/bind-9.11.23/build/lib/dns/tests/\" -DDIG_SIGCHASE -D_GNU_SOURCE -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -DPK11_FLAVOR=PK11_SOFTHSMV2_FLAVOR -I/usr/include/libxml2 -I/usr/include/google -fPIC -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing -fno-delete-null-pointer-checks -c ../../../../lib/dns/tests/zonemgr_test.c -fPIC -DPIC -o .libs/zonemgr_test.o
/bin/sh /builddir/build/BUILD/bind-9.11.23/build/libtool --mode=link --tag=CC gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -DPK11_FLAVOR=PK11_SOFTHSMV2_FLAVOR -I/usr/include/libxml2 -I/usr/include/google -fPIC \
-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--export-dynamic -o db_test db_test.lo dnstest.lo ../libdns.la -lmaxminddb -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lcrypto \
../../isc/libisc.la -ldl -lprotobuf-c -lfstrm -lcap -lz -ljson-c -llmdb -lpthread -lxml2 -lcmocka
/bin/sh /builddir/build/BUILD/bind-9.11.23/build/libtool --mode=link --tag=CC gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -DPK11_FLAVOR=PK11_SOFTHSMV2_FLAVOR -I/usr/include/libxml2 -I/usr/include/google -fPIC \
-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--export-dynamic -o dbdiff_test dbdiff_test.lo dnstest.lo \
../libdns.la -lmaxminddb -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lcrypto ../../isc/libisc.la -ldl -lprotobuf-c -lfstrm -lcap -lz -ljson-c -llmdb -lpthread -lxml2 -lcmocka
libtool: compile: gcc -I/builddir/build/BUILD/bind-9.11.23/build -I../../../.. -I. -Iinclude -I/builddir/build/BUILD/bind-9.11.23/build/lib/dns/include -I../../../../lib/dns/include -I/builddir/build/BUILD/bind-9.11.23/build/lib/isc/include -I../../../../lib/isc -I../../../../lib/isc/include -I../../../../lib/isc/unix/include -I../../../../lib/isc/pthreads/include -I../../../../lib/isc/noatomic/include -D_REENTRANT -DOPENSSL -DTESTS=\"/builddir/build/BUILD/bind-9.11.23/build/lib/dns/tests/\" -DDIG_SIGCHASE -D_GNU_SOURCE -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -DPK11_FLAVOR=PK11_SOFTHSMV2_FLAVOR -I/usr/include/libxml2 -I/usr/include/google -fPIC -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing -fno-delete-null-pointer-checks -c ../../../../lib/dns/tests/zt_test.c -fPIC -DPIC -o .libs/zt_test.o
libtool: link: gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -DPK11_FLAVOR=PK11_SOFTHSMV2_FLAVOR -I/usr/include/libxml2 -I/usr/include/google -fPIC -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--export-dynamic -o .libs/acl_test .libs/acl_test.o .libs/dnstest.o ../.libs/libdns.so /builddir/build/BUILD/bind-9.11.23/build/lib/isc/.libs/libisc.so -lmaxminddb -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err ../../isc/.libs/libisc.so -lcrypto -ldl -lprotobuf-c -lfstrm -lcap -lz -ljson-c -llmdb -lpthread -lxml2 -lcmocka
/bin/sh /builddir/build/BUILD/bind-9.11.23/build/libtool --mode=link --tag=CC gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -DPK11_FLAVOR=PK11_SOFTHSMV2_FLAVOR -I/usr/include/libxml2 -I/usr/include/google -fPIC \
-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--export-dynamic -o dbiterator_test dbiterator_test.lo dnstest.lo \
../libdns.la -lmaxminddb -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lcrypto ../../isc/libisc.la -ldl -lprotobuf-c -lfstrm -lcap -lz -ljson-c -llmdb -lpthread -lxml2 -lcmocka
libtool: link: gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -DPK11_FLAVOR=PK11_SOFTHSMV2_FLAVOR -I/usr/include/libxml2 -I/usr/include/google -fPIC -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--export-dynamic -o .libs/db_test .libs/db_test.o .libs/dnstest.o ../.libs/libdns.so /builddir/build/BUILD/bind-9.11.23/build/lib/isc/.libs/libisc.so -lmaxminddb -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err ../../isc/.libs/libisc.so -lcrypto -ldl -lprotobuf-c -lfstrm -lcap -lz -ljson-c -llmdb -lpthread -lxml2 -lcmocka
libtool: link: gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -DPK11_FLAVOR=PK11_SOFTHSMV2_FLAVOR -I/usr/include/libxml2 -I/usr/include/google -fPIC -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--export-dynamic -o .libs/dbdiff_test .libs/dbdiff_test.o .libs/dnstest.o ../.libs/libdns.so /builddir/build/BUILD/bind-9.11.23/build/lib/isc/.libs/libisc.so -lmaxminddb -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err ../../isc/.libs/libisc.so -lcrypto -ldl -lprotobuf-c -lfstrm -lcap -lz -ljson-c -llmdb -lpthread -lxml2 -lcmocka
/usr/bin/ld: ../.libs/libdns.so: undefined reference to `isc_atomic_xadd'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:519: acl_test] Error 1
make[3]: *** Waiting for unfinished jobs....
/usr/bin/ld: ../.libs/libdns.so: undefined reference to `isc_atomic_xadd'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:524: db_test] Error 1
/usr/bin/ld: ../.libs/libdns.so: undefined reference to `isc_atomic_xadd'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:529: dbdiff_test] Error 1
libtool: link: gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -DPK11_FLAVOR=PK11_SOFTHSMV2_FLAVOR -I/usr/include/libxml2 -I/usr/include/google -fPIC -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--export-dynamic -o .libs/dbiterator_test .libs/dbiterator_test.o .libs/dnstest.o ../.libs/libdns.so /builddir/build/BUILD/bind-9.11.23/build/lib/isc/.libs/libisc.so -lmaxminddb -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err ../../isc/.libs/libisc.so -lcrypto -ldl -lprotobuf-c -lfstrm -lcap -lz -ljson-c -llmdb -lpthread -lxml2 -lcmocka
/usr/bin/ld: ../.libs/libdns.so: undefined reference to `isc_atomic_xadd'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:534: dbiterator_test] Error 1
make[3]: Leaving directory '/builddir/build/BUILD/bind-9.11.23/build/lib/dns/tests'
make[2]: *** [Makefile:292: testdirs] Error 1
make[2]: Leaving directory '/builddir/build/BUILD/bind-9.11.23/build/lib/dns'
make[1]: *** [Makefile:82: subdirs] Error 1
make[1]: Leaving directory '/builddir/build/BUILD/bind-9.11.23/build/lib'
make: *** [Makefile:88: subdirs] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.dP3EtO (%build)
Bad exit status from /var/tmp/rpm-tmp.dP3EtO (%build)
Possible fixes
Have not yet found cause, or fix. No locking change was mentioned in release notes.