]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
Bring clang 3.4.1 in stable/9 in sync with the version in stable/10.
authordim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 16 May 2015 23:00:03 +0000 (23:00 +0000)
committerdim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 16 May 2015 23:00:03 +0000 (23:00 +0000)
commit87eddbf271d00e25cc7c762c71dd292d5aedf667
tree02a2b328a4dce22b390545e1dba8ec9bc2f27554
parent057a00b0369017858a632b81df42e88db753901d
Bring clang 3.4.1 in stable/9 in sync with the version in stable/10.

MFC r252503 (by andrew):
Work around an ARM EABI issue where clang would sometimes incorrectly align
the stack in a leaf function that uses TLS.

The issue is, when using TLS, the function is no longer a leaf as it calls
__aeabi_read_tp. With statically linked programs this is not an issue as
it doesn't make use of the stack, however with dynamically linked
applications we enter rtld which does use the stack and makes assumptions
about it's alignment.

This is only a temporary fix until a better patch can be made and submitted
upstream.

MFC r264826 (by emaste):
Merge LLVM r202188:

  Debug info: Support variadic functions.
  Variadic functions have an unspecified parameter tag after the last
  argument. In IR this is represented as an unspecified parameter in the
  subroutine type.

  Paired commit with CFE r202185.

  rdar://problem/13690847

  This re-applies r202184 + a bugfix in DwarfDebug's argument handling.

This merge includes a change to use the LLVM 3.4 API in
lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:

DwarfUnit -> CompileUnit

Sponsored by:       DARPA, AFRL

MFC r264827 (by emaste):
Merge Clang r202185:

  Debug info: Generate debug info for variadic functions.
  Paired commit with LLVM.

  rdar://problem/13690847

This merege includes changes to use the Clang 3.4 API (revisions
199686 and 200082) in lib/CodeGen/CGDebugInfo.cpp:

getParamType  -> getArgType
getNumParams  -> getNumArgs
getReturnType -> getResultType

Sponsored by: DARPA, AFRL

MFC r265477 (by emaste):
Merge -fstandalone-debug from Clang r198655:

  Implement a new -fstandalone-debug option. rdar://problem/15685848
  It controls everything that -flimit-debug-info used to, plus the
  vtable type optimization. The old -fno-limit-debug-info option is now an
  alias to -fstandalone-debug and vice versa.

  Standalone is the default on Darwin until dtrace is updated to work with
  non-standalone debug info (rdar://problem/15758808).

  Note: I kept the LimitedDebugInfo name in CodeGenOptions::DebugInfoKind
  because NoStandaloneDebugInfo sounded even more confusing.

MFC r269387 (by andrew):
Update the ARMv6 core clang targets to be an arm1176jzf-s. This brings us
in line with gcc in base as this makes llvm generate code for the armv6k
variant of the instruction set.

git-svn-id: svn://svn.freebsd.org/base/stable/9@283019 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
contrib/llvm/include/llvm/DIBuilder.h
contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
contrib/llvm/lib/Target/ARM/ARMFrameLowering.h
contrib/llvm/tools/clang/include/clang/Driver/Options.td
contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h
contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp
contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp
contrib/llvm/tools/clang/lib/Driver/Tools.cpp
contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp