@@ -260,9 +260,9 @@ static_assert(sizeof(g_core_definitions) / sizeof(CoreDefinition) ==
260
260
struct ArchDefinitionEntry {
261
261
ArchSpec::Core core;
262
262
uint32_t cpu;
263
- uint32_t sub;
264
- uint32_t cpu_mask;
265
- uint32_t sub_mask;
263
+ uint32_t sub = LLDB_INVALID_CPUTYPE ;
264
+ uint32_t cpu_mask = UINT32_MAX ;
265
+ uint32_t sub_mask = UINT32_MAX ;
266
266
};
267
267
268
268
struct ArchDefinition {
@@ -357,7 +357,8 @@ static const ArchDefinitionEntry g_macho_arch_entries[] = {
357
357
{ArchSpec::eCore_riscv32, llvm::MachO::CPU_TYPE_RISCV, CPU_ANY, UINT32_MAX, SUBTYPE_MASK},
358
358
// Catch any unknown mach architectures so we can always use the object and symbol mach-o files
359
359
{ArchSpec::eCore_uknownMach32, 0 , 0 , 0xFF000000u , 0x00000000u },
360
- {ArchSpec::eCore_uknownMach64, llvm::MachO::CPU_ARCH_ABI64, 0 , 0xFF000000u , 0x00000000u }};
360
+ {ArchSpec::eCore_uknownMach64, llvm::MachO::CPU_ARCH_ABI64, 0 , 0xFF000000u , 0x00000000u }
361
+ };
361
362
// clang-format on
362
363
363
364
static const ArchDefinition g_macho_arch_def = {eArchTypeMachO,
@@ -369,98 +370,60 @@ static const ArchDefinition g_macho_arch_def = {eArchTypeMachO,
369
370
// convert cpu type and subtypes to architecture names, and to convert
370
371
// architecture names to cpu types and subtypes. The ordering is important and
371
372
// allows the precedence to be set when the table is built.
373
+ // clang-format off
372
374
static const ArchDefinitionEntry g_elf_arch_entries[] = {
373
- {ArchSpec::eCore_sparc_generic, llvm::ELF::EM_SPARC, LLDB_INVALID_CPUTYPE,
374
- 0xFFFFFFFFu , 0xFFFFFFFFu }, // Sparc
375
- {ArchSpec::eCore_x86_32_i386, llvm::ELF::EM_386, LLDB_INVALID_CPUTYPE,
376
- 0xFFFFFFFFu , 0xFFFFFFFFu }, // Intel 80386
377
- {ArchSpec::eCore_x86_32_i486, llvm::ELF::EM_IAMCU, LLDB_INVALID_CPUTYPE,
378
- 0xFFFFFFFFu , 0xFFFFFFFFu }, // Intel MCU // FIXME: is this correct?
379
- {ArchSpec::eCore_ppc_generic, llvm::ELF::EM_PPC, LLDB_INVALID_CPUTYPE,
380
- 0xFFFFFFFFu , 0xFFFFFFFFu }, // PowerPC
381
- {ArchSpec::eCore_ppc64le_generic, llvm::ELF::EM_PPC64,
382
- ArchSpec::eCore_ppc64le_generic, 0xFFFFFFFFu , 0xFFFFFFFFu }, // PowerPC64le
383
- {ArchSpec::eCore_ppc64_generic, llvm::ELF::EM_PPC64,
384
- ArchSpec::eCore_ppc64_generic, 0xFFFFFFFFu , 0xFFFFFFFFu }, // PowerPC64
385
- {ArchSpec::eCore_arm_generic, llvm::ELF::EM_ARM, LLDB_INVALID_CPUTYPE,
386
- 0xFFFFFFFFu , 0xFFFFFFFFu }, // ARM
387
- {ArchSpec::eCore_arm_aarch64, llvm::ELF::EM_AARCH64, LLDB_INVALID_CPUTYPE,
388
- 0xFFFFFFFFu , 0xFFFFFFFFu }, // ARM64
389
- {ArchSpec::eCore_s390x_generic, llvm::ELF::EM_S390, LLDB_INVALID_CPUTYPE,
390
- 0xFFFFFFFFu , 0xFFFFFFFFu }, // SystemZ
391
- {ArchSpec::eCore_sparc9_generic, llvm::ELF::EM_SPARCV9,
392
- LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu , 0xFFFFFFFFu }, // SPARC V9
393
- {ArchSpec::eCore_x86_64_x86_64, llvm::ELF::EM_X86_64, LLDB_INVALID_CPUTYPE,
394
- 0xFFFFFFFFu , 0xFFFFFFFFu }, // AMD64
395
- {ArchSpec::eCore_mips32, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips32,
396
- 0xFFFFFFFFu , 0xFFFFFFFFu }, // mips32
397
- {ArchSpec::eCore_mips32r2, llvm::ELF::EM_MIPS,
398
- ArchSpec::eMIPSSubType_mips32r2, 0xFFFFFFFFu , 0xFFFFFFFFu }, // mips32r2
399
- {ArchSpec::eCore_mips32r6, llvm::ELF::EM_MIPS,
400
- ArchSpec::eMIPSSubType_mips32r6, 0xFFFFFFFFu , 0xFFFFFFFFu }, // mips32r6
401
- {ArchSpec::eCore_mips32el, llvm::ELF::EM_MIPS,
402
- ArchSpec::eMIPSSubType_mips32el, 0xFFFFFFFFu , 0xFFFFFFFFu }, // mips32el
403
- {ArchSpec::eCore_mips32r2el, llvm::ELF::EM_MIPS,
404
- ArchSpec::eMIPSSubType_mips32r2el, 0xFFFFFFFFu , 0xFFFFFFFFu }, // mips32r2el
405
- {ArchSpec::eCore_mips32r6el, llvm::ELF::EM_MIPS,
406
- ArchSpec::eMIPSSubType_mips32r6el, 0xFFFFFFFFu , 0xFFFFFFFFu }, // mips32r6el
407
- {ArchSpec::eCore_mips64, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips64,
408
- 0xFFFFFFFFu , 0xFFFFFFFFu }, // mips64
409
- {ArchSpec::eCore_mips64r2, llvm::ELF::EM_MIPS,
410
- ArchSpec::eMIPSSubType_mips64r2, 0xFFFFFFFFu , 0xFFFFFFFFu }, // mips64r2
411
- {ArchSpec::eCore_mips64r6, llvm::ELF::EM_MIPS,
412
- ArchSpec::eMIPSSubType_mips64r6, 0xFFFFFFFFu , 0xFFFFFFFFu }, // mips64r6
413
- {ArchSpec::eCore_mips64el, llvm::ELF::EM_MIPS,
414
- ArchSpec::eMIPSSubType_mips64el, 0xFFFFFFFFu , 0xFFFFFFFFu }, // mips64el
415
- {ArchSpec::eCore_mips64r2el, llvm::ELF::EM_MIPS,
416
- ArchSpec::eMIPSSubType_mips64r2el, 0xFFFFFFFFu , 0xFFFFFFFFu }, // mips64r2el
417
- {ArchSpec::eCore_mips64r6el, llvm::ELF::EM_MIPS,
418
- ArchSpec::eMIPSSubType_mips64r6el, 0xFFFFFFFFu , 0xFFFFFFFFu }, // mips64r6el
419
- {ArchSpec::eCore_msp430, llvm::ELF::EM_MSP430, LLDB_INVALID_CPUTYPE,
420
- 0xFFFFFFFFu , 0xFFFFFFFFu }, // MSP430
421
- {ArchSpec::eCore_hexagon_generic, llvm::ELF::EM_HEXAGON,
422
- LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu , 0xFFFFFFFFu }, // HEXAGON
423
- {ArchSpec::eCore_arc, llvm::ELF::EM_ARC_COMPACT2, LLDB_INVALID_CPUTYPE,
424
- 0xFFFFFFFFu , 0xFFFFFFFFu }, // ARC
425
- {ArchSpec::eCore_avr, llvm::ELF::EM_AVR, LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu ,
426
- 0xFFFFFFFFu }, // AVR
427
- {ArchSpec::eCore_riscv32, llvm::ELF::EM_RISCV,
428
- ArchSpec::eRISCVSubType_riscv32, 0xFFFFFFFFu , 0xFFFFFFFFu }, // riscv32
429
- {ArchSpec::eCore_riscv64, llvm::ELF::EM_RISCV,
430
- ArchSpec::eRISCVSubType_riscv64, 0xFFFFFFFFu , 0xFFFFFFFFu }, // riscv64
431
- {ArchSpec::eCore_loongarch32, llvm::ELF::EM_LOONGARCH,
432
- ArchSpec::eLoongArchSubType_loongarch32, 0xFFFFFFFFu ,
433
- 0xFFFFFFFFu }, // loongarch32
434
- {ArchSpec::eCore_loongarch64, llvm::ELF::EM_LOONGARCH,
435
- ArchSpec::eLoongArchSubType_loongarch64, 0xFFFFFFFFu ,
436
- 0xFFFFFFFFu }, // loongarch64
375
+ {ArchSpec::eCore_sparc_generic, llvm::ELF::EM_SPARC }, // Sparc
376
+ {ArchSpec::eCore_x86_32_i386, llvm::ELF::EM_386 }, // Intel 80386
377
+ {ArchSpec::eCore_x86_32_i486, llvm::ELF::EM_IAMCU }, // Intel MCU // FIXME: is this correct?
378
+ {ArchSpec::eCore_ppc_generic, llvm::ELF::EM_PPC }, // PowerPC
379
+ {ArchSpec::eCore_ppc64le_generic, llvm::ELF::EM_PPC64, ArchSpec::eCore_ppc64le_generic}, // PowerPC64le
380
+ {ArchSpec::eCore_ppc64_generic, llvm::ELF::EM_PPC64, ArchSpec::eCore_ppc64_generic}, // PowerPC64
381
+ {ArchSpec::eCore_arm_generic, llvm::ELF::EM_ARM }, // ARM
382
+ {ArchSpec::eCore_arm_aarch64, llvm::ELF::EM_AARCH64 }, // ARM64
383
+ {ArchSpec::eCore_s390x_generic, llvm::ELF::EM_S390 }, // SystemZ
384
+ {ArchSpec::eCore_sparc9_generic, llvm::ELF::EM_SPARCV9 }, // SPARC V9
385
+ {ArchSpec::eCore_x86_64_x86_64, llvm::ELF::EM_X86_64 }, // AMD64
386
+ {ArchSpec::eCore_mips32, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips32}, // mips32
387
+ {ArchSpec::eCore_mips32r2, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips32r2}, // mips32r2
388
+ {ArchSpec::eCore_mips32r6, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips32r6}, // mips32r6
389
+ {ArchSpec::eCore_mips32el, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips32el}, // mips32el
390
+ {ArchSpec::eCore_mips32r2el, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips32r2el}, // mips32r2el
391
+ {ArchSpec::eCore_mips32r6el, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips32r6el}, // mips32r6el
392
+ {ArchSpec::eCore_mips64, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips64},
393
+ {ArchSpec::eCore_mips64r2, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips64r2}, // mips64r2
394
+ {ArchSpec::eCore_mips64r6, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips64r6}, // mips64r6
395
+ {ArchSpec::eCore_mips64el, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips64el}, // mips64el
396
+ {ArchSpec::eCore_mips64r2el, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips64r2el}, // mips64r2el
397
+ {ArchSpec::eCore_mips64r6el, llvm::ELF::EM_MIPS, ArchSpec::eMIPSSubType_mips64r6el}, // mips64r6el
398
+ {ArchSpec::eCore_msp430, llvm::ELF::EM_MSP430 }, // MSP430
399
+ {ArchSpec::eCore_hexagon_generic, llvm::ELF::EM_HEXAGON }, // HEXAGON
400
+ {ArchSpec::eCore_arc, llvm::ELF::EM_ARC_COMPACT2}, // ARC
401
+ {ArchSpec::eCore_avr, llvm::ELF::EM_AVR }, // AVR
402
+ {ArchSpec::eCore_riscv32, llvm::ELF::EM_RISCV, ArchSpec::eRISCVSubType_riscv32}, // riscv32
403
+ {ArchSpec::eCore_riscv64, llvm::ELF::EM_RISCV, ArchSpec::eRISCVSubType_riscv64}, // riscv64
404
+ {ArchSpec::eCore_loongarch32, llvm::ELF::EM_LOONGARCH, ArchSpec::eLoongArchSubType_loongarch32}, // loongarch32
405
+ {ArchSpec::eCore_loongarch64, llvm::ELF::EM_LOONGARCH, ArchSpec::eLoongArchSubType_loongarch64}, // loongarch64
437
406
};
407
+ // clang-format on
438
408
439
409
static const ArchDefinition g_elf_arch_def = {
440
410
eArchTypeELF,
441
411
std::size (g_elf_arch_entries),
442
412
g_elf_arch_entries,
443
413
" elf" ,
444
414
};
445
-
415
+ // clang-format off
446
416
static const ArchDefinitionEntry g_coff_arch_entries[] = {
447
- {ArchSpec::eCore_x86_32_i386, llvm::COFF::IMAGE_FILE_MACHINE_I386,
448
- LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu , 0xFFFFFFFFu }, // Intel 80x86
449
- {ArchSpec::eCore_ppc_generic, llvm::COFF::IMAGE_FILE_MACHINE_POWERPC,
450
- LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu , 0xFFFFFFFFu }, // PowerPC
451
- {ArchSpec::eCore_ppc_generic, llvm::COFF::IMAGE_FILE_MACHINE_POWERPCFP,
452
- LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu , 0xFFFFFFFFu }, // PowerPC (with FPU)
453
- {ArchSpec::eCore_arm_generic, llvm::COFF::IMAGE_FILE_MACHINE_ARM,
454
- LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu , 0xFFFFFFFFu }, // ARM
455
- {ArchSpec::eCore_arm_armv7, llvm::COFF::IMAGE_FILE_MACHINE_ARMNT,
456
- LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu , 0xFFFFFFFFu }, // ARMv7
457
- {ArchSpec::eCore_thumb, llvm::COFF::IMAGE_FILE_MACHINE_THUMB,
458
- LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu , 0xFFFFFFFFu }, // ARMv7
459
- {ArchSpec::eCore_x86_64_x86_64, llvm::COFF::IMAGE_FILE_MACHINE_AMD64,
460
- LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu , 0xFFFFFFFFu }, // AMD64
461
- {ArchSpec::eCore_arm_arm64, llvm::COFF::IMAGE_FILE_MACHINE_ARM64,
462
- LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu , 0xFFFFFFFFu } // ARM64
417
+ {ArchSpec::eCore_x86_32_i386, llvm::COFF::IMAGE_FILE_MACHINE_I386}, // Intel 80x86
418
+ {ArchSpec::eCore_ppc_generic, llvm::COFF::IMAGE_FILE_MACHINE_POWERPC}, // PowerPC
419
+ {ArchSpec::eCore_ppc_generic, llvm::COFF::IMAGE_FILE_MACHINE_POWERPCFP}, // PowerPC (with FPU)
420
+ {ArchSpec::eCore_arm_generic, llvm::COFF::IMAGE_FILE_MACHINE_ARM}, // ARM
421
+ {ArchSpec::eCore_arm_armv7, llvm::COFF::IMAGE_FILE_MACHINE_ARMNT}, // ARMv7
422
+ {ArchSpec::eCore_thumb, llvm::COFF::IMAGE_FILE_MACHINE_THUMB}, // ARMv7
423
+ {ArchSpec::eCore_x86_64_x86_64, llvm::COFF::IMAGE_FILE_MACHINE_AMD64}, // AMD64
424
+ {ArchSpec::eCore_arm_arm64, llvm::COFF::IMAGE_FILE_MACHINE_ARM64} // ARM64
463
425
};
426
+ // clang-format on
464
427
465
428
static const ArchDefinition g_coff_arch_def = {
466
429
eArchTypeCOFF,
@@ -469,11 +432,12 @@ static const ArchDefinition g_coff_arch_def = {
469
432
" pe-coff" ,
470
433
};
471
434
435
+ // clang-format off
472
436
static const ArchDefinitionEntry g_xcoff_arch_entries[] = {
473
- {ArchSpec::eCore_ppc_generic, llvm::XCOFF::TCPU_COM, LLDB_INVALID_CPUTYPE ,
474
- 0xFFFFFFFFu , 0xFFFFFFFFu },
475
- {ArchSpec::eCore_ppc64_generic, llvm::XCOFF::TCPU_PPC64,
476
- LLDB_INVALID_CPUTYPE, 0xFFFFFFFFu , 0xFFFFFFFFu }};
437
+ {ArchSpec::eCore_ppc_generic, llvm::XCOFF::TCPU_COM} ,
438
+ {ArchSpec::eCore_ppc64_generic, llvm::XCOFF::TCPU_PPC64}
439
+ };
440
+ // clang-format on
477
441
478
442
static const ArchDefinition g_xcoff_arch_def = {
479
443
eArchTypeXCOFF,
@@ -695,13 +659,9 @@ uint32_t ArchSpec::GetMachOCPUSubType() const {
695
659
return LLDB_INVALID_CPUTYPE;
696
660
}
697
661
698
- uint32_t ArchSpec::GetDataByteSize () const {
699
- return 1 ;
700
- }
662
+ uint32_t ArchSpec::GetDataByteSize () const { return 1 ; }
701
663
702
- uint32_t ArchSpec::GetCodeByteSize () const {
703
- return 1 ;
704
- }
664
+ uint32_t ArchSpec::GetCodeByteSize () const { return 1 ; }
705
665
706
666
llvm::Triple::ArchType ArchSpec::GetMachine () const {
707
667
const CoreDefinition *core_def = FindCoreDefinition (m_core);
@@ -1170,8 +1130,8 @@ static bool cores_match(const ArchSpec::Core core1, const ArchSpec::Core core2,
1170
1130
break ;
1171
1131
1172
1132
// v. https://en.wikipedia.org/wiki/ARM_Cortex-M#Silicon_customization
1173
- // Cortex-M0 - ARMv6-M - armv6m
1174
- // Cortex-M3 - ARMv7-M - armv7m
1133
+ // Cortex-M0 - ARMv6-M - armv6m
1134
+ // Cortex-M3 - ARMv7-M - armv7m
1175
1135
// Cortex-M4 - ARMv7E-M - armv7em
1176
1136
case ArchSpec::eCore_arm_armv7em:
1177
1137
if (!enforce_exact_match) {
@@ -1188,8 +1148,8 @@ static bool cores_match(const ArchSpec::Core core1, const ArchSpec::Core core2,
1188
1148
break ;
1189
1149
1190
1150
// v. https://en.wikipedia.org/wiki/ARM_Cortex-M#Silicon_customization
1191
- // Cortex-M0 - ARMv6-M - armv6m
1192
- // Cortex-M3 - ARMv7-M - armv7m
1151
+ // Cortex-M0 - ARMv6-M - armv6m
1152
+ // Cortex-M3 - ARMv7-M - armv7m
1193
1153
// Cortex-M4 - ARMv7E-M - armv7em
1194
1154
case ArchSpec::eCore_arm_armv7m:
1195
1155
if (!enforce_exact_match) {
@@ -1206,8 +1166,8 @@ static bool cores_match(const ArchSpec::Core core1, const ArchSpec::Core core2,
1206
1166
break ;
1207
1167
1208
1168
// v. https://en.wikipedia.org/wiki/ARM_Cortex-M#Silicon_customization
1209
- // Cortex-M0 - ARMv6-M - armv6m
1210
- // Cortex-M3 - ARMv7-M - armv7m
1169
+ // Cortex-M0 - ARMv6-M - armv6m
1170
+ // Cortex-M3 - ARMv7-M - armv7m
1211
1171
// Cortex-M4 - ARMv7E-M - armv7em
1212
1172
case ArchSpec::eCore_arm_armv6m:
1213
1173
if (!enforce_exact_match) {
@@ -1434,7 +1394,6 @@ bool lldb_private::operator<(const ArchSpec &lhs, const ArchSpec &rhs) {
1434
1394
return lhs_core < rhs_core;
1435
1395
}
1436
1396
1437
-
1438
1397
bool lldb_private::operator ==(const ArchSpec &lhs, const ArchSpec &rhs) {
1439
1398
return lhs.GetCore () == rhs.GetCore ();
1440
1399
}
0 commit comments