hc
2023-05-26 a23f51ed7a39e452c1037343a84d7db1ca2c5bd7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
From 5492ac3c716020a27a25253bbffe810db43202bf Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 9 Mar 2017 18:54:02 +0200
Subject: [PATCH] Add a color setting for mips64_n32 binaries
 
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 
---
 build/rpmfc.c | 4 ++++
 rpmrc.in      | 2 ++
 2 files changed, 6 insertions(+)
 
diff --git a/build/rpmfc.c b/build/rpmfc.c
index 10c380ee9..b7655aa93 100644
--- a/build/rpmfc.c
+++ b/build/rpmfc.c
@@ -639,6 +639,7 @@ exit:
 static const struct rpmfcTokens_s rpmfcTokens[] = {
   { "directory",        RPMFC_INCLUDE },
 
+  { "N32 MIPS64",        RPMFC_ELFMIPSN32|RPMFC_INCLUDE },
   { "ELF 32-bit",        RPMFC_ELF32|RPMFC_INCLUDE },
   { "ELF 64-bit",        RPMFC_ELF64|RPMFC_INCLUDE },
 
@@ -1149,6 +1150,9 @@ static uint32_t getElfColor(const char *fn)
         color = RPMFC_ELF32;
         break;
         }
+            if (ehdr.e_machine == EM_MIPS || ehdr.e_machine == EM_MIPS_RS3_LE)
+                if (ehdr.e_flags & EF_MIPS_ABI2)
+                    color = RPMFC_ELFMIPSN32;
         elf_end(elf);
     }
     close(fd);
diff --git a/rpmrc.in b/rpmrc.in
index 5bd9ba3e5..f15bb8dad 100644
--- a/rpmrc.in
+++ b/rpmrc.in
@@ -137,6 +137,8 @@ archcolor: mipsr6el 1
 archcolor: mips64r6 2
 archcolor: mips64r6el 2
 
+archcolor: mips64_n32 4
+
 archcolor: m68k 1
 
 archcolor: m68kmint 1