Hi everyone,
I’m currently writing a new backend(gaspardrisc) on LLVM 16 based on Lanai backend.
Everything seems looking good except llvm-objdump.
When I try to run objdump , objdump asserts an error : Assertion failed: (N+M <= size() && "Invalid specifier"), function slice, file ArrayRef.h, line 194.
I think I don’t declare in a specific file my backend, there is the problem.
I have modified the following files to reference my backend:
./tools/llvm-readobj/ELFDumper.cpp
./tools/opt/opt.cpp
./include/llvm/module.modulemap
./include/llvm/TargetParser/Triple.h
./include/llvm/BinaryFormat/ELF.h
./include/llvm/BinaryFormat/ELFRelocs/Gaspardrisc.def
./include/llvm/Object/ELFObjectFile.h
./unittests/TargetParser/TripleTest.cpp
./lib/Target/Gaspardrisc/GaspardriscMemAluCombiner.cpp
./lib/Target/Gaspardrisc/GaspardriscSchedule.td
./lib/Target/Gaspardrisc/GaspardriscISelLowering.cpp
./lib/Target/Gaspardrisc/GaspardriscTargetTransformInfo.h
./lib/Target/Gaspardrisc/GaspardriscTargetObjectFile.h
./lib/Target/Gaspardrisc/GaspardriscCondCode.h
./lib/Target/Gaspardrisc/GaspardriscCallingConv.td
./lib/Target/Gaspardrisc/GaspardriscMachineFunctionInfo.cpp
./lib/Target/Gaspardrisc/GaspardriscRegisterInfo.td
./lib/Target/Gaspardrisc/GaspardriscRegisterInfo.h
./lib/Target/Gaspardrisc/GaspardriscSelectionDAGInfo.h
./lib/Target/Gaspardrisc/GaspardriscISelDAGToDAG.cpp
./lib/Target/Gaspardrisc/GaspardriscAsmPrinter.cpp
./lib/Target/Gaspardrisc/GaspardriscInstrInfo.h
./lib/Target/Gaspardrisc/GaspardriscInstrFormats.td
./lib/Target/Gaspardrisc/GaspardriscTargetMachine.cpp
./lib/Target/Gaspardrisc/GaspardriscSubtarget.h
./lib/Target/Gaspardrisc/Gaspardrisc.td
./lib/Target/Gaspardrisc/Gaspardrisc.h
./lib/Target/Gaspardrisc/GaspardriscMachineFunctionInfo.h
./lib/Target/Gaspardrisc/GaspardriscFrameLowering.h
./lib/Target/Gaspardrisc/GaspardriscFrameLowering.cpp
./lib/Target/Gaspardrisc/GaspardriscSelectionDAGInfo.cpp
./lib/Target/Gaspardrisc/GaspardriscAluCode.h
./lib/Target/Gaspardrisc/GaspardriscInstrInfo.td
./lib/Target/Gaspardrisc/GaspardriscRegisterInfo.cpp
./lib/Target/Gaspardrisc/GaspardriscISelLowering.h
./lib/Target/Gaspardrisc/GaspardriscInstrInfo.cpp
./lib/Target/Gaspardrisc/GaspardriscTargetMachine.h
./lib/Target/Gaspardrisc/GaspardriscTargetObjectFile.cpp
./lib/Target/Gaspardrisc/GaspardriscMCInstLower.h
./lib/Target/Gaspardrisc/GaspardriscSubtarget.cpp
./lib/Target/Gaspardrisc/GaspardriscMCInstLower.cpp
./lib/Target/Gaspardrisc/GaspardriscDelaySlotFiller.cpp
./lib/Target/Gaspardrisc/AsmParser/GaspardriscAsmParser.cpp
./lib/Target/Gaspardrisc/Disassembler/GaspardriscDisassembler.h
./lib/Target/Gaspardrisc/Disassembler/GaspardriscDisassembler.cpp
./lib/Target/Gaspardrisc/TargetInfo/GaspardriscTargetInfo.h
./lib/Target/Gaspardrisc/TargetInfo/GaspardriscTargetInfo.cpp
./lib/Target/Gaspardrisc/MCTargetDesc/GaspardriscMCAsmInfo.cpp
./lib/Target/Gaspardrisc/MCTargetDesc/GaspardriscFixupKinds.h
./lib/Target/Gaspardrisc/MCTargetDesc/GaspardriscInstPrinter.h
./lib/Target/Gaspardrisc/MCTargetDesc/GaspardriscAsmBackend.cpp
./lib/Target/Gaspardrisc/MCTargetDesc/GaspardriscMCExpr.h
./lib/Target/Gaspardrisc/MCTargetDesc/GaspardriscMCTargetDesc.cpp
./lib/Target/Gaspardrisc/MCTargetDesc/GaspardriscBaseInfo.h
./lib/Target/Gaspardrisc/MCTargetDesc/GaspardriscInstPrinter.cpp
./lib/Target/Gaspardrisc/MCTargetDesc/GaspardriscMCExpr.cpp
./lib/Target/Gaspardrisc/MCTargetDesc/GaspardriscELFObjectWriter.cpp
./lib/Target/Gaspardrisc/MCTargetDesc/GaspardriscMCTargetDesc.h
./lib/Target/Gaspardrisc/MCTargetDesc/GaspardriscMCCodeEmitter.cpp
./lib/Target/Gaspardrisc/MCTargetDesc/GaspardriscMCAsmInfo.h
./lib/TargetParser/Triple.cpp
./lib/ObjectYAML/ELFYAML.cpp
./lib/CodeGen/TargetLoweringObjectFileImpl.cpp
./lib/Object/ELF.cpp
./lib/Object/RelocationResolver.cpp
Thanks in advance for your help !
Gaspard