Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support riscv64 platform #375

Merged
merged 44 commits into from
Dec 23, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
923b802
Support riscv64 platform
eschnett Apr 9, 2024
378423f
Merge branch 'master' into eschnett/riscv64
eschnett May 26, 2024
d9c2aa3
Merge branch 'master' into eschnett/riscv64
eschnett Dec 21, 2024
9a12f5f
Pirate Base.BinaryPlatform functions to add riscv64 support
eschnett Dec 21, 2024
edd904f
Add riscv64 artifacts
eschnett Dec 21, 2024
0d20e28
Add riscv64 artifacts
eschnett Dec 21, 2024
58cbd25
Bump version
eschnett Dec 21, 2024
8ee15f6
Overwrite more BinaryPlatform functions
eschnett Dec 21, 2024
5ee88e7
Overwrite more BinaryPlatform functions
eschnett Dec 21, 2024
b818c10
Overwrite more BinaryPlatform functions
eschnett Dec 21, 2024
87150ce
Overwrite more BinaryPlatform functions
eschnett Dec 21, 2024
23b2d8f
More riscv64 support
eschnett Dec 21, 2024
f08131b
More riscv64 support
eschnett Dec 21, 2024
a21f391
More riscv64 support
eschnett Dec 21, 2024
159eb63
More riscv64 support
eschnett Dec 21, 2024
beb0845
More riscv64 support
eschnett Dec 21, 2024
06cbd65
More riscv64 support
eschnett Dec 22, 2024
eb35103
More riscv64 support
eschnett Dec 22, 2024
b4884fb
More riscv64 support
eschnett Dec 22, 2024
83dc17d
More riscv64 support
eschnett Dec 22, 2024
4082a50
More riscv64 support
eschnett Dec 22, 2024
50133af
More riscv64 support
eschnett Dec 22, 2024
1dcf9d5
More riscv64 support
eschnett Dec 22, 2024
2bcd78b
More riscv64 support
eschnett Dec 22, 2024
77e8c6f
More riscv64 support
eschnett Dec 22, 2024
9973159
More riscv64 support
eschnett Dec 22, 2024
bba0066
More riscv64 support
eschnett Dec 22, 2024
486c2ea
More riscv64 support
eschnett Dec 22, 2024
d5a16e3
More riscv64 support
eschnett Dec 22, 2024
a08a941
More riscv64 support
eschnett Dec 22, 2024
c24a05a
More riscv64 support
eschnett Dec 22, 2024
fdff0c5
More riscv64 support
eschnett Dec 22, 2024
7564170
Update tests for riscv64
eschnett Dec 22, 2024
76c9967
Update tests for riscv64
eschnett Dec 22, 2024
6f037ad
Make changes requested in code review
eschnett Dec 22, 2024
b409474
Make changes requested in code review
eschnett Dec 22, 2024
52e5caa
Support riscv64 for Go
eschnett Dec 22, 2024
edd7907
Specify riscv64 ABI
eschnett Dec 22, 2024
aa9cd98
Don't use experimental platforms
eschnett Dec 22, 2024
83445ab
Correct doctests
eschnett Dec 22, 2024
3d13f99
Correct doctests
eschnett Dec 22, 2024
28c7be3
Update default riscv64 ABI
eschnett Dec 22, 2024
dafa993
Remove outdated and unnecessary artifacts
eschnett Dec 22, 2024
fc2baa2
Correct typo in comment
eschnett Dec 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/Rootfs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -735,6 +735,7 @@ function supported_platforms(;exclude::Union{Vector{<:Platform},Function}=Return
# We have experimental support for some platforms, allow easily including them
if experimental
append!(standard_platforms, [
Platform("riscv64", "linux"),
])
end
return exclude_platforms!(standard_platforms,exclude)
Expand Down
6 changes: 4 additions & 2 deletions src/Runner.jl
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const default_host_platform = Platform("x86_64", "linux"; libc="musl", cxxstring
function nbits(p::AbstractPlatform)
if arch(p) in ("i686", "armv6l", "armv7l")
return 32
elseif arch(p) in ("x86_64", "aarch64", "powerpc64le")
elseif arch(p) in ("x86_64", "aarch64", "powerpc64le", "riscv64")
return 64
else
error("Unknown bitwidth for architecture $(arch(p))")
Expand All @@ -32,6 +32,8 @@ function proc_family(p::AbstractPlatform)
return "arm"
elseif arch(p) == "powerpc64le"
return "power"
elseif arch(p) == "riscv64"
return "riscv"
else
error("Unknown processor family for architecture $(arch(p))")
end
Expand Down Expand Up @@ -1288,7 +1290,7 @@ function platform_envs(platform::AbstractPlatform, src_name::AbstractString;
mapping["GNU_LIBC_VERSION"] = "glibc 2.12.2"
elseif arch(platform) in ("armv7l", "aarch64")
mapping["GNU_LIBC_VERSION"] = "glibc 2.19"
elseif arch(platform) === "powerpc64le"
elseif arch(platform) in ("powerpc64le", "riscv64")
eschnett marked this conversation as resolved.
Show resolved Hide resolved
mapping["GNU_LIBC_VERSION"] = "glibc 2.17"
end
end
Expand Down
Loading