@@ -437,19 +437,17 @@ void SectionChunk::applyRelocation(uint8_t *off,
437
437
// Compute the RVA of the relocation for relative relocations.
438
438
uint64_t p = rva + rel.VirtualAddress ;
439
439
uint64_t imageBase = file->ctx .config .imageBase ;
440
- switch (getMachine ()) {
441
- case AMD64 :
440
+ switch (getArch ()) {
441
+ case Triple::x86_64 :
442
442
applyRelX64 (off, rel.Type , os, s, p, imageBase);
443
443
break ;
444
- case I386 :
444
+ case Triple::x86 :
445
445
applyRelX86 (off, rel.Type , os, s, p, imageBase);
446
446
break ;
447
- case ARMNT :
447
+ case Triple::thumb :
448
448
applyRelARM (off, rel.Type , os, s, p, imageBase);
449
449
break ;
450
- case ARM64:
451
- case ARM64EC:
452
- case ARM64X:
450
+ case Triple::aarch64:
453
451
applyRelARM64 (off, rel.Type , os, s, p, imageBase);
454
452
break ;
455
453
default :
@@ -516,27 +514,25 @@ void SectionChunk::addAssociative(SectionChunk *child) {
516
514
}
517
515
518
516
static uint8_t getBaserelType (const coff_relocation &rel,
519
- llvm::COFF::MachineTypes machine ) {
520
- switch (machine ) {
521
- case AMD64 :
517
+ Triple::ArchType arch ) {
518
+ switch (arch ) {
519
+ case Triple::x86_64 :
522
520
if (rel.Type == IMAGE_REL_AMD64_ADDR64)
523
521
return IMAGE_REL_BASED_DIR64;
524
522
if (rel.Type == IMAGE_REL_AMD64_ADDR32)
525
523
return IMAGE_REL_BASED_HIGHLOW;
526
524
return IMAGE_REL_BASED_ABSOLUTE;
527
- case I386 :
525
+ case Triple::x86 :
528
526
if (rel.Type == IMAGE_REL_I386_DIR32)
529
527
return IMAGE_REL_BASED_HIGHLOW;
530
528
return IMAGE_REL_BASED_ABSOLUTE;
531
- case ARMNT :
529
+ case Triple::thumb :
532
530
if (rel.Type == IMAGE_REL_ARM_ADDR32)
533
531
return IMAGE_REL_BASED_HIGHLOW;
534
532
if (rel.Type == IMAGE_REL_ARM_MOV32T)
535
533
return IMAGE_REL_BASED_ARM_MOV32T;
536
534
return IMAGE_REL_BASED_ABSOLUTE;
537
- case ARM64:
538
- case ARM64EC:
539
- case ARM64X:
535
+ case Triple::aarch64:
540
536
if (rel.Type == IMAGE_REL_ARM64_ADDR64)
541
537
return IMAGE_REL_BASED_DIR64;
542
538
return IMAGE_REL_BASED_ABSOLUTE;
@@ -551,7 +547,7 @@ static uint8_t getBaserelType(const coff_relocation &rel,
551
547
// Only called when base relocation is enabled.
552
548
void SectionChunk::getBaserels (std::vector<Baserel> *res) {
553
549
for (const coff_relocation &rel : getRelocs ()) {
554
- uint8_t ty = getBaserelType (rel, getMachine ());
550
+ uint8_t ty = getBaserelType (rel, getArch ());
555
551
if (ty == IMAGE_REL_BASED_ABSOLUTE)
556
552
continue ;
557
553
Symbol *target = file->getSymbol (rel.SymbolTableIndex );
0 commit comments