head 1.28; access; symbols pkgsrc-2026Q1:1.28.0.4 pkgsrc-2026Q1-base:1.28 pkgsrc-2025Q4:1.28.0.2 pkgsrc-2025Q4-base:1.28 pkgsrc-2025Q3:1.27.0.12 pkgsrc-2025Q3-base:1.27 pkgsrc-2025Q2:1.27.0.10 pkgsrc-2025Q2-base:1.27 pkgsrc-2025Q1:1.27.0.8 pkgsrc-2025Q1-base:1.27 pkgsrc-2024Q4:1.27.0.6 pkgsrc-2024Q4-base:1.27 pkgsrc-2024Q3:1.27.0.4 pkgsrc-2024Q3-base:1.27 pkgsrc-2024Q2:1.27.0.2 pkgsrc-2024Q2-base:1.27 pkgsrc-2024Q1:1.26.0.42 pkgsrc-2024Q1-base:1.26 pkgsrc-2023Q4:1.26.0.40 pkgsrc-2023Q4-base:1.26 pkgsrc-2023Q3:1.26.0.38 pkgsrc-2023Q3-base:1.26 pkgsrc-2023Q2:1.26.0.36 pkgsrc-2023Q2-base:1.26 pkgsrc-2023Q1:1.26.0.34 pkgsrc-2023Q1-base:1.26 pkgsrc-2022Q4:1.26.0.32 pkgsrc-2022Q4-base:1.26 pkgsrc-2022Q3:1.26.0.30 pkgsrc-2022Q3-base:1.26 pkgsrc-2022Q2:1.26.0.28 pkgsrc-2022Q2-base:1.26 pkgsrc-2022Q1:1.26.0.26 pkgsrc-2022Q1-base:1.26 pkgsrc-2021Q4:1.26.0.24 pkgsrc-2021Q4-base:1.26 pkgsrc-2021Q3:1.26.0.22 pkgsrc-2021Q3-base:1.26 pkgsrc-2021Q2:1.26.0.20 pkgsrc-2021Q2-base:1.26 pkgsrc-2021Q1:1.26.0.18 pkgsrc-2021Q1-base:1.26 pkgsrc-2020Q4:1.26.0.16 pkgsrc-2020Q4-base:1.26 pkgsrc-2020Q3:1.26.0.14 pkgsrc-2020Q3-base:1.26 pkgsrc-2020Q2:1.26.0.12 pkgsrc-2020Q2-base:1.26 pkgsrc-2020Q1:1.26.0.8 pkgsrc-2020Q1-base:1.26 pkgsrc-2019Q4:1.26.0.10 pkgsrc-2019Q4-base:1.26 pkgsrc-2019Q3:1.26.0.6 pkgsrc-2019Q3-base:1.26 pkgsrc-2019Q2:1.26.0.4 pkgsrc-2019Q2-base:1.26 pkgsrc-2019Q1:1.26.0.2 pkgsrc-2019Q1-base:1.26 pkgsrc-2018Q4:1.25.0.40 pkgsrc-2018Q4-base:1.25 pkgsrc-2018Q3:1.25.0.38 pkgsrc-2018Q3-base:1.25 pkgsrc-2018Q2:1.25.0.36 pkgsrc-2018Q2-base:1.25 pkgsrc-2018Q1:1.25.0.34 pkgsrc-2018Q1-base:1.25 pkgsrc-2017Q4:1.25.0.32 pkgsrc-2017Q4-base:1.25 pkgsrc-2017Q3:1.25.0.30 pkgsrc-2017Q3-base:1.25 pkgsrc-2017Q2:1.25.0.26 pkgsrc-2017Q2-base:1.25 pkgsrc-2017Q1:1.25.0.24 pkgsrc-2017Q1-base:1.25 pkgsrc-2016Q4:1.25.0.22 pkgsrc-2016Q4-base:1.25 pkgsrc-2016Q3:1.25.0.20 pkgsrc-2016Q3-base:1.25 pkgsrc-2016Q2:1.25.0.18 pkgsrc-2016Q2-base:1.25 pkgsrc-2016Q1:1.25.0.16 pkgsrc-2016Q1-base:1.25 pkgsrc-2015Q4:1.25.0.14 pkgsrc-2015Q4-base:1.25 pkgsrc-2015Q3:1.25.0.12 pkgsrc-2015Q3-base:1.25 pkgsrc-2015Q2:1.25.0.10 pkgsrc-2015Q2-base:1.25 pkgsrc-2015Q1:1.25.0.8 pkgsrc-2015Q1-base:1.25 pkgsrc-2014Q4:1.25.0.6 pkgsrc-2014Q4-base:1.25 pkgsrc-2014Q3:1.25.0.4 pkgsrc-2014Q3-base:1.25 pkgsrc-2014Q2:1.25.0.2 pkgsrc-2014Q2-base:1.25 pkgsrc-2014Q1:1.24.0.2 pkgsrc-2014Q1-base:1.24 pkgsrc-2013Q4:1.23.0.24 pkgsrc-2013Q4-base:1.23 pkgsrc-2013Q3:1.23.0.22 pkgsrc-2013Q3-base:1.23 pkgsrc-2013Q2:1.23.0.20 pkgsrc-2013Q2-base:1.23 pkgsrc-2013Q1:1.23.0.18 pkgsrc-2013Q1-base:1.23 pkgsrc-2012Q4:1.23.0.16 pkgsrc-2012Q4-base:1.23 pkgsrc-2012Q3:1.23.0.14 pkgsrc-2012Q3-base:1.23 pkgsrc-2012Q2:1.23.0.12 pkgsrc-2012Q2-base:1.23 pkgsrc-2012Q1:1.23.0.10 pkgsrc-2012Q1-base:1.23 pkgsrc-2011Q4:1.23.0.8 pkgsrc-2011Q4-base:1.23 pkgsrc-2011Q3:1.23.0.6 pkgsrc-2011Q3-base:1.23 pkgsrc-2011Q2:1.23.0.4 pkgsrc-2011Q2-base:1.23 pkgsrc-2011Q1:1.23.0.2 pkgsrc-2011Q1-base:1.23 pkgsrc-2010Q4:1.22.0.6 pkgsrc-2010Q4-base:1.22 pkgsrc-2010Q3:1.22.0.4 pkgsrc-2010Q3-base:1.22 pkgsrc-2010Q2:1.22.0.2 pkgsrc-2010Q2-base:1.22 pkgsrc-2010Q1:1.21.0.6 pkgsrc-2010Q1-base:1.21 pkgsrc-2009Q4:1.21.0.4 pkgsrc-2009Q4-base:1.21 pkgsrc-2009Q3:1.21.0.2 pkgsrc-2009Q3-base:1.21 pkgsrc-2009Q2:1.20.0.6 pkgsrc-2009Q2-base:1.20 pkgsrc-2009Q1:1.20.0.4 pkgsrc-2009Q1-base:1.20 pkgsrc-2008Q4:1.20.0.2 pkgsrc-2008Q4-base:1.20 pkgsrc-2008Q3:1.19.0.4 pkgsrc-2008Q3-base:1.19 cube-native-xorg:1.19.0.2 cube-native-xorg-base:1.19 pkgsrc-2008Q2:1.18.0.4 pkgsrc-2008Q2-base:1.18 cwrapper:1.18.0.2 pkgsrc-2008Q1:1.17.0.2 pkgsrc-2008Q1-base:1.17 pkgsrc-2007Q4:1.16.0.6 pkgsrc-2007Q4-base:1.16 pkgsrc-2007Q3:1.16.0.4 pkgsrc-2007Q3-base:1.16 pkgsrc-2007Q2:1.16.0.2 pkgsrc-2007Q2-base:1.16 pkgsrc-2007Q1:1.15.0.4 pkgsrc-2007Q1-base:1.15 pkgsrc-2006Q4:1.15.0.2 pkgsrc-2006Q4-base:1.15 pkgsrc-2006Q3:1.14.0.6 pkgsrc-2006Q3-base:1.14 pkgsrc-2006Q2:1.14.0.4 pkgsrc-2006Q2-base:1.14 pkgsrc-2006Q1:1.14.0.2 pkgsrc-2006Q1-base:1.14 pkgsrc-2005Q4:1.13.0.2 pkgsrc-2005Q4-base:1.13 pkgsrc-2005Q3:1.10.0.2 pkgsrc-2005Q3-base:1.10 pkgsrc-2005Q2:1.9.0.4 pkgsrc-2005Q2-base:1.9 pkgsrc-2005Q1:1.9.0.2 pkgsrc-2005Q1-base:1.9 pkgsrc-2004Q4:1.6.0.2 pkgsrc-2004Q4-base:1.6 pkgsrc-2004Q3:1.4.0.4 pkgsrc-2004Q3-base:1.4 pkgsrc-2004Q2:1.4.0.2 pkgsrc-2004Q2-base:1.4 pkgsrc-2004Q1:1.3.0.2 pkgsrc-2004Q1-base:1.3 pkgsrc-2003Q4:1.2.0.2 pkgsrc-2003Q4-base:1.2 netbsd-1-6-1:1.1.1.1.0.6 netbsd-1-6-1-base:1.1.1.1 netbsd-1-6:1.1.1.1.0.8 netbsd-1-6-RELEASE-base:1.1.1.1 pkgviews:1.1.1.1.0.4 pkgviews-base:1.1.1.1 buildlink2:1.1.1.1.0.2 buildlink2-base:1.1.1.1 netbsd-1-5-PATCH003:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.28 date 2025.12.16.10.19.11; author hauke; state Exp; branches; next 1.27; commitid GK7VOSVRLvA5sCmG; 1.27 date 2024.06.18.12.49.22; author markd; state Exp; branches; next 1.26; commitid DJQrZ1rRqpUZQseF; 1.26 date 2019.02.14.14.36.06; author thorpej; state Exp; branches; next 1.25; commitid 9PLNFwtNpIXQ9KbB; 1.25 date 2014.06.07.08.19.14; author obache; state Exp; branches; next 1.24; commitid Q26I2ksAfwQ48zDx; 1.24 date 2014.03.17.19.07.36; author asau; state Exp; branches; next 1.23; commitid shUWTeNZj0ikm5tx; 1.23 date 2011.02.04.12.26.01; author obache; state Exp; branches; next 1.22; 1.22 date 2010.06.02.12.06.22; author adam; state Exp; branches; next 1.21; 1.21 date 2009.07.09.06.37.41; author hasso; state Exp; branches; next 1.20; 1.20 date 2008.11.18.23.53.58; author wiz; state Exp; branches; next 1.19; 1.19 date 2008.09.06.20.53.51; author wiz; state Exp; branches; next 1.18; 1.18 date 2008.05.09.10.14.28; author tnn; state Exp; branches; next 1.17; 1.17 date 2008.01.10.21.55.53; author adam; state Exp; branches; next 1.16; 1.16 date 2007.06.08.12.23.51; author wiz; state Exp; branches; next 1.15; 1.15 date 2006.10.05.01.24.32; author rillig; state Exp; branches; next 1.14; 1.14 date 2006.01.06.15.08.47; author wiz; state Exp; branches; next 1.13; 1.13 date 2005.11.09.14.41.38; author tv; state Exp; branches; next 1.12; 1.12 date 2005.11.04.18.47.52; author tv; state Exp; branches; next 1.11; 1.11 date 2005.10.25.06.26.48; author jlam; state Exp; branches; next 1.10; 1.10 date 2005.08.19.19.46.24; author reed; state Exp; branches; next 1.9; 1.9 date 2005.01.05.08.06.42; author martti; state Exp; branches; next 1.8; 1.8 date 2004.12.30.21.51.30; author minskim; state Exp; branches; next 1.7; 1.7 date 2004.12.27.04.27.50; author jlam; state Exp; branches; next 1.6; 1.6 date 2004.11.17.07.10.45; author jlam; state Exp; branches; next 1.5; 1.5 date 2004.11.10.15.51.23; author jlam; state Exp; branches; next 1.4; 1.4 date 2004.04.07.15.12.40; author jmmv; state Exp; branches; next 1.3; 1.3 date 2003.12.07.00.51.07; author epg; state Exp; branches; next 1.2; 1.2 date 2003.06.10.09.54.42; author wiz; state Exp; branches; next 1.1; 1.1 date 2002.03.30.05.35.59; author uebayasi; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2002.03.30.05.35.59; author uebayasi; state Exp; branches; next ; desc @@ 1.28 log @databases/db[45] -- Add mutex support for SPARC v[78] machines. Thanks go to John D. Baker for submitting an updated patch to the PR, and to Andrew Randrianasulu for bringing up the issue again and then testing the patches. Fixes PR pkg/43444. @ text @$NetBSD: patch-ab,v 1.27 2024/06/18 12:49:22 markd Exp $ Port the configure script to C99. Add missing header files, avoid calling the undeclared exit function, and add missing return types main. This improves compatibility with compilers which do not accept language features that were removed from C99. Add mutex implementation for sparc v[789]. --- dist/configure.orig 2010-04-12 20:25:23.000000000 +0000 +++ dist/configure @@@@ -4523,11 +4523,12 @@@@ bsdi3*) CC=${CC-"shlicc2"} LIBSO_LIBS="$LIBSO_LIBS -lipc";; cygwin*) CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE -D_REENTRANT";; -freebsd*) +freebsd*|dragonfly*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" LDFLAGS="$LDFLAGS -pthread";; gnu*|k*bsd*-gnu|linux*) CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE -D_REENTRANT";; +haiku*) LIBSO_LIBS="$LIBSO_LIBS -lnetwork";; hpux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT";; irix*) optimize_debug="-O2" CPPFLAGS="$CPPFLAGS -D_SGI_MP_SOURCE";; @@@@ -6282,7 +6283,7 @@@@ fi # we're using. case "$host_os" in sysv5UnixWare*|sysv5OpenUNIX8*) - if test "$GCC" == "yes"; then + if test "$GCC" = "yes"; then CPPFLAGS="$CPPFLAGS -pthread" LDFLAGS="$LDFLAGS -pthread" else @@@@ -7343,6 +7344,10 @@@@ gnu*) lt_cv_deplibs_check_method=pass_all ;; +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in @@@@ -10131,6 +10136,12 @@@@ $as_echo_n "checking for $compiler optio lt_prog_compiler_pic='-fno-common' ;; + haiku*) + # PIC is the default for Haiku + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag @@@@ -11202,7 +11213,7 @@@@ if test -z "$aix_libpath"; then aix_libp hardcode_shlibpath_var=no ;; - freebsd1*) + freebsd1|freebsd1.*) ld_shlibs=no ;; @@@@ -11977,6 +11988,19 @@@@ beos*) shlibpath_var=LIBRARY_PATH ;; +haiku*) + version_type=linux + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libame}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/system/lib' + hardcode_into_libs=yes + shlibpath_var=LIBRARY_PATH + ;; + bsdi[45]*) version_type=linux need_version=no @@@@ -12077,7 +12101,7 @@@@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd1*) +freebsd1|freebsd1.*) dynamic_linker=no ;; @@@@ -12088,7 +12112,7 @@@@ freebsd* | dragonfly*) objformat=`/usr/bin/objformat` else case $host_os in - freebsd[123]*) objformat=aout ;; + freebsd[123].freebsd[123].*) objformat=aout ;; *) objformat=elf ;; esac fi @@@@ -13772,7 +13796,7 @@@@ if test -z "$aix_libpath"; then aix_libp esac ;; - freebsd[12]*) + freebsd[12]|freebsd[12].*) # C++ shared libraries reported to be fairly broken before # switch to ELF ld_shlibs_CXX=no @@@@ -14666,6 +14690,11 @@@@ $as_echo_n "checking for $compiler optio # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= @@@@ -15530,7 +15559,7 @@@@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd1*) +freebsd1|freebsd1.*) dynamic_linker=no ;; @@@@ -15541,7 +15570,7 @@@@ freebsd* | dragonfly*) objformat=`/usr/bin/objformat` else case $host_os in - freebsd[123]*) objformat=aout ;; + freebsd[123]|freebsd[123].*) objformat=aout ;; *) objformat=elf ;; esac fi @@@@ -15588,6 +15617,19 @@@@ gnu*) hardcode_into_libs=yes ;; +haiku*) + version_type=linux + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libame}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/system/lib' + hardcode_into_libs=yes + shlibpath_var=LIBRARY_PATH + ;; + hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. @@@@ -16161,7 +16203,7 @@@@ LIBTOOL="./libtool" INSTALLER="\$(LIBTOOL) --mode=install cp -p" MAKEFILE_CC="\$(LIBTOOL) --mode=compile ${MAKEFILE_CC}" -MAKEFILE_SOLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CCLINK} -avoid-version" +MAKEFILE_SOLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CCLINK}" MAKEFILE_CCLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CCLINK}" MAKEFILE_CXX="\$(LIBTOOL) --mode=compile ${MAKEFILE_CXX}" MAKEFILE_XSOLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CXXLINK} -avoid-version" @@@@ -16890,7 +16932,7 @@@@ if test "$_JTOPDIR" != "/usr"; then aix*) _JNI_INC_SUBDIRS="aix";; bsdi*) _JNI_INC_SUBDIRS="bsdos";; cygwin*) _JNI_INC_SUBDIRS="win32";; - freebsd*) _JNI_INC_SUBDIRS="freebsd";; + freebsd*|dragonfly*) _JNI_INC_SUBDIRS="freebsd";; hp*) _JNI_INC_SUBDIRS="hp-ux";; linux*) _JNI_INC_SUBDIRS="linux genunix";; osf*) _JNI_INC_SUBDIRS="alpha";; @@@@ -18755,6 +18797,7 @@@@ if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include int main () @@@@ -18791,8 +18834,9 @@@@ else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include -main() { +int main() { pthread_cond_t cond; pthread_mutex_t mutex; pthread_condattr_t condattr; @@@@ -18827,6 +18871,7 @@@@ if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include int main () @@@@ -18863,8 +18908,9 @@@@ else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include -main() { +int main() { pthread_cond_t cond; pthread_mutex_t mutex; pthread_condattr_t condattr; @@@@ -18898,6 +18944,7 @@@@ if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include int main () @@@@ -18932,8 +18979,9 @@@@ else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include -main() { +int main() { pthread_cond_t cond; pthread_mutex_t mutex; pthread_condattr_t condattr; @@@@ -18966,6 +19014,7 @@@@ if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include int main () @@@@ -19000,8 +19049,9 @@@@ else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include -main() { +int main() { pthread_cond_t cond; pthread_mutex_t mutex; pthread_condattr_t condattr; @@@@ -19037,6 +19087,7 @@@@ fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include int main () @@@@ -19067,6 +19118,7 @@@@ rm -f core conftest.err conftest.$ac_obj cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include #include int @@@@ -19097,6 +19149,7 @@@@ rm -f core conftest.err conftest.$ac_obj cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include #include int @@@@ -19141,7 +19194,7 @@@@ main () { #if (defined(i386) || defined(__i386__)) && defined(__GNUC__) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19164,7 +19217,7 @@@@ main () { #if (defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19215,8 +19268,12 @@@@ main () { #if defined(__sparc__) && defined(__GNUC__) + #if defined(__sparc_v9__) asm volatile ("membar #StoreStore|#StoreLoad|#LoadStore"); - exit(0); + #else + asm volatile ("stbar"); + #endif + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19287,7 +19344,7 @@@@ main () msem_init(&x, 0); msem_lock(&x, 0); msem_unlock(&x, 0); - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19319,7 +19376,7 @@@@ main () msem_init(&x, 0); msem_lock(&x, 0); msem_unlock(&x, 0); - exit(0); + return 0; ; return 0; @@@@ -19371,7 +19428,7 @@@@ main () { #if defined(__USLC__) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19502,7 +19559,7 @@@@ main () { #if defined(__alpha) && defined(__DECC) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19527,7 +19584,7 @@@@ main () { #if defined(__alpha) && defined(__GNUC__) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19552,7 +19609,7 @@@@ main () { #if defined(__arm__) && defined(__GNUC__) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19567,6 +19624,31 @@@@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +# AARCH64/gcc: Linux +if test "$db_cv_mutex" = no; then +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +#if defined(__aarch64__) && defined(__GNUC__) + return 0; +#else + FAIL TO COMPILE/LINK +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + db_cv_mutex=AARCH64/gcc-assembly +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + # MIPS/gcc: Linux if test "$db_cv_mutex" = no; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@@@ -19577,7 +19659,7 @@@@ main () { #if (defined(__mips) || defined(__mips__)) && defined(__GNUC__) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19602,7 +19684,7 @@@@ main () { #if (defined(__hppa) || defined(__hppa__)) && defined(__GNUC__) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19627,7 +19709,7 @@@@ main () { #if (defined(__powerpc__) || defined(__ppc__)) && defined(__GNUC__) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19652,7 +19734,7 @@@@ main () { #if (defined(mc68020) || defined(sun3)) && defined(__GNUC__) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19677,7 +19759,7 @@@@ main () { #if defined(__MVS__) && defined(__IBMC__) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19702,7 +19784,7 @@@@ main () { #if defined(__s390__) && defined(__GNUC__) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19727,7 +19809,7 @@@@ main () { #if defined(__ia64) && defined(__GNUC__) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19752,7 +19834,7 @@@@ main () { #if defined(_UTS) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -19862,6 +19944,10 @@@@ ARM/gcc-assembly) ADDITIONAL_OBJS="mut_t $as_echo "#define HAVE_MUTEX_ARM_GCC_ASSEMBLY 1" >>confdefs.h ;; +AARCH64/gcc-assembly) ADDITIONAL_OBJS="mut_tas${o} $ADDITIONAL_OBJS" + $as_echo "#define HAVE_MUTEX_AARCH64_GCC_ASSEMBLY 1" >>confdefs.h + + ;; HP/msem_init) ADDITIONAL_OBJS="mut_tas${o} $ADDITIONAL_OBJS" $as_echo "#define HAVE_MUTEX_HPPA_MSEM_INIT 1" >>confdefs.h @@@@ -20203,9 +20289,9 @@@@ main () { #if ((defined(i386) || defined(__i386__)) && defined(__GNUC__)) - exit(0); + return 0; #elif ((defined(x86_64) || defined(__x86_64__)) && defined(__GNUC__)) - exit(0); + return 0; #else FAIL TO COMPILE/LINK #endif @@@@ -20720,6 +20806,7 @@@@ if test "$cross_compiling" = yes; then : /* end confdefs.h. */ #include +#include int main () { @@@@ -20743,7 +20830,8 @@@@ else /* end confdefs.h. */ #include -main() { +#include +int main() { struct timespec t; return (clock_gettime(CLOCK_MONOTONIC, &t) != 0); } @@@@ -21600,6 +21688,8 @@@@ $as_echo_n "checking for 64-bit integral cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include +#include int main () { @@@@ -21634,7 +21724,9 @@@@ else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - main() { + #include + #include + int main() { $db_cv_seq_type l; unsigned $db_cv_seq_type u; char buf[100]; @ 1.27 log @db4: Port the configure script to C99. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.26 2019/02/14 14:36:06 thorpej Exp $ d8 2 d301 2 a302 1 @@@@ -19216,7 +19269,7 @@@@ main () d305 1 d308 3 d315 1 a315 1 @@@@ -19287,7 +19340,7 @@@@ main () d324 1 a324 1 @@@@ -19319,7 +19372,7 @@@@ main () d333 1 a333 1 @@@@ -19371,7 +19424,7 @@@@ main () d342 1 a342 1 @@@@ -19502,7 +19555,7 @@@@ main () d351 1 a351 1 @@@@ -19527,7 +19580,7 @@@@ main () d360 1 a360 1 @@@@ -19552,7 +19605,7 @@@@ main () d369 1 a369 1 @@@@ -19567,6 +19620,31 @@@@ fi d401 1 a401 1 @@@@ -19577,7 +19655,7 @@@@ main () d410 1 a410 1 @@@@ -19602,7 +19680,7 @@@@ main () d419 1 a419 1 @@@@ -19627,7 +19705,7 @@@@ main () d428 1 a428 1 @@@@ -19652,7 +19730,7 @@@@ main () d437 1 a437 1 @@@@ -19677,7 +19755,7 @@@@ main () d446 1 a446 1 @@@@ -19702,7 +19780,7 @@@@ main () d455 1 a455 1 @@@@ -19727,7 +19805,7 @@@@ main () d464 1 a464 1 @@@@ -19752,7 +19830,7 @@@@ main () d473 1 a473 1 @@@@ -19862,6 +19940,10 @@@@ ARM/gcc-assembly) ADDITIONAL_OBJS="mut_t d484 1 a484 1 @@@@ -20203,9 +20285,9 @@@@ main () d496 1 a496 1 @@@@ -20720,6 +20802,7 @@@@ if test "$cross_compiling" = yes; then : d504 1 a504 1 @@@@ -20743,7 +20826,8 @@@@ else d514 1 a514 1 @@@@ -21600,6 +21684,8 @@@@ $as_echo_n "checking for 64-bit integral d523 1 a523 1 @@@@ -21634,7 +21720,9 @@@@ else @ 1.26 log @Add support for mutexes on aarch64 with GCC. Bump PKGREVISION to 1. @ text @d1 6 a6 1 $NetBSD: patch-ab,v 1.25 2014/06/07 08:19:14 obache Exp $ d181 182 a362 1 @@@@ -19567,6 +19609,31 @@@@ fi d376 1 a376 1 + exit(0); d394 73 a466 1 @@@@ -19862,6 +19929,10 @@@@ ARM/gcc-assembly) ADDITIONAL_OBJS="mut_t d477 50 @ 1.25 log @Add Haiku configureation to configure. Based on patch created by diger. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.24 2014/03/17 19:07:36 asau Exp $ d176 43 @ 1.24 log @FreeBSD 10 is not FreeBSD 1. @ text @d1 1 a1 1 $NetBSD$ d5 1 a5 1 @@@@ -4523,7 +4523,7 @@@@ bsdi3*) CC=${CC-"shlicc2"} d14 6 a19 1 @@@@ -6282,7 +6282,7 @@@@ fi d28 25 a52 1 @@@@ -11202,7 +11202,7 @@@@ if test -z "$aix_libpath"; then aix_libp d61 21 a81 1 @@@@ -12077,7 +12077,7 @@@@ dgux*) d90 1 a90 1 @@@@ -12088,7 +12088,7 @@@@ freebsd* | dragonfly*) d99 1 a99 1 @@@@ -13772,7 +13772,7 @@@@ if test -z "$aix_libpath"; then aix_libp d108 13 a120 1 @@@@ -15530,7 +15530,7 @@@@ dgux*) d129 1 a129 1 @@@@ -15541,7 +15541,7 @@@@ freebsd* | dragonfly*) d138 21 a158 1 @@@@ -16161,7 +16161,7 @@@@ LIBTOOL="./libtool" d167 1 a167 1 @@@@ -16890,7 +16890,7 @@@@ if test "$_JTOPDIR" != "/usr"; then @ 1.23 log @Remove the last hunk from patch-ab for configure. It was added for DragonFly, but not required for recent DF release, and break build on AIX-5.3, as PR#44446. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.22 2010/06/02 12:06:22 adam Exp $ d23 54 @ 1.22 log @Changes 4.8.30: * The log file format changed in 11gR2. * Replication Manager sites can specify one or more possible client-to-client peers. * Added resource management feature in all Berkeley DB APIs to automatically manage cursor and database handles by closing them when they are not required, if they are not yet closed. * Added a SQL interface to the Berkeley DB library. The interface is based on - and a drop-in-replacement for - the SQLite API. It can be accessed via a command line utility, a C API, or existing APIs built for SQLite. * Added hash databases support to the DB->compact interface. * Renamed the "db_sql" utility to "db_sql_codegen". This utility is not built by default. To build this utility, enter --enable-sql_codegen as an argument to configure. * Added transactional support in db_sql_codegen utility. Specify TRANSACTIONAL or NONTRANSACTIONAL in hint comments in SQL statement, db_sql_codegen enable/disable transaction in generated code accordingly. * Added the feature read-your-writes consistency that allows client application to check, or wait for a specific transaction to be replicated from the master before reading database. * Added DB log verification feature, accessible via the API and a new utility. This feature can help debugging and analysis. * Added support for applications to assign master/client role explicitly at any time. Replication Manager can now be configured not to initiate elections. * more... @ text @d1 1 a1 1 $NetBSD$ a40 9 @@@@ -18748,7 +18748,7 @@@@ if test "$db_cv_mutex" = no; then # If the user specified we use POSIX pthreads mutexes, and we fail to # find the full interface, try and configure for just intra-process # support. - if test "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then + if test "$ac_cv_lib_pthread_main" = yes -a "$db_cv_mutex" = no -o "$db_cv_mutex" = posix_only; then LIBS="$LIBS -lpthread" if test "$cross_compiling" = yes; then : @ 1.21 log @Make it build with DragonFly master. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.20 2008/11/18 23:53:58 wiz Exp $ d3 3 a5 3 --- dist/configure.orig 2008-05-16 00:12:41 +0300 +++ dist/configure 2009-07-09 08:48:34 +0300 @@@@ -3716,7 +3716,7 @@@@ bsdi3*) CC=${CC-"shlicc2"} d14 1 a14 9 @@@@ -5913,6 +5913,7 @@@@ db_cv_gxx_except=no; if test "$GXX" = "yes"; then GXX_VERSION=`${MAKEFILE_CXX} --version` case ${GXX_VERSION} in + egcs*) CXXFLAGS="-fexceptions $CXXFLAGS";; 1.*|2.[01234567].*|*-1.*|*-2.[01234567].*) db_cv_gxx_except=yes;; esac @@@@ -5929,7 +5930,7 @@@@ fi d23 1 a23 9 @@@@ -21053,7 +21054,6 @@@@ LIBTOOL='$(SHELL) $(top_builddir)/libtoo SOFLAGS="-rpath \$(libdir)" -LIBTOOL_PROG="${SHELL} ./libtool" # Set SOSUFFIX and friends @@@@ -21145,7 +21145,7 @@@@ echo "${ECHO_T}$JMODSUFFIX" >&6; } d32 1 a32 1 @@@@ -21918,7 +21918,7 @@@@ if test "$_JTOPDIR" != "/usr"; then d41 1 a41 14 @@@@ -28529,10 +28529,12 @@@@ typedef FILE * ac__type_new_; int main () { +#ifndef __DragonFly__ if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; +#endif ; return 0; } @@@@ -29904,7 +29906,7 @@@@ rm -f core conftest.err conftest.$ac_obj d49 1 a49 1 if test "$cross_compiling" = yes; then @ 1.20 log @Fix RCS Id in patch-ab. @ text @d1 1 a1 1 $NetBSD$ d3 11 a13 2 --- dist/configure.orig 2008-05-15 23:12:41.000000000 +0200 +++ dist/configure @ 1.19 log @Update to 4.7.25.1: Berkeley DB 4.7.25 Change Log Database or Log File On-Disk Format Changes: 1. The log file format changed in 4.7. New Features: 1. The lock manager may now be fully partitioned, improving performance on some multi-CPU systems. [#15880] 2. Replication groups are now architecture-neutral, supporting connections between differing architectures (big-endian or little-endian, independent of structure padding). [#15787] [#15840] 3. Java: A new Direct Persistence Layer adds a built-in Plain Old Java Object (POJO)-based persistent object model, which provides support for complex object models without compromises in performance. For an introduction to the Direct Persistence Layer API, see Getting Started with Data Storage. [#15936] 4. Add the DB_ENV->set_intermediate_dir_mode method to support the creation of intermediate directories needed during recovery. [#15097] 5. The DB_ENV->failchk method can now abort transactions for threads, which have failed while blocked on a concurrency lock. This significantly decreases the need for database environment recovery after thread of control failure. [#15626] 6. Replication Manager clients now can be configured to monitor the connection to the master using heartbeat messages, in order to promptly discover connection failures. [#15714] 7. The logging system may now be configured to pre-zero log files when they are created, improving performance on some systems. [#15758] Database Environment Changes: 1. Restructure aborted page allocation handling on systems without an ftruncate system call. This enables the Berkeley DB High Availability product on systems, which do not support ftruncate. [#15602] 2. Fix a bug where closing a database handle after aborting a transaction which included a failed open of that handle could result in application failure. [#15650] 3. Fix minor memory leaks when closing a private database environment. [#15663] 4. Fix a bug leading to a panic of "unpinned page returned" if a cursor was used for a delete multiple times and deadlocked during one of the deletes. [#15944] 5. Optionally signal processes still running in the environment before running recovery. [#15984] Concurrent Data Store Changes: None. General Access Method Changes: 1. Fix a bug where closing a database handle after aborting a transaction which included a failed open of that database handle could result in application failure. [#15650] 2. Fix a bug that could cause panic in a database environment configured with POSIX-style thread locking, if a database open failed. [#15662] 3. Fix bug in the DB->compact method which could cause a panic if a thread was about to release a page while another thread was truncating the database file. [#15671] 4. Fix an obscure case of interaction between a cursor scan and delete that was prematurely returning DB_NOTFOUND. [#15785] 5. Fix a bug in the DB->compact method where if read-uncommitted was configured, a reader reading uncommitted data my see an inconsistent entry between when the compact method detects an error and when it aborts the enclosing transaction. [#15856] 6. Fix a bug in the DB->compact method where a thread of control mail fail if two threads are compacting the same section of a Recno database. [#15856] 7. Fix a bug in DB->compact method, avoid an assertion failure when zero pages can be freed. [#15965] 8. Fix a bug return a non-zero error when DB->truncate is called with open cursors. [#15973] 9. Fix a bug add HANDLE_DEAD checking for DB cursors. [#15990] 10. Fix a bug to now generate errors when DB_SEQUENCE->stat is called without first opening the sequence. [#15995] 11. Fix a bug to no longer dereference a pointer into a hash structure, when hash functionality is disabled. [#16095] Btree Access Method Changes: None. Hash Access Method Changes: 1. Fix a bug where a database store into a Hash database could self-deadlock in a database environment configured for the Berkeley DB Concurrent Data Store product, and with a free-threaded DB_ENV or DB handle. [#15718] Queue Access Method Changes: 1. Fix a bug that could cause a put or delete of a queue element to return a DB_NOTGRANTED error, if blocked. [#15933] Recno Access Method Changes: 1. Expose db_env_set_func_malloc, db_env_set_func_realloc, and db_env_set_func_free through the Windows API for the DB dll. [#16045] C-specific API Changes: None. Java-specific API Changes: 1. Fix a bug where enabling MVCC on a database through the Java API was ignored. [#15644] 2. Fixed memory leak bugs in error message buffering in the Java API. [#15843] 3. Fix a bug where Java SecondaryConfig was not setting SecondaryMultiKeyCreator from the underlying db handle [OTN FORUM} 4. Fix a bug so that getStartupComplete will now return a boolean instead of an int. [#16067] 5. Fix a bug in the Java API, where Berkeley DB would hang on exit when using replication. [#16142] Direct Persistence Layer (DPL), Bindings and Collections API: 1. A new Direct Persistence Layer adds a built-in Plain Old Java Object (POJO)-based persistent object model, which provides support for complex object models without compromises in performance. For an introduction to the Direct Persistence Layer API, see Getting Started with Data Storage. [#15936] 2. Fixed a bug in the remove method of the Iterator instances returned by the StoredCollection.iterator method in the collections package. This bug caused ArrayIndexOutOfBoundsException in some cases when calling next, previous, hasNext or hasPrevious after calling remove. (Note that this issue does not apply to StoredIterator instances returned by the StoredCollection.storedIterator method.) This bug was reported in this forum thread: http://forums.oracle.com/forums/thread.jspa?messageID=2187896 [#15858] 3. Fixed a bug in the remove method of the StoredIterator instances returned by StoredCollection.storedIterator method in the collections package. If the sequence of methods next-remove-previous was called, previous would sometimes return the removed record. If the sequence of methods previous-remove-next was called, next would sometimes return the removed record. (Note that this issue does not apply to Iterator instances returned by the StoredCollection.iterator method.) [#15909] 4. Fixed a bug that causes a memory leak for applications where many Environment objects are opened and closed and the CurrentTransaction or TransactionRunner class is used. The problem was reported in this JE Forum thread: http://forums.oracle.com/forums/thread.jspa?messageID=1782659 [#15444] 5. Added StoredContainer.areKeyRangesAllowed method. Key ranges and the methods in SortedMap and SortedSet such as subMap and subSet are now explicitly disallowed for RECNO and QUEUE databases -- they are only supported for BTREE databases. Before, using key ranges in a RECNO or QUEUE database did not work, but was not explicitly prohibited in the Collections API. [#15936] Tcl-specific API Changes: 1. The Berkeley DB Tcl API does not attempt to avoid evaluating input as Tcl commands. For this reason, it may be dangerous to pass unreviewed user input through the Berkeley DB Tcl API, as the input may subsequently be evaluated as a Tcl command. To minimize the effectiveness of a Tcl injection attack, the Berkeley DB Tcl API in the 4.7 release routine resets process' effective user and group IDs to the real user and group IDs. [#15597] RPC-specific Client/Server Changes: None. Replication Changes: 1. Fix a bug where a master failure resulted in multiple attempts to perform a "fast election"; subsequent elections, when necessary, now use the normal nsites value. [#15099] 2. Replication performance enhancements to speed up failover. [#15490] 3. Fix a bug where replication could self-block in a database environment configured for in-memory logging. [#15503] 4. Fix a bug where replication would attempt to read log file version numbers in a database configured for in-memory logging. [#15503] 5. Fix a bug where log files were not removed during client initialization in a database configured for in-memory logging. [#15503] 6. The 4.7 release no longer supports live replication upgrade from the 4.2 or 4.3 releases, only from the 4.4 and later releases. [#15602] 7. Fix a bug where replication could re-request missing records on every arriving record. [#15629] 8. Change the DB_ENV->rep_set_request method to use time, not the number of messages, when re-requesting missed messages on a replication client. [#15629] 9. Fix a minor memory leak on the master when updating a client during internal initialization. [#15634] 10. Fix a bug where a client error when syncing with a new replication group master could result in an inability to ever re-join the group. [#15648] 11. Change dbenv->rep_set_request to use time-based values instead of counters. [#15682] 12. Fix a bug where a LOCK_NOTGRANTED error could be returned from the DB_ENV->rep_process_message method, instead of being handled internally by replication. [#15685] 13. Fix a bug where the Replication Manager would reject a fresh connection from a remote site that had crashed and restarted, displaying the message: "redundant incoming connection will be ignored". [#15731] 14. The Replication Manager now supports dynamic negotiation of the best available wire protocol version, on a per-connection basis. [#15783] 15. Fix a bug, which could lead to slow performance of internal initialization under the Replication Manager, as evidenced by "queue limit exceeded" messages in verbose replication diagnostic output. [#15788] 16. Fix a bug where replication control message were not portable between replication clients with different endian architectures. [#15793] 17. Add a configuration option to turn off Replication Manager's special handling of elections in 2-site groups. [#15873] 18. Fix a bug making it impossible to call replicationManagerAddRemoteSite in the Java API after having called replicationManagerStart. [#15875] 19. Fix a bug where the DB_EVENT_REP_STARTUPDONE event could be triggered too early. [#15887] 20. Fix a bug where the rcvd_ts timestamp is reset when the user just changes the threshold. [#15895] 21. Fix a bug where the master in a 2-site replication group might wait for client acknowledgement, even when there was no client connected. [#15927] 22. Fix a bug, clean up and restart internal init if master log is gone. [#16006] 23. Fix a bug, ignore page messages that are from an old internal init. [#16075] [#16059] 24. Fix a bug where checkpoint records do not indicate a database was a named in-memory database. [#16076] 25. Fix a bug with in-memory replication, where we returned with the log region mutex held in an error path, leading to self-deadlock. [#16088] 26. Fix a bug which causes the DB_REP_CHECKPOINT_DELAY setting in rep_set_timeout() to be interpreted in seconds, rather than microseconds. [#16153] XA Resource Manager Changes: 1. Fix a bug where the DB_ENV->failchk method and replication in general could fail in database environments configured for XA. [#15654] Locking Subsystem Changes: 1. Fix a bug causing a lock or transaction timeout to not be set properly after the first timeout triggers on a particular lock id. [#15847] 2. Fix a bug that would cause a trap if DB_ENV->lock_id_free was passed an invalid locker id. [#16005] 3. Fix a bug when thread tracking is enabled where an attempt is made to release a mutex that is not lock. [#16011] Logging Subsystem Changes: 1. Fix a bug, handle zero-length log records doing HA sync with in-memory logs. [#15838] 2. Fix a bug that could cause DB_ENV->failcheck to leak log region memory. [#15925] 3. Fix a bug where the abort of a transaction that opened a database could leak log region memory. [#15953] 4. Fix a bug that could leak memory in the DB_ENV->log_archive interface if a log file was not found. [#16013] Memory Pool Subsystem Changes: 1. Fix multiple MVCC bugs including a race, which could result in incorrect data being returned to the application. [#15653] 2. Fixed a bug that left an active file in the buffer pool after a database create was aborted. [#15918] 3. Fix a bug where there could be uneven distribution of pages if a single database and multiple cache regions are configured. [#16015] 4. Fix a bug where DB_MPOOLFILE->set_maxsize was dropping the wrong mutex after open. [#16050] Mutex Subsystem Changes: 1. Fix a bug where mutex contention in database environments configured for hybrid mutex support could result in performance degradation. [#15646] 2. Set the DB_MUTEX_PROCESS_ONLY flag on all mutexes in private environments, they can't be shared and so we can use the faster, intra-process only mutex implementations [#16025] 3. Fix a bug so that mutexes are now removed from the environment signature if mutexes are disabled. [#16042] Transaction Subsystem Changes: 1. Fix a bug that could cause a checkpoint to selfblock attempting to flush a file, when the file handle was closed by another thread during the flush. [#15692] 2. Fix a bug that could cause DB_ENV->failcheck to hang if there were pending prepared transactions in the environment. [#15925] 3. Prepared transactions will now use the sync setting from the environment. Default to flushing the log on commit (was nosync). [#15995] 4. If __txn_getactive fails, we now return with the log region mutex held. This is not a bus since __txn_getactive cannot really fail. [#16088] Utility Changes: 1. Update db_stat with -x option for mutex stats 2. Fix an incorrect assumption about buffer size when getting an overflow page in db_verify. [#16064] Configuration, Documentation, Sample Application, Portability and Build Changes: 1. Fix an installation bug where the Berkeley DB PHP header file was not installed in the correct place. 2. Merge the run-time configuration sleep and yield functions. [#15037] 3. Fix Handle_DEAD and other expected replication errors in the C++ sample application ReqQuoteExample.cpp. [15568] 4. Add support for monotonic timers. [#15670] 5. Fix bugs where applications using the db_env_func_map and db_env_func_unmap run-time configuration functions could not join existing database environments, or open multiple DB_ENV handles for a single environment. [#15930] 6. Add documentation about building Berkeley DB for VxWorks 6.x. 7. Remove the HAVE_FINE_GRAINED_LOCK_MANAGER flag, it is obsolete in 4.7. 8. Fix a bug in ex_rep, add a missing break which could cause a segment fault. 9. Fix build warnings from 64 bit Windows build. [#16029] 10. Fix an alignment bug on ARM Linux. Force the assignment to use memcpy. [#16125] 11. Fix a bug in the Windows specific code of ex_sequence.c, where there was an invalide printf specifier. [#16131] 12. Improve the timer in ex_tpcb to use high resolution timers. [#16154] 13. Mention in the documentation that env->open() requires DB_THREAD to be specified when using repmgr. [#16163] 14. Disable support for mmap on Windows CE. The only affect is that we do not attempt to mmap small read only databases into the mpool. [#16169] @ text @d1 2 a2 2 --- dist/configure.orig 2007-09-27 18:32:04 +0300 +++ dist/configure 2008-05-09 01:20:00 +0300 @ 1.18 log @PR pkg/38616: Hasso Tepper: Fix build on DragonFlyBSD. The configure script checks for sizeof(FILE), which is an opaque type. It can be argued that it should check for FILE* instead because that's what it uses, but take the shortest path of resistance and disable the check on DragonFly. Upstream is aware of the issue. @ text @d3 3 a5 1 @@@@ -5938,6 +5938,7 @@@@ db_cv_gxx_except=no; d13 1 a13 1 @@@@ -5954,7 +5955,7 @@@@ fi d22 1 a22 1 @@@@ -21078,7 +21079,6 @@@@ LIBTOOL='$(SHELL) $(top_builddir)/libtoo d30 1 a30 1 @@@@ -21170,7 +21170,7 @@@@ echo "${ECHO_T}$JMODSUFFIX" >&6; } d39 1 a39 2 @@@@ -21937,7 +21937,7 @@@@ if test "$_JTOPDIR" != "/usr"; then case "$host_os" in d42 1 d48 1 a48 1 @@@@ -28547,10 +28547,12 @@@@ typedef FILE ac__type_new_; d61 1 a61 1 @@@@ -29859,7 +29861,7 @@@@ rm -f core conftest.err conftest.$ac_obj @ 1.17 log @Changes 4.6.21: * Fix a bug where mutex contention in database environments configured for hybrid mutex support could result in performance degradation. * Fix a bug where closing a database handle after aborting a transaction which included a failed open of that database handle could result in application failure. * Fix multiple MVCC bugs including a race which could result in incorrect data being returned to the application. * Fix a bug where a database store into a Hash database could self-deadlock in a database environment configured for the Berkeley DB Concurrent Data Store product and with a free-threaded DB_ENV or DB handle. * Fix an installation bug where Berkeley DB's PHP header file was not installed in the correct place. @ text @d1 2 a2 4 $NetBSD$ --- dist/configure.orig 2007-09-27 17:32:04.000000000 +0200 +++ dist/configure d46 14 a59 1 @@@@ -29859,7 +29859,7 @@@@ rm -f core conftest.err conftest.$ac_obj @ 1.16 log @Update to 4.5.20.2: Multi-Version Concurrency Control (MVCC) improves performance of highly concurrent, mixed read/write systems by giving each user their own snapshot of the database and managing concurrent changes by many users Non-stop Upgrades enables a replicated Oracle Berkeley DB system to be upgraded without downtime. For customers that must maintain 99.999 percent system uptime, this allows them to upgrade the Oracle Berkeley DB database without taking down the entire system Replication Framework provides a pre-built and supported set of functions for quickly building replicated or highly available systems, simplifying and accelerating their development effort @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.15 2006/10/05 01:24:32 rillig Exp $ d3 1 a3 1 --- dist/configure.orig 2006-09-20 20:07:20.000000000 +0000 d5 1 a5 1 @@@@ -6288,6 +6288,7 @@@@ db_cv_gxx_except=no; d13 1 a13 1 @@@@ -6304,7 +6305,7 @@@@ fi d22 1 a22 1 @@@@ -21832,7 +21833,6 @@@@ LIBTOOL='$(SHELL) $(top_builddir)/libtoo d30 1 a30 1 @@@@ -21924,7 +21924,7 @@@@ echo "${ECHO_T}$JMODSUFFIX" >&6; } d39 1 a39 1 @@@@ -22691,7 +22691,7 @@@@ if test "$_JTOPDIR" != "/usr"; then d48 7 a54 7 @@@@ -31972,7 +31972,7 @@@@ fi # # If the user specified we use POSIX pthreads mutexes, and we fail to find the # full interface, try and configure for just intra-process support. -if test "$db_cv_mutex" = no -o "$db_cv_mutex" = "posix_only"; then +if test "$ac_cv_lib_pthread_main" = yes -a "$db_cv_mutex" = no -o "$db_cv_mutex" = "posix_only"; then LIBS="$LIBS -lpthread" @ 1.15 log @Fixed a "test ==" in the configure script. Fixed some pkglint warnings. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.14 2006/01/06 15:08:47 wiz Exp $ d3 3 a5 3 --- dist/configure.orig 2006-01-10 17:19:32.000000000 +0100 +++ dist/configure 2006-10-05 03:21:44.000000000 +0200 @@@@ -5498,6 +5498,7 @@@@ db_cv_gxx_except=no; d13 1 a13 1 @@@@ -5514,7 +5515,7 @@@@ fi d22 1 a22 1 @@@@ -21564,7 +21565,6 @@@@ LIBTOOL='$(SHELL) $(top_builddir)/libtoo d30 1 a30 1 @@@@ -21656,7 +21656,7 @@@@ echo "${ECHO_T}$JMODSUFFIX" >&6 d39 1 a39 1 @@@@ -22412,7 +22412,7 @@@@ if test "$_JTOPDIR" != "/usr"; then d48 1 a48 1 @@@@ -30835,7 +30835,7 @@@@ fi @ 1.14 log @Update to 4.4.16: New in Berkeley DB 4.4: * In-memory replication * Client-to-client replication * Delayed client synchronization * Synchronization throttling * Master election speed-ups * Hot backup utility * Online Btree compaction * Online Btree disk space reclamation * Online abandoned lock removal * Automated recovery serialization * Transactional Application Developer's Guide @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.13 2005/11/09 14:41:38 tv Exp $ d3 2 a4 2 --- dist/configure.orig 2005-11-12 18:42:56.000000000 +0100 +++ dist/configure d13 9 @ 1.13 log @Now that we're properly using the pkgsrc-supplied libtool, clean up the bits of "configure" that were twiddling only libtool-config bits, as these are no longer used. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.12 2005/11/04 18:47:52 tv Exp $ d3 1 a3 1 --- dist/configure.orig 2005-09-06 03:44:24.000000000 -0400 d5 1 a5 1 @@@@ -5417,6 +5417,7 @@@@ db_cv_gxx_except=no; d13 1 a13 1 @@@@ -20774,7 +20775,6 @@@@ LIBTOOL='$(SHELL) $(top_builddir)/libtoo d21 1 a21 1 @@@@ -20866,7 +20866,7 @@@@ echo "${ECHO_T}$JMODSUFFIX" >&6 d30 1 a30 1 @@@@ -21614,7 +21614,7 @@@@ if test "$_JTOPDIR" != "/usr"; then d39 1 a39 1 @@@@ -30025,7 +30025,7 @@@@ fi @ 1.12 log @Use the pkgsrc-installed libtool, not the throwaway in-tree libtool, to choose between link commands for shared or static linking. Should fix shlib build and install on Interix. @ text @d1 1 a1 1 $NetBSD$ a12 88 @@@@ -5831,13 +5832,13 @@@@ darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; -freebsd* | kfreebsd*-gnu) +freebsd* | kfreebsd*-gnu | dragonfly*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; @@@@ -7074,7 +7075,7 @@@@ else lt_cv_sys_max_cmd_len=8192; ;; - netbsd* | freebsd* | openbsd* | darwin* ) + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@@@ -8850,7 +8851,7 @@@@ if test -z "$aix_libpath"; then aix_libp ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu) + freebsd* | kfreebsd*-gnu | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@@@ -9429,7 +9430,7 @@@@ kfreebsd*-gnu) dynamic_linker='GNU ld.so' ;; -freebsd*) +freebsd* | dragonfly*) objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in @@@@ -11784,7 +11785,7 @@@@ if test -z "$aix_libpath"; then aix_libp freebsd-elf*) archive_cmds_need_lc_CXX=no ;; - freebsd* | kfreebsd*-gnu) + freebsd* | kfreebsd*-gnu | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes @@@@ -13141,7 +13142,7 @@@@ kfreebsd*-gnu) dynamic_linker='GNU ld.so' ;; -freebsd*) +freebsd* | dragonfly*) objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in @@@@ -15722,7 +15723,7 @@@@ if test -z "$aix_libpath"; then aix_libp ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu) + freebsd* | kfreebsd*-gnu | dragonfly*) archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes @@@@ -16301,7 +16302,7 @@@@ kfreebsd*-gnu) dynamic_linker='GNU ld.so' ;; -freebsd*) +freebsd* | dragonfly*) objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in @@@@ -18663,7 +18664,7 @@@@ kfreebsd*-gnu) dynamic_linker='GNU ld.so' ;; -freebsd*) +freebsd* | dragonfly*) objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` version_type=freebsd-$objformat case $version_type in @ 1.11 log @Update databases/db4 to 4.3.29. This is a point release update over 4.3.28, so there are no API changes, and applications may be upgraded by relinking against db4-4.3.29. We stop pretending to support a "java" package option since we never even bothered with handling the PLIST differences. Changes from version 4.3.28 include: * The on-disk log format has changed. * Add support for lightweight, transactionally protected Sequence Number generation. * Add support for Degree 2 isolation. * Add election generation information to replication to support Paxos compliance. * A huge number of bug fixes, including eliminating some instances of application deadlock and memory leak fixes. * Some minor performance enhancements. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.10 2005/08/19 19:46:24 reed Exp $ d101 9 a109 1 @@@@ -20866,7 +20867,7 @@@@ echo "${ECHO_T}$JMODSUFFIX" >&6 d118 1 a118 1 @@@@ -21614,7 +21615,7 @@@@ if test "$_JTOPDIR" != "/usr"; then d127 1 a127 1 @@@@ -30025,7 +30026,7 @@@@ fi @ 1.10 log @This adds DragonFly support. (Before shared libraries were not built.) This is from Joerg Sonnenberger's diff. I do not know if this support has been submitted to Sleepycat for dist/configure* yet. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.8 2004/12/30 21:51:30 minskim Exp $ d3 5 a7 3 --- dist/configure.orig 2004-12-23 04:59:13.000000000 +0200 +++ dist/configure 2005-01-05 09:40:13.000000000 +0200 @@@@ -5419,2 +5419,3 @@@@ d11 3 a13 1 @@@@ -5832,13 +5832,13 @@@@ darwin* | rhapsody*) d29 1 a29 1 @@@@ -7075,7 +7075,7 @@@@ else d38 1 a38 1 @@@@ -8851,7 +8851,7 @@@@ if test -z "$aix_libpath"; then aix_libp d47 1 a47 1 @@@@ -9430,7 +9430,7 @@@@ kfreebsd*-gnu) d56 1 a56 1 @@@@ -11785,7 +11785,7 @@@@ if test -z "$aix_libpath"; then aix_libp d65 1 a65 1 @@@@ -13142,7 +13142,7 @@@@ kfreebsd*-gnu) d74 1 a74 1 @@@@ -15723,7 +15723,7 @@@@ if test -z "$aix_libpath"; then aix_libp d83 1 a83 1 @@@@ -16302,7 +16302,7 @@@@ kfreebsd*-gnu) d92 1 a92 1 @@@@ -18664,7 +18664,7 @@@@ kfreebsd*-gnu) d101 3 a103 1 @@@@ -20868,3 +20869,3 @@@@ d108 3 a110 1 @@@@ -21615,7 +21615,7 @@@@ if test "$_JTOPDIR" != "/usr"; then d119 3 a121 1 @@@@ -30027,3 +30028,3 @@@@ d126 2 @ 1.9 log @Updated db4 to 4.3.27 * bug fixes @ text @d9 88 d102 9 @ 1.8 log @Use the -pthread option only when pthread is enabled. Previously, the configure script still used -pthread during the POSIX mutex test even when we explicitly disabled pthread through CONFIGURE_ENV, resulting in re-enabling pthread. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 5 --- dist/configure.orig 2004-11-08 19:28:06.000000000 -0600 +++ dist/configure @@@@ -5417,6 +5417,7 @@@@ db_cv_gxx_except=no; if test "$GXX" = "yes"; then GXX_VERSION=`${MAKEFILE_CXX} --version` d9 1 a9 5 db_cv_gxx_except=yes;; esac @@@@ -20866,7 +20867,7 @@@@ echo "${ECHO_T}$JMODSUFFIX" >&6 INSTALLER="\$(LIBTOOL) --mode=install cp -p" d14 1 a14 5 MAKEFILE_CXX="\$(LIBTOOL) --mode=compile ${MAKEFILE_CXX}" MAKEFILE_XSOLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CXXLINK} -avoid-version" @@@@ -30024,7 +30025,7 @@@@ fi # # If the user specified we use POSIX pthreads mutexes, and we fail to find the a18 2 if test "$cross_compiling" = yes; then @ 1.7 log @Update databases/db4 to 4.3.21. Changes from version 4.2.25 include: * Automatic initialization of replication clients * Replication election process is now Paxos compliant * In memory transaction logs allowing in memory databases * Enhanced Java API nearly identical to that of our Java Edition * Native support for sequence number generation * Degree 2 transaction isolation * Mutex statistics can now be easily gathered and recorded * Support for Itanium2 chips running Windows XP @ text @d3 1 a3 1 --- dist/configure.orig 2004-11-08 20:28:06.000000000 -0500 d22 9 @ 1.6 log @x86_64 supports the same test-and-set method as x86, so use it instead of relying on UNIX/fnctl, which can block all threads between processes and cause certain mutex assumptions to fail. @ text @d3 1 a3 1 --- dist/configure.orig 2003-12-03 16:10:02.000000000 -0500 d5 1 a5 1 @@@@ -5390,6 +5390,7 @@@@ db_cv_gxx_except=no; d9 1 a9 1 + egcs*) CXXFLAGS="-fexceptions $CXXFLAGS";; d13 1 a13 1 @@@@ -20138,7 +20139,7 @@@@ echo "${ECHO_T}$JMODSUFFIX" >&6 a21 17 @@@@ -27047,6 +27048,7 @@@@ echo "$as_me:$LINENO: result: $ac_cv_lib echo "${ECHO_T}$ac_cv_lib_pthread_main" >&6 if test $ac_cv_lib_pthread_main = yes; then LOAD_LIBS="$LOAD_LIBS -lpthread" + LIBSO_LIBS="$LIBSO_LIBS -lpthread" fi ac_cv_lib_pthread=ac_cv_lib_pthread_main @@@@ -28525,7 +28527,7 @@@@ int main () { -#if (defined(i386) || defined(__i386__)) && defined(__GNUC__) +#if (defined(i386) || defined(__i386__) || defined(__x86_64__)) && defined(__GNUC__) exit(0); #else FAIL TO COMPILE/LINK @ 1.5 log @Use the distribution patches (patch.4.2.52.{1,2}) directly from Sleepycat instead of patch-ba and patch-bb. Since patch-ba was actually an incomplete version of patch.4.2.52.1, we bump the PKGREVISION. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.4 2004/04/07 15:12:40 jmmv Exp $ d3 3 a5 3 --- dist/configure.orig 2003-12-03 22:10:02.000000000 +0100 +++ dist/configure 2004-04-07 17:00:04.000000000 +0200 @@@@ -5390,6 +5390,7 @@@@ d13 1 a13 1 @@@@ -20138,7 +20139,7 @@@@ d22 1 a22 1 @@@@ -27047,6 +27048,7 @@@@ d30 9 @ 1.4 log @When -lpthread is used, link the db4 library against it, so that programs using -ldb4 alone don't complain about missing symbols. This fixes the build of some programs (like evolution-data-server), as exposed in Linux. @ text @d1 1 a1 1 $NetBSD: patch-ab,v 1.3 2003/12/07 00:51:07 epg Exp $ d3 2 a4 2 --- ../dist/configure.orig 2003-12-03 22:10:02.000000000 +0100 +++ ../dist/configure 2004-04-07 17:00:04.000000000 +0200 @ 1.3 log @Update to 4.2.52. Clean up Makefile. Set MAINTAINER to tech-pkg@@NetBSD.org (previous maintainer, Alex Newman, says he no longer maintains this). Changes are too many to list. @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 3 --- ../dist/configure.orig Wed Dec 3 16:10:02 2003 +++ ../dist/configure @@@@ -5390,6 +5390,7 @@@@ db_cv_gxx_except=no; d13 1 a13 1 @@@@ -20138,7 +20139,7 @@@@ echo "${ECHO_T}$JMODSUFFIX" >&6 d22 8 @ 1.2 log @Update to 4.1.25, based on PR 20289 by Daniel Farrugia. Database or Log File On-Disk Format Changes: 1. All of the access method database formats changed in the Berkeley DB 4.1 release (Btree/Recno: version 8 to version 9, Hash: version 7 to version 8, and Queue: version 3 to version 4). The format changes are entirely backward compatible, and no database upgrades are needed. Major New Features: 1. Berkeley DB now includes support for database encryption using the AES encryption standard. [#1797] 2. Berkeley DB now includes support for database page checksums to allow detection of database corruption during I/O. [#1797] 3. The shared memory buffer pool code base was substantially reworked in the 4.1 release to improve concurrent throughput. [#4655] General Environment Changes: 1. Allow applications to specify transaction handles to the DB->open method call, so database creation can be grouped with other Berkeley DB calls in a single transaction. [#4257] 2. Add the DB_ENV->remove and DB_ENV->rename method calls that support transactional protection of database removal and renaming. [#4257] 3. Add the DB_ENV->set_flags flags DB_DIRECT_DB and DB_DIRECT_LOG, which disable the system's buffer cache where possible. [#4526] 4. Unlock the pthread mutex if pthread_cond_wait() returns an error. [#4872] 5. Fix a memory leak caused by running recovery. [#4913] 6. Fix a bug in which closing an environment with open database handles could result in application crashes. [#4991] 7. Fix a bug where DB_CONFIG files were ignored if the database environment defaulted to the application's current working directory. [#5265] 8. Fix a bug where transaction abort or commit could fail to destroy the handle. [#5633] 9. Fix a set of bugs where the Berkeley DB API could return DB_RUNRECOVERY without panic-ing the database environment itself or calling the application's panic-callback function. [#5743] 10. Fix a bug in where DB=>rename and DB->remove method calls could leak a transaction and its locks. [#5824] 11. Fix a bug where recovery feedback could return values greater than 100. [#6193] 12. Fix a bug where a page allocated by a transaction, eventually aborted because of application or system failure, could appear twice in the free list, if catastrophic recovery was performed. [#6222] 13. Add a new flag, DB_AUTO_COMMIT, that wraps all database modification operations inside a transaction, to the DB_ENV->set_flags method. [#6395] 14. Fix a bug where recovery could fail when upgrading between releases. [#6372] 15. Fix a recovery bug where pages that were repeatedly freed and allocated could be lost. [#6479] [#6501] 16. Change DB_CONFIG reading to handle non- terminated last line. [#6490] General Access Method Changes: 1. Allow applications to specify transaction handles to the DB->associate method call, so secondary index creation can be grouped with other Berkeley DB calls in a single transaction. [#4185] 2. Add a new flag, DB_AUTO_COMMIT, that wraps single database operations inside a transaction. This flag is supported by the DB->del, DB->open, DB->put, DB->truncate,DB_ENV->remove, and DB_ENV->rename methods. [#4257] 3. The DB_EXCL DB->open method flag has been enhanced to work on subdatabases. [#4257] 4. Fix a bug in which a DB->put(DB_APPEND) could result in leaked memory or a corruption in the returned record number. [#5002] 5. Fix a bug in the database salvage code that could leave pages pinned in the cache. [#5037] 6. Add a flag to the DB->verify method to output salvaged key/data pairs in printable characters. [#5037] 7. Fix a bug in which DB->verify() might continue and report extraneous database corruption after a fatal error. [#5131] 8. Fix a bug where calling the DB->stat method before the DB->open method could drop core. [#5190] 9. Fix a bug in which a DB->get, DBcursor->c_get, or DBcursor->c_pget on a secondary index, in the Concurrent Data Store product, could result in a deadlock. [#5192] 10. Fix a bug in which DB->verify() could correctly report errors but still return success. [#5297] 11. Add support for the DB->set_cache_priority interface, that allows applications to set the underlying cache priority for their database files. [#5375] 12. Fix a bug where calling DBcursor->c_pget with a database that is not a secondary index would drop core. [#5391] 13. Fix a bug where a bug in the DB->truncate method could cause recovery to fail. [#5679] 14. Fix a bug where DB_GET_RECNO would fail if specified to a secondary index. [#5811] 15. Fix a bug where building a secondary index for an existing primary database could fail in Concurrent Data Store environments. [#5811] 16. Fix a bug where the DB->rename method could fail, causing a problem during recovery. [#5893] 17. Fix a bug in which a DB->get or DB->pget call on a secondary index could fail when done with a handle shared among multiple threads. [#5899] 18. Fix a bug in which a DB->put operation on a database with off-page duplicates could leak a duplicate cursor, thereby preventing transactions being able to commit. [#5936] 19. Fix a bug where overflow page reference counts were not properly maintained when databases were truncated. [#6168] 20. Fix a bug where the bulk get APIs could allocate large amounts of heap memory. [#6439] [#6520] Btree Access Method Changes: 1. Fix a bug that prevented loads of sorted data, with duplicates at the end of the tree, from creating compact trees. [#4926] 2. No longer return a copy of the key if the DB_GET_BOTH or DB_GET_BOTH_RANGE flags are specified. [#4470] 3. Fix a bug where the fast-search code could hold an unlocked reference to a page, which could lead to recovery failure. [#5518] 4. Fix a bug where some cursor operations on a database, for which the bt_minkey size had been specified, could fail to use the correct overflow key/data item size. [#6183] 5. Fix a bug where the recovery of an aborted transaction that did a reverse Btree split might leave a page in an inconsistent state. [#6393] Hash Access Method Changes: 1. Fix bugs that could cause hash recovery to drop core. [#4978] 2. Use access method flags instead of interface flags to check for readonly access to a hash database with an application-specified hash function. [#5121] 3. Fix a bug where a hash database allocation of a new set of buckets may be improperly recovered by catastrophic recovery if the transaction is split across log files and the beginning segment of the transaction is not included in the set of logs to be recovered. [#5942] 4. Fix a bug where aborting particular hash allocations could lead to a database on which the verifier would loop infinitely. [#5966] 5. Fix a bug where a memory allocation failure could result in a system hang. [#5988] 6. Remove nelem from the Hash access method statistics (the value was incorrect once items had been added or removed from the database). [#6101] 7. Fix a bug where a page allocated by an aborted transaction might not be placed on the free list by recovery, if the file holding the page was created as part of recovery, and a later page was part of a hash bucket allocation. [#6184] 8. Fix a bug where allocated pages could be improperly recovered on systems that require explicit zero-ing of filesystem pages. [#6534] Queue Access Method Changes: 1. No longer return a copy of the key if the DB_SET_RANGE flag is specified. [#4470] 2. Fix a bug where DBcursor->c_get (with DB_MULTIPLE or DB_MULTIPLE_KEY specified) could fail on a Queue database if the record numbers had wrapped. [#6397] Recno Access Method Changes: 1. No longer return a copy of the key if the DB_GET_BOTH or DB_GET_BOTH_RANGE flags are specified. [#4470] 2. Fix a bug where non-transactional locking applications could leak locks when modifying Recno databases. [#5766] 3. Fix a bug where DBcursor->c_get with the DB_GET_RECNO flag would panic the environment if the cursor was uninitialized. [#5935] 4. Fix a bug where deleting pages from a three-level Recno tree could cause the database environment to panic. [#6232] C++-specific API Changes: 1. C++ DbLock::put is replaced by DbEnv::lock_put to match the C and Java API change in Release 4.0. [#5170] 2. Declared destructors and methods within Db and DbEnv classes to be virtual, making subclassing safer. [#5264] 3. Fixed a bug where Dbt objects with no flags set would not be filled with data by some operations. [#5706] 4. Added DbDeadlockException, DbRunRecoveryException, and DbLockNotGrantedException classes to C++, and throw them accordingly. [#6134] 5. Added C++ methods to support remaining conversions between C++ classes and C structs where appropriate. In particular, DbTxn/DB_TXN conversions and DbMpoolFile/DB_MPOOLFILE were added. [#6278] 6. Fix a bug in DbEnv::~DbEnv() that could cause memory corruption if a DbEnv was deleted without being closed. [#6342] 7. Reordered C++ class declarations to avoid a GCC g++ warning about function inlining. [#6406] 8. Fix a bug in the DbEnv destructor that could cause memory corruption when an environment was destroyed without closing first. [#6342] 9. Change DbEnv and Db destructor behavior to close the handle if it was not already closed. [#6342] Java-specific API Changes: 1. Added check for system property "sleepycat.Berkeley DB.libfile" that can be used to specify a complete pathname for the JNI shared library. This is needed as a workaround on Mac OS X, where libtool cannot currently create a library with a .jnilib extension which is what the current JDK expects by default. [#5664] 2. Fixed handling of JVM out of memory conditions, when some JNI methods return NULL. When the JVM runs out of memory, calls should consistently fail with OutOfMemoryErrors. [#5995] 3. Added Dbt.get_object and Dbt.set_object convenience routines to the Java API to make using serialization easier. [#6113] 4. Fixed a bug that prevented Java's Db.set_feedback from working, fixed document for Java's Db.set_feedback, some callback methods were misnamed. [#6137] 5. Fix a NullPointerException in Db.finalize() if the database had been closed. [#6504] 6. Marked DbEnv constructor with "throws DbException". [#6342] Tcl-specific API Changes: None. RPC-specific Client/Server Changes: 1. Fix a bug where Db and DbEnv handles were not thread-safe. [#6102] Replication Changes: 1. A large number of replication bugs were fixed in this release. The replication support is now believed to be production quality. 2. Add the DB_ENV->set_rep_limit interface, allowing applications to limit the data sent in response to a single DB_ENV->rep_process_message call. [#5999] 3. Add the DB_ENV->set_rep_stat interface, returning information from the replication subsystem [#5919] XA Resource Manager Changes: 1. Added support for multi-threaded XA. Environments can now have multiple XA transactions active. db_env_xa_attach() can be used to get a DB_TXN that corresponds to the XA transaction in the current thread. [#5049] 2. Added a com.sleepycat.Berkeley DB.xa package that implements J2EE support for XA. This includes new DbXAResource, DbXid classes that implement the XAResource and Xid interfaces. [#5049] 3. Fix a bug where aborting a prepared transaction after recovery may fail. [#6383] 4. Fix a bug where recovery might fail if a prepared transaction had previously extended the size of a file and then was aborted. [#6387] 5. Fix a bug where if the commit of a prepared transaction fails the transaction would be aborted. [#6389] Locking Subsystem Changes: 1. Fix a bug where lock counts were incorrect if a lock request returned DB_LOCK_NOTGRANTED or an error occurred. [#4923] 2. Fix a bug where lock downgrades were counted as releases, so the lock release statistics could be wrong. [#5762] 3. Fix a bug where the lock and transaction timeout values could not be reset by threads of control joining Berkeley DB database environments. [#5996] 4. Fix a bug where applications using lock and/or transaction timeouts could hit a race condition that would lead to a segmentation fault. [#6061] Logging Subsystem Changes: 1. DB_ENV->log_register and DB_ENV->log_unregister have been removed from the interface. [#0046] 2. Fix a bug where creating a database environment with a non-existent logging directory could drop core. [#5833] 3. Add support allowing applications to change the log file size in existing database environments. [#4875] 4. Fix a bug where a write error on a log record spanning a buffer could cause transaction abort to fail and the database environment to panic. [#5830] Memory Pool Subsystem Changes: 1. The DB_INCOMPLETE error has been removed, as cache flushing can no longer return without completing. [#4655] 2. Fix a bug where Berkeley DB might refuse to open a file if the open was attempted while another thread was writing a large buffer. [#4885] 3. Prefer clean buffers to dirty buffers when selecting a buffer for eviction. [#4934] 4. Fix a bug where transaction checkpoint might miss flushing a buffer to disk. [#5033] 5. Fix a bug where Berkeley DB applications could run out of file descriptors. [#5535] 6. Fix bugs where Berkeley DB could self-deadlock on systems requiring mutex resource reclamation after application failure. [#5722] [#6523] Transaction Subsystem Changes: 1. Go back only one checkpoint, not two, when performing normal recovery. [#4284] 2. Fix a bug where an abort of a transaction could fail if there was no disk space for the log. [#5740] 3. Fix a bug where the checkpoint log-sequence-number could reference a non-existent log record. [#5789] 4. Fix a bug where subtransactions which allocated pages from the filesystem and subsequently aborted could cause other pages allocated by sibling transactions to not be freed if the parent transaction then aborted. [#5903] 5. Fix a bug where transactions doing multiple updates to a queue database which spanned a checkpoint could be improperly handled by recovery. [#5898] Utility Changes: 1. Fix a bug where the -p option could not be specified with the -R or -r options. [#5037] 2. The utilities were modified to correctly size their private caches in order to handle databases with large page sizes. [#5055] 3. Fix a bug in which utilities run with the -N option would fail to ignore the environment's panic flag. [#5082] 4. Fix a bug where invalid log records could cause db_printlog to drop core. [#5173] 5. Add a new option to the db_verify utility to support verification of files that include databases having non-standard sorting or hash functions. [#5237] Configuration, Documentation, Portability and Build Changes: 1. Replace test-and-set mutexes on Windows with a new mutex implementation that signals an event to wake blocked threads. [#4413] 2. Support configuration of POSIX pthread mutexes on systems where the pthread mutexes do not support inter-process locks. [#4942] 3. Add mutex support for the ARM architecture using the gcc compiler. [#5018] 4. On Windows NT/2000/XP, switched to atomic seek-and-read/write operations to improve performance of concurrent reads [#0654]. 5. Support cross-compilation using the GNU compiler tool chain. [#4558] 6. Fix a bug where libraries were always installed read-only. [#5096] 7. Fix a bug where temporary files on VxWorks could fail. [#5160] 8. Fix a bug where Berkeley DB did not install correctly if the system cp utility did not support the -f option. [#5111] 9. Correct the documentation for the Queue access method statistics field qs_cur_recno to be the "Next available record number". [#5190] 10. Fix a bug where file rename could fail on Windows/9X. [#5223] 11. Removed support for Microsoft Visual Studio 5.0 [#5231] 12. Switched to using HANDLEs for all I/O operations on Windows to overcome a hard limit of 2048 open file descriptors in Microsoft's C runtime library. [#5249] 13. Fix a bug where Berkeley DB error message routines could drop core on the PowerPC and UltraSPARC architectures. [#5331] 14. Rename OSTREAMCLASS to __DB_OSTREAMCLASS in db_cxx.h to avoid stepping on application name space. [#5402] 15. Support Linux on the S/390 architecture. [#5608] 16. Work around a bug in Solaris where the pthread_cond_wait call could return because a signal was delivered to the application. [#5640] 17. Fix build line for loadable libraries to include -module to support Mac OS X. [#5664] 18. Fix a bug in the PPC mutex support for the Mac OS X system. [#5781] 19. Added support for Java on Mac OS X. A workaround on the Java command line is currently necessary; it is documented. [#5664] 20. Added support for Tcl on Mac OS X. [#5664] 21. Update Windows build instructions to cover Visual C++ .NET. [#5684] 22. AIX configuration changes for building on AIX 4.3.3 and 5 with both standard and Visual Age compilers. [#5779] 23. Add a new UNIX configuration argument, --with-mutex=MUTEX, to allow applications to select a mutex implementation. [#6040] 24. Changed libtool and configure so we can now correctly build and install Tcl and Java loadable shared libraries that work on Mac OS X. [#6117] 25. Fix mutex alignment problems on historic HP-UX releases that could make multi-process applications fail. [#6250] 26. Installed static .a archives on Mac OS X need to be built with the ranlib -c option so linked applications will not see undefined __db_jump errors. [#6215] 27. Upgrade pthread and mmap support in the uClibc library to support Berkeley DB. [#6268] 28. Fixed error in determining include directories during configuration for --enable-java. The error can cause compilation errors on certain systems with newer versions of gcc. [#6445] @ text @d3 1 a3 1 --- ../dist/configure.orig Thu Dec 19 17:55:03 2002 d5 1 a5 1 @@@@ -4696,6 +4696,7 @@@@ db_cv_gxx_except=no; d13 1 a13 10 @@@@ -9477,7 +9478,7 @@@@ echo $ECHO_N "checking SOSUFFIX from lib release="" libname=libfoo eval library_names=\"$library_names_spec\" - _SOSUFFIX=`echo "$library_names" | sed -e 's/.*\.\([a-zA-Z0-9_]*\).*/\1/'` + _SOSUFFIX=`./libtool --config | sed -e '/^library_names_spec=/!d' -e 's/.*\.\([a-zA-Z0-9_]*\).*/\1/'` if test "$_SOSUFFIX" = '' ; then _SOSUFFIX=so if test "$enable_shared" = "yes" && test "$_SOSUFFIX_MESSAGE" = ""; then @@@@ -9552,7 +9553,7 @@@@ echo "${ECHO_T}$JMODSUFFIX" >&6 a21 9 @@@@ -9974,7 +9975,7 @@@@ _ACEOF RPC_CLIENT_OBJS="\$(RPC_CLIENT_OBJS)" - ADDITIONAL_PROGS="berkeley_db_svc $ADDITIONAL_PROGS" + ADDITIONAL_PROGS="berkeley_db4_svc $ADDITIONAL_PROGS" EMBEDIX_ECD_RPC="/usr/bin/berkeley_db_svc" @ 1.1 log @Initial revision @ text @d3 3 a5 3 --- ../dist/configure.orig Sun Nov 18 10:45:49 2001 +++ ../dist/configure Mon Mar 18 16:19:01 2002 @@@@ -4443,6 +4443,7 @@@@ d13 11 a23 12 @@@@ -8777,7 +8778,8 @@@@ release="" libname=libfoo eval library_names=\"$library_names_spec\" -SOSUFFIX=`echo "$library_names" | sed -e 's/.*\.\([a-zA-Z0-9_]*\).*/\1/'` +SOSUFFIX=`./libtool --config | sed -e '/^library_names_spec=/!d' -e 's/.*\.\([a-zA-Z0-9_]*\).*/\1/'` + echo "$as_me:8781: result: $SOSUFFIX" >&5 echo "${ECHO_T}$SOSUFFIX" >&6 @@@@ -8794,7 +8796,7 @@@@ INSTALLER="\$(LIBTOOL) --mode=install cp" d31 2 a32 2 @@@@ -9173,7 +9175,7 @@@@ EOF @ 1.1.1.1 log @Initial import of Sleepycat db4 provided by Alex Newman in pkg/16075. From DESCR: Berkeley DB is an embeddable database system that supports keyed access to data. The software is distributed in source code form, and developers can compile and link the source code into a single library for inclusion directly in their applications. @ text @@