Skip to content

Commit 015956d

Browse files
Build zerolibnative.obj for x86 Windows (#70)
1 parent a263e5a commit 015956d

File tree

3 files changed

+101
-1
lines changed

3 files changed

+101
-1
lines changed

.github/workflows/bflat-cicd.yml

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,9 +161,30 @@ jobs:
161161
shell: cmd
162162
run: src\tests\run.cmd runnativeaottests release ${{ matrix.arch }}
163163
if: ${{ matrix.vm == 'windows-latest' && github.event.inputs.version == '' && matrix.arch != 'arm64' }}
164+
165+
build_x86_windows:
166+
runs-on: windows-latest
167+
name: Build and test windows x86
168+
steps:
169+
- uses: actions/checkout@v3
170+
- name: Build the product (Windows)
171+
shell: cmd
172+
run: bldx86.cmd
173+
- name: ZIP libs (Windows)
174+
run: |
175+
mkdir artifacts\bflat-libs
176+
copy artifacts\bin\coreclr\Windows.x86.Release\aotsdk\* artifacts\bflat-libs\
177+
pushd artifacts\bflat-libs\
178+
Compress-Archive * $Env:GITHUB_WORKSPACE\artifacts\bflat-libs-windows-x86.zip
179+
popd
180+
- name: Archive libs
181+
uses: actions/upload-artifact@v2
182+
with:
183+
name: libs
184+
path: artifacts/bflat-libs-windows-x86.zip
164185

165186
publish:
166-
needs: build_and_test
187+
needs: [ build_and_test, build_x86_windows ]
167188
runs-on: ubuntu-latest
168189
name: Publish release and NuGet
169190
if: ${{ github.event.inputs.version != '' && github.actor == 'MichalStrehovsky' }}
@@ -203,6 +224,16 @@ jobs:
203224
asset_name: bflat-refs.zip
204225
asset_content_type: application/zip
205226

227+
- name: Upload libs (windows-x86)
228+
uses: actions/upload-release-asset@v1
229+
env:
230+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
231+
with:
232+
upload_url: ${{ steps.create_release.outputs.upload_url }}
233+
asset_path: libs/bflat-libs-windows-x86.zip
234+
asset_name: bflat-libs-windows-x86.zip
235+
asset_content_type: application/zip
236+
206237
- name: Upload native compiler (windows-x64)
207238
uses: actions/upload-release-asset@v1
208239
env:

bldx86.cmd

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
@echo off
2+
3+
for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -find vc\Auxiliary\Build\vcvarsall.bat`) do (
4+
"%%i" amd64_x86
5+
mkdir artifacts\bin\coreclr\windows.x86.Release\aotsdk
6+
ml /c /Foartifacts\bin\coreclr\windows.x86.Release\aotsdk\zerolibnative.obj /Zi src\coreclr\nativeaot\zerolib.native\x86\stubs.asm
7+
exit /b !errorlevel!
8+
)
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
.586
2+
.xmm
3+
.model flat
4+
5+
ALTERNATE_ENTRY macro Name
6+
7+
Name label proc
8+
PUBLIC Name
9+
endm
10+
11+
.code
12+
13+
PUBLIC RhpByRefAssignRef
14+
RhpByRefAssignRef PROC
15+
movs dword ptr es:[edi],dword ptr [esi]
16+
ret
17+
RhpByRefAssignRef ENDP
18+
19+
PUBLIC RhpCheckedAssignRefEAX
20+
ALTERNATE_ENTRY RhpAssignRefEAX
21+
RhpCheckedAssignRefEAX PROC
22+
mov DWORD PTR [edx], eax
23+
ret
24+
RhpCheckedAssignRefEAX ENDP
25+
26+
PUBLIC RhpCheckedAssignRefEBX
27+
ALTERNATE_ENTRY RhpAssignRefEBX
28+
RhpCheckedAssignRefEBX PROC
29+
mov DWORD PTR [edx], ebx
30+
ret
31+
RhpCheckedAssignRefEBX ENDP
32+
33+
PUBLIC RhpCheckedAssignRefECX
34+
ALTERNATE_ENTRY RhpAssignRefECX
35+
RhpCheckedAssignRefECX PROC
36+
mov DWORD PTR [edx], ecx
37+
ret
38+
RhpCheckedAssignRefECX ENDP
39+
40+
PUBLIC RhpCheckedAssignRefESI
41+
ALTERNATE_ENTRY RhpAssignRefESI
42+
RhpCheckedAssignRefESI PROC
43+
mov DWORD PTR [edx], esi
44+
ret
45+
RhpCheckedAssignRefESI ENDP
46+
47+
PUBLIC RhpCheckedAssignRefEDI
48+
ALTERNATE_ENTRY RhpAssignRefEDI
49+
RhpCheckedAssignRefEDI PROC
50+
mov DWORD PTR [edx], edi
51+
ret
52+
RhpCheckedAssignRefEDI ENDP
53+
54+
PUBLIC RhpCheckedAssignRefEBP
55+
ALTERNATE_ENTRY RhpAssignRefEBP
56+
RhpCheckedAssignRefEBP PROC
57+
mov DWORD PTR [edx], ebp
58+
ret
59+
RhpCheckedAssignRefEBP ENDP
60+
61+
end

0 commit comments

Comments
 (0)