Difference between revisions of "NaplesPU LLD Linker"

From NaplesPU Documentation
Jump to: navigation, search
Line 2: Line 2:
 
== 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.
  
 
In order to be properly used with the NuPlus architecture the following change is required.
 
In order to be properly used with the NuPlus architecture the following change is required.

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