<div dir="ltr">Rolled back in r263272. Please redo as a new patch. You don't need another round of review.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 11, 2016 at 10:49 AM, Rui Ueyama <span dir="ltr"><<a href="mailto:ruiu@google.com" target="_blank">ruiu@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I'm going to roll this back because it contains unrelated changes.</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 11, 2016 at 8:40 AM, George Rimar via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: grimar<br>
Date: Fri Mar 11 10:40:55 2016<br>
New Revision: 263252<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=263252&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=263252&view=rev</a><br>
Log:<br>
[ELF] - Change all messages to lowercase to be consistent.<br>
<br>
That is directly opposite to <a href="http://reviews.llvm.org/D18045" rel="noreferrer" target="_blank">http://reviews.llvm.org/D18045</a>,<br>
which was reverted.<br>
<br>
This patch changes all messages to start from lowercase letter if<br>
they were not before.<br>
<br>
That is done to be consistent with clang.<br>
<br>
Differential revision: <a href="http://reviews.llvm.org/D18085" rel="noreferrer" target="_blank">http://reviews.llvm.org/D18085</a><br>
<br>
Modified:<br>
lld/trunk/ELF/Driver.cpp<br>
lld/trunk/ELF/InputFiles.cpp<br>
lld/trunk/ELF/InputFiles.h<br>
lld/trunk/ELF/InputSection.cpp<br>
lld/trunk/ELF/LinkerScript.cpp<br>
lld/trunk/ELF/OutputSections.cpp<br>
lld/trunk/ELF/SymbolTable.cpp<br>
lld/trunk/ELF/Symbols.cpp<br>
lld/trunk/ELF/Target.cpp<br>
lld/trunk/test/ELF/basic.s<br>
lld/trunk/test/ELF/driver.test<br>
lld/trunk/test/ELF/invalid-cie-reference.s<br>
lld/trunk/test/ELF/invalid-elf.test<br>
lld/trunk/test/ELF/invalid-relocations.test<br>
lld/trunk/test/ELF/libsearch.s<br>
lld/trunk/test/ELF/linkerscript-sections-padding.s<br>
lld/trunk/test/ELF/merge-string-error.s<br>
lld/trunk/test/ELF/merge-string-no-null.s<br>
lld/trunk/test/ELF/mips-gnu-hash.s<br>
lld/trunk/test/ELF/ppc64-addr16-error.s<br>
lld/trunk/test/ELF/relocation-in-merge.s<br>
lld/trunk/test/ELF/relocation-past-merge-end.s<br>
lld/trunk/test/ELF/splitstacks.s<br>
lld/trunk/test/ELF/sysroot.s<br>
lld/trunk/test/ELF/writable-merge.s<br>
<br>
Modified: lld/trunk/ELF/Driver.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Driver.cpp?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Driver.cpp?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/ELF/Driver.cpp (original)<br>
+++ lld/trunk/ELF/Driver.cpp Fri Mar 11 10:40:55 2016<br>
@@ -61,9 +61,9 @@ static std::pair<ELFKind, uint16_t> pars<br>
if (S == "aarch64linux")<br>
return {ELF64LEKind, EM_AARCH64};<br>
if (S == "i386pe" || S == "i386pep" || S == "thumb2pe")<br>
- error("Windows targets are not supported on the ELF frontend: " + S);<br>
+ error("windows targets are not supported on the ELF frontend: " + S);<br>
else<br>
- error("Unknown emulation: " + S);<br>
+ error("unknown emulation: " + S);<br>
return {ELFNoneKind, 0};<br>
}<br>
<br>
@@ -112,7 +112,7 @@ void LinkerDriver::addFile(StringRef Pat<br>
return;<br>
case file_magic::elf_shared_object:<br>
if (Config->Relocatable) {<br>
- error("Attempted static link of dynamic object " + Path);<br>
+ error("attempted static link of dynamic object " + Path);<br>
return;<br>
}<br>
Files.push_back(createSharedFile(MBRef));<br>
@@ -126,7 +126,7 @@ void LinkerDriver::addFile(StringRef Pat<br>
void LinkerDriver::addLibrary(StringRef Name) {<br>
std::string Path = searchLibrary(Name);<br>
if (Path.empty())<br>
- error("Unable to find library -l" + Name);<br>
+ error("unable to find library -l" + Name);<br>
else<br>
addFile(Path);<br>
}<br>
@@ -137,7 +137,7 @@ static void checkOptions(opt::InputArgLi<br>
// The MIPS ABI as of 2016 does not support the GNU-style symbol lookup<br>
// table which is a relatively new feature.<br>
if (Config->EMachine == EM_MIPS && Config->GnuHash)<br>
- error("The .gnu.hash section is not compatible with the MIPS target.");<br>
+ error("the .gnu.hash section is not compatible with the MIPS target.");<br>
<br>
if (Config->EMachine == EM_AMDGPU && !Config->Entry.empty())<br>
error("-e option is not valid for AMDGPU.");<br>
@@ -262,7 +262,7 @@ void LinkerDriver::readConfigs(opt::Inpu<br>
if (auto *Arg = Args.getLastArg(OPT_O)) {<br>
StringRef Val = Arg->getValue();<br>
if (Val.getAsInteger(10, Config->Optimize))<br>
- error("Invalid optimization level");<br>
+ error("invalid optimization level");<br>
}<br>
<br>
if (auto *Arg = Args.getLastArg(OPT_hash_style)) {<br>
@@ -273,7 +273,7 @@ void LinkerDriver::readConfigs(opt::Inpu<br>
} else if (S == "both") {<br>
Config->GnuHash = true;<br>
} else if (S != "sysv")<br>
- error("Unknown hash style: " + S);<br>
+ error("unknown hash style: " + S);<br>
}<br>
<br>
for (auto *Arg : Args.filtered(OPT_undefined))<br>
<br>
Modified: lld/trunk/ELF/InputFiles.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.cpp?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.cpp?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/ELF/InputFiles.cpp (original)<br>
+++ lld/trunk/ELF/InputFiles.cpp Fri Mar 11 10:40:55 2016<br>
@@ -53,7 +53,7 @@ ELFFileBase<ELFT>::getElfSymbols(bool On<br>
uint32_t NumSymbols = std::distance(Syms.begin(), Syms.end());<br>
uint32_t FirstNonLocal = Symtab->sh_info;<br>
if (FirstNonLocal > NumSymbols)<br>
- fatal("Invalid sh_info in symbol table");<br>
+ fatal("invalid sh_info in symbol table");<br>
<br>
if (OnlyGlobals)<br>
return make_range(Syms.begin() + FirstNonLocal, Syms.end());<br>
@@ -137,7 +137,7 @@ elf::ObjectFile<ELFT>::getShtGroupEntrie<br>
ArrayRef<uint32_X> Entries =<br>
check(Obj.template getSectionContentsAsArray<uint32_X>(&Sec));<br>
if (Entries.empty() || Entries[0] != GRP_COMDAT)<br>
- fatal("Unsupported SHT_GROUP format");<br>
+ fatal("unsupported SHT_GROUP format");<br>
return Entries.slice(1);<br>
}<br>
<br>
@@ -148,7 +148,7 @@ static bool shouldMerge(const typename E<br>
if (!(Flags & SHF_MERGE))<br>
return false;<br>
if (Flags & SHF_WRITE)<br>
- fatal("Writable SHF_MERGE sections are not supported");<br>
+ fatal("writable SHF_MERGE sections are not supported");<br>
uintX_t EntSize = Sec.sh_entsize;<br>
if (!EntSize || Sec.sh_size % EntSize)<br>
fatal("SHF_MERGE section size must be a multiple of sh_entsize");<br>
@@ -187,7 +187,7 @@ void elf::ObjectFile<ELFT>::initializeSe<br>
continue;<br>
for (uint32_t SecIndex : getShtGroupEntries(Sec)) {<br>
if (SecIndex >= Size)<br>
- fatal("Invalid section index in group");<br>
+ fatal("invalid section index in group");<br>
Sections[SecIndex] = InputSection<ELFT>::Discarded;<br>
}<br>
break;<br>
@@ -204,7 +204,7 @@ void elf::ObjectFile<ELFT>::initializeSe<br>
case SHT_REL: {<br>
uint32_t RelocatedSectionIndex = Sec.sh_info;<br>
if (RelocatedSectionIndex >= Size)<br>
- fatal("Invalid relocated section index");<br>
+ fatal("invalid relocated section index");<br>
InputSectionBase<ELFT> *RelocatedSection =<br>
Sections[RelocatedSectionIndex];<br>
// Strictly speaking, a relocation section must be included in the<br>
@@ -213,7 +213,7 @@ void elf::ObjectFile<ELFT>::initializeSe<br>
if (RelocatedSection == InputSection<ELFT>::Discarded)<br>
continue;<br>
if (!RelocatedSection)<br>
- fatal("Unsupported relocation reference");<br>
+ fatal("unsupported relocation reference");<br>
if (Config->Relocatable) {<br>
// For -r, relocation sections are handled as regular input sections.<br>
Sections[I] = new (Alloc) InputSection<ELFT>(this, &Sec);<br>
@@ -221,10 +221,10 @@ void elf::ObjectFile<ELFT>::initializeSe<br>
S->RelocSections.push_back(&Sec);<br>
} else if (auto *S = dyn_cast<EHInputSection<ELFT>>(RelocatedSection)) {<br>
if (S->RelocSection)<br>
- fatal("Multiple relocation sections to .eh_frame are not supported");<br>
+ fatal("multiple relocation sections to .eh_frame are not supported");<br>
S->RelocSection = &Sec;<br>
} else {<br>
- fatal("Relocations pointing to SHF_MERGE are not supported");<br>
+ fatal("relocations pointing to SHF_MERGE are not supported");<br>
}<br>
break;<br>
}<br>
@@ -247,7 +247,7 @@ elf::ObjectFile<ELFT>::createInputSectio<br>
return InputSection<ELFT>::Discarded;<br>
<br>
if (Name == ".note.GNU-split-stack")<br>
- error("Objects using splitstacks are not supported");<br>
+ error("objects using splitstacks are not supported");<br>
<br>
// A MIPS object file has a special section that contains register<br>
// usage info, which needs to be handled by the linker specially.<br>
@@ -281,7 +281,7 @@ elf::ObjectFile<ELFT>::getSection(const<br>
if (Index == 0)<br>
return nullptr;<br>
if (Index >= Sections.size() || !Sections[Index])<br>
- fatal("Invalid section index");<br>
+ fatal("invalid section index");<br>
InputSectionBase<ELFT> *S = Sections[Index];<br>
if (S == InputSectionBase<ELFT>::Discarded)<br>
return S;<br>
@@ -397,7 +397,7 @@ template <class ELFT> void SharedFile<EL<br>
if (Dyn.d_tag == DT_SONAME) {<br>
uintX_t Val = Dyn.getVal();<br>
if (Val >= this->StringTable.size())<br>
- fatal("Invalid DT_SONAME entry");<br>
+ fatal("invalid DT_SONAME entry");<br>
SoName = StringRef(this->StringTable.data() + Val);<br>
return;<br>
}<br>
@@ -433,51 +433,7 @@ static uint8_t getGvVisibility(const Glo<br>
case GlobalValue::ProtectedVisibility:<br>
return STV_PROTECTED;<br>
}<br>
- llvm_unreachable("Unknown visibility");<br>
-}<br>
-<br>
-SymbolBody *<br>
-BitcodeFile::createSymbolBody(const DenseSet<const Comdat *> &KeptComdats,<br>
- const IRObjectFile &Obj,<br>
- const BasicSymbolRef &Sym) {<br>
- const GlobalValue *GV = Obj.getSymbolGV(Sym.getRawDataRefImpl());<br>
- assert(GV);<br>
- if (const Comdat *C = GV->getComdat())<br>
- if (!KeptComdats.count(C))<br>
- return nullptr;<br>
-<br>
- uint8_t Visibility = getGvVisibility(GV);<br>
-<br>
- SmallString<64> Name;<br>
- raw_svector_ostream OS(Name);<br>
- Sym.printName(OS);<br>
- StringRef NameRef = Saver.save(StringRef(Name));<br>
-<br>
- const Module &M = Obj.getModule();<br>
- SymbolBody *Body;<br>
- uint32_t Flags = Sym.getFlags();<br>
- bool IsWeak = Flags & BasicSymbolRef::SF_Weak;<br>
- if (Flags & BasicSymbolRef::SF_Undefined) {<br>
- Body = new (Alloc) Undefined(NameRef, IsWeak, Visibility, false);<br>
- } else if (Flags & BasicSymbolRef::SF_Common) {<br>
- const DataLayout &DL = M.getDataLayout();<br>
- uint64_t Size = DL.getTypeAllocSize(GV->getValueType());<br>
- Body = new (Alloc)<br>
- DefinedCommon(NameRef, Size, GV->getAlignment(), IsWeak, Visibility);<br>
- } else {<br>
- Body = new (Alloc) DefinedBitcode(NameRef, IsWeak, Visibility);<br>
- }<br>
- Body->IsTls = GV->isThreadLocal();<br>
- return Body;<br>
-}<br>
-<br>
-bool BitcodeFile::shouldSkip(const BasicSymbolRef &Sym) {<br>
- uint32_t Flags = Sym.getFlags();<br>
- if (!(Flags & BasicSymbolRef::SF_Global))<br>
- return true;<br>
- if (Flags & BasicSymbolRef::SF_FormatSpecific)<br>
- return true;<br>
- return false;<br>
+ llvm_unreachable("unknown visibility");<br>
}<br>
<br>
void BitcodeFile::parse(DenseSet<StringRef> &ComdatGroups) {<br>
@@ -492,9 +448,43 @@ void BitcodeFile::parse(DenseSet<StringR<br>
KeptComdats.insert(&P.second);<br>
}<br>
<br>
- for (const BasicSymbolRef &Sym : Obj->symbols())<br>
- if (!shouldSkip(Sym))<br>
- SymbolBodies.push_back(createSymbolBody(KeptComdats, *Obj, Sym));<br>
+ for (const BasicSymbolRef &Sym : Obj->symbols()) {<br>
+ const GlobalValue *GV = Obj->getSymbolGV(Sym.getRawDataRefImpl());<br>
+ assert(GV);<br>
+ uint32_t Flags = Sym.getFlags();<br>
+ if (const Comdat *C = GV->getComdat())<br>
+ if (!KeptComdats.count(C))<br>
+ continue;<br>
+ if (!(Flags & BasicSymbolRef::SF_Global))<br>
+ continue;<br>
+ if (GV->hasAppendingLinkage()) {<br>
+ ExtraKeeps.push_back(GV->getName().copy(Alloc));<br>
+ continue;<br>
+ }<br>
+ if (Flags & BasicSymbolRef::SF_FormatSpecific)<br>
+ continue;<br>
+ uint8_t Visibility = getGvVisibility(GV);<br>
+<br>
+ SmallString<64> Name;<br>
+ raw_svector_ostream OS(Name);<br>
+ Sym.printName(OS);<br>
+ StringRef NameRef = Saver.save(StringRef(Name));<br>
+<br>
+ SymbolBody *Body;<br>
+ bool IsWeak = Flags & BasicSymbolRef::SF_Weak;<br>
+ if (Flags & BasicSymbolRef::SF_Undefined) {<br>
+ Body = new (Alloc) Undefined(NameRef, IsWeak, Visibility, false);<br>
+ } else if (Flags & BasicSymbolRef::SF_Common) {<br>
+ const DataLayout &DL = M.getDataLayout();<br>
+ uint64_t Size = DL.getTypeAllocSize(GV->getValueType());<br>
+ Body = new (Alloc)<br>
+ DefinedCommon(NameRef, Size, GV->getAlignment(), IsWeak, Visibility);<br>
+ } else {<br>
+ Body = new (Alloc) DefinedBitcode(NameRef, IsWeak, Visibility);<br>
+ }<br>
+ Body->IsTls = GV->isThreadLocal();<br>
+ SymbolBodies.push_back(Body);<br>
+ }<br>
}<br>
<br>
template <typename T><br>
@@ -516,7 +506,7 @@ template <template <class> class T><br>
static std::unique_ptr<InputFile> createELFFile(MemoryBufferRef MB) {<br>
std::pair<unsigned char, unsigned char> Type = getElfArchType(MB.getBuffer());<br>
if (Type.second != ELF::ELFDATA2LSB && Type.second != ELF::ELFDATA2MSB)<br>
- fatal("Invalid data encoding: " + MB.getBufferIdentifier());<br>
+ fatal("invalid data encoding: " + MB.getBufferIdentifier());<br>
<br>
if (Type.first == ELF::ELFCLASS32) {<br>
if (Type.second == ELF::ELFDATA2LSB)<br>
@@ -528,7 +518,7 @@ static std::unique_ptr<InputFile> create<br>
return createELFFileAux<T<ELF64LE>>(MB);<br>
return createELFFileAux<T<ELF64BE>>(MB);<br>
}<br>
- fatal("Invalid file class: " + MB.getBufferIdentifier());<br>
+ fatal("invalid file class: " + MB.getBufferIdentifier());<br>
}<br>
<br>
std::unique_ptr<InputFile> elf::createObjectFile(MemoryBufferRef MB,<br>
<br>
Modified: lld/trunk/ELF/InputFiles.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.h?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputFiles.h?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/ELF/InputFiles.h (original)<br>
+++ lld/trunk/ELF/InputFiles.h Fri Mar 11 10:40:55 2016<br>
@@ -18,10 +18,8 @@<br>
#include "lld/Core/LLVM.h"<br>
#include "llvm/ADT/DenseSet.h"<br>
#include "llvm/ADT/STLExtras.h"<br>
-#include "llvm/IR/Comdat.h"<br>
#include "llvm/Object/Archive.h"<br>
#include "llvm/Object/ELF.h"<br>
-#include "llvm/Object/IRObjectFile.h"<br>
#include "llvm/Support/StringSaver.h"<br>
<br>
namespace lld {<br>
@@ -182,16 +180,19 @@ public:<br>
static bool classof(const InputFile *F);<br>
void parse(llvm::DenseSet<StringRef> &ComdatGroups);<br>
ArrayRef<SymbolBody *> getSymbols() { return SymbolBodies; }<br>
- static bool shouldSkip(const llvm::object::BasicSymbolRef &Sym);<br>
+ ArrayRef<StringRef> getExtraKeeps() { return ExtraKeeps; }<br>
<br>
private:<br>
std::vector<SymbolBody *> SymbolBodies;<br>
+ // Some symbols like llvm.global_ctors are internal to the IR and so<br>
+ // don't show up in SymbolBodies, but must be kept when creating the<br>
+ // combined LTO module. We track them here.<br>
+ // We currently use a different Module for creating SymbolBody's vs when<br>
+ // we are creating the combined LTO module, and so we can't store IR<br>
+ // pointers directly and must rely on the IR names.<br>
+ std::vector<StringRef> ExtraKeeps;<br>
llvm::BumpPtrAllocator Alloc;<br>
llvm::StringSaver Saver{Alloc};<br>
- SymbolBody *<br>
- createSymbolBody(const llvm::DenseSet<const llvm::Comdat *> &KeptComdats,<br>
- const llvm::object::IRObjectFile &Obj,<br>
- const llvm::object::BasicSymbolRef &Sym);<br>
};<br>
<br>
// .so file.<br>
<br>
Modified: lld/trunk/ELF/InputSection.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputSection.cpp?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/InputSection.cpp?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/ELF/InputSection.cpp (original)<br>
+++ lld/trunk/ELF/InputSection.cpp Fri Mar 11 10:40:55 2016<br>
@@ -25,7 +25,7 @@ using namespace lld;<br>
using namespace lld::elf;<br>
<br>
template <class ELFT><br>
-InputSectionBase<ELFT>::InputSectionBase(elf::ObjectFile<ELFT> *File,<br>
+InputSectionBase<ELFT>::InputSectionBase(ObjectFile<ELFT> *File,<br>
const Elf_Shdr *Header,<br>
Kind SectionKind)<br>
: Header(Header), File(File), SectionKind(SectionKind), Repl(this) {<br>
@@ -62,7 +62,7 @@ InputSectionBase<ELFT>::getOffset(uintX_<br>
// so it should never be copied to output.<br>
llvm_unreachable("MIPS .reginfo reached writeTo().");<br>
}<br>
- llvm_unreachable("Invalid section kind");<br>
+ llvm_unreachable("invalid section kind");<br>
}<br>
<br>
template <class ELFT><br>
@@ -93,8 +93,7 @@ InputSectionBase<ELFT>::getRelocTarget(c<br>
}<br>
<br>
template <class ELFT><br>
-InputSection<ELFT>::InputSection(elf::ObjectFile<ELFT> *F,<br>
- const Elf_Shdr *Header)<br>
+InputSection<ELFT>::InputSection(ObjectFile<ELFT> *F, const Elf_Shdr *Header)<br>
: InputSectionBase<ELFT>(F, Header, Base::Regular) {}<br>
<br>
template <class ELFT><br>
@@ -332,12 +331,12 @@ void InputSection<ELFT>::replace(InputSe<br>
<br>
template <class ELFT><br>
SplitInputSection<ELFT>::SplitInputSection(<br>
- elf::ObjectFile<ELFT> *File, const Elf_Shdr *Header,<br>
+ ObjectFile<ELFT> *File, const Elf_Shdr *Header,<br>
typename InputSectionBase<ELFT>::Kind SectionKind)<br>
: InputSectionBase<ELFT>(File, Header, SectionKind) {}<br>
<br>
template <class ELFT><br>
-EHInputSection<ELFT>::EHInputSection(elf::ObjectFile<ELFT> *F,<br>
+EHInputSection<ELFT>::EHInputSection(ObjectFile<ELFT> *F,<br>
const Elf_Shdr *Header)<br>
: SplitInputSection<ELFT>(F, Header, InputSectionBase<ELFT>::EHFrame) {<br>
// Mark .eh_frame sections as live by default because there are<br>
@@ -387,7 +386,7 @@ SplitInputSection<ELFT>::getRangeAndSize<br>
StringRef Data((const char *)D.data(), D.size());<br>
uintX_t Size = Data.size();<br>
if (Offset >= Size)<br>
- fatal("Entry is past the end of the section");<br>
+ fatal("entry is past the end of the section");<br>
<br>
// Find the element this offset points to.<br>
auto I = std::upper_bound(<br>
@@ -425,13 +424,13 @@ MergeInputSection<ELFT>::getOffset(uintX<br>
}<br>
<br>
template <class ELFT><br>
-MipsReginfoInputSection<ELFT>::MipsReginfoInputSection(elf::ObjectFile<ELFT> *F,<br>
+MipsReginfoInputSection<ELFT>::MipsReginfoInputSection(ObjectFile<ELFT> *F,<br>
const Elf_Shdr *Hdr)<br>
: InputSectionBase<ELFT>(F, Hdr, InputSectionBase<ELFT>::MipsReginfo) {<br>
// Initialize this->Reginfo.<br>
ArrayRef<uint8_t> D = this->getSectionData();<br>
if (D.size() != sizeof(Elf_Mips_RegInfo<ELFT>))<br>
- fatal("Invalid size of .reginfo section");<br>
+ fatal("invalid size of .reginfo section");<br>
Reginfo = reinterpret_cast<const Elf_Mips_RegInfo<ELFT> *>(D.data());<br>
}<br>
<br>
<br>
Modified: lld/trunk/ELF/LinkerScript.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/LinkerScript.cpp?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/LinkerScript.cpp?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/ELF/LinkerScript.cpp (original)<br>
+++ lld/trunk/ELF/LinkerScript.cpp Fri Mar 11 10:40:55 2016<br>
@@ -296,7 +296,7 @@ void ScriptParser::addFile(StringRef S)<br>
} else {<br>
std::string Path = findFromSearchPaths(S);<br>
if (Path.empty())<br>
- setError("Unable to find " + S);<br>
+ setError("unable to find " + S);<br>
else<br>
Driver->addFile(Saver.save(Path));<br>
}<br>
@@ -419,7 +419,7 @@ std::vector<uint8_t> ScriptParser::parse<br>
S = S.substr(2);<br>
uint8_t H;<br>
if (B.getAsInteger(16, H)) {<br>
- setError("Not a HEX value: " + B);<br>
+ setError("not a HEX value: " + B);<br>
return {};<br>
}<br>
Hex.push_back(H);<br>
@@ -442,13 +442,13 @@ void ScriptParser::readOutputSectionDesc<br>
readSectionPatterns(OutSec, true);<br>
expect(")");<br>
} else {<br>
- setError("Unknown command " + Tok);<br>
+ setError("unknown command " + Tok);<br>
}<br>
}<br>
StringRef Tok = peek();<br>
if (Tok.startswith("=")) {<br>
if (!Tok.startswith("=0x")) {<br>
- setError("Filler should be a HEX value");<br>
+ setError("filler should be a HEX value");<br>
return;<br>
}<br>
Tok = Tok.substr(3);<br>
<br>
Modified: lld/trunk/ELF/OutputSections.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/OutputSections.cpp?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/OutputSections.cpp?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/ELF/OutputSections.cpp (original)<br>
+++ lld/trunk/ELF/OutputSections.cpp Fri Mar 11 10:40:55 2016<br>
@@ -256,7 +256,7 @@ typename ELFFile<ELFT>::uintX_t DynamicR<br>
case Off_GotPlt:<br>
return Sym->getGotPltVA<ELFT>();<br>
}<br>
- llvm_unreachable("Invalid offset kind");<br>
+ llvm_unreachable("invalid offset kind");<br>
}<br>
<br>
template <class ELFT> void RelocationSection<ELFT>::writeTo(uint8_t *Buf) {<br>
@@ -1150,7 +1150,7 @@ void EHOutputSection<ELFT>::addSectionAu<br>
uint32_t CieOffset = Offset + 4 - ID;<br>
auto I = OffsetToIndex.find(CieOffset);<br>
if (I == OffsetToIndex.end())<br>
- fatal("Invalid CIE reference");<br>
+ fatal("invalid CIE reference");<br>
Cies[I->second].Fdes.push_back(EHRegion<ELFT>(S, Index));<br>
Out<ELFT>::EhFrameHdr->reserveFde();<br>
this->Header.sh_size += alignTo(Length, sizeof(uintX_t));<br>
@@ -1266,7 +1266,7 @@ void MergeOutputSection<ELFT>::addSectio<br>
while (!Data.empty()) {<br>
size_t End = findNull(Data, EntSize);<br>
if (End == StringRef::npos)<br>
- fatal("String is not null terminated");<br>
+ fatal("string is not null terminated");<br>
StringRef Entry = Data.substr(0, End + EntSize);<br>
uintX_t OutputOffset = Builder.add(Entry);<br>
if (shouldTailMerge())<br>
@@ -1512,7 +1512,7 @@ SymbolTableSection<ELFT>::getOutputSecti<br>
case SymbolBody::LazyKind:<br>
break;<br>
case SymbolBody::DefinedBitcodeKind:<br>
- llvm_unreachable("Should have been replaced");<br>
+ llvm_unreachable("should have been replaced");<br>
}<br>
return nullptr;<br>
}<br>
<br>
Modified: lld/trunk/ELF/SymbolTable.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/SymbolTable.cpp?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/SymbolTable.cpp?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/ELF/SymbolTable.cpp (original)<br>
+++ lld/trunk/ELF/SymbolTable.cpp Fri Mar 11 10:40:55 2016<br>
@@ -84,8 +84,7 @@ void SymbolTable<ELFT>::addFile(std::uni<br>
BitcodeFiles.emplace_back(cast<BitcodeFile>(File.release()));<br>
F->parse(ComdatGroups);<br>
for (SymbolBody *B : F->getSymbols())<br>
- if (B)<br>
- resolve(B);<br>
+ resolve(B);<br>
return;<br>
}<br>
<br>
@@ -119,7 +118,7 @@ std::unique_ptr<InputFile> SymbolTable<E<br>
std::string ErrMsg;<br>
const Target *TheTarget = TargetRegistry::lookupTarget(TripleStr, ErrMsg);<br>
if (!TheTarget)<br>
- fatal("Target not found: " + ErrMsg);<br>
+ fatal("target not found: " + ErrMsg);<br>
<br>
TargetOptions Options;<br>
Reloc::Model R = Config->Shared ? Reloc::PIC_ : Reloc::Static;<br>
@@ -130,7 +129,7 @@ std::unique_ptr<InputFile> SymbolTable<E<br>
legacy::PassManager CodeGenPasses;<br>
if (TM->addPassesToEmitFile(CodeGenPasses, OS,<br>
TargetMachine::CGFT_ObjectFile))<br>
- fatal("Failed to setup codegen");<br>
+ fatal("failed to setup codegen");<br>
CodeGenPasses.run(M);<br>
LtoBuffer = MemoryBuffer::getMemBuffer(OwningLTOData, "", false);<br>
if (Config->SaveTemps)<br>
@@ -140,33 +139,28 @@ std::unique_ptr<InputFile> SymbolTable<E<br>
<br>
static void addBitcodeFile(IRMover &Mover, BitcodeFile &F,<br>
LLVMContext &Context) {<br>
-<br>
- std::unique_ptr<IRObjectFile> Obj =<br>
- check(IRObjectFile::create(F.MB, Context));<br>
+ std::unique_ptr<MemoryBuffer> Buffer =<br>
+ MemoryBuffer::getMemBuffer(F.MB, false);<br>
+ std::unique_ptr<Module> M =<br>
+ check(getLazyBitcodeModule(std::move(Buffer), Context,<br>
+ /*ShouldLazyLoadMetadata*/ false));<br>
std::vector<GlobalValue *> Keep;<br>
- unsigned BodyIndex = 0;<br>
- ArrayRef<SymbolBody *> Bodies = F.getSymbols();<br>
-<br>
- for (const BasicSymbolRef &Sym : Obj->symbols()) {<br>
- GlobalValue *GV = Obj->getSymbolGV(Sym.getRawDataRefImpl());<br>
- assert(GV);<br>
- if (GV->hasAppendingLinkage()) {<br>
- Keep.push_back(GV);<br>
- continue;<br>
- }<br>
- if (BitcodeFile::shouldSkip(Sym))<br>
- continue;<br>
- SymbolBody *B = Bodies[BodyIndex++];<br>
- if (!B || &B->repl() != B)<br>
+ for (SymbolBody *B : F.getSymbols()) {<br>
+ if (&B->repl() != B)<br>
continue;<br>
auto *DB = dyn_cast<DefinedBitcode>(B);<br>
if (!DB)<br>
continue;<br>
+ GlobalValue *GV = M->getNamedValue(B->getName());<br>
+ assert(GV);<br>
Keep.push_back(GV);<br>
}<br>
-<br>
- Mover.move(Obj->takeModule(), Keep,<br>
- [](GlobalValue &, IRMover::ValueAdder) {});<br>
+ for (StringRef S : F.getExtraKeeps()) {<br>
+ GlobalValue *GV = M->getNamedValue(S);<br>
+ assert(GV);<br>
+ Keep.push_back(GV);<br>
+ }<br>
+ Mover.move(std::move(M), Keep, [](GlobalValue &, IRMover::ValueAdder) {});<br>
}<br>
<br>
// This is for use when debugging LTO.<br>
<br>
Modified: lld/trunk/ELF/Symbols.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Symbols.cpp?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Symbols.cpp?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/ELF/Symbols.cpp (original)<br>
+++ lld/trunk/ELF/Symbols.cpp Fri Mar 11 10:40:55 2016<br>
@@ -73,12 +73,12 @@ getSymVA(const SymbolBody &Body, typenam<br>
case SymbolBody::UndefinedKind:<br>
return 0;<br>
case SymbolBody::LazyKind:<br>
- assert(Body.isUsedInRegularObj() && "Lazy symbol reached writer");<br>
+ assert(Body.isUsedInRegularObj() && "lazy symbol reached writer");<br>
return 0;<br>
case SymbolBody::DefinedBitcodeKind:<br>
- llvm_unreachable("Should have been replaced");<br>
+ llvm_unreachable("should have been replaced");<br>
}<br>
- llvm_unreachable("Invalid symbol kind");<br>
+ llvm_unreachable("invalid symbol kind");<br>
}<br>
<br>
template <class ELFT><br>
<br>
Modified: lld/trunk/ELF/Target.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Target.cpp?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Target.cpp?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/ELF/Target.cpp (original)<br>
+++ lld/trunk/ELF/Target.cpp Fri Mar 11 10:40:55 2016<br>
@@ -46,28 +46,28 @@ template <unsigned N> static void checkI<br>
if (isInt<N>(V))<br>
return;<br>
StringRef S = getELFRelocationTypeName(Config->EMachine, Type);<br>
- error("Relocation " + S + " out of range");<br>
+ error("relocation " + S + " out of range");<br>
}<br>
<br>
template <unsigned N> static void checkUInt(uint64_t V, uint32_t Type) {<br>
if (isUInt<N>(V))<br>
return;<br>
StringRef S = getELFRelocationTypeName(Config->EMachine, Type);<br>
- error("Relocation " + S + " out of range");<br>
+ error("relocation " + S + " out of range");<br>
}<br>
<br>
template <unsigned N> static void checkIntUInt(uint64_t V, uint32_t Type) {<br>
if (isInt<N>(V) || isUInt<N>(V))<br>
return;<br>
StringRef S = getELFRelocationTypeName(Config->EMachine, Type);<br>
- error("Relocation " + S + " out of range");<br>
+ error("relocation " + S + " out of range");<br>
}<br>
<br>
template <unsigned N> static void checkAlignment(uint64_t V, uint32_t Type) {<br>
if ((V & (N - 1)) == 0)<br>
return;<br>
StringRef S = getELFRelocationTypeName(Config->EMachine, Type);<br>
- error("Improper alignment for relocation " + S);<br>
+ error("improper alignment for relocation " + S);<br>
}<br>
<br>
template <class ELFT> bool isGnuIFunc(const SymbolBody &S) {<br>
@@ -246,7 +246,7 @@ TargetInfo *createTarget() {<br>
case ELF32BEKind:<br>
return new MipsTargetInfo<ELF32BE>();<br>
default:<br>
- fatal("Unsupported MIPS target");<br>
+ fatal("unsupported MIPS target");<br>
}<br>
case EM_PPC:<br>
return new PPCTargetInfo();<br>
@@ -255,7 +255,7 @@ TargetInfo *createTarget() {<br>
case EM_X86_64:<br>
return new X86_64TargetInfo();<br>
}<br>
- fatal("Unknown target machine");<br>
+ fatal("unknown target machine");<br>
}<br>
<br>
TargetInfo::~TargetInfo() {}<br>
@@ -566,7 +566,7 @@ size_t X86TargetInfo::relaxTls(uint8_t *<br>
relocateOne(Loc, BufEnd, R_386_TLS_LE, P, SA);<br>
return 0;<br>
}<br>
- llvm_unreachable("Unknown TLS optimization");<br>
+ llvm_unreachable("unknown TLS optimization");<br>
}<br>
<br>
// "Ulrich Drepper, ELF Handling For Thread-Local Storage" (5.1<br>
@@ -914,7 +914,7 @@ size_t X86_64TargetInfo::relaxTls(uint8_<br>
// The next relocation should be against __tls_get_addr, so skip it<br>
return 1;<br>
}<br>
- llvm_unreachable("Unknown TLS optimization");<br>
+ llvm_unreachable("unknown TLS optimization");<br>
}<br>
<br>
void X86_64TargetInfo::relocateOne(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type,<br>
@@ -1470,7 +1470,7 @@ size_t AArch64TargetInfo::relaxTls(uint8<br>
case R_AARCH64_TLSDESC_ADD_LO12_NC:<br>
case R_AARCH64_TLSDESC_CALL: {<br>
if (canBePreempted(S))<br>
- fatal("Unsupported TLS optimization");<br>
+ fatal("unsupported TLS optimization");<br>
uint64_t X = S.getVA<ELF64LE>();<br>
relocateTlsGdToLe(Type, Loc, BufEnd, P, X);<br>
return 0;<br>
@@ -1480,7 +1480,7 @@ size_t AArch64TargetInfo::relaxTls(uint8<br>
relocateTlsIeToLe(Type, Loc, BufEnd, P, S.getVA<ELF64LE>());<br>
return 0;<br>
}<br>
- llvm_unreachable("Unknown TLS optimization");<br>
+ llvm_unreachable("unknown TLS optimization");<br>
}<br>
<br>
// Global-Dynamic relocations can be relaxed to Local-Exec if both binary is<br>
@@ -1519,7 +1519,7 @@ void AArch64TargetInfo::relocateTlsGdToL<br>
NewInst = 0xf2800000 | ((X & 0xffff) << 5);<br>
break;<br>
default:<br>
- llvm_unreachable("Unsupported Relocation for TLS GD to LE relax");<br>
+ llvm_unreachable("unsupported Relocation for TLS GD to LE relax");<br>
}<br>
write32le(Loc, NewInst);<br>
}<br>
@@ -1544,7 +1544,7 @@ void AArch64TargetInfo::relocateTlsIeToL<br>
unsigned RegNo = (Inst & 0x1f);<br>
NewInst = (0xf2800000 | RegNo) | ((X & 0xffff) << 5);<br>
} else {<br>
- llvm_unreachable("Invalid Relocation for TLS IE to LE Relax");<br>
+ llvm_unreachable("invalid Relocation for TLS IE to LE Relax");<br>
}<br>
write32le(Loc, NewInst);<br>
}<br>
<br>
Modified: lld/trunk/test/ELF/basic.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/basic.s?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/basic.s?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/basic.s (original)<br>
+++ lld/trunk/test/ELF/basic.s Fri Mar 11 10:40:55 2016<br>
@@ -213,4 +213,4 @@ _start:<br>
# DUP: duplicate symbol: _start in {{.*}} and {{.*}}<br>
<br>
# RUN: not ld.lld %t -o %t -m wrong_emul 2>&1 | FileCheck --check-prefix=UNKNOWN_EMUL %s<br>
-# UNKNOWN_EMUL: Unknown emulation: wrong_emul<br>
+# UNKNOWN_EMUL: unknown emulation: wrong_emul<br>
<br>
Modified: lld/trunk/test/ELF/driver.test<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/driver.test?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/driver.test?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/driver.test (original)<br>
+++ lld/trunk/test/ELF/driver.test Fri Mar 11 10:40:55 2016<br>
@@ -6,9 +6,9 @@<br>
# UNKNOWN: warning: unknown argument: --unknown1<br>
# UNKNOWN: warning: unknown argument: --unknown2<br>
# UNKNOWN: unknown argument(s) found<br>
-# UNKNOWN: Unknown emulation: foo<br>
+# UNKNOWN: unknown emulation: foo<br>
# UNKNOWN: cannot open /no/such/file<br>
-# UNKNOWN: Unable to find library -lnosuchlib<br>
+# UNKNOWN: unable to find library -lnosuchlib<br>
<br>
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t<br>
# RUN: not ld.lld %t -o /no/such/file 2>&1 | FileCheck -check-prefix=MISSING %s<br>
@@ -23,7 +23,7 @@<br>
## Attempt to link DSO with -r<br>
# RUN: ld.lld -shared %t -o %t.so<br>
# RUN: not ld.lld -r %t.so %t -o %tfail 2>&1 | FileCheck -check-prefix=ERR %s<br>
-# ERR: Attempted static link of dynamic object<br>
+# ERR: attempted static link of dynamic object<br>
<br>
## Attempt to use -r and -shared together<br>
# RUN: not ld.lld -r -shared %t -o %tfail 2>&1 | FileCheck -check-prefix=ERR2 %s<br>
<br>
Modified: lld/trunk/test/ELF/invalid-cie-reference.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/invalid-cie-reference.s?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/invalid-cie-reference.s?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/invalid-cie-reference.s (original)<br>
+++ lld/trunk/test/ELF/invalid-cie-reference.s Fri Mar 11 10:40:55 2016<br>
@@ -29,4 +29,4 @@<br>
.long 0x0<br>
.long 0x0<br>
<br>
-// CHECK: Invalid CIE reference<br>
+// CHECK: invalid CIE reference<br>
<br>
Modified: lld/trunk/test/ELF/invalid-elf.test<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/invalid-elf.test?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/invalid-elf.test?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/invalid-elf.test (original)<br>
+++ lld/trunk/test/ELF/invalid-elf.test Fri Mar 11 10:40:55 2016<br>
@@ -2,26 +2,27 @@<br>
<br>
# RUN: not ld.lld %t %p/Inputs/invalid-data-encoding.a -o %t2 2>&1 | \<br>
# RUN: FileCheck --check-prefix=INVALID-DATA-ENC %s<br>
-# INVALID-DATA-ENC: Invalid data encoding: test.o<br>
+# INVALID-DATA-ENC: invalid data encoding: test.o<br>
<br>
# RUN: not ld.lld %t %p/Inputs/invalid-file-class.a -o %t2 2>&1 | \<br>
# RUN: FileCheck --check-prefix=INVALID-FILE-CLASS %s<br>
-# INVALID-FILE-CLASS: Invalid file class: test.o<br>
+# INVALID-FILE-CLASS: invalid file class: test.o<br>
<br>
# RUN: not ld.lld %p/Inputs/invalid-symtab-sh_info.elf -o %t2 2>&1 | \<br>
# RUN: FileCheck --check-prefix=INVALID-SYMTAB-SHINFO %s<br>
-# INVALID-SYMTAB-SHINFO: Invalid sh_info in symbol table<br>
+# INVALID-SYMTAB-SHINFO: invalid sh_info in symbol table<br>
<br>
# RUN: not ld.lld %p/Inputs/invalid-binding.elf -o %t2 2>&1 | \<br>
# RUN: FileCheck --check-prefix=INVALID-BINDING %s<br>
# INVALID-BINDING: unexpected binding<br>
<br>
# RUN: not ld.lld %p/Inputs/invalid-section-index.elf -o %t2 2>&1 | \<br>
-# RUN: FileCheck --check-prefix=INVALID-SECTION-INDEX %s<br>
-# INVALID-SECTION-INDEX: Invalid section index<br>
+# RUN: FileCheck --check-prefix=INVALID-SECTION-INDEX-LLD %s<br>
+# INVALID-SECTION-INDEX-LLD: invalid section index<br>
<br>
# RUN: not ld.lld %p/Inputs/invalid-shstrndx.so -o %t2 2>&1 | \<br>
# RUN: FileCheck --check-prefix=INVALID-SECTION-INDEX %s<br>
+# INVALID-SECTION-INDEX: Invalid section index<br>
<br>
# RUN: not ld.lld %p/Inputs/invalid-shentsize-zero.elf -o %t2 2>&1 | \<br>
# RUN: FileCheck --check-prefix=INVALID-SHENTSIZE-ZERO %s<br>
@@ -29,6 +30,6 @@<br>
<br>
# RUN: not ld.lld %p/Inputs/invalid-multiple-eh-relocs.elf -o %t2 2>&1 | \<br>
# RUN: FileCheck --check-prefix=INVALID-EH-RELOCS %s<br>
-# INVALID-EH-RELOCS: Multiple relocation sections to .eh_frame are not supported<br>
+# INVALID-EH-RELOCS: multiple relocation sections to .eh_frame are not supported<br>
<br>
.long foo<br>
<br>
Modified: lld/trunk/test/ELF/invalid-relocations.test<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/invalid-relocations.test?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/invalid-relocations.test?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/invalid-relocations.test (original)<br>
+++ lld/trunk/test/ELF/invalid-relocations.test Fri Mar 11 10:40:55 2016<br>
@@ -19,4 +19,4 @@ Symbols:<br>
Global:<br>
- Name: lulz<br>
<br>
-# CHECK: Invalid relocated section index<br>
+# CHECK: invalid relocated section index<br>
<br>
Modified: lld/trunk/test/ELF/libsearch.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/libsearch.s?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/libsearch.s?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/libsearch.s (original)<br>
+++ lld/trunk/test/ELF/libsearch.s Fri Mar 11 10:40:55 2016<br>
@@ -23,7 +23,7 @@<br>
// Should fail if cannot find specified library (without -L switch)<br>
// RUN: not ld.lld -o %t3 %t.o -lls 2>&1 \<br>
// RUN: | FileCheck --check-prefix=NOLIB %s<br>
-// NOLIB: Unable to find library -lls<br>
+// NOLIB: unable to find library -lls<br>
<br>
// Should use explicitly specified static library<br>
// Also ensure that we accept -L <arg><br>
@@ -55,7 +55,7 @@<br>
// RUN: llvm-readobj --symbols %t3 | FileCheck --check-prefix=STATIC %s<br>
// RUN: not ld.lld -o %t3 %t.o -L%t.dir -Bstatic -lls2 2>&1 \<br>
// RUN: | FileCheck --check-prefix=NOLIB2 %s<br>
-// NOLIB2: Unable to find library -lls2<br>
+// NOLIB2: unable to find library -lls2<br>
<br>
// -Bdynamic should restore default behaviour<br>
// RUN: ld.lld -o %t3 %t.o -L%t.dir -Bstatic -Bdynamic -lls<br>
<br>
Modified: lld/trunk/test/ELF/linkerscript-sections-padding.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/linkerscript-sections-padding.s?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/linkerscript-sections-padding.s?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/linkerscript-sections-padding.s (original)<br>
+++ lld/trunk/test/ELF/linkerscript-sections-padding.s Fri Mar 11 10:40:55 2016<br>
@@ -23,13 +23,13 @@<br>
# RUN: echo "SECTIONS { .mysec : { *(.mysec*) } =99 }" > %t.script<br>
# RUN: not ld.lld -o %t.out --script %t.script %t 2>&1 \<br>
# RUN: | FileCheck --check-prefix=ERR %s<br>
-# ERR: Filler should be a HEX value<br>
+# ERR: filler should be a HEX value<br>
<br>
## Filler should be a hex value (2):<br>
# RUN: echo "SECTIONS { .mysec : { *(.mysec*) } =0x99XX }" > %t.script<br>
# RUN: not ld.lld -o %t.out --script %t.script %t 2>&1 \<br>
# RUN: | FileCheck --check-prefix=ERR2 %s<br>
-# ERR2: Not a HEX value: XX<br>
+# ERR2: not a HEX value: XX<br>
<br>
.section .mysec.1,"a"<br>
.align 16<br>
<br>
Modified: lld/trunk/test/ELF/merge-string-error.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/merge-string-error.s?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/merge-string-error.s?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/merge-string-error.s (original)<br>
+++ lld/trunk/test/ELF/merge-string-error.s Fri Mar 11 10:40:55 2016<br>
@@ -8,4 +8,4 @@<br>
.text<br>
.long .rodata.str1.1 + 4<br>
<br>
-// CHECK: Entry is past the end of the section<br>
+// CHECK: entry is past the end of the section<br>
<br>
Modified: lld/trunk/test/ELF/merge-string-no-null.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/merge-string-no-null.s?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/merge-string-no-null.s?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/merge-string-no-null.s (original)<br>
+++ lld/trunk/test/ELF/merge-string-no-null.s Fri Mar 11 10:40:55 2016<br>
@@ -5,4 +5,4 @@<br>
.section .rodata.str1.1,"aMS",@progbits,1<br>
.ascii "abc"<br>
<br>
-// CHECK: String is not null terminated<br>
+// CHECK: string is not null terminated<br>
<br>
Modified: lld/trunk/test/ELF/mips-gnu-hash.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-gnu-hash.s?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-gnu-hash.s?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/mips-gnu-hash.s (original)<br>
+++ lld/trunk/test/ELF/mips-gnu-hash.s Fri Mar 11 10:40:55 2016<br>
@@ -6,7 +6,7 @@<br>
# RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux %s -o %t-el.o<br>
# RUN: not ld.lld -shared -hash-style=gnu %t-el.o -o %t-el.so 2>&1 | FileCheck %s<br>
<br>
-# CHECK: The .gnu.hash section is not compatible with the MIPS target.<br>
+# CHECK: the .gnu.hash section is not compatible with the MIPS target.<br>
<br>
# REQUIRES: mips<br>
<br>
<br>
Modified: lld/trunk/test/ELF/ppc64-addr16-error.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/ppc64-addr16-error.s?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/ppc64-addr16-error.s?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/ppc64-addr16-error.s (original)<br>
+++ lld/trunk/test/ELF/ppc64-addr16-error.s Fri Mar 11 10:40:55 2016<br>
@@ -5,4 +5,4 @@<br>
<br>
.short sym+65539<br>
<br>
-// CHECK: Relocation R_PPC64_ADDR16 out of range<br>
+// CHECK: relocation R_PPC64_ADDR16 out of range<br>
<br>
Modified: lld/trunk/test/ELF/relocation-in-merge.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/relocation-in-merge.s?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/relocation-in-merge.s?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/relocation-in-merge.s (original)<br>
+++ lld/trunk/test/ELF/relocation-in-merge.s Fri Mar 11 10:40:55 2016<br>
@@ -1,7 +1,7 @@<br>
// REQUIRES: x86<br>
// RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux<br>
// RUN: not ld.lld %t.o -o %t 2>&1 | FileCheck %s<br>
-// CHECK: Relocations pointing to SHF_MERGE are not supported<br>
+// CHECK: relocations pointing to SHF_MERGE are not supported<br>
<br>
.section .foo,"aM",@progbits,4<br>
.long bar<br>
<br>
Modified: lld/trunk/test/ELF/relocation-past-merge-end.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/relocation-past-merge-end.s?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/relocation-past-merge-end.s?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/relocation-past-merge-end.s (original)<br>
+++ lld/trunk/test/ELF/relocation-past-merge-end.s Fri Mar 11 10:40:55 2016<br>
@@ -1,7 +1,7 @@<br>
// REQUIRES: x86<br>
// RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux<br>
// RUN: not ld.lld %t.o -o %t.so -shared 2>&1 | FileCheck %s<br>
-// CHECK: Entry is past the end of the section<br>
+// CHECK: entry is past the end of the section<br>
<br>
.long .foo + 1<br>
.section .foo,"aM",@progbits,4<br>
<br>
Modified: lld/trunk/test/ELF/splitstacks.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/splitstacks.s?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/splitstacks.s?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/splitstacks.s (original)<br>
+++ lld/trunk/test/ELF/splitstacks.s Fri Mar 11 10:40:55 2016<br>
@@ -2,7 +2,7 @@<br>
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o<br>
<br>
# RUN: not ld.lld %t1.o -o %t 2>&1 | FileCheck %s<br>
-# CHECK: Objects using splitstacks are not supported<br>
+# CHECK: objects using splitstacks are not supported<br>
<br>
.globl _start<br>
_start:<br>
<br>
Modified: lld/trunk/test/ELF/sysroot.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/sysroot.s?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/sysroot.s?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/sysroot.s (original)<br>
+++ lld/trunk/test/ELF/sysroot.s Fri Mar 11 10:40:55 2016<br>
@@ -14,7 +14,7 @@<br>
// We need to be sure that there is no suitable library in the /lib directory<br>
// RUN: not ld.lld -o %t/r %t/m.o -L/lib -l:libls.a 2>&1 \<br>
// RUN: | FileCheck --check-prefix=NOLIB %s<br>
-// NOLIB: Unable to find library -l:libls.a<br>
+// NOLIB: unable to find library -l:libls.a<br>
<br>
// Should just remove the '=' symbol if --sysroot is not specified.<br>
// Case 1: relative path<br>
<br>
Modified: lld/trunk/test/ELF/writable-merge.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/writable-merge.s?rev=263252&r1=263251&r2=263252&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/writable-merge.s?rev=263252&r1=263251&r2=263252&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/ELF/writable-merge.s (original)<br>
+++ lld/trunk/test/ELF/writable-merge.s Fri Mar 11 10:40:55 2016<br>
@@ -1,6 +1,6 @@<br>
// REQUIRES: x86<br>
// RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux<br>
// RUN: not ld.lld %t.o -o %t 2>&1 | FileCheck %s<br>
-// CHECK: Writable SHF_MERGE sections are not supported<br>
+// CHECK: writable SHF_MERGE sections are not supported<br>
<br>
.section .foo,"awM",@progbits,4<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>