[lld] r243229 - COFF: Use short identifiers. NFC.
Rui Ueyama
ruiu at google.com
Sat Jul 25 14:54:51 PDT 2015
Author: ruiu
Date: Sat Jul 25 16:54:50 2015
New Revision: 243229
URL: http://llvm.org/viewvc/llvm-project?rev=243229&view=rev
Log:
COFF: Use short identifiers. NFC.
Modified:
lld/trunk/COFF/Chunks.cpp
lld/trunk/COFF/Config.h
lld/trunk/COFF/DLL.cpp
lld/trunk/COFF/Driver.cpp
lld/trunk/COFF/Driver.h
lld/trunk/COFF/DriverUtils.cpp
lld/trunk/COFF/InputFiles.cpp
lld/trunk/COFF/ModuleDef.cpp
lld/trunk/COFF/SymbolTable.cpp
lld/trunk/COFF/Symbols.cpp
lld/trunk/COFF/Symbols.h
lld/trunk/COFF/Writer.cpp
Modified: lld/trunk/COFF/Chunks.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Chunks.cpp?rev=243229&r1=243228&r2=243229&view=diff
==============================================================================
--- lld/trunk/COFF/Chunks.cpp (original)
+++ lld/trunk/COFF/Chunks.cpp Sat Jul 25 16:54:50 2015
@@ -126,14 +126,14 @@ void SectionChunk::writeTo(uint8_t *Buf)
SymbolBody *Body = File->getSymbolBody(Rel.SymbolTableIndex)->repl();
uint64_t S = cast<Defined>(Body)->getRVA();
uint64_t P = RVA + Rel.VirtualAddress;
- switch (Config->MachineType) {
- case IMAGE_FILE_MACHINE_AMD64:
+ switch (Config->Machine) {
+ case AMD64:
applyRelX64(Off, Rel.Type, S, P);
break;
- case IMAGE_FILE_MACHINE_I386:
+ case I386:
applyRelX86(Off, Rel.Type, S, P);
break;
- case IMAGE_FILE_MACHINE_ARMNT:
+ case ARMNT:
applyRelARM(Off, Rel.Type, S, P);
break;
default:
@@ -150,16 +150,16 @@ void SectionChunk::addAssociative(Sectio
}
static uint8_t getBaserelType(const coff_relocation &Rel) {
- switch (Config->MachineType) {
- case IMAGE_FILE_MACHINE_AMD64:
+ switch (Config->Machine) {
+ case AMD64:
if (Rel.Type == IMAGE_REL_AMD64_ADDR64)
return IMAGE_REL_BASED_DIR64;
return IMAGE_REL_BASED_ABSOLUTE;
- case IMAGE_FILE_MACHINE_I386:
+ case I386:
if (Rel.Type == IMAGE_REL_I386_DIR32)
return IMAGE_REL_BASED_HIGHLOW;
return IMAGE_REL_BASED_ABSOLUTE;
- case IMAGE_FILE_MACHINE_ARMNT:
+ case ARMNT:
if (Rel.Type == IMAGE_REL_ARM_ADDR32)
return IMAGE_REL_BASED_HIGHLOW;
if (Rel.Type == IMAGE_REL_ARM_MOV32T)
@@ -293,8 +293,7 @@ void StringChunk::writeTo(uint8_t *Buf)
ImportThunkChunkX64::ImportThunkChunkX64(Defined *S) : ImpSymbol(S) {
// Intel Optimization Manual says that all branch targets
// should be 16-byte aligned. MSVC linker does this too.
- if (Config->MachineType == AMD64)
- Align = 16;
+ Align = 16;
}
void ImportThunkChunkX64::writeTo(uint8_t *Buf) {
@@ -368,10 +367,10 @@ void BaserelChunk::writeTo(uint8_t *Buf)
}
uint8_t Baserel::getDefaultType() {
- switch (Config->MachineType) {
- case IMAGE_FILE_MACHINE_AMD64:
+ switch (Config->Machine) {
+ case AMD64:
return IMAGE_REL_BASED_DIR64;
- case IMAGE_FILE_MACHINE_I386:
+ case I386:
return IMAGE_REL_BASED_HIGHLOW;
default:
llvm_unreachable("unknown machine type");
Modified: lld/trunk/COFF/Config.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Config.h?rev=243229&r1=243228&r2=243229&view=diff
==============================================================================
--- lld/trunk/COFF/Config.h (original)
+++ lld/trunk/COFF/Config.h Sat Jul 25 16:54:50 2015
@@ -20,8 +20,6 @@
namespace lld {
namespace coff {
-using llvm::COFF::IMAGE_FILE_MACHINE_AMD64;
-using llvm::COFF::IMAGE_FILE_MACHINE_I386;
using llvm::COFF::IMAGE_FILE_MACHINE_UNKNOWN;
using llvm::COFF::WindowsSubsystem;
using llvm::StringRef;
@@ -54,9 +52,9 @@ struct Export {
// Global configuration.
struct Configuration {
enum ManifestKind { SideBySide, Embed, No };
- bool is64() { return MachineType == IMAGE_FILE_MACHINE_AMD64; }
+ bool is64() { return Machine == AMD64; }
- llvm::COFF::MachineTypes MachineType = IMAGE_FILE_MACHINE_UNKNOWN;
+ llvm::COFF::MachineTypes Machine = IMAGE_FILE_MACHINE_UNKNOWN;
bool Verbose = false;
WindowsSubsystem Subsystem = llvm::COFF::IMAGE_SUBSYSTEM_UNKNOWN;
Undefined *Entry = nullptr;
Modified: lld/trunk/COFF/DLL.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/DLL.cpp?rev=243229&r1=243228&r2=243229&view=diff
==============================================================================
--- lld/trunk/COFF/DLL.cpp (original)
+++ lld/trunk/COFF/DLL.cpp Sat Jul 25 16:54:50 2015
@@ -426,7 +426,7 @@ void DelayLoadContents::create(Defined *
}
Chunk *DelayLoadContents::newThunkChunk(DefinedImportData *S, Chunk *Dir) {
- switch (Config->MachineType) {
+ switch (Config->Machine) {
case AMD64:
return new ThunkChunkX64(S, Dir, Helper);
case I386:
Modified: lld/trunk/COFF/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Driver.cpp?rev=243229&r1=243228&r2=243229&view=diff
==============================================================================
--- lld/trunk/COFF/Driver.cpp (original)
+++ lld/trunk/COFF/Driver.cpp Sat Jul 25 16:54:50 2015
@@ -108,7 +108,7 @@ LinkerDriver::parseDirectives(StringRef
ErrorOr<Export> E = parseExport(Arg->getValue());
if (auto EC = E.getError())
return EC;
- if (Config->MachineType == I386 && E->ExtName.startswith("_"))
+ if (Config->Machine == I386 && E->ExtName.startswith("_"))
E->ExtName = E->ExtName.substr(1);
Config->Exports.push_back(E.get());
break;
@@ -211,8 +211,8 @@ Undefined *LinkerDriver::addUndefined(St
// Symbol names are mangled by appending "_" prefix on x86.
StringRef LinkerDriver::mangle(StringRef Sym) {
- assert(Config->MachineType != IMAGE_FILE_MACHINE_UNKNOWN);
- if (Config->MachineType == IMAGE_FILE_MACHINE_I386)
+ assert(Config->Machine != IMAGE_FILE_MACHINE_UNKNOWN);
+ if (Config->Machine == I386)
return Alloc.save("_" + Sym);
return Sym;
}
@@ -335,7 +335,7 @@ bool LinkerDriver::link(llvm::ArrayRef<c
ErrorOr<MachineTypes> MTOrErr = getMachineType(Arg->getValue());
if (MTOrErr.getError())
return false;
- Config->MachineType = MTOrErr.get();
+ Config->Machine = MTOrErr.get();
}
// Handle /nodefaultlib:<filename>
@@ -529,20 +529,20 @@ bool LinkerDriver::link(llvm::ArrayRef<c
MachineTypes MT = File->getMachineType();
if (MT == IMAGE_FILE_MACHINE_UNKNOWN)
continue;
- if (Config->MachineType == IMAGE_FILE_MACHINE_UNKNOWN) {
- Config->MachineType = MT;
+ if (Config->Machine == IMAGE_FILE_MACHINE_UNKNOWN) {
+ Config->Machine = MT;
continue;
}
- if (Config->MachineType != MT) {
+ if (Config->Machine != MT) {
llvm::errs() << File->getShortName() << ": machine type "
- << machineTypeToStr(MT) << " conflicts with "
- << machineTypeToStr(Config->MachineType) << "\n";
+ << machineToStr(MT) << " conflicts with "
+ << machineToStr(Config->Machine) << "\n";
return false;
}
}
- if (Config->MachineType == IMAGE_FILE_MACHINE_UNKNOWN) {
+ if (Config->Machine == IMAGE_FILE_MACHINE_UNKNOWN) {
llvm::errs() << "warning: /machine is not specified. x64 is assumed.\n";
- Config->MachineType = IMAGE_FILE_MACHINE_AMD64;
+ Config->Machine = AMD64;
}
// Windows specific -- Convert Windows resource files to a COFF file.
@@ -559,8 +559,8 @@ bool LinkerDriver::link(llvm::ArrayRef<c
if (auto *Arg = Args.getLastArg(OPT_entry)) {
Config->Entry = addUndefined(mangle(Arg->getValue()));
} else if (Args.hasArg(OPT_dll) && !Config->NoEntry) {
- StringRef S = (Config->MachineType == I386) ? "__DllMainCRTStartup at 12"
- : "_DllMainCRTStartup";
+ StringRef S = (Config->Machine == I386) ? "__DllMainCRTStartup at 12"
+ : "_DllMainCRTStartup";
Config->Entry = addUndefined(S);
} else if (!Config->NoEntry) {
// Windows specific -- If entry point name is not given, we need to
@@ -580,7 +580,7 @@ bool LinkerDriver::link(llvm::ArrayRef<c
ErrorOr<Export> E = parseExport(Arg->getValue());
if (E.getError())
return false;
- if (Config->MachineType == I386 && !E->Name.startswith("_@?"))
+ if (Config->Machine == I386 && !E->Name.startswith("_@?"))
E->Name = mangle(E->Name);
Config->Exports.push_back(E.get());
}
@@ -600,7 +600,7 @@ bool LinkerDriver::link(llvm::ArrayRef<c
// Handle /delayload
for (auto *Arg : Args.filtered(OPT_delayload)) {
Config->DelayLoads.insert(StringRef(Arg->getValue()).lower());
- if (Config->MachineType == I386) {
+ if (Config->Machine == I386) {
Config->DelayLoadHelper = addUndefined("___delayLoadHelper2 at 8");
} else {
Config->DelayLoadHelper = addUndefined("__delayLoadHelper2");
@@ -612,7 +612,7 @@ bool LinkerDriver::link(llvm::ArrayRef<c
Config->ImageBase = getDefaultImageBase();
Symtab.addRelative(mangle("__ImageBase"), 0);
- if (Config->MachineType == IMAGE_FILE_MACHINE_I386) {
+ if (Config->Machine == I386) {
Config->SEHTable = Symtab.addRelative("___safe_se_handler_table", 0);
Config->SEHCount = Symtab.addAbsolute("___safe_se_handler_count", 0);
}
@@ -653,7 +653,7 @@ bool LinkerDriver::link(llvm::ArrayRef<c
}
// Windows specific -- if __load_config_used can be resolved, resolve it.
- if (Config->MachineType == IMAGE_FILE_MACHINE_I386)
+ if (Config->Machine == I386)
if (Symbol *Sym = Symtab.find("__load_config_used"))
if (isa<Lazy>(Sym->Body))
Symtab.addUndefined("__load_config_used");
Modified: lld/trunk/COFF/Driver.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Driver.h?rev=243229&r1=243228&r2=243229&view=diff
==============================================================================
--- lld/trunk/COFF/Driver.h (original)
+++ lld/trunk/COFF/Driver.h Sat Jul 25 16:54:50 2015
@@ -120,7 +120,7 @@ void printHelp(const char *Argv0);
// For /machine option.
ErrorOr<MachineTypes> getMachineType(StringRef Arg);
-StringRef machineTypeToStr(MachineTypes MT);
+StringRef machineToStr(MachineTypes MT);
// Parses a string in the form of "<integer>[,<integer>]".
std::error_code parseNumbers(StringRef Arg, uint64_t *Addr,
Modified: lld/trunk/COFF/DriverUtils.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/DriverUtils.cpp?rev=243229&r1=243228&r2=243229&view=diff
==============================================================================
--- lld/trunk/COFF/DriverUtils.cpp (original)
+++ lld/trunk/COFF/DriverUtils.cpp Sat Jul 25 16:54:50 2015
@@ -82,11 +82,11 @@ private:
// Returns /machine's value.
ErrorOr<MachineTypes> getMachineType(StringRef S) {
MachineTypes MT = StringSwitch<MachineTypes>(S.lower())
- .Case("x64", IMAGE_FILE_MACHINE_AMD64)
- .Case("amd64", IMAGE_FILE_MACHINE_AMD64)
- .Case("x86", IMAGE_FILE_MACHINE_I386)
- .Case("i386", IMAGE_FILE_MACHINE_I386)
- .Case("arm", IMAGE_FILE_MACHINE_ARMNT)
+ .Case("x64", AMD64)
+ .Case("amd64", AMD64)
+ .Case("x86", I386)
+ .Case("i386", I386)
+ .Case("arm", ARMNT)
.Default(IMAGE_FILE_MACHINE_UNKNOWN);
if (MT != IMAGE_FILE_MACHINE_UNKNOWN)
return MT;
@@ -94,13 +94,13 @@ ErrorOr<MachineTypes> getMachineType(Str
return make_error_code(LLDError::InvalidOption);
}
-StringRef machineTypeToStr(MachineTypes MT) {
+StringRef machineToStr(MachineTypes MT) {
switch (MT) {
- case IMAGE_FILE_MACHINE_ARMNT:
+ case ARMNT:
return "arm";
- case IMAGE_FILE_MACHINE_AMD64:
+ case AMD64:
return "x64";
- case IMAGE_FILE_MACHINE_I386:
+ case I386:
return "x86";
default:
llvm_unreachable("unknown machine type");
@@ -428,7 +428,7 @@ std::error_code fixupExports() {
if (!E.ExtName.empty())
continue;
StringRef S = E.Sym->repl()->getName();
- if (Config->MachineType == I386 && S.startswith("_"))
+ if (Config->Machine == I386 && S.startswith("_"))
S = S.substr(1);
E.ExtName = S;
}
@@ -498,7 +498,7 @@ convertResToCOFF(const std::vector<Memor
// Execute cvtres.exe.
Executor E("cvtres.exe");
- E.add("/machine:" + machineTypeToStr(Config->MachineType));
+ E.add("/machine:" + machineToStr(Config->Machine));
E.add("/readonly");
E.add("/nologo");
E.add("/out:" + Path);
@@ -551,7 +551,7 @@ std::error_code writeImportLibrary() {
Executor E("lib.exe");
E.add("/nologo");
- E.add("/machine:" + machineTypeToStr(Config->MachineType));
+ E.add("/machine:" + machineToStr(Config->Machine));
E.add(Twine("/def:") + Def);
if (Config->Implib.empty()) {
SmallString<128> Out = StringRef(Config->OutputFile);
Modified: lld/trunk/COFF/InputFiles.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/InputFiles.cpp?rev=243229&r1=243228&r2=243229&view=diff
==============================================================================
--- lld/trunk/COFF/InputFiles.cpp (original)
+++ lld/trunk/COFF/InputFiles.cpp Sat Jul 25 16:54:50 2015
@@ -367,11 +367,11 @@ MachineTypes BitcodeFile::getMachineType
return IMAGE_FILE_MACHINE_UNKNOWN;
switch (Triple(M->getTargetTriple()).getArch()) {
case Triple::x86_64:
- return IMAGE_FILE_MACHINE_AMD64;
+ return AMD64;
case Triple::x86:
- return IMAGE_FILE_MACHINE_I386;
+ return I386;
case Triple::arm:
- return IMAGE_FILE_MACHINE_ARMNT;
+ return ARMNT;
default:
return IMAGE_FILE_MACHINE_UNKNOWN;
}
Modified: lld/trunk/COFF/ModuleDef.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/ModuleDef.cpp?rev=243229&r1=243228&r2=243229&view=diff
==============================================================================
--- lld/trunk/COFF/ModuleDef.cpp (original)
+++ lld/trunk/COFF/ModuleDef.cpp Sat Jul 25 16:54:50 2015
@@ -209,7 +209,7 @@ private:
unget();
}
- if (Config->MachineType == I386 && !E.Name.startswith("_@?"))
+ if (Config->Machine == I386 && !E.Name.startswith("_@?"))
E.Name = Alloc->save("_" + E.Name);
for (;;) {
Modified: lld/trunk/COFF/SymbolTable.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/SymbolTable.cpp?rev=243229&r1=243228&r2=243229&view=diff
==============================================================================
--- lld/trunk/COFF/SymbolTable.cpp (original)
+++ lld/trunk/COFF/SymbolTable.cpp Sat Jul 25 16:54:50 2015
@@ -287,7 +287,7 @@ StringRef SymbolTable::findMangle(String
if (Symbol *Sym = find(Name))
if (!isa<Undefined>(Sym->Body))
return Name;
- if (Config->MachineType != I386)
+ if (Config->Machine != I386)
return findByPrefix(("?" + Name + "@@Y").str());
if (!Name.startswith("_"))
return "";
Modified: lld/trunk/COFF/Symbols.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Symbols.cpp?rev=243229&r1=243228&r2=243229&view=diff
==============================================================================
--- lld/trunk/COFF/Symbols.cpp (original)
+++ lld/trunk/COFF/Symbols.cpp Sat Jul 25 16:54:50 2015
@@ -197,9 +197,9 @@ COFFSymbolRef DefinedCOFF::getCOFFSymbol
}
DefinedImportThunk::DefinedImportThunk(StringRef Name, DefinedImportData *S,
- uint16_t MachineType)
+ uint16_t Machine)
: Defined(DefinedImportThunkKind, Name) {
- switch (MachineType) {
+ switch (Machine) {
case AMD64:
Data.reset(new ImportThunkChunkX64(S));
return;
Modified: lld/trunk/COFF/Symbols.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Symbols.h?rev=243229&r1=243228&r2=243229&view=diff
==============================================================================
--- lld/trunk/COFF/Symbols.h (original)
+++ lld/trunk/COFF/Symbols.h Sat Jul 25 16:54:50 2015
@@ -327,8 +327,7 @@ private:
// a regular name. A function pointer is given as a DefinedImportData.
class DefinedImportThunk : public Defined {
public:
- DefinedImportThunk(StringRef Name, DefinedImportData *S,
- uint16_t MachineType);
+ DefinedImportThunk(StringRef Name, DefinedImportData *S, uint16_t Machine);
static bool classof(const SymbolBody *S) {
return S->kind() == DefinedImportThunkKind;
Modified: lld/trunk/COFF/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Writer.cpp?rev=243229&r1=243228&r2=243229&view=diff
==============================================================================
--- lld/trunk/COFF/Writer.cpp (original)
+++ lld/trunk/COFF/Writer.cpp Sat Jul 25 16:54:50 2015
@@ -220,7 +220,7 @@ void Writer::createMiscChunks() {
}
// Create SEH table. x86-only.
- if (Config->MachineType != IMAGE_FILE_MACHINE_I386)
+ if (Config->Machine != I386)
return;
std::set<Defined *> Handlers;
for (ObjectFile *File : Symtab->ObjectFiles) {
@@ -406,7 +406,7 @@ template <typename PEHeaderTy> void Writ
// Write COFF header
auto *COFF = reinterpret_cast<coff_file_header *>(Buf);
Buf += sizeof(*COFF);
- COFF->Machine = Config->MachineType;
+ COFF->Machine = Config->Machine;
COFF->NumberOfSections = OutputSections.size();
COFF->Characteristics = IMAGE_FILE_EXECUTABLE_IMAGE;
if (Config->is64()) {
@@ -441,7 +441,7 @@ template <typename PEHeaderTy> void Writ
Defined *Entry = cast<Defined>(Config->Entry->repl());
PE->AddressOfEntryPoint = Entry->getRVA();
// Pointer to thumb code must have the LSB set, so adjust it.
- if (Config->MachineType == ARMNT)
+ if (Config->Machine == ARMNT)
PE->AddressOfEntryPoint |= 1;
}
PE->SizeOfStackReserve = Config->StackReserve;
More information about the llvm-commits
mailing list