win32/arm64: add native Windows ARM64 support - #2
Conversation
Bring over the maintainer's Windows-side test helper additions from gr8001/arm64-win32 so this review branch carries the same helper artifacts as his reference branch. This imports tests/msvcrt_start.c, tests/test-win32.bat, win32/lib/winex.c, and the small tests/Makefile hooks needed for the batch helper. Co-authored-by: grischka <grischka>
|
Caution Review failedFailed to post review comments WalkthroughThis pull request adds comprehensive ARM64/AArch64 assembler and code-generation support for Windows PE targets, alongside extensive Windows ARM64 runtime, startup, and test infrastructure. It replaces the ARM64 dummy assembler with a functional backend supporting inline assembly, instruction encoding, and relocation handling, while extending build configuration, CI testing, and test coverage. Changes
🚥 Pre-merge checks | ✅ 2✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
is this (or something like this) planning to be merged into tinycc? does the original tinycc not already kind of support this now? |
Summary
-runsupport, including argv, wargv, env, wenv, stdin, exit, nested-run, backtrace, and libtcc regression coveragetests/msvcrt_start.c,tests/test-win32.bat,win32/lib/winex.c)Notes
win_arm64_reviewableseries, rebased ontooven-sh/mobto keep the review diff focused on the Windows ARM64 workValidation
win32\build-tcc.bat -t arm64 -c clang.\tcc -B. ..\win32\test_arm64.c -o test_arm64.exe && .\test_arm64.exeSet-Content test_rstdin.txt 'arm64 stdin'; .\tcc -B. -rstdin test_rstdin.txt -run ..\win32\test_rstdin.c.\tcc -B. ..\tests\tests2\49_bracket_evaluation.c -o test49.exe && .\test49.exe.\tcc -B. -run ..\win32\test_run_argv.c alpha "two words" betaclang -O0 -I.. ..\win32\test_run_arg_cleanup.c -o test_run_arg_cleanup.exe && .\test_run_arg_cleanup.exe alpha beta gammamake test -kmake -C tests test2 test3tests\test-win32.bat -p ..\.. -c clang -t arm64