parent
b538114d2f
commit
8a8e2b35d2
@ -0,0 +1,84 @@
|
|||||||
|
From ac17a394a5701174c705050640e26c9cb95d289b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Pino Toscano <toscano.pino@tiscali.it>
|
||||||
|
Date: Thu, 6 Oct 2022 23:17:57 +0200
|
||||||
|
Subject: [PATCH] Add M68k detection
|
||||||
|
|
||||||
|
- detect the M68k architecture (Motorola 68000) and define
|
||||||
|
Q_PROCESSOR_M68K
|
||||||
|
- set the right machine type in QElfParser for M68k ELF files
|
||||||
|
|
||||||
|
Change-Id: Ie5694abbe1ae2bfeb5692defba0ca6062c1d60ac
|
||||||
|
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
||||||
|
---
|
||||||
|
src/corelib/global/archdetect.cpp | 2 ++
|
||||||
|
src/corelib/global/qprocessordetection.h | 9 +++++++++
|
||||||
|
src/corelib/global/qprocessordetection.qdoc | 9 +++++++++
|
||||||
|
src/corelib/plugin/qelfparser_p.cpp | 3 +++
|
||||||
|
4 files changed, 23 insertions(+)
|
||||||
|
|
||||||
|
--- a/src/corelib/global/archdetect.cpp
|
||||||
|
+++ b/src/corelib/global/archdetect.cpp
|
||||||
|
@@ -23,6 +23,8 @@
|
||||||
|
# define ARCH_PROCESSOR "x86_64"
|
||||||
|
#elif defined(Q_PROCESSOR_IA64)
|
||||||
|
# define ARCH_PROCESSOR "ia64"
|
||||||
|
+#elif defined(Q_PROCESSOR_M68K)
|
||||||
|
+# define ARCH_PROCESSOR "m68k"
|
||||||
|
#elif defined(Q_PROCESSOR_MIPS_64)
|
||||||
|
# define ARCH_PROCESSOR "mips64"
|
||||||
|
#elif defined(Q_PROCESSOR_MIPS)
|
||||||
|
--- a/src/corelib/global/qprocessordetection.h
|
||||||
|
+++ b/src/corelib/global/qprocessordetection.h
|
||||||
|
@@ -188,6 +188,15 @@
|
||||||
|
// Q_BYTE_ORDER not defined, use endianness auto-detection
|
||||||
|
|
||||||
|
/*
|
||||||
|
+ Motorola 68000 family, no revisions or variants
|
||||||
|
+
|
||||||
|
+ M68K is big-endian.
|
||||||
|
+*/
|
||||||
|
+#elif defined(__m68k__)
|
||||||
|
+# define Q_PROCESSOR_M68K
|
||||||
|
+# define Q_BYTE_ORDER Q_BIG_ENDIAN
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
MIPS family, known revisions: I, II, III, IV, 32, 64
|
||||||
|
|
||||||
|
MIPS is bi-endian, use endianness auto-detection implemented below.
|
||||||
|
--- a/src/corelib/plugin/qelfparser_p.cpp
|
||||||
|
+++ b/src/corelib/plugin/qelfparser_p.cpp
|
||||||
|
@@ -115,6 +115,8 @@ struct ElfMachineCheck
|
||||||
|
EM_BLACKFIN
|
||||||
|
#elif defined(Q_PROCESSOR_IA64)
|
||||||
|
EM_IA_64
|
||||||
|
+#elif defined(Q_PROCESSOR_M68K)
|
||||||
|
+ EM_68K
|
||||||
|
#elif defined(Q_PROCESSOR_MIPS)
|
||||||
|
EM_MIPS
|
||||||
|
#elif defined(Q_PROCESSOR_POWER_32)
|
||||||
|
@@ -373,6 +375,7 @@ Q_DECL_UNUSED Q_DECL_COLD_FUNCTION stati
|
||||||
|
switch (r.machine) {
|
||||||
|
// list definitely not exhaustive!
|
||||||
|
case EM_NONE: d << ", no machine"; break;
|
||||||
|
+ case EM_68K: d << ", MC68000"; break;
|
||||||
|
case EM_ARM: d << ", ARM"; break;
|
||||||
|
case EM_AARCH64: d << ", AArch64"; break;
|
||||||
|
#ifdef EM_BLACKFIN
|
||||||
|
--- a/src/corelib/global/qglobal.cpp
|
||||||
|
+++ b/src/corelib/global/qglobal.cpp
|
||||||
|
@@ -1801,6 +1801,15 @@ bool qSharedBuild() noexcept
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
+ \macro Q_PROCESSOR_M68K
|
||||||
|
+ \relates <QtGlobal>
|
||||||
|
+
|
||||||
|
+ Defined if the application is compiled for Motorola 68000 processors.
|
||||||
|
+
|
||||||
|
+ \sa QSysInfo::buildCpuArchitecture()
|
||||||
|
+*/
|
||||||
|
+
|
||||||
|
+/*!
|
||||||
|
\macro Q_PROCESSOR_MIPS
|
||||||
|
\relates <QtGlobal>
|
||||||
|
|
Loading…
Reference in new issue