Delivery-date: Thu, 21 Nov 2024 16:07:48 -0800 Received: from mail-yw1-f187.google.com ([209.85.128.187]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1tEHD9-0003PK-Uc for bitcoindev@gnusha.org; Thu, 21 Nov 2024 16:07:48 -0800 Received: by mail-yw1-f187.google.com with SMTP id 00721157ae682-6eecc0fe396sf17044807b3.3 for ; Thu, 21 Nov 2024 16:07:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1732234062; x=1732838862; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:sender:from :to:cc:subject:date:message-id:reply-to; bh=NQuS0++xQjzrwOk835B0akU/32J1xxklmLu3gjCeS5E=; b=bJmxJR0XoMWvAWm7X4xiiieaVyhie9FQHVbPYt+LtH14zL053P8IUtQ3rmWc9COzDZ 8toCrbQeemgzR+M8Fnynr1oktOHoDOGdDgTbbHdvspwvvQWEVojamoN0G/cRkFf3/IJF 8GTLyzhYRxGVMLd1HvPWa/O/DR5al6nWFRCM+w8nfxtlixYkUyfMroC4oUMaQB1jLXeC nV+7tha6mTemBHjcXEHofhWKuJDk53fp9LP3m2wSASTq/uIzr4c40pYqpbB+gDhRMXl3 +ujjdwkzAWXTLXQBgCZjEKsUmy4vtYa9CkTcg05qdM5J63Fca04h/sILW9HuKJMoLnyr qtsg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732234062; x=1732838862; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:from:to:cc :subject:date:message-id:reply-to; bh=NQuS0++xQjzrwOk835B0akU/32J1xxklmLu3gjCeS5E=; b=e7dT5acLUz8c6De5idG06IJm+cqqETVpCn7i58W1ByLls1csCrKNAJKn4rqHRLgSUF stDFc/TcjRdFL99Ss4gxgFMGdny4KlCtBnw7pD04oRuh+xCodxsHY4iQD7bxC/Q7HnNE dhPeXsz95wrsgm08nrZvw4+pxDbLacYDP70IFRw5CNiEtx1LjUmdHdUFgBkFSaCSp0Qe QZke+uKWxPcmfJj2McwIsphwIz6brLyjxuN6J1V7m+1pQSuAriDQAtXbHyecivgzYGZ0 yEELFdrMMPR57GwSrouyAehXXI1MOGpThbBOn6POsm+hwQzEXOIZTQCTItSr3RqC/28a RPWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732234062; x=1732838862; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-sender:mime-version :subject:references:in-reply-to:message-id:to:from:date:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=NQuS0++xQjzrwOk835B0akU/32J1xxklmLu3gjCeS5E=; b=govd1TUvUoKO9v2zh5WonPnrX0puzhVe/qpR1ANvB+XgoWy/7V6EofR74EIay820dE 3gk6tmG5r5n1OGIHjtZEhkH8fWyE83U3pDMfvGwbR6RjMyOxVv+9U57ghjgYJJux9Um6 gEDS/qAXjRPHNgTl5qDcqcsfebGb84JoberUxxvatmRmosF1gJzOP9IK2hG/U7EMrWWW sfO8WyDBSxUje7vKMOusxx/wZq/AU43tWg4AgqvZOHwZtDll86psfVZWQx5NvccY+LiZ GZaj0cTZu8DXRm1SOPgRQ05/rvGVsZUEICmLWYIixT/JJNqIF21Bx+yZ7WPcQKG0tezq PUSA== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=1; AJvYcCWHvZdncEK5hXnGbdAcvQwb5jFfbJbiKaIaw0OpKlOCAhDbqx8Bn2Tr5YEBvc0N8ugcgcFrlh2XF4L2@gnusha.org X-Gm-Message-State: AOJu0YyCe2Ms4/jGszH6PubshR0ZWiUbNEd0FeEjg8sJ8IdH/8cjmZRM HbYG3vKaUOS3i1fJ5yUWWZeS1U/t879FoUILQ9hP8w8NJRCtujiX X-Google-Smtp-Source: AGHT+IGzNlI2lXfCs2lL8TjeJLu2ARXYCzxGc58OmWkrDbg8Nuh4D/Uo5M7y4GI1HV5OgKMj73EbmA== X-Received: by 2002:a05:6902:2301:b0:e38:91f2:ee8b with SMTP id 3f1490d57ef6-e38f8c21eb0mr995557276.44.1732234061583; Thu, 21 Nov 2024 16:07:41 -0800 (PST) X-BeenThere: bitcoindev@googlegroups.com Received: by 2002:a25:8509:0:b0:e35:df28:2ec9 with SMTP id 3f1490d57ef6-e38e19948a5ls2030470276.2.-pod-prod-06-us; Thu, 21 Nov 2024 16:07:38 -0800 (PST) X-Received: by 2002:a05:690c:3704:b0:6ee:a70c:873f with SMTP id 00721157ae682-6eee0a67d5amr14600067b3.40.1732234058415; Thu, 21 Nov 2024 16:07:38 -0800 (PST) Received: by 2002:a05:690c:6182:b0:6ea:3075:201e with SMTP id 00721157ae682-6eee0446e13ms7b3; Thu, 21 Nov 2024 15:57:36 -0800 (PST) X-Received: by 2002:a05:690c:9987:b0:6e3:ef6:a40c with SMTP id 00721157ae682-6eee0a67d4fmr13752657b3.42.1732233455805; Thu, 21 Nov 2024 15:57:35 -0800 (PST) Date: Thu, 21 Nov 2024 15:57:35 -0800 (PST) From: Antoine Riard To: Bitcoin Development Mailing List Message-Id: In-Reply-To: References: Subject: [bitcoindev] Re: Bitcoin Core on ARM (Windows) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_75496_1298159466.1732233455552" X-Original-Sender: antoine.riard@gmail.com Precedence: list Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com List-ID: X-Google-Group-Id: 786775582512 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Score: -0.5 (/) ------=_Part_75496_1298159466.1732233455552 Content-Type: multipart/alternative; boundary="----=_Part_75497_948288349.1732233455552" ------=_Part_75497_948288349.1732233455552 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Ali, For the process of compiling Windows on the ARM instruction set=20 architecture it's about instructing your compiler (e.g gcc or clang) to build your kernel code for= =20 the correct CPU / hardware platform. There is no ARM toolchain per se, modern compilers= =20 can do well cross-platform compilation (at least building on x86-64 and targeting ARM).= =20 Then it's a bit of linker magic. About the usage of x86-specific assembly functions in the bitcoin core=20 codebase, I think there are some in the secp256k1 library about some scalar optimizations. That might interest you:=20 https://groups.google.com/g/bitcoindev/c/fOIByS6COMk It's less about compiling the whole machinery of bitcoin core itself and more focus= =20 on the libbitcoinkernel engine, though including RISC-V support for the consensus engine=20 compilation would be a significant improvement, imho. Best, Antoine ots hash: d507461412e46e21156e9e2de5d65584c27d0cbca75d2e810f514fe8e077c9bd Le jeudi 21 novembre 2024 =C3=A0 09:04:26 UTC, Ali Sherief a =C3=A9crit : > Apparently, there are only ARM binaries for Linux but not for Windows. > > Considering that Apple Silicon is basically ARM as well, that means ARM= =20 > binaries are produced for all the major operating systems except for=20 > Windows. > > What would the process of compiling Windows with the ARM toolchain look= =20 > 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=20 > x86-specific assembly functions used inside the codebase which might make= =20 > it difficult to build. > > - Ali > --=20 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 e= mail to bitcoindev+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/= db8e3abd-7247-41be-ab97-71d20c2f775cn%40googlegroups.com. ------=_Part_75497_948288349.1732233455552 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Ali,

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

About the usage of x86-speci= fic 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/fOIByS6CO= Mk 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
si= gnificant improvement, imho.

Best,
Antoine
ots hash: d= 507461412e46e21156e9e2de5d65584c27d0cbca75d2e810f514fe8e077c9bd
=
Le jeudi = 21 novembre 2024 =C3=A0 09:04:26 UTC, Ali Sherief a =C3=A9crit=C2=A0:
<= /div>
Apparently, there = are only ARM binaries for Linux but not for Windows.

Con= sidering that Apple Silicon is basically ARM as well, that means ARM binari= es 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?
<= div>
> On Linux, using the Mingw-w64 cross compiler tool c= hain.
> On Windows, using Windows Subsystem for Linux (WSL) and Min= gw-w64.
> On Windows, using Microsoft Visual Studio. See build-window= s-msvc.md.

These are from the Windows build guide by the= way.

I suppose Visual Studio might support ARM, b= ut perhaps there are some x86-specific assembly functions used inside the c= odebase which might make it difficult to build.

- = Ali

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoind= ev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoind= ev/db8e3abd-7247-41be-ab97-71d20c2f775cn%40googlegroups.com.
------=_Part_75497_948288349.1732233455552-- ------=_Part_75496_1298159466.1732233455552--