summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch
blob: 25aa69d7daa4c4b00567765ba59b09c67888c1ed (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
From f4cf90b5a298d6a3199e8b4c07f520aaf593ce2b 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 4b67a9bae..ed7e4e623 100644
--- a/build/rpmfc.c
+++ b/build/rpmfc.c
@@ -660,6 +660,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 },
 
@@ -1158,6 +1159,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;
 	}
 	if (elf)
 	    elf_end(elf);
diff --git a/rpmrc.in b/rpmrc.in
index 8646a966b..7349fdfd3 100644
--- a/rpmrc.in
+++ b/rpmrc.in
@@ -142,6 +142,8 @@ archcolor: mipsr6el 1
 archcolor: mips64r6 2
 archcolor: mips64r6el 2
 
+archcolor: mips64_n32 4
+
 archcolor: m68k 1
 
 archcolor: m68kmint 1