1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-03 01:23:49 +00:00

Unbreak for amd64

This commit is contained in:
Maho Nakata 2006-08-24 01:33:12 +00:00
parent 560082730a
commit 9e0ee1b80f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=171296
12 changed files with 876 additions and 6 deletions

View File

@ -59,7 +59,7 @@ JAVA_VENDOR= freebsd bsdjava
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
ONLY_FOR_ARCHS= i386
ONLY_FOR_ARCHS= i386 amd64
.if ${ARCH} == amd64
GCC_TARGET= x86_64-portbld-freebsd${OSREL}

View File

@ -0,0 +1,145 @@
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 23 Aug 2006 02:24:30 -0000
@@ -313,6 +313,20 @@
! $(SLO)$/btree_auto.obj
!
! .INCLUDE : target.mk
+*** 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/clib/makefile.mk Tue Jul 25 09:33:00 2006
--- misc/build/db-4.2.52.NC/clib/makefile.mk 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.
+ *

View File

@ -59,7 +59,7 @@ JAVA_VENDOR= freebsd bsdjava
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
ONLY_FOR_ARCHS= i386
ONLY_FOR_ARCHS= i386 amd64
.if ${ARCH} == amd64
GCC_TARGET= x86_64-portbld-freebsd${OSREL}

View File

@ -0,0 +1,145 @@
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 23 Aug 2006 02:24:30 -0000
@@ -313,6 +313,20 @@
! $(SLO)$/btree_auto.obj
!
! .INCLUDE : target.mk
+*** 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/clib/makefile.mk Tue Jul 25 09:33:00 2006
--- misc/build/db-4.2.52.NC/clib/makefile.mk 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.
+ *

View File

@ -59,7 +59,7 @@ JAVA_VENDOR= freebsd bsdjava
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
ONLY_FOR_ARCHS= i386
ONLY_FOR_ARCHS= i386 amd64
.if ${ARCH} == amd64
GCC_TARGET= x86_64-portbld-freebsd${OSREL}

View File

@ -0,0 +1,145 @@
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 23 Aug 2006 02:24:30 -0000
@@ -313,6 +313,20 @@
! $(SLO)$/btree_auto.obj
!
! .INCLUDE : target.mk
+*** 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/clib/makefile.mk Tue Jul 25 09:33:00 2006
--- misc/build/db-4.2.52.NC/clib/makefile.mk 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.
+ *

View File

@ -59,7 +59,7 @@ JAVA_VENDOR= freebsd bsdjava
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
ONLY_FOR_ARCHS= i386
ONLY_FOR_ARCHS= i386 amd64
.if ${ARCH} == amd64
GCC_TARGET= x86_64-portbld-freebsd${OSREL}

View File

@ -0,0 +1,145 @@
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 23 Aug 2006 02:24:30 -0000
@@ -313,6 +313,20 @@
! $(SLO)$/btree_auto.obj
!
! .INCLUDE : target.mk
+*** 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/clib/makefile.mk Tue Jul 25 09:33:00 2006
--- misc/build/db-4.2.52.NC/clib/makefile.mk 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.
+ *

View File

@ -59,7 +59,7 @@ JAVA_VENDOR= freebsd bsdjava
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
ONLY_FOR_ARCHS= i386
ONLY_FOR_ARCHS= i386 amd64
.if ${ARCH} == amd64
GCC_TARGET= x86_64-portbld-freebsd${OSREL}

View File

@ -0,0 +1,145 @@
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 23 Aug 2006 02:24:30 -0000
@@ -313,6 +313,20 @@
! $(SLO)$/btree_auto.obj
!
! .INCLUDE : target.mk
+*** 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/clib/makefile.mk Tue Jul 25 09:33:00 2006
--- misc/build/db-4.2.52.NC/clib/makefile.mk 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.
+ *

View File

@ -59,7 +59,7 @@ JAVA_VENDOR= freebsd bsdjava
.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>
ONLY_FOR_ARCHS= i386
ONLY_FOR_ARCHS= i386 amd64
.if ${ARCH} == amd64
GCC_TARGET= x86_64-portbld-freebsd${OSREL}

View File

@ -0,0 +1,145 @@
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 23 Aug 2006 02:24:30 -0000
@@ -313,6 +313,20 @@
! $(SLO)$/btree_auto.obj
!
! .INCLUDE : target.mk
+*** 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/clib/makefile.mk Tue Jul 25 09:33:00 2006
--- misc/build/db-4.2.52.NC/clib/makefile.mk 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.
+ *