NaplesPU LLD Linker
From NaplesPU Documentation
When adding a new target architecture to llvm, some changes are required to the tools located in the llvm/tools folder.
llvm-objdump
This is the llvm object file dumper. The full documentation for llvm-objdump is maintained as a Texinfo manual. If the info and llvm-objdump programs are properly installed, the command
info llvm-objdump
should give you access to the complete manual.
In order to be properly used with the NuPlus architecture the following change is required.
template <class ELFT>
static std::error_code getRelocationValueString(const ELFObjectFile<ELFT> *Obj,
const RelocationRef &RelRef,
SmallVectorImpl<char> &Result) {
...
switch (EF.getHeader()->e_machine) {
...
case ELF::EM_NUPLUS:
res = Target;
break;
llvm-readobj
The llvm-readobj tool displays low-level format-specific information about one or more object files. In order to be properly used with the NuPlus architecture the following change is required.
static const EnumEntry<unsigned> ElfMachineType[] = {
...
ENUM_ENT(EM_NUPLUS, "EM_NUPLUS")
linker
elf2hex
lldb
TBD