From 52c3f80176d9d837b572f900846c7182f0b39f9f Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Thu, 2 Nov 2023 14:07:20 -0500 Subject: [PATCH] Move lib.c elf functions into elf.c. --- lib/elf.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ lib/lib.c | 40 ---------------------------------------- lib/lib.h | 8 ++++++-- 3 files changed, 52 insertions(+), 42 deletions(-) create mode 100644 lib/elf.c diff --git a/lib/elf.c b/lib/elf.c new file mode 100644 index 00000000..93d5e86c --- /dev/null +++ b/lib/elf.c @@ -0,0 +1,46 @@ +/* elf.c - Executable Linking Format manipulation functions. + * + * Copyright 2023 Rob Landley + */ + +#include "toys.h" + +char *elf_arch_name(int type) +{ + int i; + + // Values from include/linux/elf-em.h (plus arch/*/include/asm/elf.h) + // Names are linux/arch/ directory (sometimes before 32/64 bit merges) + struct {int val; char *name;} types[] = {{0x9026, "alpha"}, {93, "arc"}, + {195, "arcv2"}, {40, "arm"}, {183, "arm64"}, {0x18ad, "avr32"}, + {247, "bpf"}, {106, "blackfin"}, {140, "c6x"}, {23, "cell"}, {76, "cris"}, + {252, "csky"}, {0x5441, "frv"}, {46, "h8300"}, {164, "hexagon"}, + {50, "ia64"}, {258, "loongarch"}, {88, "m32r"}, {0x9041, "m32r"}, + {4, "m68k"}, {174, "metag"}, {189, "microblaze"}, + {0xbaab, "microblaze-old"}, {8, "mips"}, {10, "mips-old"}, {89, "mn10300"}, + {0xbeef, "mn10300-old"}, {113, "nios2"}, {92, "openrisc"}, + {0x8472, "openrisc-old"}, {15, "parisc"}, {20, "ppc"}, {21, "ppc64"}, + {243, "riscv"}, {22, "s390"}, {0xa390, "s390-old"}, {135, "score"}, + {42, "sh"}, {2, "sparc"}, {18, "sparc8+"}, {43, "sparc9"}, {188, "tile"}, + {191, "tilegx"}, {3, "386"}, {6, "486"}, {62, "x86-64"}, {94, "xtensa"}, + {0xabc7, "xtensa-old"} + }; + + for (i = 0; i