Files
clang-p2996/lld/lib/ReaderWriter/ELF/Reader.cpp
Shankar Easwaran ac23808619 [ELF] Add Readers for all the ELF subtargets.
This would permit the ELF reader to check the architecture that is being
selected by the linking process.

This patch also sorts the include files according to LLVM conventions.

llvm-svn: 220129
2014-10-18 05:23:17 +00:00

46 lines
1.6 KiB
C++

//===- lib/ReaderWriter/ELF/Reader.cpp ------------------------------------===//
//
// The LLVM Linker
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
///
/// \file
/// \brief Defines the ELF Reader and all helper sub classes to consume an ELF
/// file and produces atoms out of it.
///
//===----------------------------------------------------------------------===//
#include "ELFReader.h"
#include <map>
#include <vector>
using llvm::support::endianness;
using namespace llvm::object;
namespace lld {
// This dynamic registration of a handler causes support for all ELF
// architectures to be pulled into the linker. If we want to support making a
// linker that only supports one ELF architecture, we'd need to change this
// to have a different registration method for each architecture.
void Registry::addSupportELFObjects(bool atomizeStrings,
TargetHandlerBase *handler) {
// Tell registry about the ELF object file parser.
add(std::move(handler->getObjReader(atomizeStrings)));
// Tell registry about the relocation name to number mapping for this arch.
handler->registerRelocationNames(*this);
}
void Registry::addSupportELFDynamicSharedObjects(bool useShlibUndefines,
TargetHandlerBase *handler) {
// Tell registry about the ELF dynamic shared library file parser.
add(handler->getDSOReader(useShlibUndefines));
}
} // end namespace lld