]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r247166:
authordim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 1 Mar 2013 17:37:57 +0000 (17:37 +0000)
committerdim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 1 Mar 2013 17:37:57 +0000 (17:37 +0000)
commit736d3e1f8be649c3abacf37bc9b3ba41ac387c42
tree84ec90af4a7cb113a8a885c82f808f3958d21a23
parent8a79dd6d4608dc55eeeab5ee70517415b869c36e
MFC r247166:

Pull in r172354 from upstream clang trunk:

  Refactor the x86 CPU name logic in the driver and pass -march and -mcpu
  flag information down from the Clang driver into the Gold linker plugin
  for LTO. This allows specifying -march on the linker commandline and
  should hopefully have it pass all the way through to the LTO optimizer.

  Fixes PR14697.

Pull in r175919 from upstream clang trunk:

  Driver: Pass down the -march setting down to -cc1as on x86 too.

  The assembler historically didn't make use of any target features, but this has
  changed when support for old CPUs that don't support long nops was added.

This should fix the long nops that still occurred in crt*.o, and
possibly other object files, if the system was compiled for a CPU that
does not support those, such as Geode.

Note that gcc on i386 also does not pass through any -march, -mcpu or
-mtune setting to gas, but this has not caused any trouble yet, because
gas defaults to i386.

Reported by: lev

git-svn-id: svn://svn.freebsd.org/base/stable/9@247557 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
contrib/llvm/tools/clang/lib/Driver/Tools.cpp
contrib/llvm/tools/clang/lib/Driver/Tools.h