forked from OSchip/llvm-project
Add the _CALL_LINUX preprocessor define for ppc linux platforms.
This typically is only for a new enough linker (bfd >= 2.16.2 or gold), but our ppc suppport post-dates this and it should work on all linux platforms. It is guaranteed to work on all elfv2 platforms. llvm-svn: 298765
This commit is contained in:
parent
b73d43521f
commit
2fd2eda0ac
|
@ -1237,6 +1237,12 @@ void PPCTargetInfo::getTargetDefines(const LangOptions &Opts,
|
|||
if (ABI == "elfv2")
|
||||
Builder.defineMacro("_CALL_ELF", "2");
|
||||
|
||||
// This typically is only for a new enough linker (bfd >= 2.16.2 or gold), but
|
||||
// our suppport post-dates this and it should work on all linux platforms. It
|
||||
// is guaranteed to work on all elfv2 platforms.
|
||||
if (getTriple().getOS() == llvm::Triple::Linux)
|
||||
Builder.defineMacro("_CALL_LINUX", "1");
|
||||
|
||||
// Subtarget options.
|
||||
Builder.defineMacro("__NATURAL_ALIGNMENT__");
|
||||
Builder.defineMacro("__REGISTER_PREFIX__", "");
|
||||
|
|
|
@ -6144,6 +6144,7 @@
|
|||
// PPC64-LINUX:#define _ARCH_PPC 1
|
||||
// PPC64-LINUX:#define _ARCH_PPC64 1
|
||||
// PPC64-LINUX:#define _BIG_ENDIAN 1
|
||||
// PPC64-LINUX:#define _CALL_LINUX 1
|
||||
// PPC64-LINUX:#define _LP64 1
|
||||
// PPC64-LINUX:#define __BIGGEST_ALIGNMENT__ 16
|
||||
// PPC64-LINUX:#define __BIG_ENDIAN__ 1
|
||||
|
@ -6346,6 +6347,11 @@
|
|||
// PPC64-ELFv1:#define _CALL_ELF 1
|
||||
// PPC64-ELFv2:#define _CALL_ELF 2
|
||||
//
|
||||
// Most of this is encompassed in other places.
|
||||
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-unknown-linux-gnu -target-abi elfv2 < /dev/null | FileCheck -match-full-lines -check-prefix PPC64LE-LINUX %s
|
||||
//
|
||||
// PPC64LE-LINUX:#define _CALL_LINUX 1
|
||||
//
|
||||
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC %s
|
||||
//
|
||||
// PPC:#define _ARCH_PPC 1
|
||||
|
|
Loading…
Reference in New Issue