Bitcoin Core on ARM (Windows)

Bitcoin Core on ARM (Windows)
2024-11-21 23:57 ` [bitcoindev] " Antoine Riard
  
From: Ali Sherief @ 2024-11-21  9:03 UTC ( / )
  To: Bitcoin Development Mailing List




Apparently, there are only ARM binaries for Linux but not for Windows.

Considering that Apple Silicon is basically ARM as well, that means ARM 
binaries are produced for all the major operating systems except for 
Windows.

What would the process of compiling Windows with the ARM toolchain look 
like? Do any of these methods have Arm64 support?

> On Linux, using the Mingw-w64 cross compiler tool chain.
> On Windows, using Windows Subsystem for Linux (WSL) and Mingw-w64.
> On Windows, using Microsoft Visual Studio. See build-windows-msvc.md.

These are from the Windows build guide by the way.

I suppose Visual Studio might support ARM, but perhaps there are some 
x86-specific assembly functions used inside the codebase which might make 
it difficult to build.

- Ali

-- 
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups•com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/e5b06aaa-1fe9-4c8f-a0ea-db10f8a7e48cn%40googlegroups.com.
2024-11-21  9:03 [bitcoindev] Bitcoin Core on ARM (Windows) Ali Sherief

  
From: Antoine Riard @ 2024-11-21 23:57 UTC (permalink / raw)
  To: Bitcoin Development Mailing List


[-- Attachment #1.1: Type: text/plain, Size: 2262 bytes --]

Hi Ali,

For the process of compiling Windows on the ARM instruction set 
architecture it's about
instructing your compiler (e.g gcc or clang) to build your kernel code for 
the correct
CPU / hardware platform. There is no ARM toolchain per se, modern compilers 
can do well
cross-platform compilation (at least building on x86-64 and targeting ARM). 
Then it's
a bit of linker magic.

About the usage of x86-specific assembly functions in the bitcoin core 
codebase, I think
there are some in the secp256k1 library about some scalar optimizations.

That might interest you: 
https://groups.google.com/g/bitcoindev/c/fOIByS6COMk It's less
about compiling the whole machinery of bitcoin core itself and more focus 
on the libbitcoinkernel
engine, though including RISC-V support for the consensus engine 
compilation would be a
significant improvement, imho.

Best,
Antoine
ots hash: d507461412e46e21156e9e2de5d65584c27d0cbca75d2e810f514fe8e077c9bd
Le jeudi 21 novembre 2024 à 09:04:26 UTC, Ali Sherief a écrit :

> Apparently, there are only ARM binaries for Linux but not for Windows.
>
> Considering that Apple Silicon is basically ARM as well, that means ARM 
> binaries are produced for all the major operating systems except for 
> Windows.
>
> What would the process of compiling Windows with the ARM toolchain look 
> like? Do any of these methods have Arm64 support?
>
> > On Linux, using the Mingw-w64 cross compiler tool chain.
> > On Windows, using Windows Subsystem for Linux (WSL) and Mingw-w64.
> > On Windows, using Microsoft Visual Studio. See build-windows-msvc.md.
>
> These are from the Windows build guide by the way.
>
> I suppose Visual Studio might support ARM, but perhaps there are some 
> x86-specific assembly functions used inside the codebase which might make 
> it difficult to build.
>
> - Ali
>

-- 
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups•com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/db8e3abd-7247-41be-ab97-71d20c2f775cn%40googlegroups.com.

[-- Attachment #1.2: Type: text/html, Size: 2898 bytes --]

 permalink raw reply	[|nested]