Difference between revisions of "NaplesPU LLD Linker"
From NaplesPU Documentation
Line 19: | Line 19: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | == | + | == 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. | ||
+ | |||
+ | <syntaxhighlight lang="cpp" line='line'> | ||
+ | static const EnumEntry<unsigned> ElfMachineType[] = { | ||
+ | ... | ||
+ | ENUM_ENT(EM_NUPLUS, "EM_NUPLUS") | ||
+ | </syntaxhighlight> | ||
== linker == | == linker == |
Revision as of 18:25, 12 September 2017
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 <\code> 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