Skip to content

Commit ad7c799

Browse files
committed
Initial commit to build Win32 Arm CoreCLR
1 parent d7821eb commit ad7c799

25 files changed

+269
-87
lines changed

CMakeLists.txt

+20-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ project(CoreCLR)
1111
# Include cmake functions
1212
include(functions.cmake)
1313

14+
message(STATUS "CMAKE_VS_PLATFORM_TOOLSET is ${CMAKE_VS_PLATFORM_TOOLSET}")
15+
message(STATUS "CMAKE_VS_PLATFORM_NAME is ${CMAKE_VS_PLATFORM_NAME}")
16+
message(STATUS "CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION is ${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}")
17+
1418
# Set commonly used directory names
1519
set(CLR_DIR ${CMAKE_CURRENT_SOURCE_DIR})
1620
set(VM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/vm)
@@ -33,7 +37,19 @@ endif()
3337

3438
# Ensure other tools are present
3539
if (WIN32)
36-
enable_language(ASM_MASM)
40+
if(CLR_CMAKE_HOST_ARCH STREQUAL arm)
41+
# Explicitly specify the assembler to be used for Arm32 compile
42+
file(TO_CMAKE_PATH "$ENV{VCINSTALLDIR}\\bin\\x86_arm\\armasm.exe" CMAKE_ASM_COMPILER)
43+
44+
set(CMAKE_ASM_MASM_COMPILER ${CMAKE_ASM_COMPILER})
45+
message(CMAKE_ASM_MASM_COMPILER explicitly set to: ${CMAKE_ASM_MASM_COMPILER})
46+
47+
# Enable generic assembly compilation to avoid CMake generate VS proj files that explicitly
48+
# use ml[64].exe as the assembler.
49+
enable_language(ASM)
50+
else()
51+
enable_language(ASM_MASM)
52+
endif()
3753

3854
# Ensure that MC is present
3955
find_program(MC mc)
@@ -186,6 +202,8 @@ elseif(WIN32)
186202
set(CLR_CMAKE_PLATFORM_ARCH_AMD64 1)
187203
elseif(CLR_CMAKE_HOST_ARCH STREQUAL x86)
188204
set(CLR_CMAKE_PLATFORM_ARCH_I386 1)
205+
elseif(CLR_CMAKE_HOST_ARCH STREQUAL arm)
206+
set(CLR_CMAKE_PLATFORM_ARCH_ARM 1)
189207
elseif(CLR_CMAKE_HOST_ARCH STREQUAL arm64)
190208
set(CLR_CMAKE_PLATFORM_ARCH_ARM64 1)
191209
else()
@@ -542,4 +560,4 @@ if(CLR_CMAKE_BUILD_TESTS)
542560
add_subdirectory(tests)
543561
endif(CLR_CMAKE_BUILD_TESTS)
544562

545-
include(definitionsconsistencycheck.cmake)
563+
include(definitionsconsistencycheck.cmake)

Documentation/building/windows-instructions.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,18 @@ Visual Studio must be installed. Supported versions:
1515

