original) (raw)
LLVM: lib/MC/ELFObjectWriter.cpp File Reference (#include "[llvm/ADT/ArrayRef.h](ArrayRef%5F8h%5Fsource.html)"
#include "[llvm/ADT/DenseMap.h](DenseMap%5F8h%5Fsource.html)"
#include "[llvm/ADT/STLExtras.h](STLExtras%5F8h%5Fsource.html)"
#include "[llvm/ADT/SmallVector.h](SmallVector%5F8h%5Fsource.html)"
#include "[llvm/ADT/Statistic.h](Statistic%5F8h%5Fsource.html)"
#include "[llvm/ADT/StringExtras.h](StringExtras%5F8h%5Fsource.html)"
#include "[llvm/ADT/StringRef.h](StringRef%5F8h%5Fsource.html)"
#include "[llvm/ADT/Twine.h](Twine%5F8h%5Fsource.html)"
#include "[llvm/BinaryFormat/ELF.h](BinaryFormat%5F2ELF%5F8h%5Fsource.html)"
#include "[llvm/MC/MCAsmBackend.h](MCAsmBackend%5F8h%5Fsource.html)"
#include "[llvm/MC/MCAsmInfo.h](MCAsmInfo%5F8h%5Fsource.html)"
#include "[llvm/MC/MCAssembler.h](MCAssembler%5F8h%5Fsource.html)"
#include "[llvm/MC/MCContext.h](MCContext%5F8h%5Fsource.html)"
#include "[llvm/MC/MCELFExtras.h](MCELFExtras%5F8h%5Fsource.html)"
#include "[llvm/MC/MCELFObjectWriter.h](MCELFObjectWriter%5F8h%5Fsource.html)"
#include "[llvm/MC/MCExpr.h](MCExpr%5F8h%5Fsource.html)"
#include "[llvm/MC/MCFixup.h](MCFixup%5F8h%5Fsource.html)"
#include "[llvm/MC/MCFixupKindInfo.h](MCFixupKindInfo%5F8h%5Fsource.html)"
#include "[llvm/MC/MCFragment.h](MCFragment%5F8h%5Fsource.html)"
#include "[llvm/MC/MCObjectWriter.h](MCObjectWriter%5F8h%5Fsource.html)"
#include "[llvm/MC/MCSection.h](MCSection%5F8h%5Fsource.html)"
#include "[llvm/MC/MCSectionELF.h](MCSectionELF%5F8h%5Fsource.html)"
#include "[llvm/MC/MCSymbol.h](MCSymbol%5F8h%5Fsource.html)"
#include "[llvm/MC/MCSymbolELF.h](MCSymbolELF%5F8h%5Fsource.html)"
#include "[llvm/MC/MCTargetOptions.h](MCTargetOptions%5F8h%5Fsource.html)"
#include "[llvm/MC/MCValue.h](MCValue%5F8h%5Fsource.html)"
#include "[llvm/MC/StringTableBuilder.h](StringTableBuilder%5F8h%5Fsource.html)"
#include "[llvm/Support/Alignment.h](Alignment%5F8h%5Fsource.html)"
#include "[llvm/Support/Casting.h](Casting%5F8h%5Fsource.html)"
#include "[llvm/Support/Compression.h](Compression%5F8h%5Fsource.html)"
#include "[llvm/Support/Endian.h](Endian%5F8h%5Fsource.html)"
#include "[llvm/Support/EndianStream.h](EndianStream%5F8h%5Fsource.html)"
#include "[llvm/Support/ErrorHandling.h](llvm%5F2Support%5F2ErrorHandling%5F8h%5Fsource.html)"
#include "[llvm/Support/LEB128.h](LEB128%5F8h%5Fsource.html)"
#include "[llvm/Support/SMLoc.h](SMLoc%5F8h%5Fsource.html)"
#include "[llvm/Support/raw_ostream.h](raw%5F%5Fostream%5F8h%5Fsource.html)"
#include "[llvm/TargetParser/Host.h](Host%5F8h%5Fsource.html)"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <memory>
#include <string>
#include <utility>
#include <vector>
Go to the source code of this file.
Namespaces | |
---|---|
namespace | stats |
Macros | |
---|---|
#define | DEBUG_TYPE "elf-object-writer" |
Functions | |
---|---|
static uint8_t | mergeTypeForSet (uint8_t origType, uint8_t newType) |
static bool | isIFunc (const MCSymbolELF *Symbol) |
template<bool Is64> | |
static void | encodeCrel (ArrayRef< ELFRelocationEntry > Relocs, raw_ostream &OS) |
Macro Definition Documentation
◆ DEBUG_TYPE
#define DEBUG_TYPE "elf-object-writer"
Definition at line 60 of file ELFObjectWriter.cpp.
Function Documentation
◆ encodeCrel()
template<bool Is64>
static void encodeCrel ( ArrayRef< ELFRelocationEntry > Relocs, raw_ostream & OS ) | static |
---|
Definition at line 809 of file ELFObjectWriter.cpp.
References OS.
◆ isIFunc()
static bool isIFunc ( const MCSymbolELF * Symbol) | static |
---|
Definition at line 391 of file ELFObjectWriter.cpp.
References mergeTypeForSet(), llvm::ELF::STT_GNU_IFUNC, and llvm::MCSymbolRefExpr::VK_None.
◆ mergeTypeForSet()
static uint8_t mergeTypeForSet ( uint8_t origType, uint8_t newType ) | static |
---|
Definition at line 356 of file ELFObjectWriter.cpp.
References llvm::ELF::STT_FUNC, llvm::ELF::STT_GNU_IFUNC, llvm::ELF::STT_NOTYPE, llvm::ELF::STT_OBJECT, and llvm::ELF::STT_TLS.
Referenced by isIFunc().