Add HPPA detection

- detect the HPPA architecture (PA-RISC) and define Q_PROCESSOR_HPPA
- set the right machine type in QElfParser for HPPA ELF files

Change-Id: I5214ce64ef1fdd0ecca3d6c1694c5db9b2852a22
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
bb10
Pino Toscano 2022-10-06 23:15:30 +02:00
parent f7a34630a1
commit e81cba0cd3
4 changed files with 23 additions and 0 deletions

View File

@ -17,6 +17,8 @@
# define ARCH_PROCESSOR "bfin"
#elif defined(Q_PROCESSOR_WASM)
# define ARCH_PROCESSOR "wasm"
#elif defined(Q_PROCESSOR_HPPA)
# define ARCH_PROCESSOR "hppa"
#elif defined(Q_PROCESSOR_X86_32)
# define ARCH_PROCESSOR "i386"
#elif defined(Q_PROCESSOR_X86_64)

View File

@ -142,6 +142,15 @@
// # define Q_PROCESSOR_BLACKFIN
// # define Q_BYTE_ORDER Q_LITTLE_ENDIAN
/*
PA-RISC family, no revisions or variants
PA-RISC is big-endian.
*/
#elif defined(__hppa__)
# define Q_PROCESSOR_HPPA
# define Q_BYTE_ORDER Q_BIG_ENDIAN
/*
X86 family, known variants: 32- and 64-bit

View File

@ -86,6 +86,15 @@
\sa QSysInfo::buildCpuArchitecture()
*/
/*!
\macro Q_PROCESSOR_HPPA
\relates <QtProcessorDetection>
Defined if the application is compiled for PA-RISC processors.
\sa QSysInfo::buildCpuArchitecture()
*/
/*!
\macro Q_PROCESSOR_IA64
\relates <QtProcessorDetection>

View File

@ -113,6 +113,8 @@ struct ElfMachineCheck
EM_AARCH64
#elif defined(Q_PROCESSOR_BLACKFIN)
EM_BLACKFIN
#elif defined(Q_PROCESSOR_HPPA)
EM_PARISC
#elif defined(Q_PROCESSOR_IA64)
EM_IA_64
#elif defined(Q_PROCESSOR_MIPS)
@ -378,6 +380,7 @@ Q_DECL_UNUSED Q_DECL_COLD_FUNCTION static QDebug &operator<<(QDebug &d, ElfHeade
#endif
case EM_IA_64: d << ", IA-64"; break;
case EM_MIPS: d << ", MIPS"; break;
case EM_PARISC: d << ", HPPA"; break;
case EM_PPC: d << ", PowerPC"; break;
case EM_PPC64: d << ", PowerPC 64-bit"; break;
#ifdef EM_RISCV