Skip to content
This repository was archived by the owner on Feb 8, 2024. It is now read-only.

Commit 7e34fc3

Browse files
committed
Add non-Intel systems to rt.backtrace.elf.
1 parent 5621c50 commit 7e34fc3

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

src/rt/backtrace/elf.d

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,48 @@ else version(X86_64)
219219
alias Elf_Shdr = Elf64_Shdr;
220220
enum ELFCLASS = ELFCLASS64;
221221
}
222+
else version(ARM)
223+
{
224+
alias Elf_Ehdr = Elf32_Ehdr;
225+
alias Elf_Shdr = Elf32_Shdr;
226+
enum ELFCLASS = ELFCLASS32;
227+
}
228+
else version(AArch64)
229+
{
230+
alias Elf_Ehdr = Elf64_Ehdr;
231+
alias Elf_Shdr = Elf64_Shdr;
232+
enum ELFCLASS = ELFCLASS64;
233+
}
234+
else version(PPC)
235+
{
236+
alias Elf_Ehdr = Elf32_Ehdr;
237+
alias Elf_Shdr = Elf32_Shdr;
238+
enum ELFCLASS = ELFCLASS32;
239+
}
240+
else version(PPC64)
241+
{
242+
alias Elf_Ehdr = Elf64_Ehdr;
243+
alias Elf_Shdr = Elf64_Shdr;
244+
enum ELFCLASS = ELFCLASS64;
245+
}
246+
else version(MIPS)
247+
{
248+
alias Elf_Ehdr = Elf32_Ehdr;
249+
alias Elf_Shdr = Elf32_Shdr;
250+
enum ELFCLASS = ELFCLASS32;
251+
}
252+
else version(MIPS64)
253+
{
254+
alias Elf_Ehdr = Elf64_Ehdr;
255+
alias Elf_Shdr = Elf64_Shdr;
256+
enum ELFCLASS = ELFCLASS64;
257+
}
258+
else version(SystemZ)
259+
{
260+
alias Elf_Ehdr = Elf64_Ehdr;
261+
alias Elf_Shdr = Elf64_Shdr;
262+
enum ELFCLASS = ELFCLASS64;
263+
}
222264
else
223265
{
224266
static assert(0, "unsupported architecture");

0 commit comments

Comments
 (0)