if %__SkipCrossArchNative% EQU 0 (
if %__BuildNative% EQU 1 (
+ if %__BuildCrossArchNative% EQU 0 (
+ if /i not "%__BuildArch%"=="x86" (
+ REM Make recursive calls to build the cross OS DAC
+ call :BuildCrossOSDac -linuxdac
+ if not !errorlevel! == 0 (
+ goto ExitWithError
+ )
+ )
+ )
if /i "%__BuildArch%"=="arm64" (
set __BuildCrossArchNative=1
)
:ExitWithCode
exit /b !__exitCode!
+:BuildCrossOSDac
+setlocal
+set __BuildDacOption=%1
+set __NextCmd=call %__ThisScriptFull% %__BuildDacOption% %__BuildArch% %__BuildType% %__PassThroughArgs%
+echo %__MsgPrefix%Invoking: %__NextCmd%
+%__NextCmd%
+if not !errorlevel! == 0 (
+ echo %__MsgPrefix% %__BuildDacOption% %__BuildArch% %__BuildType% %__PassThroughArgs%
+ endlocal
+ goto ExitWithError
+)
+endlocal
+exit /b 0
+
:Usage
echo.
echo Build the CoreCLR repo.
return hr;
}
// Add the dac table memory in coreclr
- CATCH_ALL_EXCEPT_RETHROW_COR_E_OPERATIONCANCELLED ( ReportMem(dacTableAddress, sizeof(g_dacGlobals)); )
+ CATCH_ALL_EXCEPT_RETHROW_COR_E_OPERATIONCANCELLED ( ReportMem((TADDR)dacTableAddress, sizeof(g_dacGlobals)); )
#endif
// Cannot use CATCH_ALL_EXCEPT_RETHROW_COR_E_OPERATIONCANCELLED
#define PRId PRId64
#define PRIA "016"
#define PRIxA PRIA PRIx
-#define TARGET_WORDSIZE 64
#else
#define PRIx PRIx32
#define PRIu PRIu32
#define PRId PRId32
#define PRIA "08"
#define PRIxA PRIA PRIx
-#define TARGET_WORDSIZE 32
#endif
#ifdef HOST_UNIX
ElfReader::Hash(const std::string& symbolName)
{
uint32_t h = 5381;
- for (int i = 0; i < symbolName.length(); i++)
+ for (unsigned int i = 0; i < symbolName.length(); i++)
{
h = (h << 5) + h + symbolName[i];
}
#include <string>
#include <vector>
+#if TARGET_64BIT
+#define TARGET_WORDSIZE 64
+#else
+#define TARGET_WORDSIZE 32
+#endif
+
#ifndef ElfW
/* We use this macro to refer to ELF types independent of the native wordsize.
`ElfW(TYPE)' is used in place of `Elf32_TYPE' or `Elf64_TYPE'. */