Author: tijl
Date: Tue Sep  7 08:33:17 2010
New Revision: 212286
URL: http://svn.freebsd.org/changeset/base/212286
Log:
  GCC defines built-ins for atomic instructions found on i486 and higher.
  Because FreeBSD no longer supports the 80386 cpu all code targeting
  FreeBSD/i386 necessarily runs on i486 or higher so the compiler
  built-ins can be used by default inside libstdc++ and in C++ headers.
  This allows newly compiled C++ code to inline some atomic operations.
  Old binaries continue to use libstdc++ functions.
  
  PR:           148926
  Tested by:    Yuri Karaban <tech askold net>
  Reviewed by:  kan
  Approved by:  kib (mentor)
  MFC after:    2 weeks

Modified:
  head/gnu/lib/libstdc++/Makefile
  head/gnu/lib/libstdc++/config.h

Modified: head/gnu/lib/libstdc++/Makefile
==============================================================================
--- head/gnu/lib/libstdc++/Makefile     Tue Sep  7 07:31:58 2010        
(r212285)
+++ head/gnu/lib/libstdc++/Makefile     Tue Sep  7 08:33:17 2010        
(r212286)
@@ -83,7 +83,7 @@ ATOMICITY_H=  ${SRCDIR}/config/cpu/${MARC
 ATOMICITY_H=   ${SRCDIR}/config/cpu/generic/atomicity_mutex/atomicity.h
 .endif
 
-.if ${MACHINE_CPUARCH} == "amd64"
+.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
 .if exists(${SRCDIR}/config/cpu/generic/atomicity_builtins/atomicity.h)
 ATOMICITY_H=   ${SRCDIR}/config/cpu/generic/atomicity_builtins/atomicity.h
 .endif

Modified: head/gnu/lib/libstdc++/config.h
==============================================================================
--- head/gnu/lib/libstdc++/config.h     Tue Sep  7 07:31:58 2010        
(r212285)
+++ head/gnu/lib/libstdc++/config.h     Tue Sep  7 08:33:17 2010        
(r212286)
@@ -671,7 +671,7 @@
 /* #undef VERSION */
 
 /* Define if builtin atomic operations are supported on this host. */
-#if defined(__amd64__)
+#if defined(__amd64__) || defined(__i386__)
 #define _GLIBCXX_ATOMIC_BUILTINS 1
 #endif
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to