@@ -38,7 +38,7 @@ unsigned CSKYELFObjectWriter::getRelocType(MCContext &Ctx,
3838 const MCExpr *Expr = Fixup.getValue ();
3939 // Determine the type of the relocation
4040 unsigned Kind = Fixup.getTargetKind ();
41- MCSymbolRefExpr::VariantKind Modifier = Target.getAccessVariant ();
41+ uint8_t Modifier = Target.getAccessVariant ();
4242
4343 if (IsPCRel) {
4444 switch (Kind) {
@@ -79,7 +79,7 @@ unsigned CSKYELFObjectWriter::getRelocType(MCContext &Ctx,
7979 return ELF::R_CKCORE_NONE;
8080 case FK_Data_4:
8181 if (Expr->getKind () == MCExpr::Target) {
82- auto TK = cast<CSKYMCExpr>(Expr)->getKind ();
82+ auto TK = cast<CSKYMCExpr>(Expr)->getSpecifier ();
8383 if (TK == CSKYMCExpr::VK_ADDR)
8484 return ELF::R_CKCORE_ADDR32;
8585 if (TK == CSKYMCExpr::VK_GOT)
@@ -111,19 +111,19 @@ unsigned CSKYELFObjectWriter::getRelocType(MCContext &Ctx,
111111 Ctx.reportError (Fixup.getLoc (),
112112 " invalid fixup for 4-byte data relocation" );
113113 return ELF::R_CKCORE_NONE;
114- case MCSymbolRefExpr ::VK_GOT:
114+ case CSKYMCExpr ::VK_GOT:
115115 return ELF::R_CKCORE_GOT32;
116- case MCSymbolRefExpr ::VK_GOTOFF:
116+ case CSKYMCExpr ::VK_GOTOFF:
117117 return ELF::R_CKCORE_GOTOFF;
118- case MCSymbolRefExpr ::VK_PLT:
118+ case CSKYMCExpr ::VK_PLT:
119119 return ELF::R_CKCORE_PLT32;
120- case MCSymbolRefExpr ::VK_TLSGD:
120+ case CSKYMCExpr ::VK_TLSGD:
121121 return ELF::R_CKCORE_TLS_GD32;
122- case MCSymbolRefExpr ::VK_TLSLDM:
122+ case CSKYMCExpr ::VK_TLSLDM:
123123 return ELF::R_CKCORE_TLS_LDM32;
124- case MCSymbolRefExpr ::VK_TPOFF:
124+ case CSKYMCExpr ::VK_TPOFF:
125125 return ELF::R_CKCORE_TLS_LE32;
126- case MCSymbolRefExpr ::VK_None:
126+ case CSKYMCExpr ::VK_None:
127127 return ELF::R_CKCORE_ADDR32;
128128 }
129129 }
0 commit comments