This is an automated email from the git hooks/post-receive script.
firstyear pushed a commit to branch 389-ds-base-1.3.5
in repository 389-ds-base.
commit 0b5b193deccea4700b99c22c4807a99e1514c8ee
Author: William Brown <firstyear(a)redhat.com>
Date: Wed Mar 22 15:19:00 2017 +1000
Ticket 48989 - Improve counter overflow fix
Fix Description:
* load should only be a load, no cmp xchg
* set can be a store_n, which still is atomic. We don't need cmp xchg
* Add a cmocka test case of the values
* remove the sunos asm
* remove the x86 asm
https://pagure.io/389-ds-base/issue/48989
Author: wibrown
Review by: mreynolds (Thanks!)
---
Makefile.am | 3 -
Makefile.in | 261 +++++++++--------------
config.guess | 165 ++++++++------
config.h.in | 8 +-
config.sub | 52 +++--
configure | 108 +++++-----
ldap/servers/slapd/slapi_counter.c | 89 +-------
ldap/servers/slapd/slapi_counter_sunos_sparcv9.S | 105 ---------
test/libslapd/counters/atomic.c | 69 ++++++
9 files changed, 358 insertions(+), 502 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index d54a2cc..f885eea 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1059,9 +1059,6 @@ libslapd_la_SOURCES = ldap/servers/slapd/add.c \
$(libavl_a_SOURCES)
libslapd_la_CPPFLAGS = $(PLUGIN_CPPFLAGS) @sasl_inc@ @db_inc@ @svrcore_inc@
@kerberos_inc@ @pcre_inc@
-if SPARC
-libslapd_la_SOURCES += ldap/servers/slapd/slapi_counter_sunos_sparcv9.S
-endif
libslapd_la_LIBADD = $(LDAPSDK_LINK) $(SASL_LINK) $(NUNC_STANS_LINK) $(SVRCORE_LINK)
$(NSS_LINK) $(NSPR_LINK) $(KERBEROS_LINK) $(PCRE_LINK) $(THREADLIB) $(SYSTEMD_LINK)
diff --git a/Makefile.in b/Makefile.in
index 21460d0..aebf284 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -99,9 +99,8 @@ bin_PROGRAMS = dbscan-bin$(EXEEXT) dsktune-bin$(EXEEXT) \
migratecred-bin$(EXEEXT) mmldif-bin$(EXEEXT) \
pwdhash-bin$(EXEEXT) rsearch-bin$(EXEEXT)
noinst_PROGRAMS = makstrdb$(EXEEXT)
-@SPARC_TRUE@am__append_1 = ldap/servers/slapd/slapi_counter_sunos_sparcv9.S
-@SOLARIS_TRUE@am__append_2 = -lrt
-@SOLARIS_TRUE@am__append_3 = ldap/servers/slapd/tools/ldclt/opCheck.c
+@SOLARIS_TRUE@am__append_1 = -lrt
+@SOLARIS_TRUE@am__append_2 = ldap/servers/slapd/tools/ldclt/opCheck.c
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -721,64 +720,7 @@ libslapd_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
$(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-am__libslapd_la_SOURCES_DIST = ldap/servers/slapd/add.c \
- ldap/servers/slapd/agtmmap.c ldap/servers/slapd/apibroker.c \
- ldap/servers/slapd/attr.c ldap/servers/slapd/attrlist.c \
- ldap/servers/slapd/attrsyntax.c ldap/servers/slapd/auditlog.c \
- ldap/servers/slapd/ava.c ldap/servers/slapd/backend.c \
- ldap/servers/slapd/backend_manager.c \
- ldap/servers/slapd/bitset.c ldap/servers/slapd/bulk_import.c \
- ldap/servers/slapd/charray.c ldap/servers/slapd/ch_malloc.c \
- ldap/servers/slapd/computed.c ldap/servers/slapd/control.c \
- ldap/servers/slapd/counters.c ldap/servers/slapd/csn.c \
- ldap/servers/slapd/csngen.c ldap/servers/slapd/csnset.c \
- ldap/servers/slapd/defbackend.c ldap/servers/slapd/delete.c \
- ldap/servers/slapd/dl.c ldap/servers/slapd/dn.c \
- ldap/servers/slapd/dse.c ldap/servers/slapd/dynalib.c \
- ldap/servers/slapd/entry.c ldap/servers/slapd/entrywsi.c \
- ldap/servers/slapd/errormap.c ldap/servers/slapd/eventq.c \
- ldap/servers/slapd/factory.c ldap/servers/slapd/features.c \
- ldap/servers/slapd/fileio.c ldap/servers/slapd/filter.c \
- ldap/servers/slapd/filtercmp.c \
- ldap/servers/slapd/filterentry.c \
- ldap/servers/slapd/generation.c \
- ldap/servers/slapd/getfilelist.c \
- ldap/servers/slapd/index_subsystem.c \
- ldap/servers/slapd/ldaputil.c ldap/servers/slapd/lenstr.c \
- ldap/servers/slapd/libglobs.c ldap/servers/slapd/localhost.c \
- ldap/servers/slapd/log.c ldap/servers/slapd/mapping_tree.c \
- ldap/servers/slapd/match.c ldap/servers/slapd/modify.c \
- ldap/servers/slapd/modrdn.c ldap/servers/slapd/modutil.c \
- ldap/servers/slapd/object.c ldap/servers/slapd/objset.c \
- ldap/servers/slapd/operation.c ldap/servers/slapd/opshared.c \
- ldap/servers/slapd/pagedresults.c ldap/servers/slapd/pblock.c \
- ldap/servers/slapd/plugin.c ldap/servers/slapd/plugin_acl.c \
- ldap/servers/slapd/plugin_internal_op.c \
- ldap/servers/slapd/plugin_mr.c \
- ldap/servers/slapd/plugin_role.c \
- ldap/servers/slapd/plugin_syntax.c \
- ldap/servers/slapd/protect_db.c ldap/servers/slapd/proxyauth.c \
- ldap/servers/slapd/pw.c ldap/servers/slapd/pw_retry.c \
- ldap/servers/slapd/rdn.c ldap/servers/slapd/referral.c \
- ldap/servers/slapd/regex.c ldap/servers/slapd/resourcelimit.c \
- ldap/servers/slapd/result.c ldap/servers/slapd/sasl_map.c \
- ldap/servers/slapd/schema.c ldap/servers/slapd/schemaparse.c \
- ldap/servers/slapd/security_wrappers.c \
- ldap/servers/slapd/slapd_plhash.c \
- ldap/servers/slapd/slapi_counter.c \
- ldap/servers/slapd/slapi2nspr.c \
- ldap/servers/slapd/snmp_collator.c ldap/servers/slapd/sort.c \
- ldap/servers/slapd/ssl.c ldap/servers/slapd/str2filter.c \
- ldap/servers/slapd/subentry.c ldap/servers/slapd/task.c \
- ldap/servers/slapd/time.c ldap/servers/slapd/thread_data.c \
- ldap/servers/slapd/uniqueid.c ldap/servers/slapd/uniqueidgen.c \
- ldap/servers/slapd/utf8.c ldap/servers/slapd/utf8compare.c \
- ldap/servers/slapd/util.c ldap/servers/slapd/uuid.c \
- ldap/servers/slapd/value.c ldap/servers/slapd/valueset.c \
- ldap/servers/slapd/vattr.c ldap/libraries/libavl/avl.c \
- ldap/servers/slapd/slapi_counter_sunos_sparcv9.S
am__objects_2 = ldap/libraries/libavl/libslapd_la-avl.lo
-@SPARC_TRUE@am__objects_3 =
ldap/servers/slapd/libslapd_la-slapi_counter_sunos_sparcv9.lo
am_libslapd_la_OBJECTS = ldap/servers/slapd/libslapd_la-add.lo \
ldap/servers/slapd/libslapd_la-agtmmap.lo \
ldap/servers/slapd/libslapd_la-apibroker.lo \
@@ -872,8 +814,7 @@ am_libslapd_la_OBJECTS = ldap/servers/slapd/libslapd_la-add.lo \
ldap/servers/slapd/libslapd_la-uuid.lo \
ldap/servers/slapd/libslapd_la-value.lo \
ldap/servers/slapd/libslapd_la-valueset.lo \
- ldap/servers/slapd/libslapd_la-vattr.lo $(am__objects_2) \
- $(am__objects_3)
+ ldap/servers/slapd/libslapd_la-vattr.lo $(am__objects_2)
libslapd_la_OBJECTS = $(am_libslapd_la_OBJECTS)
libstatechange_plugin_la_DEPENDENCIES = libslapd.la
am_libstatechange_plugin_la_OBJECTS =
ldap/servers/plugins/statechange/libstatechange_plugin_la-statechange.lo
@@ -980,7 +921,7 @@ am__ldclt_bin_SOURCES_DIST = ldap/servers/slapd/tools/ldaptool-sasl.c
\
ldap/servers/slapd/tools/ldclt/version.c \
ldap/servers/slapd/tools/ldclt/workarounds.c \
ldap/servers/slapd/tools/ldclt/opCheck.c
-@SOLARIS_TRUE@am__objects_4 = ldap/servers/slapd/tools/ldclt/ldclt_bin-opCheck.$(OBJEXT)
+@SOLARIS_TRUE@am__objects_3 = ldap/servers/slapd/tools/ldclt/ldclt_bin-opCheck.$(OBJEXT)
am_ldclt_bin_OBJECTS = \
ldap/servers/slapd/tools/ldclt_bin-ldaptool-sasl.$(OBJEXT) \
ldap/servers/slapd/tools/ldclt/ldclt_bin-data.$(OBJEXT) \
@@ -994,7 +935,7 @@ am_ldclt_bin_OBJECTS = \
ldap/servers/slapd/tools/ldclt/ldclt_bin-utils.$(OBJEXT) \
ldap/servers/slapd/tools/ldclt/ldclt_bin-version.$(OBJEXT) \
ldap/servers/slapd/tools/ldclt/ldclt_bin-workarounds.$(OBJEXT) \
- $(am__objects_4)
+ $(am__objects_3)
ldclt_bin_OBJECTS = $(am_ldclt_bin_OBJECTS)
ldclt_bin_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
@@ -1037,7 +978,7 @@ am__ns_slapd_SOURCES_DIST = ldap/servers/slapd/abandon.c \
ldap/servers/slapd/strdup.c ldap/servers/slapd/stubs.c \
ldap/servers/slapd/tempnam.c ldap/servers/slapd/unbind.c \
ldap/servers/slapd/getsocketpeer.c
-@enable_ldapi_TRUE@am__objects_5 = ldap/servers/slapd/ns_slapd-getsocketpeer.$(OBJEXT)
+@enable_ldapi_TRUE@am__objects_4 = ldap/servers/slapd/ns_slapd-getsocketpeer.$(OBJEXT)
am_ns_slapd_OBJECTS = ldap/servers/slapd/ns_slapd-abandon.$(OBJEXT) \
ldap/servers/slapd/ns_slapd-auth.$(OBJEXT) \
ldap/servers/slapd/ns_slapd-bind.$(OBJEXT) \
@@ -1068,7 +1009,7 @@ am_ns_slapd_OBJECTS = ldap/servers/slapd/ns_slapd-abandon.$(OBJEXT)
\
ldap/servers/slapd/ns_slapd-strdup.$(OBJEXT) \
ldap/servers/slapd/ns_slapd-stubs.$(OBJEXT) \
ldap/servers/slapd/ns_slapd-tempnam.$(OBJEXT) \
- ldap/servers/slapd/ns_slapd-unbind.$(OBJEXT) $(am__objects_5)
+ ldap/servers/slapd/ns_slapd-unbind.$(OBJEXT) $(am__objects_4)
ns_slapd_OBJECTS = $(am_ns_slapd_OBJECTS)
ns_slapd_DEPENDENCIES = libslapd.la libldaputil.a \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
@@ -1108,16 +1049,6 @@ DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
-CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
-LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CCASFLAGS) $(CCASFLAGS)
-AM_V_CPPAS = $(am__v_CPPAS_@AM_V@)
-am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@)
-am__v_CPPAS_0 = @echo " CPPAS " $@;
-am__v_CPPAS_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
@@ -1214,8 +1145,7 @@ DIST_SOURCES = $(libavl_a_SOURCES) $(libldaputil_a_SOURCES) \
$(libreplication_plugin_la_SOURCES) \
$(libretrocl_plugin_la_SOURCES) $(libroles_plugin_la_SOURCES) \
$(librootdn_access_plugin_la_SOURCES) \
- $(libschemareload_plugin_la_SOURCES) \
- $(am__libslapd_la_SOURCES_DIST) \
+ $(libschemareload_plugin_la_SOURCES) $(libslapd_la_SOURCES) \
$(libstatechange_plugin_la_SOURCES) \
$(libsyntax_plugin_la_SOURCES) $(libusn_plugin_la_SOURCES) \
$(libviews_plugin_la_SOURCES) $(libwhoami_plugin_la_SOURCES) \
@@ -1540,6 +1470,8 @@ DS_DEFINES = -DBUILD_NUM=$(BUILDNUM)
-DVENDOR="\"$(vendor)\"" -DBRAND="\"$(brand
DS_INCLUDES = -I$(srcdir)/ldap/include -I$(srcdir)/ldap/servers/slapd -I$(srcdir)/include
-I. $(NUNC_STANS_INCLUDES)
@enable_asan_FALSE@ASAN_ON = 0
@enable_asan_TRUE@ASAN_ON = 1
+@SYSTEMD_FALSE@WITH_SYSTEMD = 0
+@SYSTEMD_TRUE@WITH_SYSTEMD = 1
# these paths are dependent on the settings of prefix and exec_prefix which may be
specified
# at make time. So we cannot use AC_DEFINE in the configure.ac because that would set
the
@@ -1647,6 +1579,7 @@ CLEANFILES = dberrstrs.h ns-slapd.properties \
ldap/admin/src/scripts/usn-tombstone-cleanup.pl ldap/admin/src/scripts/verify-db.pl \
ldap/admin/src/scripts/ds_selinux_port_query ldap/admin/src/scripts/ds_selinux_enabled
\
ldap/admin/src/scripts/dbverify ldap/admin/src/scripts/readnsstate \
+ ldap/admin/src/scripts/dbmon.sh \
$(NULL)
taskdir = $(datadir)@scripttemplatedir@
@@ -2366,60 +2299,101 @@ libns_dshttpd_la_LIBADD = libslapd.la $(LDAPSDK_LINK)
$(SASL_LINK) $(NSS_LINK) $
# libslapd
#------------------------
libslapd_la_SOURCES = ldap/servers/slapd/add.c \
- ldap/servers/slapd/agtmmap.c ldap/servers/slapd/apibroker.c \
- ldap/servers/slapd/attr.c ldap/servers/slapd/attrlist.c \
- ldap/servers/slapd/attrsyntax.c ldap/servers/slapd/auditlog.c \
- ldap/servers/slapd/ava.c ldap/servers/slapd/backend.c \
+ ldap/servers/slapd/agtmmap.c \
+ ldap/servers/slapd/apibroker.c \
+ ldap/servers/slapd/attr.c \
+ ldap/servers/slapd/attrlist.c \
+ ldap/servers/slapd/attrsyntax.c \
+ ldap/servers/slapd/auditlog.c \
+ ldap/servers/slapd/ava.c \
+ ldap/servers/slapd/backend.c \
ldap/servers/slapd/backend_manager.c \
- ldap/servers/slapd/bitset.c ldap/servers/slapd/bulk_import.c \
- ldap/servers/slapd/charray.c ldap/servers/slapd/ch_malloc.c \
- ldap/servers/slapd/computed.c ldap/servers/slapd/control.c \
- ldap/servers/slapd/counters.c ldap/servers/slapd/csn.c \
- ldap/servers/slapd/csngen.c ldap/servers/slapd/csnset.c \
- ldap/servers/slapd/defbackend.c ldap/servers/slapd/delete.c \
- ldap/servers/slapd/dl.c ldap/servers/slapd/dn.c \
- ldap/servers/slapd/dse.c ldap/servers/slapd/dynalib.c \
- ldap/servers/slapd/entry.c ldap/servers/slapd/entrywsi.c \
- ldap/servers/slapd/errormap.c ldap/servers/slapd/eventq.c \
- ldap/servers/slapd/factory.c ldap/servers/slapd/features.c \
- ldap/servers/slapd/fileio.c ldap/servers/slapd/filter.c \
+ ldap/servers/slapd/bitset.c \
+ ldap/servers/slapd/bulk_import.c \
+ ldap/servers/slapd/charray.c \
+ ldap/servers/slapd/ch_malloc.c \
+ ldap/servers/slapd/computed.c \
+ ldap/servers/slapd/control.c \
+ ldap/servers/slapd/counters.c \
+ ldap/servers/slapd/csn.c \
+ ldap/servers/slapd/csngen.c \
+ ldap/servers/slapd/csnset.c \
+ ldap/servers/slapd/defbackend.c \
+ ldap/servers/slapd/delete.c \
+ ldap/servers/slapd/dl.c \
+ ldap/servers/slapd/dn.c \
+ ldap/servers/slapd/dse.c \
+ ldap/servers/slapd/dynalib.c \
+ ldap/servers/slapd/entry.c \
+ ldap/servers/slapd/entrywsi.c \
+ ldap/servers/slapd/errormap.c \
+ ldap/servers/slapd/eventq.c \
+ ldap/servers/slapd/factory.c \
+ ldap/servers/slapd/features.c \
+ ldap/servers/slapd/fileio.c \
+ ldap/servers/slapd/filter.c \
ldap/servers/slapd/filtercmp.c \
ldap/servers/slapd/filterentry.c \
ldap/servers/slapd/generation.c \
ldap/servers/slapd/getfilelist.c \
ldap/servers/slapd/index_subsystem.c \
- ldap/servers/slapd/ldaputil.c ldap/servers/slapd/lenstr.c \
- ldap/servers/slapd/libglobs.c ldap/servers/slapd/localhost.c \
- ldap/servers/slapd/log.c ldap/servers/slapd/mapping_tree.c \
- ldap/servers/slapd/match.c ldap/servers/slapd/modify.c \
- ldap/servers/slapd/modrdn.c ldap/servers/slapd/modutil.c \
- ldap/servers/slapd/object.c ldap/servers/slapd/objset.c \
- ldap/servers/slapd/operation.c ldap/servers/slapd/opshared.c \
- ldap/servers/slapd/pagedresults.c ldap/servers/slapd/pblock.c \
- ldap/servers/slapd/plugin.c ldap/servers/slapd/plugin_acl.c \
+ ldap/servers/slapd/ldaputil.c \
+ ldap/servers/slapd/lenstr.c \
+ ldap/servers/slapd/libglobs.c \
+ ldap/servers/slapd/localhost.c \
+ ldap/servers/slapd/log.c \
+ ldap/servers/slapd/mapping_tree.c \
+ ldap/servers/slapd/match.c \
+ ldap/servers/slapd/modify.c \
+ ldap/servers/slapd/modrdn.c \
+ ldap/servers/slapd/modutil.c \
+ ldap/servers/slapd/object.c \
+ ldap/servers/slapd/objset.c \
+ ldap/servers/slapd/operation.c \
+ ldap/servers/slapd/opshared.c \
+ ldap/servers/slapd/pagedresults.c \
+ ldap/servers/slapd/pblock.c \
+ ldap/servers/slapd/plugin.c \
+ ldap/servers/slapd/plugin_acl.c \
ldap/servers/slapd/plugin_internal_op.c \
ldap/servers/slapd/plugin_mr.c \
ldap/servers/slapd/plugin_role.c \
ldap/servers/slapd/plugin_syntax.c \
- ldap/servers/slapd/protect_db.c ldap/servers/slapd/proxyauth.c \
- ldap/servers/slapd/pw.c ldap/servers/slapd/pw_retry.c \
- ldap/servers/slapd/rdn.c ldap/servers/slapd/referral.c \
- ldap/servers/slapd/regex.c ldap/servers/slapd/resourcelimit.c \
- ldap/servers/slapd/result.c ldap/servers/slapd/sasl_map.c \
- ldap/servers/slapd/schema.c ldap/servers/slapd/schemaparse.c \
+ ldap/servers/slapd/protect_db.c \
+ ldap/servers/slapd/proxyauth.c \
+ ldap/servers/slapd/pw.c \
+ ldap/servers/slapd/pw_retry.c \
+ ldap/servers/slapd/rdn.c \
+ ldap/servers/slapd/referral.c \
+ ldap/servers/slapd/regex.c \
+ ldap/servers/slapd/resourcelimit.c \
+ ldap/servers/slapd/result.c \
+ ldap/servers/slapd/sasl_map.c \
+ ldap/servers/slapd/schema.c \
+ ldap/servers/slapd/schemaparse.c \
ldap/servers/slapd/security_wrappers.c \
ldap/servers/slapd/slapd_plhash.c \
ldap/servers/slapd/slapi_counter.c \
ldap/servers/slapd/slapi2nspr.c \
- ldap/servers/slapd/snmp_collator.c ldap/servers/slapd/sort.c \
- ldap/servers/slapd/ssl.c ldap/servers/slapd/str2filter.c \
- ldap/servers/slapd/subentry.c ldap/servers/slapd/task.c \
- ldap/servers/slapd/time.c ldap/servers/slapd/thread_data.c \
- ldap/servers/slapd/uniqueid.c ldap/servers/slapd/uniqueidgen.c \
- ldap/servers/slapd/utf8.c ldap/servers/slapd/utf8compare.c \
- ldap/servers/slapd/util.c ldap/servers/slapd/uuid.c \
- ldap/servers/slapd/value.c ldap/servers/slapd/valueset.c \
- ldap/servers/slapd/vattr.c $(libavl_a_SOURCES) $(am__append_1)
+ ldap/servers/slapd/snmp_collator.c \
+ ldap/servers/slapd/sort.c \
+ ldap/servers/slapd/ssl.c \
+ ldap/servers/slapd/str2filter.c \
+ ldap/servers/slapd/subentry.c \
+ ldap/servers/slapd/task.c \
+ ldap/servers/slapd/time.c \
+ ldap/servers/slapd/thread_data.c \
+ ldap/servers/slapd/uniqueid.c \
+ ldap/servers/slapd/uniqueidgen.c \
+ ldap/servers/slapd/utf8.c \
+ ldap/servers/slapd/utf8compare.c \
+ ldap/servers/slapd/util.c \
+ ldap/servers/slapd/uuid.c \
+ ldap/servers/slapd/value.c \
+ ldap/servers/slapd/valueset.c \
+ ldap/servers/slapd/vattr.c \
+ $(libavl_a_SOURCES)
+
libslapd_la_CPPFLAGS = $(PLUGIN_CPPFLAGS) @sasl_inc@ @db_inc@ @svrcore_inc@
@kerberos_inc@ @pcre_inc@
libslapd_la_LIBADD = $(LDAPSDK_LINK) $(SASL_LINK) $(NUNC_STANS_LINK) $(SVRCORE_LINK)
$(NSS_LINK) $(NSPR_LINK) $(KERBEROS_LINK) $(PCRE_LINK) $(THREADLIB) $(SYSTEMD_LINK)
@@ -2984,7 +2958,7 @@ ldap_agent_bin_SOURCES = ldap/servers/snmp/main.c \
ldap_agent_bin_CPPFLAGS = $(AM_CPPFLAGS) @netsnmp_inc@ @openldap_inc@ @ldapsdk_inc@
@nss_inc@ @nspr_inc@
ldap_agent_bin_LDADD = $(LDAPSDK_LINK_NOTHR) $(SASL_LINK) $(NSS_LINK) \
- $(NSPR_LINK) $(NETSNMP_LINK) $(THREADLIB) $(am__append_2)
+ $(NSPR_LINK) $(NETSNMP_LINK) $(THREADLIB) $(am__append_1)
#------------------------
# ldclt
@@ -3000,7 +2974,7 @@ ldclt_bin_SOURCES = ldap/servers/slapd/tools/ldaptool-sasl.c \
ldap/servers/slapd/tools/ldclt/threadMain.c \
ldap/servers/slapd/tools/ldclt/utils.c \
ldap/servers/slapd/tools/ldclt/version.c \
- ldap/servers/slapd/tools/ldclt/workarounds.c $(am__append_3)
+ ldap/servers/slapd/tools/ldclt/workarounds.c $(am__append_2)
ldclt_bin_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/ldap/servers/slapd/tools @openldap_inc@
@ldapsdk_inc@ @sasl_inc@ @nss_inc@ @nspr_inc@
ldclt_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK) $(SASL_LINK) $(LIBNSL)
$(LIBSOCKET) $(LIBDL) $(THREADLIB)
@@ -3158,6 +3132,7 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK)
$(SASL_LINK) $(LIBS
@BUNDLE_FALSE@ -e 's,@updatedir\@,$(updatedir),g' \
@BUNDLE_FALSE@ -e 's,@ldaplib\@,$(ldaplib),g' \
@BUNDLE_FALSE@ -e 's,@ldaplib_defs\@,$(ldaplib_defs),g' \
+@BUNDLE_FALSE@ -e 's,@with_systemd\@,$(WITH_SYSTEMD),g' \
@BUNDLE_FALSE@ -e 's,@systemdsystemunitdir\@,$(systemdsystemunitdir),g' \
@BUNDLE_FALSE@ -e 's,@systemdsystemconfdir\@,$(systemdsystemconfdir),g' \
@BUNDLE_FALSE@ -e 's,@systemdgroupname\@,$(systemdgroupname),g' \
@@ -3238,6 +3213,7 @@ rsearch_bin_LDADD = $(NSPR_LINK) $(NSS_LINK) $(LDAPSDK_LINK)
$(SASL_LINK) $(LIBS
@BUNDLE_TRUE@ -e 's,@updatedir\@,$(updatedir),g' \
@BUNDLE_TRUE@ -e 's,@ldaplib\@,$(ldaplib),g' \
@BUNDLE_TRUE@ -e 's,@ldaplib_defs\@,$(ldaplib_defs),g' \
+@BUNDLE_TRUE@ -e 's,@with_systemd\@,$(WITH_SYSTEMD),g' \
@BUNDLE_TRUE@ -e 's,@systemdsystemunitdir\@,$(systemdsystemunitdir),g' \
@BUNDLE_TRUE@ -e 's,@systemdsystemconfdir\@,$(systemdsystemconfdir),g' \
@BUNDLE_TRUE@ -e 's,@systemdgroupname\@,$(systemdgroupname),g' \
@@ -3247,7 +3223,7 @@ all: $(BUILT_SOURCES) config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
-.SUFFIXES: .S .c .cpp .lo .o .obj
+.SUFFIXES: .c .cpp .lo .o .obj
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am
$(am__configure_deps)
@@ -4798,9 +4774,6 @@ ldap/servers/slapd/libslapd_la-vattr.lo: \
ldap/libraries/libavl/libslapd_la-avl.lo: \
ldap/libraries/libavl/$(am__dirstamp) \
ldap/libraries/libavl/$(DEPDIR)/$(am__dirstamp)
-ldap/servers/slapd/libslapd_la-slapi_counter_sunos_sparcv9.lo: \
- ldap/servers/slapd/$(am__dirstamp) \
- ldap/servers/slapd/$(DEPDIR)/$(am__dirstamp)
libslapd.la: $(libslapd_la_OBJECTS) $(libslapd_la_DEPENDENCIES)
$(EXTRA_libslapd_la_DEPENDENCIES)
$(AM_V_CCLD)$(LINK) -rpath $(serverdir) $(libslapd_la_OBJECTS) $(libslapd_la_LIBADD)
$(LIBS)
@@ -5839,7 +5812,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@
@am__quote@ldap/servers/slapd/$(DEPDIR)/libslapd_la-slapd_plhash.Plo(a)am__quote@
@AMDEP_TRUE@@am__include@
@am__quote@ldap/servers/slapd/$(DEPDIR)/libslapd_la-slapi2nspr.Plo(a)am__quote@
@AMDEP_TRUE@@am__include@
@am__quote@ldap/servers/slapd/$(DEPDIR)/libslapd_la-slapi_counter.Plo(a)am__quote@
-@AMDEP_TRUE@@am__include@
@am__quote@ldap/servers/slapd/$(DEPDIR)/libslapd_la-slapi_counter_sunos_sparcv9.Plo(a)am__quote@
@AMDEP_TRUE@@am__include@
@am__quote@ldap/servers/slapd/$(DEPDIR)/libslapd_la-snmp_collator.Plo(a)am__quote@
@AMDEP_TRUE@@am__include@
@am__quote@ldap/servers/slapd/$(DEPDIR)/libslapd_la-sort.Plo(a)am__quote@
@AMDEP_TRUE@@am__include@
@am__quote@ldap/servers/slapd/$(DEPDIR)/libslapd_la-ssl.Plo(a)am__quote@
@@ -6040,37 +6012,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@
@am__quote@lib/libsi18n/$(DEPDIR)/libns_dshttpd_la-txtfile.Plo(a)am__quote@
@AMDEP_TRUE@@am__include@
@am__quote@lib/libsi18n/$(DEPDIR)/makstrdb-makstrdb.Po(a)am__quote@
-.S.o:
-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed
's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $<
&&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<'
object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp)
@AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ $<
-
-.S.obj:
-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed
's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@
`$(CYGPATH_W) '$<'` &&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<'
object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp)
@AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W)
'$<'`
-
-.S.lo:
-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed
's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCCAS_TRUE@ $(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $<
&&\
-@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<'
object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp)
@AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(LTCPPASCOMPILE) -c -o $@ $<
-
-ldap/servers/slapd/libslapd_la-slapi_counter_sunos_sparcv9.lo:
ldap/servers/slapd/slapi_counter_sunos_sparcv9.S
-@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS)
$(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
$(libslapd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT
ldap/servers/slapd/libslapd_la-slapi_counter_sunos_sparcv9.lo -MD -MP -MF
ldap/servers/slapd/$(DEPDIR)/libslapd_la-slapi_counter_sunos_sparcv9.Tpo -c -o
ldap/servers/slapd/libslapd_la-slapi_counter_sunos_sparcv9.lo `test -f
'ldap/servers/slapd/slapi_counter_sunos_spa [...]
-@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv)
ldap/servers/slapd/$(DEPDIR)/libslapd_la-slapi_counter_sunos_sparcv9.Tpo
ldap/servers/slapd/$(DEPDIR)/libslapd_la-slapi_counter_sunos_sparcv9.Plo
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='ldap/servers/slapd/slapi_counter_sunos_sparcv9.S'
object='ldap/servers/slapd/libslapd_la-slapi_counter_sunos_sparcv9.lo' libtool=yes
@AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp)
@AMDEPBACKSLASH@
-@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS)
$(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
$(libslapd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o
ldap/servers/slapd/libslapd_la-slapi_counter_sunos_sparcv9.lo `test -f
'ldap/servers/slapd/slapi_counter_sunos_sparcv9.S' || echo
'$(srcdir)/'`ldap/servers/slapd/slapi_counter_sunos_sparcv9.S
-
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed
's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $<
&&\
@@ -10366,7 +10307,7 @@ distdir: $(DISTFILES)
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c
>$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c
>$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c
>$(distdir).tar.bz2
@@ -10391,7 +10332,7 @@ dist-shar: distdir
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
@@ -10409,7 +10350,7 @@ dist dist-all:
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
@@ -10419,7 +10360,7 @@ distcheck: dist
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
diff --git a/config.guess b/config.guess
index dbfb978..2e9ad7f 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2016 Free Software Foundation, Inc.
-timestamp='2015-01-01'
+timestamp='2016-10-02'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@ timestamp='2015-01-01'
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
-#
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.gu...
+#
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
#
# Please send patches to <config-patches(a)gnu.org>.
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -168,19 +168,29 @@ case
"${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+ /sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || \
+ echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
+ earmv*)
+ arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine=${arch}${endian}-unknown
+ ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
+ # to ELF recently (or will in the future) and ABI.
case "${UNAME_MACHINE_ARCH}" in
+ earm*)
+ os=netbsdelf
+ ;;
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
@@ -197,6 +207,13 @@ case
"${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
os=netbsd
;;
esac
+ # Determine ABI tags.
+ case "${UNAME_MACHINE_ARCH}" in
+ earm*)
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+ abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+ ;;
+ esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
@@ -207,13 +224,13 @@ case
"${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
+ echo "${machine}-${os}${release}${abi}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -223,6 +240,10 @@ case
"${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
exit ;;
+ *:LibertyBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+ exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
@@ -235,6 +256,9 @@ case
"${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
+ *:Sortix:*:*)
+ echo ${UNAME_MACHINE}-unknown-sortix
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -251,42 +275,42 @@ case
"${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\)
processor.*$/\1/p' | head -n 1`
case "$ALPHA_CPU_TYPE" in
"EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
+ UNAME_MACHINE=alpha ;;
"EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
+ UNAME_MACHINE=alphaev5 ;;
"EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
+ UNAME_MACHINE=alphaev56 ;;
"EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
+ UNAME_MACHINE=alphapca56 ;;
"EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
+ UNAME_MACHINE=alphapca57 ;;
"EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
+ UNAME_MACHINE=alphaev6 ;;
"EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
+ UNAME_MACHINE=alphaev67 ;;
"EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
+ UNAME_MACHINE=alphaev68 ;;
"EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
+ UNAME_MACHINE=alphaev69 ;;
"EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
+ UNAME_MACHINE=alphaev7 ;;
"EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
+ UNAME_MACHINE=alphaev79 ;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode=$?
trap '' 0
@@ -359,16 +383,16 @@ case
"${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
eval $set_cc_for_build
- SUN_ARCH="i386"
+ SUN_ARCH=i386
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
# This test works for both compilers.
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
- SUN_ARCH="x86_64"
+ SUN_ARCH=x86_64
fi
fi
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -393,7 +417,7 @@ case
"${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}')
2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
@@ -618,13 +642,13 @@ EOF
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ 32) HP_ARCH=hppa2.0n ;;
+ 64) HP_ARCH=hppa2.0w ;;
+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
esac ;;
esac
fi
@@ -663,11 +687,11 @@ EOF
exit (0);
}
EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) &&
HP_ARCH=`$dummy`
+ (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) &&
HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
+ if [ ${HP_ARCH} = hppa2.0w ]
then
eval $set_cc_for_build
@@ -680,12 +704,12 @@ EOF
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
# => hppa64-hp-hpux11.23
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
grep -q __LP64__
then
- HP_ARCH="hppa2.0w"
+ HP_ARCH=hppa2.0w
else
- HP_ARCH="hppa64"
+ HP_ARCH=hppa64
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -790,14 +814,14 @@ EOF
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed
-e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed
-e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
@@ -879,7 +903,7 @@ EOF
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr
'[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e
's/[-(].*//'`-${LIBC}
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr
"[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e
's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
@@ -902,7 +926,7 @@ EOF
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arc:Linux:*:* | arceb:Linux:*:*)
@@ -933,6 +957,9 @@ EOF
crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
+ e2k:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -945,6 +972,9 @@ EOF
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
+ k1om:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -970,6 +1000,9 @@ EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo
"${CPU}-unknown-linux-${LIBC}"; exit; }
;;
+ mips64el:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
openrisc*:Linux:*:*)
echo or1k-unknown-linux-${LIBC}
exit ;;
@@ -1002,6 +1035,9 @@ EOF
ppcle:Linux:*:*)
echo powerpcle-unknown-linux-${LIBC}
exit ;;
+ riscv32:Linux:*:* | riscv64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
@@ -1021,7 +1057,7 @@ EOF
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
@@ -1100,7 +1136,7 @@ EOF
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
+ # prints for the "djgpp" host, or else GDB configure will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
exit ;;
@@ -1249,6 +1285,9 @@ EOF
SX-8R:SUPER-UX:*:*)
echo sx8r-nec-superux${UNAME_RELEASE}
exit ;;
+ SX-ACE:SUPER-UX:*:*)
+ echo sxace-nec-superux${UNAME_RELEASE}
+ exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
@@ -1262,9 +1301,9 @@ EOF
UNAME_PROCESSOR=powerpc
fi
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
case $UNAME_PROCESSOR in
@@ -1286,7 +1325,7 @@ EOF
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
+ if test "$UNAME_PROCESSOR" = x86; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
@@ -1317,7 +1356,7 @@ EOF
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
- if test "$cputype" = "386"; then
+ if test "$cputype" = 386; then
UNAME_MACHINE=i386
else
UNAME_MACHINE="$cputype"
@@ -1359,7 +1398,7 @@ EOF
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
exit ;;
i*86:rdos:*:*)
echo ${UNAME_MACHINE}-pc-rdos
@@ -1370,23 +1409,25 @@ EOF
x86_64:VMkernel:*:*)
echo ${UNAME_MACHINE}-unknown-esx
exit ;;
+ amd64:Isilon\ OneFS:*:*)
+ echo x86_64-unknown-onefs
+ exit ;;
esac
cat >&2 <<EOF
$0: unable to guess system type
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite
+config.guess and config.sub with the latest versions from:
-
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.gu...
+
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
and
-
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.su...
+
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches(a)gnu.org> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches(a)gnu.org to
+provide the necessary information to handle your system.
config.guess timestamp = $timestamp
diff --git a/config.h.in b/config.h.in
index 9e5ef88..a22235c 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,6 +1,6 @@
/* config.h.in. Generated from configure.ac by autoheader. */
-/* enabling atomic counter */
+/* have 64-bit atomic operation functions provided by gcc */
#undef ATOMIC_64BIT_OPERATIONS
/* Define to 1 if the `closedir' function returns void instead of `int'. */
@@ -66,12 +66,6 @@
/* enable the presence plugin */
#undef ENABLE_PRESENCE
-/* have 64-bit atomic bool compare and swap function provided by gcc */
-#undef HAVE_64BIT_ATOMIC_CAS_FUNC
-
-/* have 64-bit atomic operation functions provided by gcc */
-#undef HAVE_64BIT_ATOMIC_OP_FUNCS
-
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
diff --git a/config.sub b/config.sub
index 6467c95..7b334f9 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2015 Free Software Foundation, Inc.
+# Copyright 1992-2016 Free Software Foundation, Inc.
-timestamp='2015-01-01'
+timestamp='2016-09-05'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ timestamp='2015-01-01'
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
-#
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.su...
+#
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
@@ -53,8 +53,7 @@ timestamp='2015-01-01'
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name.
@@ -68,7 +67,7 @@ Report bugs and patches to <config-patches(a)gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2015 Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,8 +116,8 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | \
- kopensolaris*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+ kopensolaris*-gnu* | cloudabi*-eabi* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -255,11 +254,12 @@ case $basic_machine in
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
+ | ba \
| be32 | be64 \
| bfin \
| c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
- | epiphany \
+ | e2k | epiphany \
| fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
@@ -305,7 +305,7 @@ case $basic_machine in
| riscv32 | riscv64 \
| rl78 | rx \
| score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle |
sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle |
sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -376,12 +376,13 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
- | elxsi-* \
+ | e2k-* | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
@@ -428,12 +429,13 @@ case $basic_machine in
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
+ | riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-*
\
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
@@ -518,6 +520,9 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -638,6 +643,14 @@ case $basic_machine in
basic_machine=m68k-bull
os=-sysv3
;;
+ e500v[12])
+ basic_machine=powerpc-unknown
+ os=$os"spe"
+ ;;
+ e500v[12]-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=$os"spe"
+ ;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
@@ -1017,7 +1030,7 @@ case $basic_machine in
ppc-* | ppcbe-*)
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
+ ppcle | powerpclittle)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
@@ -1027,7 +1040,7 @@ case $basic_machine in
;;
ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed
's/^[^-]*-//'`
;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
@@ -1373,18 +1386,18 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -bitrig* | -openbsd* | -solidbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
@@ -1393,7 +1406,8 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+ | -onefs* | -tirtos* | -phoenix*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1525,6 +1539,8 @@ case $os in
;;
-nacl*)
;;
+ -ios)
+ ;;
-none)
;;
*)
diff --git a/configure b/configure
index 96c003e..d22ceec 100755
--- a/configure
+++ b/configure
@@ -19324,17 +19324,16 @@ $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
$as_echo "#define CPU_x86 /**/" >>confdefs.h
-
-$as_echo "#define ATOMIC_64BIT_OPERATIONS 1" >>confdefs.h
-
;;
x86_64-*-linux*)
-$as_echo "#define CPU_x86_64 /**/" >>confdefs.h
+$as_echo "#define CPU_x86_64 1" >>confdefs.h
-$as_echo "#define ATOMIC_64BIT_OPERATIONS 1" >>confdefs.h
-
+ # This turns on and off LFDS inside of libsds
+ # wibrown -- 2017-02-21 disabled temporarily
+ # with_atomic_queue="yes"
+ # AC_DEFINE([ATOMIC_QUEUE_OPERATIONS], [1], [enabling atomic queue operations])
;;
aarch64-*-linux*)
@@ -19347,54 +19346,6 @@ $as_echo "#define CPU_arm /**/" >>confdefs.h
;;
esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC provided 64-bit atomic
bool cas function ..." >&5
-$as_echo_n "checking for GCC provided 64-bit atomic bool cas function ...... "
>&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-long long ptrval = 0, val = 0, newval = 1;
(void)__sync_bool_compare_and_swap_8(&ptrval, val, newval);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-$as_echo "#define HAVE_64BIT_ATOMIC_CAS_FUNC 1" >>confdefs.h
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC provided 64-bit atomic
ops functions ..." >&5
-$as_echo_n "checking for GCC provided 64-bit atomic ops functions ...... "
>&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-long long ptrval = 0, val = 0; (void)__sync_add_and_fetch_8(&ptrval, val);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-$as_echo "#define HAVE_64BIT_ATOMIC_OP_FUNCS 1" >>confdefs.h
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
# some programs use the native thread library directly
THREADLIB=-lpthread
THREADLIB=$THREADLIB
@@ -19469,9 +19420,6 @@ $as_echo "#define _HPUX_SOURCE 1" >>confdefs.h
$as_echo "#define _INCLUDE_STDC__SOURCE_199901 1" >>confdefs.h
-
-$as_echo "#define ATOMIC_64BIT_OPERATIONS 1" >>confdefs.h
-
# assume 64 bit
initconfigdir="/$PACKAGE_NAME/config"
perlexec='/opt/perl_64/bin/perl'
@@ -19535,9 +19483,6 @@ $as_echo "#define HAVE_GETPEERUCRED 1"
>>confdefs.h
;;
sparc-*-solaris*)
-$as_echo "#define ATOMIC_64BIT_OPERATIONS 1" >>confdefs.h
-
-
$as_echo "#define CPU_sparc /**/" >>confdefs.h
TARGET='SPARC'
@@ -19549,6 +19494,49 @@ $as_echo "#define CPU_sparc /**/" >>confdefs.h
;;
esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC provided 64-bit atomic
operations" >&5
+$as_echo_n "checking for GCC provided 64-bit atomic operations... " >&6;
}
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <inttypes.h>
+
+int
+main ()
+{
+
+ uint64_t t_counter = 0;
+ uint64_t t_oldval = 0;
+ uint64_t t_newval = 1;
+
+ __atomic_compare_exchange_8(&t_counter, &t_oldval, t_newval, 0,
__ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
+ __atomic_add_fetch_8(&t_counter, t_newval, __ATOMIC_SEQ_CST);
+ __atomic_sub_fetch_8(&t_counter, t_newval, __ATOMIC_SEQ_CST);
+ __atomic_load(&t_counter, &t_oldval, __ATOMIC_SEQ_CST);
+ return 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+
+$as_echo "#define ATOMIC_64BIT_OPERATIONS 1" >>confdefs.h
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
# cmd line overrides default setting above
if test -n "$with_initddir" ; then
initdir="$with_initddir"
diff --git a/ldap/servers/slapd/slapi_counter.c b/ldap/servers/slapd/slapi_counter.c
index d0696eb..5ab5f32 100644
--- a/ldap/servers/slapd/slapi_counter.c
+++ b/ldap/servers/slapd/slapi_counter.c
@@ -200,49 +200,7 @@ uint64_t slapi_counter_set_value(Slapi_Counter *counter, uint64_t
newvalue)
}
#ifndef HPUX
-/* Use our own inline assembly for an atomic set if
- * the builtins aren't available. */
-#if !HAVE_64BIT_ATOMIC_CAS_FUNC
- /*
- * %0 = counter->value
- * %1 = newvalue
- */
- __asm__ __volatile__(
-#ifdef CPU_x86
- /* Save the PIC register */
- " pushl %%ebx;"
-#endif /* CPU_x86 */
- /* Put value of counter->value in EDX:EAX */
- "retryset: movl %0, %%eax;"
- " movl 4%0, %%edx;"
- /* Put newval in ECX:EBX */
- " movl %1, %%ebx;"
- " movl 4+%1, %%ecx;"
- /* If EDX:EAX and counter-> are the same,
- * replace *ptr with ECX:EBX */
- " lock; cmpxchg8b %0;"
- " jnz retryset;"
-#ifdef CPU_x86
- /* Restore the PIC register */
- " popl %%ebx"
-#endif /* CPU_x86 */
- : "+o" (counter->value)
- : "m" (newvalue)
-#ifdef CPU_x86
- : "memory", "eax", "ecx", "edx",
"cc");
-#else
- : "memory", "eax", "ebx", "ecx",
"edx", "cc");
-#endif
-
- return newvalue;
-#else /* HAVE_64BIT_ATOMIC_CAS_FUNC */
- while (1) {
- value = __atomic_load_8(&(counter->value), __ATOMIC_SEQ_CST);
- if (__atomic_compare_exchange_8(&(counter->value), &value, newvalue,
PR_FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)){
- return newvalue;
- }
- }
-#endif
+ __atomic_store_8(&(counter->value), newvalue, __ATOMIC_SEQ_CST);
#else /* HPUX */
do {
value = counter->value;
@@ -267,50 +225,7 @@ uint64_t slapi_counter_get_value(Slapi_Counter *counter)
}
#ifndef HPUX
-/* Use our own inline assembly for an atomic get if
- * the builtins aren't available. */
-#if !HAVE_64BIT_ATOMIC_CAS_FUNC
- /*
- * %0 = counter->value
- * %1 = value
- */
- __asm__ __volatile__(
-#ifdef CPU_x86
- /* Save the PIC register */
- " pushl %%ebx;"
-#endif /* CPU_x86 */
- /* Put value of counter->value in EDX:EAX */
- "retryget: movl %0, %%eax;"
- " movl 4%0, %%edx;"
- /* Copy EDX:EAX to ECX:EBX */
- " movl %%eax, %%ebx;"
- " movl %%edx, %%ecx;"
- /* If EDX:EAX and counter->value are the same,
- * replace *ptr with ECX:EBX */
- " lock; cmpxchg8b %0;"
- " jnz retryget;"
- /* Put retrieved value into value */
- " movl %%ebx, %1;"
- " movl %%ecx, 4%1;"
-#ifdef CPU_x86
- /* Restore the PIC register */
- " popl %%ebx"
-#endif /* CPU_x86 */
- : "+o" (counter->value), "=m" (value)
- :
-#ifdef CPU_x86
- : "memory", "eax", "ecx", "edx",
"cc");
-#else
- : "memory", "eax", "ebx", "ecx",
"edx", "cc");
-#endif
-#else /* HAVE_64BIT_ATOMIC_CAS_FUNC */
- while (1) {
- value = __atomic_load_8(&(counter->value), __ATOMIC_SEQ_CST);
- if (__atomic_compare_exchange_8(&(counter->value), &value, value,
PR_FALSE, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)){
- break;
- }
- }
-#endif
+ value = __atomic_load_8(&(counter->value), __ATOMIC_SEQ_CST);
#else /* HPUX */
do {
value = counter->value;
diff --git a/ldap/servers/slapd/slapi_counter_sunos_sparcv9.S
b/ldap/servers/slapd/slapi_counter_sunos_sparcv9.S
deleted file mode 100644
index e582c2a..0000000
--- a/ldap/servers/slapd/slapi_counter_sunos_sparcv9.S
+++ /dev/null
@@ -1,105 +0,0 @@
-! BEGIN COPYRIGHT BLOCK
-! The Original Code is the Netscape Portable Runtime (NSPR).
-!
-! The Initial Developer of the Original Code is
-! Netscape Communications Corporation.
-! Portions created by the Initial Developer are Copyright (C) 1998-2000
-! the Initial Developer. All Rights Reserved.
-!
-! The original code has been modified to support 64-bit atomic increments by
-! Red Hat, Inc. These portions are Copyright (C) 2008 Red Hat, Inc. All Rights
-! reserved.
-!
-! License: GPL (version 3 or any later version).
-! See LICENSE for details.
-! END COPYRIGHT BLOCK
-!
-
-#define _ASM 1 /* force to set an assembler code macro _ASM */
-#include <sys/asm_linkage.h>
-
-! ======================================================================
-!
-! Perform the sequence a = b atomically with respect to other
-! fetch-and-stores to location a in a wait-free fashion.
-!
-! usage : old_val = PR_AtomicSet(address, newval)
-!
-! -----------------------
-! Note on REGISTER USAGE:
-! as this is a LEAF procedure, a new stack frame is not created;
-! we use the caller's stack frame so what would normally be %i (input)
-! registers are actually %o (output registers). Also, we must not
-! overwrite the contents of %l (local) registers as they are not
-! assumed to be volatile during calls.
-! -----------------------
-
- ENTRY(_sparcv9_AtomicSet) ! standard assembler/ELF prologue
-
-retryAS:
- ldx [%o0], %o2 ! set o2 to the current value
- mov %o1, %o3 ! set up the new value
- casx [%o0], %o2, %o3 ! atomically set if o0 hasn't changed
- cmp %o2, %o3 ! see if we set the value
- bne retryAS ! if not, try again
- nop ! empty out the branch pipeline
- retl ! return back to the caller
- mov %o3, %o0 ! set the return code to the prev value
-
- SET_SIZE(_sparcv9_AtomicSet) ! standard assembler/ELF epilogue
-
-!
-! end
-!
-! ======================================================================
-!
-! Perform the sequence a = a + b atomically with respect to other
-! fetch-and-adds to location a in a wait-free fashion.
-!
-! usage : newval = PR_AtomicAdd(address, val)
-! return: the value after addition
-!
- ENTRY(_sparcv9_AtomicAdd) ! standard assembler/ELF prologue
-
-retryAA:
- ldx [%o0], %o2 ! set o2 to the current value
- addx %o2, %o1, %o3 ! calc the new value
- mov %o3, %o4 ! save the return value
- casx [%o0], %o2, %o3 ! atomically set if o0 hasn't changed
- cmp %o2, %o3 ! see if we set the value
- bne retryAA ! if not, try again
- nop ! empty out the branch pipeline
- retl ! return back to the caller
- mov %o4, %o0 ! set the return code to the new value
-
- SET_SIZE(_sparcv9_AtomicAdd) ! standard assembler/ELF epilogue
-
-!
-! end
-!
-! ======================================================================
-!
-! Perform the sequence a = a - b atomically with respect to other
-! fetch-and-subs to location a in a wait-free fashion.
-!
-! usage : newval = PR_AtomicSub(address, val)
-! return: the value after addition
-!
- ENTRY(_sparcv9_AtomicSub) ! standard assembler/ELF prologue
-
-retryAU:
- ldx [%o0], %o2 ! set o2 to the current value
- subx %o2, %o1, %o3 ! calc the new value
- mov %o3, %o4 ! save the return value
- casx [%o0], %o2, %o3 ! atomically set if o0 hasn't changed
- cmp %o2, %o3 ! see if we set the value
- bne retryAU ! if not, try again
- nop ! empty out the branch pipeline
- retl ! return back to the caller
- mov %o4, %o0 ! set the return code to the new value
-
- SET_SIZE(_sparcv9_AtomicSub) ! standard assembler/ELF epilogue
-
-!
-! end
-!
diff --git a/test/libslapd/counters/atomic.c b/test/libslapd/counters/atomic.c
new file mode 100644
index 0000000..72fad88
--- /dev/null
+++ b/test/libslapd/counters/atomic.c
@@ -0,0 +1,69 @@
+/** BEGIN COPYRIGHT BLOCK
+ * Copyright (C) 2017 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * License: GPL (version 3 or any later version).
+ * See LICENSE for details.
+ * END COPYRIGHT BLOCK **/
+
+#include "../../test_slapd.h"
+
+void
+test_libslapd_counters_atomic_usage(void **state __attribute__((unused))) {
+ Slapi_Counter *tc = slapi_counter_new();
+
+ uint64_t value = 0;
+ /* Check that it starts as 0 */
+ value = slapi_counter_get_value(tc);
+ assert_true(value == 0);
+ /* Increment */
+ slapi_counter_increment(tc);
+ value = slapi_counter_get_value(tc);
+ assert_true(value == 1);
+ /* add */
+ slapi_counter_add(tc, 100);
+ value = slapi_counter_get_value(tc);
+ assert_true(value == 101);
+ /* set */
+ slapi_counter_set_value(tc, 200);
+ value = slapi_counter_get_value(tc);
+ assert_true(value == 200);
+ /* dec */
+ slapi_counter_decrement(tc);
+ value = slapi_counter_get_value(tc);
+ assert_true(value == 199);
+ /* sub */
+ slapi_counter_subtract(tc, 99);
+ value = slapi_counter_get_value(tc);
+ assert_true(value == 100);
+ /* init */
+ slapi_counter_init(tc);
+ value = slapi_counter_get_value(tc);
+ assert_true(value == 0);
+
+
+ slapi_counter_destroy(&tc);
+
+ /* We could attempt a more complex thread test later? */
+
+}
+
+void
+test_libslapd_counters_atomic_overflow(void **state __attribute__((unused))) {
+ Slapi_Counter *tc = slapi_counter_new();
+ /* This is intmax ... */
+ uint32_t value_32 = 0xFFFFFFFF;
+ uint64_t value = 0;
+
+ slapi_counter_set_value(tc, (uint64_t)value_32);
+ value = slapi_counter_get_value(tc);
+ assert_true(value == (uint64_t)value_32);
+
+ slapi_counter_increment(tc);
+ value = slapi_counter_get_value(tc);
+ assert_true(value != 0);
+ assert_true(value > (uint64_t)value_32);
+
+ slapi_counter_destroy(&tc);
+}
+
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.