Skip to content

Rename cross compilation related defines #2256

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Feb 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
33 changes: 4 additions & 29 deletions src/coreclr/clrdefinitions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,43 +16,19 @@ add_compile_definitions($<$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>:CROSS_CO
add_compile_definitions($<$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>:FEATURE_NATIVE_IMAGE_GENERATION>)
add_compile_definitions($<$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>:SELF_NO_HOST>)

if (CLR_CMAKE_TARGET_ARCH_AMD64)
if (CLR_CMAKE_TARGET_UNIX)
add_definitions(-DDBG_TARGET_AMD64_UNIX)
endif()
add_definitions(-D_TARGET_AMD64_)
add_definitions(-D_TARGET_64BIT_)
add_definitions(-DDBG_TARGET_64BIT)
add_definitions(-DDBG_TARGET_AMD64)
elseif (CLR_CMAKE_TARGET_ARCH_ARM64)
if (CLR_CMAKE_TARGET_ARCH_ARM64)
if (CLR_CMAKE_TARGET_UNIX)
add_definitions(-DDBG_TARGET_ARM64_UNIX)
add_definitions(-DFEATURE_EMULATE_SINGLESTEP)
endif()
add_definitions(-D_TARGET_ARM64_)
add_definitions(-D_TARGET_64BIT_)
add_definitions(-DDBG_TARGET_64BIT)
add_definitions(-DDBG_TARGET_ARM64)
add_definitions(-DFEATURE_MULTIREG_RETURN)
elseif (CLR_CMAKE_TARGET_ARCH_ARM)
if (CLR_CMAKE_TARGET_UNIX)
add_definitions(-DDBG_TARGET_ARM_UNIX)
elseif (WIN32 AND NOT DEFINED CLR_CROSS_COMPONENTS_BUILD)
if (WIN32 AND NOT DEFINED CLR_CROSS_COMPONENTS_BUILD)
# Set this to ensure we can use Arm SDK for Desktop binary linkage when doing native (Arm32) build
add_definitions(-D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE)
add_definitions(-D_ARM_WORKAROUND_)
endif (CLR_CMAKE_TARGET_UNIX)
add_definitions(-D_TARGET_ARM_)
add_definitions(-DDBG_TARGET_32BIT)
add_definitions(-DDBG_TARGET_ARM)
endif (WIN32 AND NOT DEFINED CLR_CROSS_COMPONENTS_BUILD)
add_definitions(-DFEATURE_EMULATE_SINGLESTEP)
elseif (CLR_CMAKE_TARGET_ARCH_I386)
add_definitions(-D_TARGET_X86_)
add_definitions(-DDBG_TARGET_32BIT)
add_definitions(-DDBG_TARGET_X86)
else ()
clr_unknown_arch()
endif (CLR_CMAKE_TARGET_ARCH_AMD64)
endif (CLR_CMAKE_TARGET_ARCH_ARM64)

if (CLR_CMAKE_TARGET_UNIX)

Expand Down Expand Up @@ -179,7 +155,6 @@ if(FEATURE_MERGE_JIT_AND_ENGINE)
endif(FEATURE_MERGE_JIT_AND_ENGINE)
add_compile_definitions($<$<NOT:$<BOOL:$<TARGET_PROPERTY:CROSSGEN_COMPONENT>>>:FEATURE_MULTICOREJIT>)
if(CLR_CMAKE_TARGET_UNIX)
add_definitions(-DFEATURE_PAL)
add_definitions(-DFEATURE_PAL_ANSI)
endif(CLR_CMAKE_TARGET_UNIX)
if(CLR_CMAKE_TARGET_LINUX AND CLR_CMAKE_HOST_LINUX)
Expand Down
27 changes: 17 additions & 10 deletions src/coreclr/configurecompiler.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -190,17 +190,15 @@ endif(CLR_CMAKE_HOST_FREEBSD)
# Definitions (for platform)
#-----------------------------------
if (CLR_CMAKE_HOST_ARCH_AMD64)
add_definitions(-D_AMD64_)
add_definitions(-DBIT64)
add_definitions(-DHOST_AMD64)
add_definitions(-DHOST_64BIT)
elseif (CLR_CMAKE_HOST_ARCH_I386)
add_definitions(-D_X86_)
add_definitions(-DBIT32)
add_definitions(-DHOST_X86)
elseif (CLR_CMAKE_HOST_ARCH_ARM)
add_definitions(-D_ARM_)
add_definitions(-DBIT32)
add_definitions(-DHOST_ARM)
elseif (CLR_CMAKE_HOST_ARCH_ARM64)
add_definitions(-D_ARM64_)
add_definitions(-DBIT64)
add_definitions(-DHOST_ARM64)
add_definitions(-DHOST_64BIT)
else ()
clr_unknown_arch()
endif ()
Expand All @@ -222,7 +220,7 @@ if (CLR_CMAKE_HOST_UNIX)
endif(CLR_CMAKE_HOST_UNIX)

if (CLR_CMAKE_HOST_UNIX)
add_definitions(-DPLATFORM_UNIX)
add_definitions(-DHOST_UNIX)

if(CLR_CMAKE_HOST_DARWIN)
message("Detected OSX x86_64")
Expand All @@ -238,7 +236,7 @@ if (CLR_CMAKE_HOST_UNIX)
endif(CLR_CMAKE_HOST_UNIX)

if (WIN32)
add_definitions(-DPLATFORM_WINDOWS)
add_definitions(-DHOST_WINDOWS)

# Define the CRT lib references that link into Desktop imports
set(STATIC_MT_CRT_LIB "libcmt$<$<OR:$<CONFIG:Debug>,$<CONFIG:Checked>>:d>.lib")
Expand All @@ -249,12 +247,18 @@ endif(WIN32)
# Architecture specific files folder name
if (CLR_CMAKE_TARGET_ARCH_AMD64)
set(ARCH_SOURCES_DIR amd64)
add_definitions(-DTARGET_AMD64)
add_definitions(-DTARGET_64BIT)
elseif (CLR_CMAKE_TARGET_ARCH_ARM64)
set(ARCH_SOURCES_DIR arm64)
add_definitions(-DTARGET_ARM64)
add_definitions(-DTARGET_64BIT)
elseif (CLR_CMAKE_TARGET_ARCH_ARM)
set(ARCH_SOURCES_DIR arm)
add_definitions(-DTARGET_ARM)
elseif (CLR_CMAKE_TARGET_ARCH_I386)
set(ARCH_SOURCES_DIR i386)
add_definitions(-DTARGET_X86)
else ()
clr_unknown_arch()
endif ()
Expand Down Expand Up @@ -348,8 +352,11 @@ if (CLR_CMAKE_HOST_UNIX)
endif(CLR_CMAKE_HOST_UNIX)

if(CLR_CMAKE_TARGET_UNIX)
add_definitions(-DTARGET_UNIX)
# Contracts are disabled on UNIX.
add_definitions(-DDISABLE_CONTRACTS)
else(CLR_CMAKE_TARGET_UNIX)
add_definitions(-DTARGET_WINDOWS)
endif(CLR_CMAKE_TARGET_UNIX)

if(CLR_CMAKE_HOST_UNIX_ARM)
Expand Down
4 changes: 2 additions & 2 deletions src/coreclr/src/ToolBox/superpmi/mcs/commandline.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -152,12 +152,12 @@ bool CommandLine::Parse(int argc, char* argv[], /* OUT */ Options* o)
for (int i = 1; i < argc; i++)
{
bool isASwitch = (argv[i][0] == '-');
#ifndef FEATURE_PAL
#ifndef TARGET_UNIX
if (argv[i][0] == '/') // Also accept "/" on Windows
{
isASwitch = true;
}
#endif // !FEATURE_PAL
#endif // !TARGET_UNIX

// Process a switch
if (isASwitch)
Expand Down
4 changes: 2 additions & 2 deletions src/coreclr/src/ToolBox/superpmi/mcs/mcs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@

int __cdecl main(int argc, char* argv[])
{
#ifdef FEATURE_PAL
#ifdef TARGET_UNIX
if (0 != PAL_Initialize(argc, argv))
{
fprintf(stderr, "Error: Fail to PAL_Initialize\n");
exit(1);
}
#endif // FEATURE_PAL
#endif // TARGET_UNIX

Logger::Initialize();

Expand Down
10 changes: 5 additions & 5 deletions src/coreclr/src/ToolBox/superpmi/mcs/verbmerge.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -119,10 +119,10 @@ bool verbMerge::DirectoryFilterDirectories(WIN32_FIND_DATAW* findData)
// 3. hidden directories
// 4. "." or ".."

#ifndef FEATURE_PAL // FILE_ATTRIBUTE_REPARSE_POINT is not defined in the PAL
#ifndef TARGET_UNIX // FILE_ATTRIBUTE_REPARSE_POINT is not defined in the PAL
if ((findData->dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) != 0)
return false;
#endif // !FEATURE_PAL
#endif // !TARGET_UNIX
if ((findData->dwFileAttributes & FILE_ATTRIBUTE_SYSTEM) != 0)
return false;
if ((findData->dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) != 0)
Expand Down Expand Up @@ -204,18 +204,18 @@ int verbMerge::FilterDirectory(LPCWSTR searchPattern,
// NOTE: this function only works on Windows 7 and later.
WIN32_FIND_DATAW findData;
HANDLE hSearch;
#ifdef FEATURE_PAL
#ifdef TARGET_UNIX
// PAL doesn't have FindFirstFileEx(). So just use FindFirstFile(). The only reason we use
// the Ex version is potentially better performance (don't populate short name; use large fetch),
// not functionality.
hSearch = FindFirstFileW(searchPattern, &findData);
#else // !FEATURE_PAL
#else // !TARGET_UNIX
hSearch = FindFirstFileExW(searchPattern,
FindExInfoBasic, // We don't care about the short names
&findData,
FindExSearchNameMatch, // standard name matching
NULL, FIND_FIRST_EX_LARGE_FETCH);
#endif // !FEATURE_PAL
#endif // !TARGET_UNIX

if (hSearch == INVALID_HANDLE_VALUE)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ void ASMDumper::DumpToFile(HANDLE hFile, MethodContext* mc, CompileResult* cr)

#ifdef USE_MSVCDIS

#ifdef _TARGET_AMD64_
#ifdef TARGET_AMD64
DIS* disasm = DIS::PdisNew(DIS::distX8664);
#elif _TARGET_X86_
#elif TARGET_X86
DIS* disasm = DIS::PdisNew(DIS::distX86);
#endif
size_t offset = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ bool CallUtils::HasRetBuffArg(MethodContext* mc, CORINFO_SIG_INFO args)
return false;
}

#if defined(_TARGET_AMD64_)
#if defined(TARGET_AMD64)
// We don't need a return buffer if:
// i) TYP_STRUCT argument that can fit into a single register and
// ii) Power of two sized TYP_STRUCT on AMD64.
Expand Down
26 changes: 13 additions & 13 deletions src/coreclr/src/ToolBox/superpmi/superpmi-shared/compileresult.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ CompileResult::~CompileResult()
if (CallTargetTypes != nullptr)
delete CallTargetTypes;

#ifndef FEATURE_PAL // PAL doesn't have HeapDestroy()
#ifndef TARGET_UNIX // PAL doesn't have HeapDestroy()
if (codeHeap != nullptr)
::HeapDestroy(codeHeap);
#endif // !FEATURE_PAL
#endif // !TARGET_UNIX
}

// Is the CompileResult empty? Define this as whether all the maps that store information given by the JIT are empty.
Expand Down Expand Up @@ -721,7 +721,7 @@ void CompileResult::applyRelocs(unsigned char* block1, ULONG blocksize1, void* o

switch (tmp.fRelocType)
{
#if defined(_TARGET_X86_)
#if defined(TARGET_X86)
case IMAGE_REL_BASED_HIGHLOW:
{
DWORDLONG fixupLocation = tmp.location;
Expand All @@ -735,17 +735,17 @@ void CompileResult::applyRelocs(unsigned char* block1, ULONG blocksize1, void* o
}
}
break;
#endif // _TARGET_X86_
#endif // TARGET_X86

#if defined(_TARGET_X86_) || defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_) || defined(_TARGET_ARM_)
#if defined(TARGET_X86) || defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_ARM)
case IMAGE_REL_BASED_REL32:
{
DWORDLONG target = tmp.target + tmp.addlDelta;
DWORDLONG fixupLocation = tmp.location + tmp.slotNum;
DWORDLONG baseAddr = fixupLocation + sizeof(INT32);
INT64 delta = (INT64)((BYTE*)target - baseAddr);

#if defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_)
#if defined(TARGET_AMD64) || defined(TARGET_ARM64)
if (delta != (INT64)(int)delta)
{
// This isn't going to fit in a signed 32-bit address. Use something that will fit,
Expand All @@ -759,11 +759,11 @@ void CompileResult::applyRelocs(unsigned char* block1, ULONG blocksize1, void* o

delta = newdelta;
}
#endif // defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_)
#endif // defined(TARGET_AMD64) || defined(TARGET_ARM64)

if (delta != (INT64)(int)delta)
{
#if defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_)
#if defined(TARGET_AMD64) || defined(TARGET_ARM64)
LogError("REL32 relocation overflows field! delta=0x%016llX", delta);
#else
LogError("REL32 relocation overflows field! delta=0x%08X", delta);
Expand All @@ -780,9 +780,9 @@ void CompileResult::applyRelocs(unsigned char* block1, ULONG blocksize1, void* o
}
}
break;
#endif // defined(_TARGET_X86_) || defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_) || defined(_TARGET_ARM_)
#endif // defined(TARGET_X86) || defined(TARGET_AMD64) || defined(TARGET_ARM64) || defined(TARGET_ARM)

#if defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_)
#if defined(TARGET_AMD64) || defined(TARGET_ARM64)
case IMAGE_REL_BASED_DIR64:
{
DWORDLONG fixupLocation = tmp.location + tmp.slotNum;
Expand All @@ -797,15 +797,15 @@ void CompileResult::applyRelocs(unsigned char* block1, ULONG blocksize1, void* o
}
}
break;
#endif // defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_)
#endif // defined(TARGET_AMD64) || defined(TARGET_ARM64)

#ifdef _TARGET_ARM64_
#ifdef TARGET_ARM64
case IMAGE_REL_ARM64_BRANCH26: // 26 bit offset << 2 & sign ext, for B and BL
case IMAGE_REL_ARM64_PAGEBASE_REL21:
case IMAGE_REL_ARM64_PAGEOFFSET_12A:
LogError("Unimplemented reloc type %u", tmp.fRelocType);
break;
#endif // _TARGET_ARM64_
#endif // TARGET_ARM64

default:
LogError("Unknown reloc type %u", tmp.fRelocType);
Expand Down
14 changes: 7 additions & 7 deletions src/coreclr/src/ToolBox/superpmi/superpmi-shared/logging.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ void Logger::LogVprintf(

if (s_logFile != INVALID_HANDLE_VALUE)
{
#ifndef FEATURE_PAL // TODO: no localtime_s() or strftime() in PAL
#ifndef TARGET_UNIX // TODO: no localtime_s() or strftime() in PAL
tm timeInfo;
errno_t err = localtime_s(&timeInfo, &timestamp);
if (err != 0)
Expand All @@ -254,9 +254,9 @@ void Logger::LogVprintf(
timeStrBuffSize *= 2;
timeStr = (char*)realloc(timeStr, timeStrBuffSize);
}
#else // FEATURE_PAL
#else // TARGET_UNIX
const char* timeStr = "";
#endif // FEATURE_PAL
#endif // TARGET_UNIX

const char logEntryFmtStr[] = "%s - %s [%s:%d] - %s - %s\r\n";
size_t logEntryBuffSize = sizeof(logEntryFmtStr) + strlen(timeStr) + strlen(function) + strlen(file) + 10 +
Expand All @@ -277,15 +277,15 @@ void Logger::LogVprintf(

delete[] logEntry;

#ifndef FEATURE_PAL
#ifndef TARGET_UNIX
free((void*)timeStr);
#endif // !FEATURE_PAL
#endif // !TARGET_UNIX
}
}

#ifndef FEATURE_PAL
#ifndef TARGET_UNIX
CleanUp:
#endif // !FEATURE_PAL
#endif // !TARGET_UNIX

LeaveCriticalSection(&s_critSec);
delete[] fullMsg;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3988,7 +3988,7 @@ void MethodContext::repGetEEInfo(CORINFO_EE_INFO* pEEInfoOut)
pEEInfoOut->osPageSize = (size_t)0x1000;
pEEInfoOut->maxUncheckedOffsetForNullObject = (size_t)((32 * 1024) - 1);
pEEInfoOut->targetAbi = CORINFO_DESKTOP_ABI;
#ifdef FEATURE_PAL
#ifdef TARGET_UNIX
pEEInfoOut->osType = CORINFO_UNIX;
#else
pEEInfoOut->osType = CORINFO_WINNT;
Expand Down Expand Up @@ -6400,7 +6400,7 @@ int MethodContext::dumpMethodMD5HashToBuffer(char* buff, int len, bool ignoreMet

int MethodContext::dumpMD5HashToBuffer(BYTE* pBuffer, int bufLen, char* hash, int hashLen)
{
#ifdef FEATURE_PAL
#ifdef TARGET_UNIX

MD5HASHDATA md5_hashdata;
MD5 md5_hasher;
Expand All @@ -6420,7 +6420,7 @@ int MethodContext::dumpMD5HashToBuffer(BYTE* pBuffer, int bufLen, char* hash, in

return MD5_HASH_BUFFER_SIZE; // if we had success we wrote MD5_HASH_BUFFER_SIZE bytes to the buffer

#else // !FEATURE_PAL
#else // !TARGET_UNIX

HCRYPTPROV hProv = NULL; // CryptoProvider
HCRYPTHASH hHash = NULL;
Expand Down Expand Up @@ -6467,7 +6467,7 @@ int MethodContext::dumpMD5HashToBuffer(BYTE* pBuffer, int bufLen, char* hash, in
CryptReleaseContext(hProv, 0);
return -1;

#endif // !FEATURE_PAL
#endif // !TARGET_UNIX
}

MethodContext::Environment MethodContext::cloneEnvironment()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@
// Our little collection of enough of the CLR data to get the JIT up and working...
#define FEATURE_CLRSQM

#if !defined(_TARGET_AMD64_) && !defined(_TARGET_X86_) && !defined(_TARGET_ARM64_) && !defined(_TARGET_ARM_)
#if !defined(TARGET_AMD64) && !defined(TARGET_X86) && !defined(TARGET_ARM64) && !defined(TARGET_ARM)
#if defined(_M_X64)
#define _TARGET_AMD64_ 1
#define TARGET_AMD64 1
#elif defined(_M_IX86)
#define _TARGET_X86_ 1
#define TARGET_X86 1
#endif
#endif // _TARGET_* not previously defined

Expand Down
Loading