Difference between revisions of "NaplesPU LLD Linker"

From NaplesPU Documentation
Jump to: navigation, search
(Created page with "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 dum...")
 
Line 1: Line 1:
 
When adding a new target architecture to llvm, some changes are required to the tools located in the llvm/tools folder.
 
When adding a new target architecture to llvm, some changes are required to the tools located in the llvm/tools folder.
==== llvm-objdump ====
+
= 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
 
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
 
<code> info llvm-objdump <\code> should give you access to the complete manual.
 
<code> info llvm-objdump <\code> should give you access to the complete manual.
Line 19: Line 19:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==== ELFDumper ====
+
= ELFDumper =
  
==== linker ====
+
= linker =
  
==== elf2hex ====
+
= elf2hex =
  
 
==== lldb ====
 
==== lldb ====
 
TBD
 
TBD

Revision as of 19:18, 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;

ELFDumper

linker

elf2hex

lldb

TBD