summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch
blob: 331ea849e6973d828fa8b986ee75532229ff8057 (plain)
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