|
0 |
From: Jakub Adam <jakub.adam@ktknet.cz>
|
|
1 |
Date: Wed, 16 Jul 2014 15:27:00 +0200
|
|
2 |
Subject: debian-archs-fix-build
|
|
3 |
|
|
4 |
---
|
|
5 |
cmake/GammaRayProbeABI.cmake | 18 ++++++++++++++++++
|
|
6 |
common/probeabidetector_elf.cpp | 3 +++
|
|
7 |
2 files changed, 21 insertions(+)
|
|
8 |
|
|
9 |
diff --git a/cmake/GammaRayProbeABI.cmake b/cmake/GammaRayProbeABI.cmake
|
|
10 |
index e8519e9..5da6dee 100644
|
|
11 |
--- a/cmake/GammaRayProbeABI.cmake
|
|
12 |
+++ b/cmake/GammaRayProbeABI.cmake
|
|
13 |
@@ -56,6 +56,24 @@ elseif(APPLE)
|
|
14 |
set(GAMMARAY_PROBE_ABI "${GAMMARAY_PROBE_ABI}-${CMAKE_SYSTEM_PROCESSOR}")
|
|
15 |
endif()
|
|
16 |
|
|
17 |
+# kFreeBSD reports i686 as i386 and x86_64 as amd64
|
|
18 |
+elseif(CMAKE_SYSTEM_NAME MATCHES "kFreeBSD")
|
|
19 |
+ if (CMAKE_SYSTEM_PROCESSOR MATCHES "i386")
|
|
20 |
+ set(GAMMARAY_PROBE_ABI "${GAMMARAY_PROBE_ABI}-i686")
|
|
21 |
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64")
|
|
22 |
+ set(GAMMARAY_PROBE_ABI "${GAMMARAY_PROBE_ABI}-x86_64")
|
|
23 |
+ else()
|
|
24 |
+ set(GAMMARAY_PROBE_ABI "${GAMMARAY_PROBE_ABI}-${CMAKE_SYSTEM_PROCESSOR}")
|
|
25 |
+ endif()
|
|
26 |
+
|
|
27 |
+# Debian GNU/Hurd reports unknown CPU; assume i686
|
|
28 |
+elseif(CMAKE_SYSTEM_NAME MATCHES "GNU")
|
|
29 |
+ if (CMAKE_SYSTEM_PROCESSOR MATCHES "unknown")
|
|
30 |
+ set(GAMMARAY_PROBE_ABI "${GAMMARAY_PROBE_ABI}-i686")
|
|
31 |
+ else()
|
|
32 |
+ set(GAMMARAY_PROBE_ABI "${GAMMARAY_PROBE_ABI}-${CMAKE_SYSTEM_PROCESSOR}")
|
|
33 |
+ endif()
|
|
34 |
+
|
|
35 |
else()
|
|
36 |
# uname reports different ARM versions, unlike ELF, so map all this to "arm"
|
|
37 |
if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
|
|
38 |
diff --git a/common/probeabidetector_elf.cpp b/common/probeabidetector_elf.cpp
|
|
39 |
index b35954c..af43eaf 100644
|
|
40 |
--- a/common/probeabidetector_elf.cpp
|
|
41 |
+++ b/common/probeabidetector_elf.cpp
|
|
42 |
@@ -151,6 +151,9 @@ static QString archFromELFHeader(const uchar *data, quint64 size)
|
|
43 |
case EM_386: return "i686";
|
|
44 |
case EM_X86_64: return "x86_64";
|
|
45 |
case EM_ARM: return "arm";
|
|
46 |
+ case EM_MIPS: return "mips";
|
|
47 |
+ case EM_PPC: return "ppc";
|
|
48 |
+ case EM_S390: return "s390x";
|
|
49 |
}
|
|
50 |
|
|
51 |
qWarning() << "Unsupported ELF machine type:" << hdr->e_machine;
|