The following are the most significant peculiarities of MIPS target: - MIPS ABI requires some special tags in the dynamic table. - GOT consists of two parts local and global. The local part contains entries refer locally visible symbols. The global part contains entries refer global symbols. - Entries in the .dynsym section which have corresponded entries in the GOT should be: * Emitted at the end of .dynsym section * Sorted accordingly to theirs GOT counterparts - There are "paired" relocations. One or more R_MIPS_HI16 and R_MIPS_GOT16 relocations should be followed by R_MIPS_LO16 relocation. To calculate result of R_MIPS_HI16 and R_MIPS_GOT16 relocations we need to combine addends from these relocations and paired R_MIPS_LO16 relocation. The patch reviewed by Michael Spencer, Shankar Easwaran, Rui Ueyama. http://llvm-reviews.chandlerc.com/D2156 llvm-svn: 197342
20 lines
573 B
C
20 lines
573 B
C
//===- lib/ReaderWriter/ELF/Targets.h -------------------------------------===//
|
|
//
|
|
// The LLVM Linker
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLD_READER_WRITER_ELF_TARGETS_H
|
|
#define LLD_READER_WRITER_ELF_TARGETS_H
|
|
|
|
#include "Hexagon/HexagonTarget.h"
|
|
#include "Mips/MipsTarget.h"
|
|
#include "PPC/PPCTarget.h"
|
|
#include "X86/X86Target.h"
|
|
#include "X86_64/X86_64Target.h"
|
|
|
|
#endif
|