Home » Community » Coffee corner » Do we have support for Windows on ARM64?
| Do we have support for Windows on ARM64? [message #61394] |
Thu, 09 January 2025 10:38  |
Tom1
Messages: 1309 Registered: March 2007
|
Ultimate Contributor |
|
|
Hi,
I noticed that new Windows laptops have appeared on the market with ARM64 architecture processors (e.g. Qualcomm Snapdragon X Plus X1P-42-100). Is U++ ready for this?
Best regards,
Tom
|
|
|
|
|
|
| Re: Do we have support for Windows on ARM64? [message #61426 is a reply to message #61424] |
Tue, 04 February 2025 12:09   |
Tom1
Messages: 1309 Registered: March 2007
|
Ultimate Contributor |
|
|
Thanks Mirek,
I guess this support will need to be sorted out within a couple of years, i.e. just before clients start to wonder why our apps do not install/run on their brand new Windows laptops.
Visual Studio 2022 (x64) can target ARM64 too, so could we be lucky enough to have it working by just adding a suitable BM?
Anyway, I do not have such a laptop, so I will not be able to test this yet.
Best regards,
Tom
EDIT: OK, they may run in emulation, but I mean natively...
[Updated on: Tue, 04 February 2025 12:10] Report message to a moderator
|
|
|
|
|
|
| Re: Do we have support for Windows on ARM64? [message #61873 is a reply to message #61427] |
Sun, 30 November 2025 16:18   |
Tom1
Messages: 1309 Registered: March 2007
|
Ultimate Contributor |
|
|
Hi,
I discovered a nice black friday deal and finally decided to order a laptop with snapdragon and Windows 11 ARM. Any suggestions on how to get Ultimate++ up and running natively on this platform? I guess I will get the laptop in just a few days...
Best regards,
Tom
|
|
|
|
| Re: Do we have support for Windows on ARM64? [message #61874 is a reply to message #61873] |
Sun, 30 November 2025 20:18   |
 |
mirek
Messages: 14281 Registered: November 2005
|
Ultimate Member |
|
|
Tom1 wrote on Sun, 30 November 2025 16:18Hi,
I discovered a nice black friday deal and finally decided to order a laptop with snapdragon and Windows 11 ARM. Any suggestions on how to get Ultimate++ up and running natively on this platform? I guess I will get the laptop in just a few days...
Best regards,
Tom
From what I know, and I might be wrong, start with running U++ non-natively. Then fiddle with compiler/build methods.
https://github.com/mstorsjo/llvm-mingw
which we use supports ARM (but I tend to delete it from the archive for now).
IMO, over speaking should not be all that hard.
Keep us updated, this is interesting.
Mirek
[Updated on: Sun, 30 November 2025 20:19] Report message to a moderator
|
|
|
|
| Re: Do we have support for Windows on ARM64? [message #61884 is a reply to message #61874] |
Fri, 05 December 2025 10:53   |
Tom1
Messages: 1309 Registered: March 2007
|
Ultimate Contributor |
|
|
Hi Mirek,
OK, now I have the new laptop with Windows 11 ARM64 up and running. The nightly upp installed easily and runs in the Prism emulation (embedded in Windows 11 ARM by default) very well and does not feel sluggish at all.
The next step I took was downloading ARM64 version of the llvm tools from:
https://github.com/mstorsjo/llvm-mingw/releases/download/202 51202/llvm-mingw-20251202-ucrt-aarch64.zip
Then I extracted the contents and replaced the entire C:\upp\bin\clang -directory with the contents from this archive. I opened theide and the UWord from examples. As I tried to compile it, the compiler first complained about the 'Common option -mpopcnt' which is not supported by aarch64. So I removed that option.
I also changed the PATH executable directory: C:\upp\bin\clang\x86_64-w64-mingw32\bin path to point at C:\upp\bin\clang\aarch64-w64-mingw32\bin instead.
I made those changes to a new build method 'CLANGARM64' using 'CLANG' builder. I know this is not complete and probably needs more changes for at least the other paths, includes and libraries, depending on the program being built.
Next issue was found on Core\Debug.cpp around line 270. The 'qword esp = ep->ContextRecord->Rsp;' and 'dword esp = ep->ContextRecord->Esp;' do not exist here. I do not know how to really fix this, but as a quick and dirty workaround I decided to replace that code with just 'qword esp = 0;' and consequently the UWord compiled, linked and runs OK!
So, I guess all this is doable, but requires some tuning in TheIDE so that everything runs natively out of the box. Can you take a more professional look at this based on this description?
Best regards,
Tom
|
|
|
|
| Re: Do we have support for Windows on ARM64? [message #61885 is a reply to message #61884] |
Fri, 05 December 2025 11:06   |
 |
mirek
Messages: 14281 Registered: November 2005
|
Ultimate Member |
|
|
Tom1 wrote on Fri, 05 December 2025 10:53Hi Mirek,
OK, now I have the new laptop with Windows 11 ARM64 up and running. The nightly upp installed easily and runs in the Prism emulation (embedded in Windows 11 ARM by default) very well and does not feel sluggish at all.
The next step I took was downloading ARM64 version of the llvm tools from:
https://github.com/mstorsjo/llvm-mingw/releases/download/202 51202/llvm-mingw-20251202-ucrt-aarch64.zip
Then I extracted the contents and replaced the entire C:\upp\bin\clang -directory with the contents from this archive. I opened theide and the UWord from examples. As I tried to compile it, the compiler first complained about the 'Common option -mpopcnt' which is not supported by aarch64. So I removed that option.
I also changed the PATH executable directory: C:\upp\bin\clang\x86_64-w64-mingw32\bin path to point at C:\upp\bin\clang\aarch64-w64-mingw32\bin instead.
I made those changes to a new build method 'CLANGARM64' using 'CLANG' builder. I know this is not complete and probably needs more changes for at least the other paths, includes and libraries, depending on the program being built.
Next issue was found on Core\Debug.cpp around line 270.
Slightly off topic, you do know about "Misc/Copy current position" ? 
Quote:
The 'qword esp = ep->ContextRecord->Rsp;' and 'dword esp = ep->ContextRecord->Esp;' do not exist here. I do not know how to really fix this, but as a quick and dirty workaround I decided to replace that code with just 'qword esp = 0;' and consequently the UWord compiled, linked and runs OK!
That whole thing can go away I guess, it is fossil...
Quote:
So, I guess all this is doable, but requires some tuning in TheIDE so that everything runs natively out of the box. Can you take a more professional look at this based on this description?
I guess there 2 hard problems ahead:
- libraries that we ship with (esp OpenSSL). that is even more sad as updating libraries takes awful amount of time, now there would be another architecture...
- debugging. That might possibly work (test please), but at minimum the dissassembler only supports x86.
Mirek
|
|
|
|
|
|
| Re: Do we have support for Windows on ARM64? [message #61887 is a reply to message #61886] |
Fri, 05 December 2025 12:38   |
Tom1
Messages: 1309 Registered: March 2007
|
Ultimate Contributor |
|
|
Now tried to "Setup > Upgrade TheIDE" in order to get native TheIDE if that has any effect for debugging. However, I was unable to compile it:
Saving
----- ide/Common ( GUI CLANG BLITZ WIN32 ) (1 / 40)
BLITZ: ComDlg.cpp Module.cpp Util.cpp
----- ide/Core ( GUI CLANG BLITZ WIN32 ) (2 / 40)
BLITZ: Ide.cpp Cache.cpp Core.cpp Util.cpp Builder.cpp PPinfo.cpp Assembly.cpp Package.cpp Workspace.cpp usc.cpp BinObj.cpp Signature.cpp Host
.cpp Logger.cpp
----- ide/LayDes ( GUI CLANG BLITZ WIN32 ) (3 / 40)
BLITZ: sdiff.cpp laylib.cpp layusc.cpp property.cpp textprop.cpp fontprop.cpp propane.cpp item.cpp layout.cpp visgen.cpp laydes.cpp layfile.cp
p laywin.cpp
----- ide/Builders ( GUI CLANG WIN32 ) (4 / 40)
Precompiling header: Builders.h
ide/Common: 3 file(s) built in (0:01.51), 505 msecs / file
ide/Core: 14 file(s) built in (0:02.48), 177 msecs / file
ide/LayDes: 13 file(s) built in (0:03.67), 282 msecs / file
CppBuilder.cpp
MakeFile.cpp
CCJ.cpp
GccBuilder.cpp
MscBuilder.cpp
JavaBuilder.cpp
ScriptBuilder.cpp
Cocoa.cpp
AndroidProject.cpp
AndroidApplicationMakeFile.cpp
AndroidMakeFile.cpp
AndroidModuleMakeFile.cpp
AndroidBuilder.cpp
AndroidBuilderCommands.cpp
AndroidBuilderUtils.cpp
AndroidModuleMakeFileBuilder.cpp
Blitz.cpp
Build.cpp
Install.cpp
BuilderUtils.cpp
ide/Builders: 21 file(s) built in (0:07.57), 360 msecs / file
Creating library...
C:/upp/bin/clang/bin/llvm-ar.exe: warning: creating C:/upp/out/uppsrc/ide/Builders/CLANGARM64.Gui\Builders.a
C:/upp/out/uppsrc/ide/Builders/CLANGARM64.Gui\Builders.a (1124408 B) created in (0:00.07)
----- ide/Debuggers ( GUI CLANG BLITZ WIN32 ) (5 / 40)
BLITZ: Terminal.cpp Disas.cpp GdbCmd.cpp GdbData.cpp Gdb.cpp GdbMem.cpp GdbUtils.cpp Debug.cpp Mem.cpp Sym.cpp Exp.cpp PrettyUpp.cpp PrettyStd
.cpp Scripts.cpp Pretty.cpp Visualise.cpp Data.cpp Tree.cpp Stack.cpp Code.cpp
Cpu.cpp
Pdb.cpp
----- ide/Browser ( GUI CLANG BLITZ WIN32 ) (6 / 40)
BLITZ: Util.cpp TopicBase.cpp File.cpp Topic.cpp Template.cpp Link.cpp TopicWin.cpp Move.cpp CodeRef.cpp TopicI.cpp
----- CodeEditor ( GUI CLANG BLITZ WIN32 ) (7 / 40)
BLITZ: Register.cpp HighlightOut.cpp Syntax.cpp Style.cpp RegisterSyntax.cpp CSyntax.cpp CInit.cpp CHighlight.cpp CLogic.cpp DiffSyntax.cpp Ta
gSyntax.cpp PythonSyntax.cpp LogSyntax.cpp EditorBar.cpp FindReplace.cpp Lang.cpp CodeEditor.cpp
----- CtrlLib ( GUI CLANG BLITZ WIN32 ) (8 / 40)
BLITZ: CtrlLibInit.cpp SmartText.cpp LabelBase.cpp DisplayPopup.cpp Button.cpp Switch.cpp VirtualButtons.cpp EditField.cpp Text.cpp LineEdit.c
pp DocEdit.cpp ScrollBar.cpp HeaderCtrl.cpp ArrayCtrl.cpp MultiButton.cpp PopupTable.cpp PopUpList.cpp DropList.cpp DropChoice.cpp Static.
cpp Splitter.cpp FrameSplitter.cpp SliderCtrl.cpp ColumnList.cpp Progress.cpp AKeys.cpp RichTextView.cpp Prompt.cpp Help.cpp DateTimeCtrl.
cpp SuggestCtrl.cpp Bar.cpp ToolButton.cpp ToolBar.cpp ToolTip.cpp StatusBar.cpp TabCtrl.cpp TreeCtrl.cpp DropTree.cpp DlgColor.cpp ColorP
opup.cpp ColorPusher.cpp FileList.cpp FileSel.cpp FileSelUtil.cpp PrinterJob.cpp Windows.cpp Win32.cpp Gtk.cpp TrayIconWin32.cpp TrayIconX
11.cpp TrayIconGtk.cpp Update.cpp CtrlUtil.cpp BeginnerInfo.cpp LNGCtrl.cpp Ch.cpp ChGtk3.cpp ChCoco.cpp
MenuItem.cpp
MenuBar.cpp
ChWin32.cpp
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:1:26: error: no member named 'Rax' in '_CONTEXT'
1 | CPU_REG(CV_AMD64_AL , Rax, REG_L, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:2:26: error: no member named 'Rcx' in '_CONTEXT'
2 | CPU_REG(CV_AMD64_CL , Rcx, REG_L, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:3:26: error: no member named 'Rdx' in '_CONTEXT'
3 | CPU_REG(CV_AMD64_DL , Rdx, REG_L, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:4:26: error: no member named 'Rbx' in '_CONTEXT'
4 | CPU_REG(CV_AMD64_BL , Rbx, REG_L, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:5:26: error: no member named 'Rax' in '_CONTEXT'
5 | CPU_REG(CV_AMD64_AH , Rax, REG_H, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:6:26: error: no member named 'Rcx' in '_CONTEXT'
6 | CPU_REG(CV_AMD64_CH , Rcx, REG_H, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:7:26: error: no member named 'Rdx' in '_CONTEXT'
7 | CPU_REG(CV_AMD64_DH , Rdx, REG_H, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:8:26: error: no member named 'Rbx' in '_CONTEXT'
8 | CPU_REG(CV_AMD64_BH , Rbx, REG_H, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:9:26: error: no member named 'Rax' in '_CONTEXT'
9 | CPU_REG(CV_AMD64_AX , Rax, REG_X, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:10:26: error: no member named 'Rcx' in '_CONTEXT'
10 | CPU_REG(CV_AMD64_CX , Rcx, REG_X, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:11:26: error: no member named 'Rdx' in '_CONTEXT'
11 | CPU_REG(CV_AMD64_DX , Rdx, REG_X, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:12:26: error: no member named 'Rbx' in '_CONTEXT'
12 | CPU_REG(CV_AMD64_BX , Rbx, REG_X, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:14:26: error: no member named 'Rsp' in '_CONTEXT'
14 | CPU_REG(CV_AMD64_SP , Rsp, REG_X, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:15:26: error: no member named 'Rbp' in '_CONTEXT'
15 | CPU_REG(CV_AMD64_BP , Rbp, REG_X, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:16:26: error: no member named 'Rsi' in '_CONTEXT'
16 | CPU_REG(CV_AMD64_SI , Rsi, REG_X, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:17:26: error: no member named 'Rdi' in '_CONTEXT'
17 | CPU_REG(CV_AMD64_DI , Rdi, REG_X, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:18:26: error: no member named 'Rax' in '_CONTEXT'
18 | CPU_REG(CV_AMD64_EAX , Rax, REG_E, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:19:26: error: no member named 'Rcx' in '_CONTEXT'
19 | CPU_REG(CV_AMD64_ECX , Rcx, REG_E, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
In file included from C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:20:
C:\upp\upp.src\uppsrc\ide\Debuggers/amd64.cpu:20:26: error: no member named 'Rdx' in '_CONTEXT'
20 | CPU_REG(CV_AMD64_EDX , Rdx, REG_E, NULL, 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
C:\upp\upp.src\uppsrc\ide\Debuggers\Cpu.cpp:19:85: note: expanded from macro 'CPU_REG'
19 | #define CPU_REG(sym, context_var, kind, name, flags) case sym: return ctx.context64.context_var;
| ~~~~~~~~~~~~~ ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
In file included from C:/upp/out/uppsrc/ide/Debuggers/CLANGARM64.Blitz.Gui\ide/Debuggers$blitz.cpp:46:
C:\upp\upp.src\uppsrc\ide\Debuggers\Debug.cpp:255:29: error: no member named 'Rsp' in '_CONTEXT'
255 | f.sp = win64 ? c.context64.Rsp : c.context32.Esp;
| ~~~~~~~~~~~ ^
C:\upp\upp.src\uppsrc\ide\Debuggers\Debug.cpp:420:46: error: no member named 'Rip' in '_CONTEXT'
420 | && bp_set.Find((win64 ? t.context64.Rip : t.context32.Eip) - 1) >= 0
| ~~~~~~~~~~~ ^
C:\upp\upp.src\uppsrc\ide\Debuggers\Debug.cpp:427:21: error: no member named 'Rip' in '_CONTEXT'
427 | t.context64.Rip--;
| ~~~~~~~~~~~ ^
C:\upp\upp.src\uppsrc\ide\Debuggers\Debug.cpp:528:21: error: no member named 'EFlags' in '_CONTEXT'
528 | context.context64.EFlags |= 0x100;
| ~~~~~~~~~~~~~~~~~ ^
C:\upp\upp.src\uppsrc\ide\Debuggers\Debug.cpp:539:21: error: no member named 'EFlags' in '_CONTEXT'
539 | context.context64.EFlags &= ~0x100;
| ~~~~~~~~~~~~~~~~~ ^
In file included from C:/upp/out/uppsrc/ide/Debuggers/CLANGARM64.Blitz.Gui\ide/Debuggers$blitz.cpp:162:
C:\upp\upp.src\uppsrc\ide\Debuggers\Stack.cpp:28:44: error: no member named 'Rip' in '_CONTEXT'
28 | stackFrame.AddrPC.Offset = ctx.context64.Rip;
| ~~~~~~~~~~~~~ ^
C:\upp\upp.src\uppsrc\ide\Debuggers\Stack.cpp:29:47: error: no member named 'Rbp' in '_CONTEXT'
29 | stackFrame.AddrFrame.Offset = ctx.context64.Rbp;
| ~~~~~~~~~~~~~ ^
C:\upp\upp.src\uppsrc\ide\Debuggers\Stack.cpp:30:47: error: no member named 'Rsp' in '_CONTEXT'
30 | stackFrame.AddrStack.Offset = ctx.context64.Rsp;
| ~~~~~~~~~~~~~ ^
In file included from C:/upp/out/uppsrc/ide/Debuggers/CLANGARM64.Blitz.Gui\ide/Debuggers$blitz.cpp:169:
C:\upp\upp.src\uppsrc\ide\Debuggers\Code.cpp:52:28: error: no member named 'Rip' in '_CONTEXT'
52 | return context.context64.Rip;
| ~~~~~~~~~~~~~~~~~ ^
C:\upp\upp.src\uppsrc\ide\Debuggers\Code.cpp:259:21: error: no member named 'Rip' in '_CONTEXT'
259 | context.context64.Rip = a;
| ~~~~~~~~~~~~~~~~~ ^
10 errors generated.
ide/Debuggers: 22 file(s) built in (0:01.75), 79 msecs / file
ide/Browser: 10 file(s) built in (0:02.84), 284 msecs / file
CodeEditor: 17 file(s) built in (0:03.07), 181 msecs / file
CtrlLib: 62 file(s) built in (0:09.70), 156 msecs / file
There were errors. (0:17.51) (completed at 13:33)
Best regards,
Tom
|
|
|
|
|
|
Goto Forum:
Current Time: Sat Dec 06 12:39:43 CET 2025
Total time taken to generate the page: 0.03962 seconds
|