12
12
// ===----------------------------------------------------------------------===//
13
13
14
14
#include " MCTargetDesc/M68kFixupKinds.h"
15
+ #include " MCTargetDesc/M68kMCExpr.h"
15
16
#include " MCTargetDesc/M68kMCTargetDesc.h"
16
17
17
18
#include " llvm/BinaryFormat/ELF.h"
@@ -44,8 +45,8 @@ M68kELFObjectWriter::~M68kELFObjectWriter() {}
44
45
45
46
enum M68kRelType { RT_32, RT_16, RT_8 };
46
47
47
- static M68kRelType
48
- getType ( unsigned Kind, MCSymbolRefExpr::VariantKind &Modifier, bool &IsPCRel) {
48
+ static M68kRelType getType ( unsigned Kind, M68kMCExpr::Specifier &Modifier,
49
+ bool &IsPCRel) {
49
50
switch (Kind) {
50
51
case FK_Data_4:
51
52
case FK_PCRel_4:
@@ -64,14 +65,14 @@ unsigned M68kELFObjectWriter::getRelocType(MCContext &Ctx,
64
65
const MCValue &Target,
65
66
const MCFixup &Fixup,
66
67
bool IsPCRel) const {
67
- MCSymbolRefExpr::VariantKind Modifier = Target.getAccessVariant ();
68
+ auto Specifier = M68kMCExpr::Specifier ( Target.getAccessVariant () );
68
69
unsigned Kind = Fixup.getKind ();
69
- M68kRelType Type = getType (Kind, Modifier , IsPCRel);
70
- switch (Modifier ) {
70
+ M68kRelType Type = getType (Kind, Specifier , IsPCRel);
71
+ switch (Specifier ) {
71
72
default :
72
73
llvm_unreachable (" Unimplemented" );
73
74
74
- case MCSymbolRefExpr ::VK_TLSGD:
75
+ case M68kMCExpr ::VK_TLSGD:
75
76
switch (Type) {
76
77
case RT_32:
77
78
return ELF::R_68K_TLS_GD32;
@@ -81,7 +82,7 @@ unsigned M68kELFObjectWriter::getRelocType(MCContext &Ctx,
81
82
return ELF::R_68K_TLS_GD8;
82
83
}
83
84
llvm_unreachable (" Unrecognized size" );
84
- case MCSymbolRefExpr ::VK_TLSLDM:
85
+ case M68kMCExpr ::VK_TLSLDM:
85
86
switch (Type) {
86
87
case RT_32:
87
88
return ELF::R_68K_TLS_LDM32;
@@ -91,7 +92,7 @@ unsigned M68kELFObjectWriter::getRelocType(MCContext &Ctx,
91
92
return ELF::R_68K_TLS_LDM8;
92
93
}
93
94
llvm_unreachable (" Unrecognized size" );
94
- case MCSymbolRefExpr ::VK_TLSLD:
95
+ case M68kMCExpr ::VK_TLSLD:
95
96
switch (Type) {
96
97
case RT_32:
97
98
return ELF::R_68K_TLS_LDO32;
@@ -101,7 +102,7 @@ unsigned M68kELFObjectWriter::getRelocType(MCContext &Ctx,
101
102
return ELF::R_68K_TLS_LDO8;
102
103
}
103
104
llvm_unreachable (" Unrecognized size" );
104
- case MCSymbolRefExpr ::VK_GOTTPOFF:
105
+ case M68kMCExpr ::VK_GOTTPOFF:
105
106
switch (Type) {
106
107
case RT_32:
107
108
return ELF::R_68K_TLS_IE32;
@@ -111,7 +112,7 @@ unsigned M68kELFObjectWriter::getRelocType(MCContext &Ctx,
111
112
return ELF::R_68K_TLS_IE8;
112
113
}
113
114
llvm_unreachable (" Unrecognized size" );
114
- case MCSymbolRefExpr ::VK_TPOFF:
115
+ case M68kMCExpr ::VK_TPOFF:
115
116
switch (Type) {
116
117
case RT_32:
117
118
return ELF::R_68K_TLS_LE32;
@@ -121,7 +122,7 @@ unsigned M68kELFObjectWriter::getRelocType(MCContext &Ctx,
121
122
return ELF::R_68K_TLS_LE8;
122
123
}
123
124
llvm_unreachable (" Unrecognized size" );
124
- case MCSymbolRefExpr ::VK_None:
125
+ case M68kMCExpr ::VK_None:
125
126
switch (Type) {
126
127
case RT_32:
127
128
return IsPCRel ? ELF::R_68K_PC32 : ELF::R_68K_32;
@@ -131,7 +132,7 @@ unsigned M68kELFObjectWriter::getRelocType(MCContext &Ctx,
131
132
return IsPCRel ? ELF::R_68K_PC8 : ELF::R_68K_8;
132
133
}
133
134
llvm_unreachable (" Unrecognized size" );
134
- case MCSymbolRefExpr ::VK_GOTPCREL:
135
+ case M68kMCExpr ::VK_GOTPCREL:
135
136
switch (Type) {
136
137
case RT_32:
137
138
return ELF::R_68K_GOTPCREL32;
@@ -141,7 +142,7 @@ unsigned M68kELFObjectWriter::getRelocType(MCContext &Ctx,
141
142
return ELF::R_68K_GOTPCREL8;
142
143
}
143
144
llvm_unreachable (" Unrecognized size" );
144
- case MCSymbolRefExpr ::VK_GOTOFF:
145
+ case M68kMCExpr ::VK_GOTOFF:
145
146
assert (!IsPCRel);
146
147
switch (Type) {
147
148
case RT_32:
@@ -152,7 +153,7 @@ unsigned M68kELFObjectWriter::getRelocType(MCContext &Ctx,
152
153
return ELF::R_68K_GOTOFF8;
153
154
}
154
155
llvm_unreachable (" Unrecognized size" );
155
- case MCSymbolRefExpr ::VK_PLT:
156
+ case M68kMCExpr ::VK_PLT:
156
157
switch (Type) {
157
158
case RT_32:
158
159
return ELF::R_68K_PLT32;
0 commit comments