From ef8886570ea692133c6b49ecb2f1117c0a366ebd Mon Sep 17 00:00:00 2001
From: Cyrill Leutwiler <cyrill@parity.io>
Date: Wed, 18 Dec 2024 20:36:03 +0100
Subject: [PATCH] [pallet-revive] bump polkavm to 0.18 (#6937)

Update to the latest polkavm version, containing a linker fix I need for
revive.

---------

Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
Signed-off-by: xermicus <cyrill@parity.io>
Co-authored-by: command-bot <>
---
 Cargo.lock                                    |  91 +-----------------
 prdoc/pr_6937.prdoc                           |  12 +++
 substrate/frame/revive/Cargo.toml             |   2 +-
 substrate/frame/revive/fixtures/Cargo.toml    |   2 +-
 .../frame/revive/fixtures/build/_Cargo.toml   |   2 +-
 .../rpc/examples/js/pvm/ErrorTester.polkavm   | Bin 7251 -> 7274 bytes
 .../rpc/examples/js/pvm/EventExample.polkavm  | Bin 2604 -> 2615 bytes
 .../rpc/examples/js/pvm/Flipper.polkavm       | Bin 1727 -> 1738 bytes
 .../rpc/examples/js/pvm/FlipperCaller.polkavm | Bin 4394 -> 4532 bytes
 .../rpc/examples/js/pvm/PiggyBank.polkavm     | Bin 5012 -> 5062 bytes
 substrate/frame/revive/uapi/Cargo.toml        |   2 +-
 11 files changed, 19 insertions(+), 92 deletions(-)
 create mode 100644 prdoc/pr_6937.prdoc

diff --git a/Cargo.lock b/Cargo.lock
index 41c149c11d4..9ae66245253 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -14847,7 +14847,7 @@ dependencies = [
  "pallet-utility 28.0.0",
  "parity-scale-codec",
  "paste",
- "polkavm 0.17.0",
+ "polkavm 0.18.0",
  "pretty_assertions",
  "rlp 0.6.1",
  "scale-info",
@@ -14935,7 +14935,7 @@ name = "pallet-revive-fixtures"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "polkavm-linker 0.17.1",
+ "polkavm-linker 0.18.0",
  "sp-core 28.0.0",
  "sp-io 30.0.0",
  "toml 0.8.12",
@@ -15049,7 +15049,7 @@ dependencies = [
  "bitflags 1.3.2",
  "parity-scale-codec",
  "paste",
- "polkavm-derive 0.17.0",
+ "polkavm-derive 0.18.0",
  "scale-info",
 ]
 
@@ -19892,19 +19892,6 @@ dependencies = [
  "polkavm-linux-raw 0.10.0",
 ]
 
-[[package]]
-name = "polkavm"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84979be196ba2855f73616413e7b1d18258128aa396b3dc23f520a00a807720e"
-dependencies = [
- "libc",
- "log",
- "polkavm-assembler 0.17.0",
- "polkavm-common 0.17.0",
- "polkavm-linux-raw 0.17.0",
-]
-
 [[package]]
 name = "polkavm"
 version = "0.18.0"
@@ -19936,15 +19923,6 @@ dependencies = [
  "log",
 ]
 
-[[package]]
-name = "polkavm-assembler"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ba7b434ff630b0f73a1560e8baea807246ca22098abe49f97821e0e2d2accc4"
-dependencies = [
- "log",
-]
-
 [[package]]
 name = "polkavm-assembler"
 version = "0.18.0"
@@ -19979,16 +19957,6 @@ dependencies = [
  "polkavm-assembler 0.10.0",
 ]
 
-[[package]]
-name = "polkavm-common"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f0dbafef4ab6ceecb4982ac3b550df430ef4f9fdbf07c108b7d4f91a0682fce"
-dependencies = [
- "log",
- "polkavm-assembler 0.17.0",
-]
-
 [[package]]
 name = "polkavm-common"
 version = "0.18.0"
@@ -20026,15 +19994,6 @@ dependencies = [
  "polkavm-derive-impl-macro 0.10.0",
 ]
 
-[[package]]
-name = "polkavm-derive"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0c3dbb6c8c7bd3e5f5b05aa7fc9355acf14df7ce5d392911e77d01090a38d0d"
-dependencies = [
- "polkavm-derive-impl-macro 0.17.0",
-]
-
 [[package]]
 name = "polkavm-derive"
 version = "0.18.0"
@@ -20080,18 +20039,6 @@ dependencies = [
  "syn 2.0.87",
 ]
 
-[[package]]
-name = "polkavm-derive-impl"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42565aed4adbc4034612d0b17dea8db3681fb1bd1aed040d6edc5455a9f478a1"
-dependencies = [
- "polkavm-common 0.17.0",
- "proc-macro2 1.0.86",
- "quote 1.0.37",
- "syn 2.0.87",
-]
-
 [[package]]
 name = "polkavm-derive-impl"
 version = "0.18.0"
@@ -20134,16 +20081,6 @@ dependencies = [
  "syn 2.0.87",
 ]
 
-[[package]]
-name = "polkavm-derive-impl-macro"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86d9838e95241b0bce4fe269cdd4af96464160505840ed5a8ac8536119ba19e2"
-dependencies = [
- "polkavm-derive-impl 0.17.0",
- "syn 2.0.87",
-]
-
 [[package]]
 name = "polkavm-derive-impl-macro"
 version = "0.18.0"
@@ -20184,22 +20121,6 @@ dependencies = [
  "rustc-demangle",
 ]
 
-[[package]]
-name = "polkavm-linker"
-version = "0.17.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0422ead3030d5cde69e2206dbc7d65da872b121876507cd5363f6c6e6aa45157"
-dependencies = [
- "dirs",
- "gimli 0.31.1",
- "hashbrown 0.14.5",
- "log",
- "object 0.36.1",
- "polkavm-common 0.17.0",
- "regalloc2 0.9.3",
- "rustc-demangle",
-]
-
 [[package]]
 name = "polkavm-linker"
 version = "0.18.0"
@@ -20228,12 +20149,6 @@ version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "26e45fa59c7e1bb12ef5289080601e9ec9b31435f6e32800a5c90c132453d126"
 
-[[package]]
-name = "polkavm-linux-raw"
-version = "0.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e64c3d93a58ffbc3099d1227f0da9675a025a9ea6c917038f266920c1de1e568"
-
 [[package]]
 name = "polkavm-linux-raw"
 version = "0.18.0"
diff --git a/prdoc/pr_6937.prdoc b/prdoc/pr_6937.prdoc
new file mode 100644
index 00000000000..5c6806df0b5
--- /dev/null
+++ b/prdoc/pr_6937.prdoc
@@ -0,0 +1,12 @@
+title: '[pallet-revive] bump polkavm to 0.18'
+doc:
+- audience: Runtime Dev
+  description: Update to the latest polkavm version, containing a linker fix I need
+    for revive.
+crates:
+- name: pallet-revive
+  bump: patch
+- name: pallet-revive-fixtures
+  bump: patch
+- name: pallet-revive-uapi
+  bump: patch
diff --git a/substrate/frame/revive/Cargo.toml b/substrate/frame/revive/Cargo.toml
index 6e244ad4d65..5d2bfb4f795 100644
--- a/substrate/frame/revive/Cargo.toml
+++ b/substrate/frame/revive/Cargo.toml
@@ -19,7 +19,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 environmental = { workspace = true }
 paste = { workspace = true }
-polkavm = { version = "0.17.0", default-features = false }
+polkavm = { version = "0.18.0", default-features = false }
 codec = { features = ["derive", "max-encoded-len"], workspace = true }
 scale-info = { features = ["derive"], workspace = true }
 log = { workspace = true }
diff --git a/substrate/frame/revive/fixtures/Cargo.toml b/substrate/frame/revive/fixtures/Cargo.toml
index 459ec136943..1095f962ac1 100644
--- a/substrate/frame/revive/fixtures/Cargo.toml
+++ b/substrate/frame/revive/fixtures/Cargo.toml
@@ -21,7 +21,7 @@ anyhow = { workspace = true, default-features = true, optional = true }
 
 [build-dependencies]
 toml = { workspace = true }
-polkavm-linker = { version = "0.17.0" }
+polkavm-linker = { version = "0.18.0" }
 anyhow = { workspace = true, default-features = true }
 
 [features]
diff --git a/substrate/frame/revive/fixtures/build/_Cargo.toml b/substrate/frame/revive/fixtures/build/_Cargo.toml
index 8dc38e14c14..5d1c922f900 100644
--- a/substrate/frame/revive/fixtures/build/_Cargo.toml
+++ b/substrate/frame/revive/fixtures/build/_Cargo.toml
@@ -14,7 +14,7 @@ edition = "2021"
 [dependencies]
 uapi = { package = 'pallet-revive-uapi', path = "", features = ["unstable-api"], default-features = false }
 common = { package = 'pallet-revive-fixtures-common', path = "" }
-polkavm-derive = { version = "0.17.0" }
+polkavm-derive = { version = "0.18.0" }
 
 [profile.release]
 opt-level = 3
diff --git a/substrate/frame/revive/rpc/examples/js/pvm/ErrorTester.polkavm b/substrate/frame/revive/rpc/examples/js/pvm/ErrorTester.polkavm
index 5c3995bffe35c6595cf3758f7ac98f295c6e69a5..77de4ff3b1b3fe1f378ae31bbba24ddb38cc6300 100644
GIT binary patch
literal 7274
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
BH1Gfb

literal 7251
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

diff --git a/substrate/frame/revive/rpc/examples/js/pvm/EventExample.polkavm b/substrate/frame/revive/rpc/examples/js/pvm/EventExample.polkavm
index 7880647f379277d3bcb7f6aea40fc4ba52938b9c..6dbc5ca8b108c1ad04cc248b735b2d7d4f43f2a4 100644
GIT binary patch
literal 2615
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
F=-*Hb7FhrQ

literal 2604
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

diff --git a/substrate/frame/revive/rpc/examples/js/pvm/Flipper.polkavm b/substrate/frame/revive/rpc/examples/js/pvm/Flipper.polkavm
index 1f036fa37948fa66ab9928b41b8658718bfd513b..488ee684f0c4aee5d64f8b691d048ebefdd51044 100644
GIT binary patch
literal 1738
zcmbVMU2NM_6ux$x-WzutPDq@)|1|QdwtJ!V5G#W%pmNt+G$}D1DuSuamMm$>);UdQ
zJC#sCD=kEWENrOT)5KD>=@V#^x}TR!;sGHc!NVjT`+zEekU%_5E3BL()2fNRFe{(!
zdwlMf^L^*o(YKEv^nD9z90EpnBdCTVQsHw_k8A<#0CWLf1VjJ^;27XUJd+tt#B=fC
z6XR!`ja6nmp4eDTjOLT6WNvsOH=d2Bk`u{zW;mP7O=eF|Ky>ufsmWaYcqZ8(sz)B>
zosDNElf$`e{Pe`hWHy^jxV_@^Ua8JI-P4jtp2>_mEg!e~#OVXa&{;Hvt{_R+CkzPh
z2?Zf9&WncYf@`yMTxxaqxL<ZBoDcJgjt%)WT}DWl`?UAQ9C2oL=dG2&mmnbPxCixu
zWbumae-*<uVe2@A#2Yj4VB@X_6}^9&3NZuuNkPXti7Mj4K}?V+i^4&yAn|}Zgj_K<
zjw+HTs<f=ahMKADHv=!2YDX~;$$M84s*WQ%2}Kq1{(1~wM>+w5HrG)76s@27k?4ma
z8b`rQD+loi5{tnVDA!EUgvo=H2NfP996Oeb1$&Iz3yQr+?JBXCYICHvfNL|@z;Eif
z0Q6Bs7T}+_ol+dDfPh0Mx<?jzi64nEvKi_@E?{zlre^-8pB~2WRvp`E3W?Gqty}Iq
zG_ZuMG<YfK9vvz0sOSx?o666~4E%^p^*dAyte_`U`lf+vRn$G8QkTJ_4XM2ZmK#zV
zI?YkqaA1(S=0$T%aZ(|j$bw*{UWpy9{_)EXgJSIP8-G;}{fdmkM~yE-A3e5)Jk1*N
zbZh!WaKp0R3QC7Wt`2cE%GG|ZMw&K1L6pdwDWw>^5B5J1M}o8DOgZU@?pfEd>;gjD
zg4Cvo&|iP?pBVmK$flHY)_H3`n8`azh<D5apbax~Fj{rLAyplL)VqS6qK*wAPY4LX
z+ebbBKf=a=q$%vAz*U>8XSkZ?>c}$)8~Km0NTXPK{qGp|H^;8uUL3Nk5ql}xJ=Hx^
zTPC%tr~5L@;AgX;+AYud%OSWo$SQIy*lVU>7`NqM`#n^*#Q{(36uDuO)1T~SbQhyL
z8QsC?c1E``x|LDNXpm8r(Ey`<MxSTY$EcT4h0*62-NNW*MmI6q%Bak!hf%^PX0(M-
zH=`1xE=EO01v5<<X_UU>{#p#bW7Ws{*)87GaQJ9Y@-@E!yRNMnco`wyJ_mpfw?l{9
z3+NdvulK$=Ok;|@U@sE8s@O|3KediNxFh5(v|d}ry!|Hde+^g!Tt&t0EBQMsiEqr?
z)V!sbH;K9I+;-Ae8(gh*oh{8mLk}Lr@Vo1E`MB|3H}2q7mL&+Fa7TDehfh~{CtQT6
zq6OB_{5j3jrTLBiJ@esx=lc4~6|Il7Nu^RnyQg*XuS$Ktm7>>5#@>Xn&Fk&-cwZ-N
zg_2UfQYaL(J=J#3!_yicF!+G)(%^vBHxLeo+k91s94VLkWL~~lDPPpOsu#7sa;03>
wV!rSmUe+G}I@|aWqdW#Von7C~&Q`Qb6)kpQfQK*C7Xf~BcJPa?PEA7p0;=WV!2kdN

literal 1727
zcmbVMU1$_n6uxu!?%X?@H9Nb>&R(z9Ou}r8BB)@g#e!Q=+_5x-!M5oPL$aE2Ct)=)
zf14O6p(Neam)2EFY!Q6ekZhpP(uep%slN54Pzshlrci`Jp`}lSv~JIAv?0`&I?S25
z_sqH9J>PfEou0SfMCfZ7H7<#whdO$IGGz8c7I>P$c7p8%dl@VPW`Vh2XLE%@-#~6W
z*LQY!WO{Q}7|soB&c+5Wd3kTVZ)|*cG?(|ryj-Dg)El1|y)Xve!Sm-Q#&c&1UIQrb
zJdK;o6(+pC@zLCcv2)(&s5cOf<N0<H;Ldl+1Kvnscv}7dCGh+~7hOb?=mx5z{n82P
z9ce}y!Jp!6s1yp3ULu9N!Uw|Ebn_*Z&{*Vk5<y7Xf8|wgf#FhHqPTYC6>vldZ9x&B
zjQ32nY82kq6rno8UI{*Ij#`i(|J_!ZolHzfgc2sJc&VQ<gu8LPpQ;GcFqKuJ$g2Dp
zVjtM*VLN%i*1G&;CJ|q=G(t0k>9Wd3>Xd$o2!pj}LcPJGCwOELo`n4y*R1WU{j?up
zKeYy#+IenWbW_|-scwq76c@W`+!^A|lIkpTr^cL>=mLu_(P)Xr=o^I20=%q7WZ21c
z@+vOQBETSwDBbZ0YlURlwt!m*kizk2@zEciP`aH^$LA18z#pJAKX?+O1W7)~C=rDq
z6+ZcKy>6>NB0KpVvbArJpIk#*SSGFj)=!uyTUbUI2(`(wLD3%M4f02LXc5~(D$eVK
zbxUz6{~A46`|am%Ph)!W#2?k8zo6L3x2%u#_y1LeJx>+(d{weI5>#nliX6qR*6V6L
zu9kJR%!a~SfUHY)UiDLdg7RDZNWv?42KyPJ)CuhlfwE2!LO1k-(zf3Co6=vUro6hl
zI9NOkI=WpSA-Agx1{EkRKtlzkflzG-LLW*_p5rNSDLMdxtWV4Re~1lB&xoCqTy4tL
zMqJHzwf+|%*8d-3nMShwtG_61l^PwFb(VXbTE<!FxixdE6kTP}nsVzVwBJx!kKR=V
zZ|X3PvBwA(VXd8q4ifLd@<%9;Wg0Yb^30oJ>g6`UcM1NI;5!B1A-E8HyWm{#l;E1+
zNx@qMZxK8pcwBH*@R;Duf^QQ%DtMFN5y2I~nc!4#S@5vnMDUQ{Sa8YqxnPadcVgK4
zT`B137neBNQ20=aBsPx3uFuwEbQOMvoeN-4;ZCS<=PY^w$%EQ&G}DmkEIG@}sj1Ei
zPt4TOj{8!gi0aW*>UQ1%{LjIb!EPge$6Dh4n)QW!kK1=u`wp{L@jdL{ZeTS9Jmrl<
zb+S&WQxE9V#*uD};1qWgaG;LxzI6hBt&ZLBl4R9rTStp?hO*aawX*5Ojzh+=iji(V
z#@c7+jC8HjG!yfNRhkp?*X{Oe-<Qi-v#cItx-nPn)OFo7S4^wI+RaMkbft1UeIub<
ztw2!u_z-xmRgHK6S2NO=Pwh=BSB+ZLFt5*L&5E&kpUPU-u2(-X(q=hwu%ly-ncicb
Vu3D9>5ll{4$&N?WQxQc%{{STen3@0p

diff --git a/substrate/frame/revive/rpc/examples/js/pvm/FlipperCaller.polkavm b/substrate/frame/revive/rpc/examples/js/pvm/FlipperCaller.polkavm
index 92304419dda704a2d4de38445d3362d995ca6487..585fbb392a314c15a35e7e529106738bde3be02a 100644
GIT binary patch
literal 4532
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

literal 4394
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

diff --git a/substrate/frame/revive/rpc/examples/js/pvm/PiggyBank.polkavm b/substrate/frame/revive/rpc/examples/js/pvm/PiggyBank.polkavm
index b29c640a2fee562cca818f8289bcca2cbe285fa9..3f96fdfc21d8d8fc5bf68a34f0c9f7b055afa2a4 100644
GIT binary patch
literal 5062
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
NQaG=FzSPx4{V!`iF+czS

literal 5012
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

diff --git a/substrate/frame/revive/uapi/Cargo.toml b/substrate/frame/revive/uapi/Cargo.toml
index 1af5b327dfc..8274bf36204 100644
--- a/substrate/frame/revive/uapi/Cargo.toml
+++ b/substrate/frame/revive/uapi/Cargo.toml
@@ -21,7 +21,7 @@ codec = { features = [
 ], optional = true, workspace = true }
 
 [target.'cfg(target_arch = "riscv64")'.dependencies]
-polkavm-derive = { version = "0.17.0" }
+polkavm-derive = { version = "0.18.0" }
 
 [package.metadata.docs.rs]
 default-target = ["riscv64imac-unknown-none-elf"]
-- 
GitLab