Signed-off-by: xermicus <cyrill@parity.io>
This commit is contained in:
xermicus
2024-04-10 10:05:48 +02:00
parent ec952fd2cb
commit 45a082d9a8
7 changed files with 141 additions and 127 deletions
Generated
+46 -39
View File
@@ -68,7 +68,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn 2.0.55",
"syn 2.0.58",
"syn-solidity",
"tiny-keccak",
]
@@ -229,14 +229,14 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.55",
"syn 2.0.58",
]
[[package]]
name = "autocfg"
version = "1.1.0"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
[[package]]
name = "base16ct"
@@ -327,9 +327,9 @@ checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
[[package]]
name = "cc"
version = "1.0.90"
version = "1.0.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
checksum = "2678b2e3449475e95b0aa6f9b506a28e61b3dc8996592b983695e8ebb58a8b41"
[[package]]
name = "cfg-if"
@@ -447,9 +447,9 @@ dependencies = [
[[package]]
name = "der"
version = "0.7.8"
version = "0.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0"
dependencies = [
"const-oid",
"zeroize",
@@ -691,9 +691,9 @@ dependencies = [
[[package]]
name = "getrandom"
version = "0.2.12"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
dependencies = [
"cfg-if",
"libc",
@@ -832,7 +832,7 @@ dependencies = [
[[package]]
name = "inkwell"
version = "0.4.0"
source = "git+https://github.com/TheDan64/inkwell.git#69c5a3fcc3e8b997c36e20021c52adcff664d746"
source = "git+https://github.com/TheDan64/inkwell.git#d916c66d2cedb8bc58c187df8403d9fc71eb0ad4"
dependencies = [
"either",
"inkwell_internals",
@@ -846,11 +846,11 @@ dependencies = [
[[package]]
name = "inkwell_internals"
version = "0.9.0"
source = "git+https://github.com/TheDan64/inkwell.git#69c5a3fcc3e8b997c36e20021c52adcff664d746"
source = "git+https://github.com/TheDan64/inkwell.git#d916c66d2cedb8bc58c187df8403d9fc71eb0ad4"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.55",
"syn 2.0.58",
]
[[package]]
@@ -873,9 +873,9 @@ dependencies = [
[[package]]
name = "itoa"
version = "1.0.10"
version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
[[package]]
name = "k256"
@@ -954,14 +954,15 @@ dependencies = [
[[package]]
name = "llvm-sys"
version = "160.1.4"
version = "180.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49f9888529887dfda6c59e20f0e0727b17e826cd54ae1ddf0d4c83850fa23b69"
checksum = "778fa5fa02e32728e718f11eec147e6f134137399ab02fd2c13d32476337affa"
dependencies = [
"anyhow",
"cc",
"lazy_static",
"libc",
"regex",
"regex-lite",
"semver 1.0.22",
]
@@ -979,9 +980,9 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
[[package]]
name = "memchr"
version = "2.7.1"
version = "2.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
[[package]]
name = "mimalloc"
@@ -1130,9 +1131,9 @@ checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42"
[[package]]
name = "pest"
version = "2.7.8"
version = "2.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56f8023d0fb78c8e03784ea1c7f3fa36e68a723138990b8d5a47d916b651e7a8"
checksum = "311fb059dee1a7b802f036316d790138c613a4e8b180c822e3925a662e9f0c95"
dependencies = [
"memchr",
"thiserror",
@@ -1152,7 +1153,7 @@ dependencies = [
[[package]]
name = "polkavm"
version = "0.9.3"
source = "git+https://github.com/koute/polkavm.git#1f74006e596bcdcc92856a14a115e285dfc3368e"
source = "git+https://github.com/koute/polkavm.git#852dd110b8e71f91c2e524207eb5003669437b67"
dependencies = [
"libc",
"log",
@@ -1164,7 +1165,7 @@ dependencies = [
[[package]]
name = "polkavm-assembler"
version = "0.9.0"
source = "git+https://github.com/koute/polkavm.git#1f74006e596bcdcc92856a14a115e285dfc3368e"
source = "git+https://github.com/koute/polkavm.git#852dd110b8e71f91c2e524207eb5003669437b67"
dependencies = [
"log",
]
@@ -1172,7 +1173,7 @@ dependencies = [
[[package]]
name = "polkavm-common"
version = "0.9.0"
source = "git+https://github.com/koute/polkavm.git#1f74006e596bcdcc92856a14a115e285dfc3368e"
source = "git+https://github.com/koute/polkavm.git#852dd110b8e71f91c2e524207eb5003669437b67"
dependencies = [
"log",
]
@@ -1180,7 +1181,7 @@ dependencies = [
[[package]]
name = "polkavm-linker"
version = "0.9.2"
source = "git+https://github.com/koute/polkavm.git#1f74006e596bcdcc92856a14a115e285dfc3368e"
source = "git+https://github.com/koute/polkavm.git#852dd110b8e71f91c2e524207eb5003669437b67"
dependencies = [
"gimli",
"hashbrown 0.14.3",
@@ -1194,7 +1195,7 @@ dependencies = [
[[package]]
name = "polkavm-linux-raw"
version = "0.9.0"
source = "git+https://github.com/koute/polkavm.git#1f74006e596bcdcc92856a14a115e285dfc3368e"
source = "git+https://github.com/koute/polkavm.git#852dd110b8e71f91c2e524207eb5003669437b67"
[[package]]
name = "ppv-lite86"
@@ -1404,10 +1405,16 @@ dependencies = [
]
[[package]]
name = "regex-syntax"
version = "0.8.2"
name = "regex-lite"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
checksum = "30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e"
[[package]]
name = "regex-syntax"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
[[package]]
name = "revive-builtins"
@@ -1667,14 +1674,14 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.55",
"syn 2.0.58",
]
[[package]]
name = "serde_json"
version = "1.0.114"
version = "1.0.115"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
dependencies = [
"itoa",
"ryu",
@@ -1822,9 +1829,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.55"
version = "2.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0"
checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
dependencies = [
"proc-macro2",
"quote",
@@ -1840,7 +1847,7 @@ dependencies = [
"paste",
"proc-macro2",
"quote",
"syn 2.0.55",
"syn 2.0.58",
]
[[package]]
@@ -1887,7 +1894,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.55",
"syn 2.0.58",
]
[[package]]
@@ -2193,7 +2200,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.55",
"syn 2.0.58",
]
[[package]]
@@ -2213,7 +2220,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.55",
"syn 2.0.58",
]
[[package]]
+2 -2
View File
@@ -37,6 +37,6 @@ serde_stacker = "0.1"
[workspace.dependencies.inkwell]
git = "https://github.com/TheDan64/inkwell.git"
commit = "69c5a3f"
commit = "d916c66"
default-features = false
features = ["serde", "llvm16-0", "no-libffi-linking", "target-riscv"]
features = ["serde", "llvm18-0", "no-libffi-linking", "target-riscv"]
+1 -1
View File
@@ -6,4 +6,4 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
inkwell = { workspace = true, features = ["target-riscv", "no-libffi-linking", "llvm16-0"] }
inkwell = { workspace = true, features = ["target-riscv", "no-libffi-linking", "llvm18-0"] }
+2
View File
@@ -2,6 +2,8 @@
#include "lld/Common/CommonLinkerContext.h"
#include "llvm/Support/CrashRecoveryContext.h"
LLD_HAS_DRIVER(elf);
extern "C" bool LLDELFLink(const char *argv[], size_t length)
{
bool canRunAgain;
@@ -5,13 +5,12 @@ use serde::Serialize;
/// The LLVM attribute.
///
/// In order to check the real order in a new major version of LLVM, find the `Attribute.inc` file
/// In order to check the real order in a new major version of LLVM, find the `Attributes.inc` file
/// inside of the LLVM build directory. This order is actually generated during the building.
///
/// FIXME: Generate this in build.rs?
#[derive(Debug, Serialize, Deserialize, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum Attribute {
/// Unused (attributes start at 1).
Unused = 0,
AllocAlign = 1,
AllocatedPointer = 2,
@@ -19,87 +18,93 @@ pub enum Attribute {
Builtin = 4,
Cold = 5,
Convergent = 6,
DisableSanitizerInstrumentation = 7,
FnRetThunkExtern = 8,
Hot = 9,
ImmArg = 10,
InReg = 11,
InlineHint = 12,
JumpTable = 13,
MinSize = 14,
MustProgress = 15,
Naked = 16,
Nest = 17,
NoAlias = 18,
NoBuiltin = 19,
NoCallback = 20,
NoCapture = 21,
NoCfCheck = 22,
NoDuplicate = 23,
NoFree = 24,
NoImplicitFloat = 25,
NoInline = 26,
NoMerge = 27,
NoProfile = 28,
NoRecurse = 29,
NoRedZone = 30,
NoReturn = 31,
NoSanitizeBounds = 32,
NoSanitizeCoverage = 33,
NoSync = 34,
NoUndef = 35,
NoUnwind = 36,
NonLazyBind = 37,
NonNull = 38,
NullPointerIsValid = 39,
OptForFuzzing = 40,
OptimizeForSize = 41,
OptimizeNone = 42,
PresplitCoroutine = 43,
ReadNone = 44,
ReadOnly = 45,
Returned = 46,
ReturnsTwice = 47,
SExt = 48,
SafeStack = 49,
SanitizeAddress = 50,
SanitizeHWAddress = 51,
SanitizeMemTag = 52,
SanitizeMemory = 53,
SanitizeThread = 54,
ShadowCallStack = 55,
SkipProfile = 56,
Speculatable = 57,
SpeculativeLoadHardening = 58,
StackProtect = 59,
StackProtectReq = 60,
StackProtectStrong = 61,
StrictFP = 62,
SwiftAsync = 63,
SwiftError = 64,
SwiftSelf = 65,
WillReturn = 66,
WriteOnly = 67,
ZExt = 68,
// FirstTypeAttr = 69,
ByRef = 69,
ByVal = 70,
ElementType = 71,
InAlloca = 72,
Preallocated = 73,
StructRet = 74,
// LastTypeAttr = 74,
// FirstIntAttr = 75,
Alignment = 75,
AllocKind = 76,
AllocSize = 77,
Dereferenceable = 78,
DereferenceableOrNull = 79,
Memory = 80,
StackAlignment = 81,
UWTable = 82,
VScaleRange = 83,
// LastIntAttr = 83,
CoroDestroyOnlyWhenComplete = 7,
DeadOnUnwind = 8,
DisableSanitizerInstrumentation = 9,
FnRetThunkExtern = 10,
Hot = 11,
ImmArg = 12,
InReg = 13,
InlineHint = 14,
JumpTable = 15,
MinSize = 16,
MustProgress = 17,
Naked = 18,
Nest = 19,
NoAlias = 20,
NoBuiltin = 21,
NoCallback = 22,
NoCapture = 23,
NoCfCheck = 24,
NoDuplicate = 25,
NoFree = 26,
NoImplicitFloat = 27,
NoInline = 28,
NoMerge = 29,
NoProfile = 30,
NoRecurse = 31,
NoRedZone = 32,
NoReturn = 33,
NoSanitizeBounds = 34,
NoSanitizeCoverage = 35,
NoSync = 36,
NoUndef = 37,
NoUnwind = 38,
NonLazyBind = 39,
NonNull = 40,
NullPointerIsValid = 41,
OptForFuzzing = 42,
OptimizeForDebugging = 43,
OptimizeForSize = 44,
OptimizeNone = 45,
PresplitCoroutine = 46,
ReadNone = 47,
ReadOnly = 48,
Returned = 49,
ReturnsTwice = 50,
SExt = 51,
SafeStack = 52,
SanitizeAddress = 53,
SanitizeHWAddress = 54,
SanitizeMemTag = 55,
SanitizeMemory = 56,
SanitizeThread = 57,
ShadowCallStack = 58,
SkipProfile = 59,
Speculatable = 60,
SpeculativeLoadHardening = 61,
StackProtect = 62,
StackProtectReq = 63,
StackProtectStrong = 64,
StrictFP = 65,
SwiftAsync = 66,
SwiftError = 67,
SwiftSelf = 68,
WillReturn = 69,
Writable = 70,
WriteOnly = 71,
ZExt = 72,
//LastEnumAttr = 72,
// FirstTypeAttr = 73,
ByRef = 73,
ByVal = 74,
ElementType = 75,
InAlloca = 76,
Preallocated = 77,
StructRet = 78,
// LastTypeAttr = 78,
// FirstIntAttr = 79,
Alignment = 79,
AllocKind = 80,
AllocSize = 81,
Dereferenceable = 82,
DereferenceableOrNull = 83,
Memory = 84,
NoFPClass = 85,
StackAlignment = 86,
UWTable = 87,
VScaleRange = 88,
// LastIntAttr = 88,
}
impl TryFrom<&str> for Attribute {
+1 -1
View File
@@ -4,4 +4,4 @@ version = "0.1.0"
edition = "2021"
[dependencies]
inkwell = { workspace = true, features = ["target-riscv", "no-libffi-linking", "llvm16-0"] }
inkwell = { workspace = true, features = ["target-riscv", "no-libffi-linking", "llvm18-0"] }
+1 -1
View File
@@ -6,4 +6,4 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
inkwell = { workspace = true, features = ["target-riscv", "no-libffi-linking", "llvm16-0"] }
inkwell = { workspace = true, features = ["target-riscv", "no-libffi-linking", "llvm18-0"] }