llvm/bolt/lib/Core/Relocation.cpp

//===- bolt/Core/Relocation.cpp - Object file relocations -----------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This file implements the Relocation class.
//
//===----------------------------------------------------------------------===//

#include "bolt/Core/Relocation.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Object/ELF.h"

usingnamespacellvm;
usingnamespacebolt;

namespace ELFReserved {
enum {};
} // namespace ELFReserved

Triple::ArchType Relocation::Arch;

static bool isSupportedX86(uint64_t Type) {}

static bool isSupportedAArch64(uint64_t Type) {}

static bool isSupportedRISCV(uint64_t Type) {}

static size_t getSizeForTypeX86(uint64_t Type) {}

static size_t getSizeForTypeAArch64(uint64_t Type) {}

static size_t getSizeForTypeRISCV(uint64_t Type) {}

static bool skipRelocationTypeX86(uint64_t Type) {}

static bool skipRelocationTypeAArch64(uint64_t Type) {}

static bool skipRelocationTypeRISCV(uint64_t Type) {}

static bool skipRelocationProcessX86(uint64_t &Type, uint64_t Contents) {}

static bool skipRelocationProcessAArch64(uint64_t &Type, uint64_t Contents) {}

static bool skipRelocationProcessRISCV(uint64_t &Type, uint64_t Contents) {}

static uint64_t encodeValueX86(uint64_t Type, uint64_t Value, uint64_t PC) {}

static uint64_t encodeValueAArch64(uint64_t Type, uint64_t Value, uint64_t PC) {}

static uint64_t encodeValueRISCV(uint64_t Type, uint64_t Value, uint64_t PC) {}

static uint64_t extractValueX86(uint64_t Type, uint64_t Contents, uint64_t PC) {}

static uint64_t extractValueAArch64(uint64_t Type, uint64_t Contents,
                                    uint64_t PC) {}

static uint64_t extractUImmRISCV(uint32_t Contents) {}

static uint64_t extractIImmRISCV(uint32_t Contents) {}

static uint64_t extractSImmRISCV(uint32_t Contents) {}

static uint64_t extractJImmRISCV(uint32_t Contents) {}

static uint64_t extractBImmRISCV(uint32_t Contents) {}

static uint64_t extractValueRISCV(uint64_t Type, uint64_t Contents,
                                  uint64_t PC) {}

static bool isGOTX86(uint64_t Type) {}

static bool isGOTAArch64(uint64_t Type) {}

static bool isGOTRISCV(uint64_t Type) {}

static bool isTLSX86(uint64_t Type) {}

static bool isTLSAArch64(uint64_t Type) {}

static bool isTLSRISCV(uint64_t Type) {}

static bool isPCRelativeX86(uint64_t Type) {}

static bool isPCRelativeAArch64(uint64_t Type) {}

static bool isPCRelativeRISCV(uint64_t Type) {}

bool Relocation::isSupported(uint64_t Type) {}

size_t Relocation::getSizeForType(uint64_t Type) {}

bool Relocation::skipRelocationType(uint64_t Type) {}

bool Relocation::skipRelocationProcess(uint64_t &Type, uint64_t Contents) {}

uint64_t Relocation::encodeValue(uint64_t Type, uint64_t Value, uint64_t PC) {}

uint64_t Relocation::extractValue(uint64_t Type, uint64_t Contents,
                                  uint64_t PC) {}

bool Relocation::isGOT(uint64_t Type) {}

bool Relocation::isX86GOTPCRELX(uint64_t Type) {}

bool Relocation::isX86GOTPC64(uint64_t Type) {}

bool Relocation::isNone(uint64_t Type) {}

bool Relocation::isRelative(uint64_t Type) {}

bool Relocation::isIRelative(uint64_t Type) {}

bool Relocation::isTLS(uint64_t Type) {}

bool Relocation::isInstructionReference(uint64_t Type) {}

uint64_t Relocation::getNone() {}

uint64_t Relocation::getPC32() {}

uint64_t Relocation::getPC64() {}

bool Relocation::isPCRelative(uint64_t Type) {}

uint64_t Relocation::getAbs64() {}

uint64_t Relocation::getRelative() {}

size_t Relocation::emit(MCStreamer *Streamer) const {}

const MCExpr *Relocation::createExpr(MCStreamer *Streamer) const {}

const MCExpr *Relocation::createExpr(MCStreamer *Streamer,
                                     const MCExpr *RetainedValue) const {}

MCBinaryExpr::Opcode Relocation::getComposeOpcodeFor(uint64_t Type) {}

void Relocation::print(raw_ostream &OS) const {}