1616
- [Visual Studio 2015](https://www.visualstudio.com/downloads/visual-studio-2015-downloads-vs) (Community, Professional, Enterprise)
1717

18-
To debug managed code, ensure you have installed atleast [Visual Studio 2015 Update 3](https://blogs.msdn.microsoft.com/visualstudio/2016/06/07/visual-studio-2015-update-3-rc/).
18+
To debug managed code, ensure you have installed atleast [Visual Studio 2015 Update 3](https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs).
1919

20-
Make sure that you install "VC++ Tools". By default they will not be installed.
20+
Make sure that you install "VC++ Tools". By default, they will not be installed.
21+
22+
To build for Arm32, you need to have [Windows SDK for Windows 10](https://developer.microsoft.com/en-us/windows/downloads) installed.
2123

2224
Visual Studio Express is not supported.
2325

2426
CMake
2527
-----
2628

27-
The CoreCLR build relies on CMake for the build. We are currently using CMake 3.0.2, although later versions likely work.
29+
The CoreCLR repo build has been validated using CMake 3.5.2.
2830

2931
- Install [CMake](http://www.cmake.org/download) for Windows.
3032
- Add it to the PATH environment variable.

build.cmd

+14-4
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,10 @@ if %__TotalSpecifiedBuildArch% GTR 1 (
122122

123123
if %__BuildArchX64%==1 set __BuildArch=x64
124124
if %__BuildArchX86%==1 set __BuildArch=x86
125-
if %__BuildArchArm%==1 set __BuildArch=arm
125+
if %__BuildArchArm%==1 (
126+
set __BuildArch=arm
127+
set __CrossArch=x86
128+
)
126129
if %__BuildArchArm64%==1 (
127130
set __BuildArch=arm64
128131
set __CrossArch=x64
@@ -207,6 +210,7 @@ if %__BuildNative% EQU 1 (
207210
:: Set the environment for the native build
208211
set __VCBuildArch=x86_amd64
209212
if /i "%__BuildArch%" == "x86" ( set __VCBuildArch=x86 )
213+
if /i "%__BuildArch%" == "arm" (set __VCBuildArch=x86_arm)
210214
echo %__MsgPrefix%Using environment: "%__VSToolsRoot%\..\..\VC\vcvarsall.bat" !__VCBuildArch!
211215
call "%__VSToolsRoot%\..\..\VC\vcvarsall.bat" !__VCBuildArch!
212216
@if defined __echo @echo on
@@ -251,9 +255,15 @@ REM === Build Cross-Architecture Native Components (if applicable)
251255
REM ===
252256
REM =========================================================================================
253257

254-
REM cross-arch build only enabled for arm64
255-
256258
if /i "%__BuildArch%"=="arm64" (
259+
set __DoCrossArchBuild=1
260+
)
261+
262+
if /i "%__BuildArch%"=="arm" (
263+
set __DoCrossArchBuild=1
264+
)
265+
266+
if /i "%__DoCrossArchBuild%"=="1" (
257267

258268
echo %__MsgPrefix%Commencing build of cross architecture native components for %__BuildOS%.%__BuildArch%.%__BuildType%
259269

@@ -297,6 +307,7 @@ if /i "%__BuildArch%"=="arm64" (
297307
)
298308

299309
:SkipCrossCompBuild
310+
300311
REM =========================================================================================
301312
REM ===
302313
REM === CoreLib and NuGet package build section.
@@ -355,7 +366,6 @@ if %__BuildNativeCoreLib% EQU 1 (
355366
)
356367

357368
if %__BuildPackages% EQU 1 (
358-
359369
set __MsbuildLog=/flp:Verbosity=normal;LogFile="%__LogsDir%\Nuget_%__BuildOS%__%__BuildArch%__%__BuildType%.log"
360370
set __MsbuildWrn=/flp1:WarningsOnly;LogFile="%__LogsDir%\Nuget_%__BuildOS%__%__BuildArch%__%__BuildType%.wrn"
361371
set __MsbuildErr=/flp2:ErrorsOnly;LogFile="%__LogsDir%\Nuget_%__BuildOS%__%__BuildArch%__%__BuildType%.err"

clrdefinitions.cmake

+4
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ elseif (CLR_CMAKE_TARGET_ARCH_ARM64)
3131
elseif (CLR_CMAKE_TARGET_ARCH_ARM)
3232
if (CLR_CMAKE_PLATFORM_UNIX)
3333
add_definitions(-DDBG_TARGET_ARM_UNIX)
34+
elseif (WIN32 AND NOT DEFINED CLR_CROSS_COMPONENTS_BUILD)
35+
# Set this to ensure we can use Arm SDK for Desktop binary linkage when doing native (Arm32) build
36+
add_definitions(-D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE=1)
37+
add_definitions(-D_ARM_WORKAROUND_)
3438
endif (CLR_CMAKE_PLATFORM_UNIX)
3539
add_definitions(-D_TARGET_ARM_=1)
3640
add_definitions(-DDBG_TARGET_32BIT=1)

dir.props

+3-2
Original file line numberDiff line numberDiff line change
@@ -164,9 +164,10 @@
164164
<MinOSForArch Condition="'$(PackagePlatform)' == 'arm'">win8</MinOSForArch>
165165
<MinOSForArch Condition="'$(PackagePlatform)' == 'arm64'">win10</MinOSForArch>
166166

167-
<!-- Arm64 cross target components are x64 hosted -->
168-
<HasCrossTargetComponents Condition="'$(PackagePlatform)' =='arm64'">true</HasCrossTargetComponents>
167+
<!-- Define packaging attributes for cross target components -->
168+
<HasCrossTargetComponents Condition="'$(TargetsWindows)' == 'true' and ('$(PackagePlatform)' =='arm64' or '$(PackagePlatform)' =='arm')">true</HasCrossTargetComponents>
169169
<CrossTargetComponentFolder Condition="'$(PackagePlatform)' == 'arm64'">x64</CrossTargetComponentFolder>
170+
<CrossTargetComponentFolder Condition="'$(PackagePlatform)' == 'arm'">x86</CrossTargetComponentFolder>
170171

171172
<PackageOutputPath>$(PackagesBinDir)/pkg/</PackageOutputPath>
172173
<SymbolPackageOutputPath>$(PackagesBinDir)/symbolpkg/</SymbolPackageOutputPath>

functions.cmake

+28-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
function(clr_unknown_arch)
22
if (WIN32)
3-
message(FATAL_ERROR "Only AMD64, ARM64 and I386 are supported")
3+
message(FATAL_ERROR "Only AMD64, ARM64, ARM and I386 are supported")
44
else()
55
message(FATAL_ERROR "Only AMD64, ARM64 and ARM are supported")
66
endif()
@@ -24,15 +24,40 @@ function(get_compile_definitions DefinitionName)
2424
set(${DefinitionName} ${DEFINITIONS} PARENT_SCOPE)
2525
endfunction(get_compile_definitions)
2626

27-
# Build a list of include directories by putting -I in front of each include dir.
27+
# Build a list of include directories
2828
function(get_include_directories IncludeDirectories)
2929
get_directory_property(dirs INCLUDE_DIRECTORIES)
3030
foreach(dir IN LISTS dirs)
31+
32+
if (CLR_CMAKE_PLATFORM_ARCH_ARM AND WIN32)
33+
list(APPEND INC_DIRECTORIES /I${dir})
34+
else()
3135
list(APPEND INC_DIRECTORIES -I${dir})
36+
endif(CLR_CMAKE_PLATFORM_ARCH_ARM AND WIN32)
37+
3238
endforeach()
3339
set(${IncludeDirectories} ${INC_DIRECTORIES} PARENT_SCOPE)
3440
endfunction(get_include_directories)
3541

42+
# Build a list of include directories for consumption by the assembler
43+
function(get_include_directories_asm IncludeDirectories)
44+
get_directory_property(dirs INCLUDE_DIRECTORIES)
45+
46+
if (CLR_CMAKE_PLATFORM_ARCH_ARM AND WIN32)
47+
list(APPEND INC_DIRECTORIES "-I ")
48+
endif()
49+
50+
foreach(dir IN LISTS dirs)
51+
if (CLR_CMAKE_PLATFORM_ARCH_ARM AND WIN32)
52+
list(APPEND INC_DIRECTORIES ${dir};)
53+
else()
54+
list(APPEND INC_DIRECTORIES -I${dir})
55+
endif()
56+
endforeach()
57+
58+
set(${IncludeDirectories} ${INC_DIRECTORIES} PARENT_SCOPE)
59+
endfunction(get_include_directories_asm)
60+
3661
# Set the passed in RetSources variable to the list of sources with added current source directory
3762
# to form absolute paths.
3863
# The parameters after the RetSources are the input files.
@@ -52,7 +77,7 @@ function(preprocess_def_file inputFilename outputFilename)
5277
OUTPUT ${outputFilename}
5378
COMMAND ${CMAKE_CXX_COMPILER} ${ASM_INCLUDE_DIRECTORIES} /P /EP /TC ${PREPROCESS_DEFINITIONS} /Fi${outputFilename} ${inputFilename}
5479
DEPENDS ${inputFilename}
55-
COMMENT "Preprocessing ${inputFilename}"
80+
COMMENT "Preprocessing ${inputFilename} - ${CMAKE_CXX_COMPILER} ${ASM_INCLUDE_DIRECTORIES} /P /EP /TC ${PREPROCESS_DEFINITIONS} /Fi${outputFilename} ${inputFilename}"
5681
)
5782

5883
set_source_files_properties(${outputFilename}

src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.builds

+4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
<OSGroup>Windows_NT</OSGroup>
2424
<Platform>x86</Platform>
2525
</Project>
26+
<Project Condition="'$(TargetsWindows)' == 'true'" Include="win/Microsoft.NETCore.ILAsm.pkgproj">
27+
<OSGroup>Windows_NT</OSGroup>
28+
<Platform>arm</Platform>
29+
</Project>
2630
<Project Condition="'$(TargetsLinux)' == 'true' and '$(DistroRid)' == 'debian.8-x64'" Include="debian/Microsoft.NETCore.ILAsm.pkgproj">
2731
<OSGroup>Linux</OSGroup>
2832
<Platform>amd64</Platform>

src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.pkgproj

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<Version>1.1.0</Version>
66
<SkipPackageFileCheck>true</SkipPackageFileCheck>
77
<SkipValidatePackage>true</SkipValidatePackage>
8-
<PackagePlatforms>x64;x86;arm64;arm</PackagePlatforms>
8+
<PackagePlatforms>x64;x86;arm64;arm;</PackagePlatforms>
99
<OutputPath>$(PackagesOutputPath)</OutputPath>
1010
<IncludeRuntimeJson>true</IncludeRuntimeJson>
1111
</PropertyGroup>
@@ -20,6 +20,9 @@
2020
<ProjectReference Include="win\Microsoft.NETCore.ILAsm.pkgproj">
2121
<Platform>x86</Platform>
2222
</ProjectReference>
23+
<ProjectReference Include="win\Microsoft.NETCore.ILAsm.pkgproj">
24+
<Platform>arm</Platform>
25+
</ProjectReference>
2326
<ProjectReference Include="debian\Microsoft.NETCore.ILAsm.pkgproj">
2427
<Platform>amd64</Platform>
2528
</ProjectReference>

src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.builds

+4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
<OSGroup>Windows_NT</OSGroup>
2424
<Platform>x86</Platform>
2525
</Project>
26+
<Project Condition="'$(TargetsWindows)' == 'true'" Include="win/Microsoft.NETCore.ILDAsm.pkgproj">
27+
<OSGroup>Windows_NT</OSGroup>
28+
<Platform>arm</Platform>
29+
</Project>
2630
<Project Condition="'$(TargetsLinux)' == 'true' and '$(DistroRid)' == 'debian.8-x64'" Include="debian/Microsoft.NETCore.ILDAsm.pkgproj">
2731
<OSGroup>Linux</OSGroup>
2832
<Platform>amd64</Platform>

src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.pkgproj

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<Version>1.1.0</Version>
66
<SkipPackageFileCheck>true</SkipPackageFileCheck>
77
<SkipValidatePackage>true</SkipValidatePackage>
8-
<PackagePlatforms>x64;x86;arm64;arm</PackagePlatforms>
8+
<PackagePlatforms>x64;x86;arm64;arm;</PackagePlatforms>
99
<OutputPath>$(PackagesOutputPath)</OutputPath>
1010
<IncludeRuntimeJson>true</IncludeRuntimeJson>
1111
</PropertyGroup>
@@ -20,6 +20,9 @@
2020
<ProjectReference Include="win\Microsoft.NETCore.ILDAsm.pkgproj">
2121
<Platform>x86</Platform>
2222
</ProjectReference>
23+
<ProjectReference Include="win\Microsoft.NETCore.ILDAsm.pkgproj">
24+
<Platform>arm</Platform>
25+
</ProjectReference>
2326
<ProjectReference Include="debian\Microsoft.NETCore.ILDAsm.pkgproj">
2427
<Platform>amd64</Platform>
2528
</ProjectReference>

src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.builds

+4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
<OSGroup>Windows_NT</OSGroup>
2424
<Platform>x86</Platform>
2525
</Project>
26+
<Project Condition="'$(TargetsWindows)' == 'true'" Include="win/Microsoft.NETCore.Jit.pkgproj">
27+
<OSGroup>Windows_NT</OSGroup>
28+
<Platform>arm</Platform>
29+
</Project>
2630
<Project Condition="'$(TargetsLinux)' == 'true' and '$(DistroRid)' == 'debian.8-x64'" Include="debian/Microsoft.NETCore.Jit.pkgproj">
2731
<OSGroup>Linux</OSGroup>
2832
<Platform>amd64</Platform>

src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.pkgproj

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<Version>1.1.0</Version>
66
<SkipPackageFileCheck>true</SkipPackageFileCheck>
77
<SkipValidatePackage>true</SkipValidatePackage>
8-
<PackagePlatforms>x64;x86;arm64;arm</PackagePlatforms>
8+
<PackagePlatforms>x64;x86;arm64;arm;</PackagePlatforms>
99
<OutputPath>$(PackagesOutputPath)</OutputPath>
1010
<IncludeRuntimeJson>true</IncludeRuntimeJson>
1111
</PropertyGroup>
@@ -19,6 +19,9 @@
1919
<ProjectReference Include="win\Microsoft.NETCore.Jit.pkgproj">
2020
<Platform>x86</Platform>
2121
</ProjectReference>
22+
<ProjectReference Include="win\Microsoft.NETCore.Jit.pkgproj">
23+
<Platform>arm</Platform>
24+
</ProjectReference>
2225
<ProjectReference Include="debian\Microsoft.NETCore.Jit.pkgproj">
2326
<Platform>amd64</Platform>
2427
</ProjectReference>

src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/Microsoft.NETCore.Runtime.CoreCLR.builds

+4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
<OSGroup>Windows_NT</OSGroup>
2424
<Platform>x86</Platform>
2525
</Project>
26+
<Project Condition="'$(TargetsWindows)' == 'true'" Include="win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj">
27+
<OSGroup>Windows_NT</OSGroup>
28+
<Platform>arm</Platform>
29+
</Project>
2630
<Project Condition="'$(TargetsLinux)' == 'true' and '$(DistroRid)' == 'debian.8-x64'" Include="debian/Microsoft.NETCore.Runtime.CoreCLR.pkgproj">
2731
<OSGroup>Linux</OSGroup>
2832
<Platform>amd64</Platform>

src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/Microsoft.NETCore.Runtime.CoreCLR.pkgproj

+7-2
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
<Version>1.1.0</Version>
66
<SkipPackageFileCheck>true</SkipPackageFileCheck>
77
<SkipValidatePackage>true</SkipValidatePackage>
8-
<PackagePlatforms>x64;x86;arm64;arm</PackagePlatforms>
8+
<PackagePlatforms>x64;x86;arm64;arm;</PackagePlatforms>
99
<OutputPath>$(PackagesOutputPath)</OutputPath>
1010
<IncludeRuntimeJson>true</IncludeRuntimeJson>
1111
</PropertyGroup>
1212
<ItemGroup>
13-
<!-- Declare a runtime dependency on the win8-arm CoreCLR built using the TFS builds -->
13+
<!-- ARM32_TODO: Clean this up.
14+
Declare a runtime dependency on the win8-arm CoreCLR built using the TFS builds
15+
-->
1416
<RuntimeDependency Include="runtime.win8-arm.Microsoft.NETCore.Runtime.CoreCLR">
1517
<TargetRuntime>win8-arm</TargetRuntime>
1618
<Version>1.1.0-$(ExternalExpectedPrerelease)</Version>
@@ -30,6 +32,9 @@
3032
<ProjectReference Include="win\Microsoft.NETCore.Runtime.CoreCLR.pkgproj">
3133
<Platform>x86</Platform>
3234
</ProjectReference>
35+
<ProjectReference Include="win\Microsoft.NETCore.Runtime.CoreCLR.pkgproj">
36+
<Platform>arm</Platform>
37+
</ProjectReference>
3338
<ProjectReference Include="debian\Microsoft.NETCore.Runtime.CoreCLR.pkgproj">
3439
<Platform>amd64</Platform>
3540
</ProjectReference>

src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.builds

+4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
<OSGroup>Windows_NT</OSGroup>
2424
<Platform>x86</Platform>
2525
</Project>
26+
<Project Condition="'$(TargetsWindows)' == 'true'" Include="win/Microsoft.NETCore.TestHost.pkgproj">
27+
<OSGroup>Windows_NT</OSGroup>
28+
<Platform>arm</Platform>
29+
</Project>
2630
<Project Condition="'$(TargetsLinux)' == 'true' and '$(DistroRid)' == 'debian.8-x64'" Include="debian/Microsoft.NETCore.TestHost.pkgproj">
2731
<OSGroup>Linux</OSGroup>
2832
<Platform>amd64</Platform>

src/.nuget/Microsoft.NETCore.TestHost/Microsoft.NETCore.TestHost.pkgproj

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<Version>1.1.0</Version>
66
<SkipPackageFileCheck>true</SkipPackageFileCheck>
77
<SkipValidatePackage>true</SkipValidatePackage>
8-
<PackagePlatforms>x64;x86;arm64;arm</PackagePlatforms>
8+
<PackagePlatforms>x64;x86;arm64;arm;</PackagePlatforms>
99
<OutputPath>$(PackagesOutputPath)</OutputPath>
1010
<IncludeRuntimeJson>true</IncludeRuntimeJson>
1111
</PropertyGroup>
@@ -24,6 +24,9 @@
2424
<ProjectReference Include="win\Microsoft.NETCore.TestHost.pkgproj">
2525
<Platform>x86</Platform>
2626
</ProjectReference>
27+
<ProjectReference Include="win\Microsoft.NETCore.TestHost.pkgproj">
28+
<Platform>arm</Platform>
29+
</ProjectReference>
2730
<ProjectReference Include="debian\Microsoft.NETCore.TestHost.pkgproj">
2831
<Platform>amd64</Platform>
2932
</ProjectReference>

src/ToolBox/superpmi/superpmi-shared/compileresult.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -729,7 +729,7 @@ void CompileResult::applyRelocs(unsigned char *block1, ULONG blocksize1, void *o
729729
break;
730730
#endif // _TARGET_X86_
731731

732-
#if defined(_TARGET_X86_) || defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_)
732+
#if defined(_TARGET_X86_) || defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_) || defined(_TARGET_ARM_)
733733
case IMAGE_REL_BASED_REL32:
734734
{
735735
DWORDLONG target = tmp.target + tmp.addlDelta;
@@ -770,7 +770,7 @@ void CompileResult::applyRelocs(unsigned char *block1, ULONG blocksize1, void *o
770770
}
771771
}
772772
break;
773-
#endif // defined(_TARGET_X86_) || defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_)
773+
#endif // defined(_TARGET_X86_) || defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_) || defined(_TARGET_ARM_)
774774

775775
#if defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_)
776776
case IMAGE_REL_BASED_DIR64:

0 commit comments

Comments
 (0)