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 <bitcoindev+bncBC3PT7FYWAMRBSUW764QMGQE4DLAKAA@googlegroups.com>)
	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 <bitcoindev@gnusha.org>; 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 <antoine.riard@gmail.com>
To: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Message-Id: <db8e3abd-7247-41be-ab97-71d20c2f775cn@googlegroups.com>
In-Reply-To: <e5b06aaa-1fe9-4c8f-a0ea-db10f8a7e48cn@googlegroups.com>
References: <e5b06aaa-1fe9-4c8f-a0ea-db10f8a7e48cn@googlegroups.com>
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: <bitcoindev.googlegroups.com>
X-Google-Group-Id: 786775582512
List-Post: <https://groups.google.com/group/bitcoindev/post>, <mailto:bitcoindev@googlegroups.com>
List-Help: <https://groups.google.com/support/>, <mailto:bitcoindev+help@googlegroups.com>
List-Archive: <https://groups.google.com/group/bitcoindev
List-Subscribe: <https://groups.google.com/group/bitcoindev/subscribe>, <mailto:bitcoindev+subscribe@googlegroups.com>
List-Unsubscribe: <mailto:googlegroups-manage+786775582512+unsubscribe@googlegroups.com>,
 <https://groups.google.com/group/bitcoindev/subscribe>
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,<br /><br />For the process of compiling Windows on the ARM instruct=
ion set architecture it's about<br />instructing your compiler (e.g gcc or =
clang) to build your kernel code for the correct<br />CPU / hardware platfo=
rm. There is no ARM toolchain per se, modern compilers can do well<br />cro=
ss-platform compilation (at least building on x86-64 and targeting ARM). Th=
en it's<br />a bit of linker magic.<br /><br />About the usage of x86-speci=
fic assembly functions in the bitcoin core codebase, I think<br />there are=
 some in the secp256k1 library about some scalar optimizations.<br /><br />=
That might interest you: https://groups.google.com/g/bitcoindev/c/fOIByS6CO=
Mk It's less<div>about compiling the whole machinery of bitcoin core itself=
 and more focus on the libbitcoinkernel</div><div>engine, though including =
RISC-V support for the consensus engine compilation would be a</div><div>si=
gnificant improvement, imho.<br /><br />Best,<br />Antoine<br />ots hash: d=
507461412e46e21156e9e2de5d65584c27d0cbca75d2e810f514fe8e077c9bd<br /></div>=
<div class=3D"gmail_quote"><div dir=3D"auto" class=3D"gmail_attr">Le jeudi =
21 novembre 2024 =C3=A0 09:04:26 UTC, Ali Sherief a =C3=A9crit=C2=A0:<br/><=
/div><blockquote class=3D"gmail_quote" style=3D"margin: 0 0 0 0.8ex; border=
-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Apparently, there =
are only ARM binaries for Linux but not for Windows.<div><br></div><div>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.</di=
v><div><br></div><div>What would the process of compiling Windows with the =
ARM toolchain look like? Do any of these methods have Arm64 support?</div><=
div><br></div><div>&gt; On Linux, using the Mingw-w64 cross compiler tool c=
hain.</div>&gt; On Windows, using Windows Subsystem for Linux (WSL) and Min=
gw-w64.<br>&gt; On Windows, using Microsoft Visual Studio. See build-window=
s-msvc.md.<div><br></div><div>These are from the Windows build guide by the=
 way.</div><div><br></div><div>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.</div><div><br></div><div>- =
Ali</div></blockquote></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;Bitcoin Development Mailing List&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:bitcoindev+unsubscribe@googlegroups.com">bitcoind=
ev+unsubscribe@googlegroups.com</a>.<br />
To view this discussion visit <a href=3D"https://groups.google.com/d/msgid/=
bitcoindev/db8e3abd-7247-41be-ab97-71d20c2f775cn%40googlegroups.com?utm_med=
ium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid/bitcoind=
ev/db8e3abd-7247-41be-ab97-71d20c2f775cn%40googlegroups.com</a>.<br />

------=_Part_75497_948288349.1732233455552--

------=_Part_75496_1298159466.1732233455552--