Skip to content

Commit 56a09ec

Browse files
add support for building aarch64 cross-compiling toolchain
1 parent e2fdeb0 commit 56a09ec

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

specs/embedded-runtimes.anod

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from e3.anod.spec import Anod
22
from e3.anod.loader import spec
3+
from e3.anod.error import AnodError
34

45
import os
56
import glob
@@ -98,6 +99,14 @@ class EmbeddedRuntimes(spec("common")):
9899
"rv32imafc",
99100
"rv32imafdc",
100101
]
102+
103+
elif self.env.target.platform == "aarch64-elf":
104+
board = [
105+
"rpi3",
106+
"rpi3mc",
107+
"zynqmp",
108+
]
109+
101110
else:
102111
raise AnodError("Unknown platform: %s" % self.env.target.platform)
103112

@@ -108,6 +117,8 @@ class EmbeddedRuntimes(spec("common")):
108117
return "arm-eabi"
109118
elif self.env.target.platform == "riscv64-elf":
110119
return "riscv64-elf"
120+
elif self.env.target.platform == "aarch64-elf":
121+
return "aarch64-elf"
111122
else:
112123
raise AnodError("Unknown platform: %s" % self.env.target.platform)
113124

@@ -139,4 +150,3 @@ class EmbeddedRuntimes(spec("common")):
139150
self.shell(*cmd)
140151

141152
self.clean()
142-

specs/release_package.anod

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,13 @@ class ReleasePackage(spec("common")):
126126
Anod.Dependency("embedded-runtimes", track=True),
127127
]
128128

129+
elif self.env.target.triplet == "aarch64-elf":
130+
return [
131+
Anod.Dependency("gcc", track=True),
132+
Anod.Dependency("gdb", track=True),
133+
Anod.Dependency("embedded-runtimes", track=True),
134+
]
135+
129136
elif self.env.target.triplet == "riscv64-elf":
130137
return [
131138
Anod.Dependency("gcc", track=True),

0 commit comments

Comments
 (0)