From d4daa250715bcc90422af9a06814e295b7eb5b25 Mon Sep 17 00:00:00 2001 From: Gleb Popov <6yearold@gmail.com> Date: Wed, 20 Aug 2025 18:18:06 +0300 Subject: [PATCH] Add support for E2K architecture --- libdnf/dnf-context.cpp | 1 + libdnf/hy-util.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/libdnf/dnf-context.cpp b/libdnf/dnf-context.cpp index eb97e5c684..1eb4fd1b95 100644 --- a/libdnf/dnf-context.cpp +++ b/libdnf/dnf-context.cpp @@ -123,6 +123,7 @@ static const struct { "sparcv9", "sparcv9v", NULL } }, { "x86_64", { "x86_64", "amd64", "ia32e", NULL } }, { "loongarch64", { "loongarch64", NULL } }, + { "e2k", { "e2k", "e2kv4", "e2kv5", "e2kv6", NULL } }, { NULL, { NULL } } }; diff --git a/libdnf/hy-util.cpp b/libdnf/hy-util.cpp index 9b37257659..82f24edd37 100644 --- a/libdnf/hy-util.cpp +++ b/libdnf/hy-util.cpp @@ -139,6 +139,14 @@ hy_detect_arch(char **arch) strcpy(un.machine, "mipsel"); else if (!strcmp(un.machine, "mips64")) strcpy(un.machine, "mips64el"); +#endif +#if defined(__e2k__) + if (__builtin_cpu_is("elbrus-v4") || __builtin_cpu_is("elbrus-8c") || __builtin_cpu_is("elbrus-1c+")) + strcpy(un.machine, "e2kv4"); + else if (__builtin_cpu_is("elbrus-v5") || __builtin_cpu_is("elbrus-8c2")) + strcpy(un.machine, "e2kv5"); + else if (__builtin_cpu_is("elbrus-v6") || __builtin_cpu_is("elbrus-12c") || __builtin_cpu_is("elbrus-16c") || __builtin_cpu_is("elbrus-2c3")) + strcpy(un.machine, "e2kv6"); #endif *arch = g_strdup(un.machine); return 0;