]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r227215:
authordim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 30 Dec 2011 22:07:04 +0000 (22:07 +0000)
committerdim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 30 Dec 2011 22:07:04 +0000 (22:07 +0000)
commitf966b63fa99fa2369bd5f49fd7fe97a627f9da67
treec8cffd747a20a486a5b22777045ed472ab787c6c
parentb68d022526b3ebbac91ad32b71654bc7ba916538
MFC r227215:

  When one attempts to compile the tree with -march=i386, which also used
  to be gcc's default before r198344, calls to atomic builtins will not be
  expanded inline.  Instead, they will be generated as calls to external
  functions (e.g. __sync_fetch_and_add_N), leading to linking errors later
  on.

  Put in a seatbelt that disables use of atomic builtins in libstdc++ and
  llvm, when tuning specifically for the real i386 CPU.  This does not
  protect against all possible issues, but it is better than nothing.

MFC r227538:

  LLVM uses atomic operations, which are not supported on i386 and GCC
  emits calls for them, rather than expanding them inline.  Older FreeBSD
  versions compile for i386 by default and as such we end up with
  unresolved symbols when we build LLVM's TableGen utility as a build
  tool on them.  Add the functions that GCC emits here, but don't bother
  to make them atomic. Such is not needed.

  Submitted by: marcel

MFC r227636:

  Revert r227538, since it doesn't compile with clang at all (it doesn't
  allow the built-in operations to be redefined, at least not without
  excessive force).

  Instead, just disable LLVM's support for atomic operations for now.
  Nothing in either clang or the tablegen tools currently depends on it.

  This still allows users of head built before r198344 to upgrade to
  top-of-head seamlessly.

git-svn-id: svn://svn.freebsd.org/base/stable/9@229037 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
gnu/lib/libstdc++/config.h
lib/clang/include/llvm/Config/config.h
lib/clang/include/llvm/Config/llvm-config.h