mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
c2b29240e0
SHF_ARM_PURECODE flag when being built with the -mexecute-only flag. All code sections of an ELF must have the flag set for the final .text section to be execute-only, otherwise the flag gets removed. A HasData flag is added to MCSection to aid in the determination that the section is empty. A virtual setTargetSectionFlags is added to MCELFObjectTargetWriter to allow subclasses to set target specific section flags to be added to sections which we then use in the ARM backend to set SHF_ARM_PURECODE. Patch by Ivan Lozano! Reviewed By: echristo Differential Revision: https://reviews.llvm.org/D48792 llvm-svn: 341593
32 lines
1.2 KiB
C++
32 lines
1.2 KiB
C++
//===-- MCELFObjectTargetWriter.cpp - ELF Target Writer Subclass ----------===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "llvm/MC/MCELFObjectWriter.h"
|
|
|
|
using namespace llvm;
|
|
|
|
MCELFObjectTargetWriter::MCELFObjectTargetWriter(bool Is64Bit_, uint8_t OSABI_,
|
|
uint16_t EMachine_,
|
|
bool HasRelocationAddend_)
|
|
: OSABI(OSABI_), EMachine(EMachine_),
|
|
HasRelocationAddend(HasRelocationAddend_), Is64Bit(Is64Bit_) {}
|
|
|
|
bool MCELFObjectTargetWriter::needsRelocateWithSymbol(const MCSymbol &Sym,
|
|
unsigned Type) const {
|
|
return false;
|
|
}
|
|
|
|
void
|
|
MCELFObjectTargetWriter::sortRelocs(const MCAssembler &Asm,
|
|
std::vector<ELFRelocationEntry> &Relocs) {
|
|
}
|
|
|
|
void MCELFObjectTargetWriter::addTargetSectionFlags(MCContext &Ctx,
|
|
MCSectionELF &Sec) {}
|