Skip to content

Commit 9f7a8c2

Browse files
committed
[SOL] Add missing SBF conditions to match BPFEL target
1 parent 9a51f40 commit 9f7a8c2

File tree

6 files changed

+9
-2
lines changed

6 files changed

+9
-2
lines changed

llvm/include/llvm/ADT/Triple.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -743,7 +743,8 @@ class Triple {
743743

744744
/// Tests whether the target is BPF (little and big endian).
745745
bool isBPF() const {
746-
return getArch() == Triple::bpfel || getArch() == Triple::bpfeb;
746+
return getArch() == Triple::bpfel || getArch() == Triple::bpfeb ||
747+
getArch() == Triple::sbf;
747748
}
748749

749750
/// Tests whether the target is MIPS 32-bit (little and big endian).

llvm/lib/BinaryFormat/ELF.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ uint16_t ELF::convertArchNameToEMachine(StringRef Arch) {
196196
.Case("riscv", EM_RISCV)
197197
.Case("lanai", EM_LANAI)
198198
.Case("bpf", EM_BPF)
199+
.Case("sbf", EM_BPF)
199200
.Case("ve", EM_VE)
200201
.Case("csky", EM_CSKY)
201202
.Default(EM_NONE);

llvm/lib/MC/MCObjectFileInfo.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,7 @@ void MCObjectFileInfo::initELFMCObjectFileInfo(const Triple &T, bool Large) {
327327
break;
328328
case Triple::bpfel:
329329
case Triple::bpfeb:
330+
case Triple::sbf:
330331
FDECFIEncoding = dwarf::DW_EH_PE_sdata8;
331332
break;
332333
case Triple::hexagon:

llvm/lib/Object/RelocationResolver.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -667,6 +667,7 @@ getRelocationResolver(const ObjectFile &Obj) {
667667
return {supportsAArch64, resolveAArch64};
668668
case Triple::bpfel:
669669
case Triple::bpfeb:
670+
case Triple::sbf:
670671
return {supportsBPF, resolveBPF};
671672
case Triple::mips64el:
672673
case Triple::mips64:

llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ namespace {
2424
class BPFAsmBackend : public MCAsmBackend {
2525
public:
2626
BPFAsmBackend(support::endianness Endian, const MCSubtargetInfo &STI)
27-
: MCAsmBackend(Endian), isSolana(STI.hasFeature(BPF::FeatureSolana)) {}
27+
: MCAsmBackend(Endian),
28+
isSolana(STI.hasFeature(BPF::FeatureSolana) ||
29+
STI.getTargetTriple().getArch() == Triple::sbf) {}
2830
~BPFAsmBackend() override = default;
2931

3032
void applyFixup(const MCAssembler &Asm, const MCFixup &Fixup,

llvm/tools/llvm-objdump/llvm-objdump.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,7 @@ PrettyPrinter &selectPrettyPrinter(Triple const &Triple) {
665665
return AMDGCNPrettyPrinterInst;
666666
case Triple::bpfel:
667667
case Triple::bpfeb:
668+
case Triple::sbf:
668669
return BPFPrettyPrinterInst;
669670
}
670671
}

0 commit comments

Comments
 (0)