145 lines
4 KiB
Text
145 lines
4 KiB
Text
Index: berkeleydb/db-4.2.52.patch
|
|
===================================================================
|
|
RCS file: /cvs/external/berkeleydb/db-4.2.52.patch,v
|
|
retrieving revision 1.13
|
|
diff -u -r1.13 db-4.2.52.patch
|
|
--- berkeleydb/db-4.2.52.patch 25 Jul 2006 10:23:22 -0000 1.13
|
|
+++ berkeleydb/db-4.2.52.patch 29 Jul 2006 11:01:12 -0000
|
|
@@ -518,6 +518,20 @@
|
|
emode= 555
|
|
fmode= 444
|
|
|
|
+*** misc/db-4.2.52.NC/dist/config.hin Wed Dec 3 16:10:00 2003
|
|
+--- misc/build/db-4.2.52.NC/dist/config.hin Fri May 19 17:37:41 2006
|
|
+***************
|
|
+*** 193,198 ****
|
|
+--- 193,201 ----
|
|
+ /* Define to 1 to use the GCC compiler and x86 assembly language mutexes. */
|
|
+ #undef HAVE_MUTEX_X86_GCC_ASSEMBLY
|
|
+
|
|
++ /* Define to 1 to use the GCC compiler and x86-64 assembly language mutexes. */
|
|
++ #undef HAVE_MUTEX_X86_64_GCC_ASSEMBLY
|
|
++
|
|
+ /* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
|
|
+ #undef HAVE_NDIR_H
|
|
+
|
|
*** misc/db-4.2.52.NC/dist/configure Wed Dec 3 22:10:02 2003
|
|
--- misc/build/db-4.2.52.NC/dist/configure Tue Jul 25 09:05:20 2006
|
|
***************
|
|
@@ -554,6 +568,76 @@
|
|
fi
|
|
|
|
# Commands to make compiler produce verbose output that lists
|
|
+***************
|
|
+*** 28556,28561 ****
|
|
+--- 28556,28606 ----
|
|
+ rm -f conftest.$ac_objext conftest.$ac_ext
|
|
+ fi
|
|
+
|
|
++ # x86_64/gcc: FreeBSD, NetBSD, BSD/OS, Linux
|
|
++ if test "$db_cv_mutex" = no; then
|
|
++ cat >conftest.$ac_ext <<_ACEOF
|
|
++ #line $LINENO "configure"
|
|
++ /* confdefs.h. */
|
|
++ _ACEOF
|
|
++ cat confdefs.h >>conftest.$ac_ext
|
|
++ cat >>conftest.$ac_ext <<_ACEOF
|
|
++ /* end confdefs.h. */
|
|
++
|
|
++ int
|
|
++ main ()
|
|
++ {
|
|
++
|
|
++ #if (defined(__amd64__) || defined(__x86_64__)) && defined(__GNUC__)
|
|
++ exit(0);
|
|
++ #else
|
|
++ FAIL TO COMPILE/LINK
|
|
++ #endif
|
|
++
|
|
++ ;
|
|
++ return 0;
|
|
++ }
|
|
++ _ACEOF
|
|
++ rm -f conftest.$ac_objext
|
|
++ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
|
++ (eval $ac_compile) 2>&5
|
|
++ ac_status=$?
|
|
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
++ (exit $ac_status); } &&
|
|
++ { ac_try='test -s conftest.$ac_objext'
|
|
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
|
++ (eval $ac_try) 2>&5
|
|
++ ac_status=$?
|
|
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
++ (exit $ac_status); }; }; then
|
|
++ db_cv_mutex="x86_64/gcc-assembly"
|
|
++ else
|
|
++ echo "$as_me: failed program was:" >&5
|
|
++ sed 's/^/| /' conftest.$ac_ext >&5
|
|
++
|
|
++ fi
|
|
++ rm -f conftest.$ac_objext conftest.$ac_ext
|
|
++ fi
|
|
++
|
|
+ # S390/cc: IBM OS/390 Unix
|
|
+ if test "$db_cv_mutex" = no; then
|
|
+ cat >conftest.$ac_ext <<_ACEOF
|
|
+***************
|
|
+*** 28971,28976 ****
|
|
+--- 29016,29028 ----
|
|
+ x86/gcc-assembly) ADDITIONAL_OBJS="mut_tas${o} $ADDITIONAL_OBJS"
|
|
+ cat >>confdefs.h <<\_ACEOF
|
|
+ #define HAVE_MUTEX_X86_GCC_ASSEMBLY 1
|
|
++ _ACEOF
|
|
++
|
|
++
|
|
++ ;;
|
|
++ x86_64/gcc-assembly) ADDITIONAL_OBJS="mut_tas${o} $ADDITIONAL_OBJS"
|
|
++ cat >>confdefs.h <<\_ACEOF
|
|
++ #define HAVE_MUTEX_X86_64_GCC_ASSEMBLY 1
|
|
+ _ACEOF
|
|
+
|
|
+
|
|
*** misc/db-4.2.52.NC/dist/ltmain.sh Sat Apr 26 19:45:37 2003
|
|
--- misc/build/db-4.2.52.NC/dist/ltmain.sh Tue Jul 25 09:05:20 2006
|
|
***************
|
|
@@ -1010,3 +1094,39 @@
|
|
! $(SLO)$/xa_map.obj
|
|
!
|
|
! .INCLUDE : target.mk
|
|
+*** misc/db-4.2.52.NC/dbinc/mutex.h Sat Sep 20 17:40:49 2003
|
|
+--- misc/build/db-4.2.52.NC/dbinc/mutex.h Fri May 19 12:43:58 2006
|
|
+***************
|
|
+*** 781,786 ****
|
|
+--- 781,811 ----
|
|
+ #endif
|
|
+ #endif
|
|
+
|
|
++ /*********************************************************************
|
|
++ * x86_64/gcc assembly.
|
|
++ *********************************************************************/
|
|
++ #ifdef HAVE_MUTEX_X86_64_GCC_ASSEMBLY
|
|
++ typedef unsigned char tsl_t;
|
|
++
|
|
++ #ifdef LOAD_ACTUAL_MUTEX_CODE
|
|
++ /*
|
|
++ * For gcc/x86-64, 0 is clear, 1 is set.
|
|
++ */
|
|
++ #define MUTEX_SET(tsl) ({ \
|
|
++ register tsl_t *__l = (tsl); \
|
|
++ int __r; \
|
|
++ asm volatile("movq $1,%%rax; lock; xchgb %1,%%al; xorq $1,%%rax"\
|
|
++ : "=&a" (__r), "=m" (*__l) \
|
|
++ : "1" (*__l) \
|
|
++ ); \
|
|
++ __r & 1; \
|
|
++ })
|
|
++
|
|
++ #define MUTEX_UNSET(tsl) (*(tsl) = 0)
|
|
++ #define MUTEX_INIT(tsl) MUTEX_UNSET(tsl)
|
|
++ #endif
|
|
++ #endif
|
|
++
|
|
+ /*
|
|
+ * Mutex alignment defaults to one byte.
|
|
+ *
|