forked from OSchip/llvm-project
This reverts the r263125
It was discussed to make all messages be lowercase to be consistent with clang. (also reverts the r263128 which fixed build bot fail after r263125) Original commit message: [ELF] - Consistent spelling for error/warning messages Previously error and warnings were not consistent in lld. Some of them started from lowercase letter, others from uppercase. Also there was one or two which had a dot at the end. This patch changes all messages to start from uppercase letter if they were not before. Differential revision: http://reviews.llvm.org/D18045 llvm-svn: 263240
This commit is contained in:
parent
7ca9614c71
commit
5761042db7
|
@ -92,7 +92,7 @@ void LinkerDriver::addFile(StringRef Path) {
|
||||||
using namespace llvm::sys::fs;
|
using namespace llvm::sys::fs;
|
||||||
log(Path);
|
log(Path);
|
||||||
auto MBOrErr = MemoryBuffer::getFile(Path);
|
auto MBOrErr = MemoryBuffer::getFile(Path);
|
||||||
if (error(MBOrErr, "Cannot open " + Path))
|
if (error(MBOrErr, "cannot open " + Path))
|
||||||
return;
|
return;
|
||||||
std::unique_ptr<MemoryBuffer> &MB = *MBOrErr;
|
std::unique_ptr<MemoryBuffer> &MB = *MBOrErr;
|
||||||
MemoryBufferRef MBRef = MB->getMemBufferRef();
|
MemoryBufferRef MBRef = MB->getMemBufferRef();
|
||||||
|
@ -312,7 +312,7 @@ void LinkerDriver::createFiles(opt::InputArgList &Args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Files.empty() && !HasError)
|
if (Files.empty() && !HasError)
|
||||||
error("No input files");
|
error("no input files.");
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class ELFT> static void initSymbols() {
|
template <class ELFT> static void initSymbols() {
|
||||||
|
|
|
@ -67,15 +67,15 @@ opt::InputArgList elf::parseArgs(llvm::BumpPtrAllocator *A,
|
||||||
// Parse options and then do error checking.
|
// Parse options and then do error checking.
|
||||||
opt::InputArgList Args = Table.ParseArgs(Vec, MissingIndex, MissingCount);
|
opt::InputArgList Args = Table.ParseArgs(Vec, MissingIndex, MissingCount);
|
||||||
if (MissingCount)
|
if (MissingCount)
|
||||||
error(Twine("Missing arg value for \"") + Args.getArgString(MissingIndex) +
|
error(Twine("missing arg value for \"") + Args.getArgString(MissingIndex) +
|
||||||
"\", expected " + Twine(MissingCount) +
|
"\", expected " + Twine(MissingCount) +
|
||||||
(MissingCount == 1 ? " argument.\n" : " arguments"));
|
(MissingCount == 1 ? " argument.\n" : " arguments"));
|
||||||
|
|
||||||
iterator_range<opt::arg_iterator> Unknowns = Args.filtered(OPT_UNKNOWN);
|
iterator_range<opt::arg_iterator> Unknowns = Args.filtered(OPT_UNKNOWN);
|
||||||
for (auto *Arg : Unknowns)
|
for (auto *Arg : Unknowns)
|
||||||
warning("Warning: unknown argument: " + Arg->getSpelling());
|
warning("warning: unknown argument: " + Arg->getSpelling());
|
||||||
if (Unknowns.begin() != Unknowns.end())
|
if (Unknowns.begin() != Unknowns.end())
|
||||||
error("Unknown argument(s) found");
|
error("unknown argument(s) found");
|
||||||
return Args;
|
return Args;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -311,7 +311,7 @@ SymbolBody *elf::ObjectFile<ELFT>::createSymbolBody(const Elf_Sym *Sym) {
|
||||||
|
|
||||||
switch (Binding) {
|
switch (Binding) {
|
||||||
default:
|
default:
|
||||||
fatal("Unexpected binding");
|
fatal("unexpected binding");
|
||||||
case STB_GLOBAL:
|
case STB_GLOBAL:
|
||||||
case STB_WEAK:
|
case STB_WEAK:
|
||||||
case STB_GNU_UNIQUE:
|
case STB_GNU_UNIQUE:
|
||||||
|
|
|
@ -166,7 +166,7 @@ void ScriptParser::run() {
|
||||||
if (Handler Fn = Cmd.lookup(Tok))
|
if (Handler Fn = Cmd.lookup(Tok))
|
||||||
(this->*Fn)();
|
(this->*Fn)();
|
||||||
else
|
else
|
||||||
setError("Unknown directive: " + Tok);
|
setError("unknown directive: " + Tok);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -190,7 +190,7 @@ std::vector<StringRef> ScriptParser::tokenize(StringRef S) {
|
||||||
if (S.startswith("\"")) {
|
if (S.startswith("\"")) {
|
||||||
size_t E = S.find("\"", 1);
|
size_t E = S.find("\"", 1);
|
||||||
if (E == StringRef::npos) {
|
if (E == StringRef::npos) {
|
||||||
error("Unclosed quote");
|
error("unclosed quote");
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
Ret.push_back(S.substr(1, E - 1));
|
Ret.push_back(S.substr(1, E - 1));
|
||||||
|
@ -217,7 +217,7 @@ StringRef ScriptParser::skipSpace(StringRef S) {
|
||||||
if (S.startswith("/*")) {
|
if (S.startswith("/*")) {
|
||||||
size_t E = S.find("*/", 2);
|
size_t E = S.find("*/", 2);
|
||||||
if (E == StringRef::npos) {
|
if (E == StringRef::npos) {
|
||||||
error("Unclosed comment in a linker script");
|
error("unclosed comment in a linker script");
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
S = S.substr(E + 2);
|
S = S.substr(E + 2);
|
||||||
|
@ -237,7 +237,7 @@ StringRef ScriptParser::next() {
|
||||||
if (Error)
|
if (Error)
|
||||||
return "";
|
return "";
|
||||||
if (atEOF()) {
|
if (atEOF()) {
|
||||||
setError("Unexpected EOF");
|
setError("unexpected EOF");
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
return Tokens[Pos++];
|
return Tokens[Pos++];
|
||||||
|
@ -255,7 +255,7 @@ bool ScriptParser::skip(StringRef Tok) {
|
||||||
if (Error)
|
if (Error)
|
||||||
return false;
|
return false;
|
||||||
if (atEOF()) {
|
if (atEOF()) {
|
||||||
setError("Unexpected EOF");
|
setError("unexpected EOF");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (Tok != Tokens[Pos])
|
if (Tok != Tokens[Pos])
|
||||||
|
@ -352,7 +352,7 @@ void ScriptParser::readInclude() {
|
||||||
StringRef Tok = next();
|
StringRef Tok = next();
|
||||||
auto MBOrErr = MemoryBuffer::getFile(Tok);
|
auto MBOrErr = MemoryBuffer::getFile(Tok);
|
||||||
if (!MBOrErr) {
|
if (!MBOrErr) {
|
||||||
setError("Cannot open " + Tok);
|
setError("cannot open " + Tok);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
std::unique_ptr<MemoryBuffer> &MB = *MBOrErr;
|
std::unique_ptr<MemoryBuffer> &MB = *MBOrErr;
|
||||||
|
@ -385,7 +385,7 @@ void ScriptParser::readOutputFormat() {
|
||||||
if (Tok == ")")
|
if (Tok == ")")
|
||||||
return;
|
return;
|
||||||
if (Tok != ",") {
|
if (Tok != ",") {
|
||||||
setError("Unexpected token: " + Tok);
|
setError("unexpected token: " + Tok);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
next();
|
next();
|
||||||
|
|
|
@ -683,7 +683,7 @@ EhFrameHeader<ELFT>::getFdePc(uintX_t EhVA, const FdeData &F) {
|
||||||
PC = read64<E>(F.PCRel);
|
PC = read64<E>(F.PCRel);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
fatal("Unknown FDE size encoding");
|
fatal("unknown FDE size encoding");
|
||||||
}
|
}
|
||||||
switch (F.Enc & 0x70) {
|
switch (F.Enc & 0x70) {
|
||||||
case DW_EH_PE_absptr:
|
case DW_EH_PE_absptr:
|
||||||
|
@ -691,7 +691,7 @@ EhFrameHeader<ELFT>::getFdePc(uintX_t EhVA, const FdeData &F) {
|
||||||
case DW_EH_PE_pcrel:
|
case DW_EH_PE_pcrel:
|
||||||
return PC + EhVA + F.Off + 8;
|
return PC + EhVA + F.Off + 8;
|
||||||
default:
|
default:
|
||||||
fatal("Unknown FDE size relative encoding");
|
fatal("unknown FDE size relative encoding");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -966,7 +966,7 @@ Cie<ELFT>::Cie(EHInputSection<ELFT> *S, unsigned Index)
|
||||||
// Read a byte and advance D by one byte.
|
// Read a byte and advance D by one byte.
|
||||||
static uint8_t readByte(ArrayRef<uint8_t> &D) {
|
static uint8_t readByte(ArrayRef<uint8_t> &D) {
|
||||||
if (D.empty())
|
if (D.empty())
|
||||||
fatal("Corrupted or unsupported CIE information");
|
fatal("corrupted or unsupported CIE information");
|
||||||
uint8_t B = D.front();
|
uint8_t B = D.front();
|
||||||
D = D.slice(1);
|
D = D.slice(1);
|
||||||
return B;
|
return B;
|
||||||
|
@ -979,7 +979,7 @@ static void skipLeb128(ArrayRef<uint8_t> &D) {
|
||||||
if ((Val & 0x80) == 0)
|
if ((Val & 0x80) == 0)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
fatal("Corrupted or unsupported CIE information");
|
fatal("corrupted or unsupported CIE information");
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class ELFT> static size_t getAugPSize(unsigned Enc) {
|
template <class ELFT> static size_t getAugPSize(unsigned Enc) {
|
||||||
|
@ -997,7 +997,7 @@ template <class ELFT> static size_t getAugPSize(unsigned Enc) {
|
||||||
case DW_EH_PE_sdata8:
|
case DW_EH_PE_sdata8:
|
||||||
return 8;
|
return 8;
|
||||||
}
|
}
|
||||||
fatal("Unknown FDE encoding");
|
fatal("unknown FDE encoding");
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class ELFT> static void skipAugP(ArrayRef<uint8_t> &D) {
|
template <class ELFT> static void skipAugP(ArrayRef<uint8_t> &D) {
|
||||||
|
@ -1006,7 +1006,7 @@ template <class ELFT> static void skipAugP(ArrayRef<uint8_t> &D) {
|
||||||
fatal("DW_EH_PE_aligned encoding is not supported");
|
fatal("DW_EH_PE_aligned encoding is not supported");
|
||||||
size_t Size = getAugPSize<ELFT>(Enc);
|
size_t Size = getAugPSize<ELFT>(Enc);
|
||||||
if (Size >= D.size())
|
if (Size >= D.size())
|
||||||
fatal("Corrupted CIE");
|
fatal("corrupted CIE");
|
||||||
D = D.slice(Size);
|
D = D.slice(Size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1022,7 +1022,7 @@ uint8_t EHOutputSection<ELFT>::getFdeEncoding(ArrayRef<uint8_t> D) {
|
||||||
|
|
||||||
const unsigned char *AugEnd = std::find(D.begin() + 1, D.end(), '\0');
|
const unsigned char *AugEnd = std::find(D.begin() + 1, D.end(), '\0');
|
||||||
if (AugEnd == D.end())
|
if (AugEnd == D.end())
|
||||||
fatal("Corrupted CIE");
|
fatal("corrupted CIE");
|
||||||
StringRef Aug(reinterpret_cast<const char *>(D.begin()), AugEnd - D.begin());
|
StringRef Aug(reinterpret_cast<const char *>(D.begin()), AugEnd - D.begin());
|
||||||
D = D.slice(Aug.size() + 1);
|
D = D.slice(Aug.size() + 1);
|
||||||
|
|
||||||
|
@ -1058,7 +1058,7 @@ uint8_t EHOutputSection<ELFT>::getFdeEncoding(ArrayRef<uint8_t> D) {
|
||||||
readByte(D);
|
readByte(D);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
fatal("Unknown .eh_frame augmentation string: " + Aug);
|
fatal("unknown .eh_frame augmentation string: " + Aug);
|
||||||
}
|
}
|
||||||
return DW_EH_PE_absptr;
|
return DW_EH_PE_absptr;
|
||||||
}
|
}
|
||||||
|
|
|
@ -321,7 +321,7 @@ template <class ELFT> void SymbolTable<ELFT>::resolve(SymbolBody *New) {
|
||||||
// equivalent (conflicting), or more preferable, respectively.
|
// equivalent (conflicting), or more preferable, respectively.
|
||||||
int Comp = Existing->compare<ELFT>(New);
|
int Comp = Existing->compare<ELFT>(New);
|
||||||
if (Comp == 0) {
|
if (Comp == 0) {
|
||||||
std::string S = "Duplicate symbol: " + conflictMsg(Existing, New);
|
std::string S = "duplicate symbol: " + conflictMsg(Existing, New);
|
||||||
if (Config->AllowMultipleDefinition)
|
if (Config->AllowMultipleDefinition)
|
||||||
warning(S);
|
warning(S);
|
||||||
else
|
else
|
||||||
|
|
|
@ -535,7 +535,7 @@ void X86TargetInfo::relocateOne(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type,
|
||||||
write32le(Loc, Out<ELF32LE>::TlsPhdr->p_memsz - SA);
|
write32le(Loc, Out<ELF32LE>::TlsPhdr->p_memsz - SA);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
fatal("Unrecognized reloc " + Twine(Type));
|
fatal("unrecognized reloc " + Twine(Type));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -956,7 +956,7 @@ void X86_64TargetInfo::relocateOne(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
fatal("Unrecognized reloc " + Twine(Type));
|
fatal("unrecognized reloc " + Twine(Type));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -986,7 +986,7 @@ void PPCTargetInfo::relocateOne(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type,
|
||||||
write16be(Loc, applyPPCLo(SA));
|
write16be(Loc, applyPPCLo(SA));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
fatal("Unrecognized reloc " + Twine(Type));
|
fatal("unrecognized reloc " + Twine(Type));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1194,7 +1194,7 @@ void PPC64TargetInfo::relocateOne(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type,
|
||||||
write64be(Loc, SA);
|
write64be(Loc, SA);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
fatal("Unrecognized reloc " + Twine(Type));
|
fatal("unrecognized reloc " + Twine(Type));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1457,7 +1457,7 @@ void AArch64TargetInfo::relocateOne(uint8_t *Loc, uint8_t *BufEnd,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
fatal("Unrecognized reloc " + Twine(Type));
|
fatal("unrecognized reloc " + Twine(Type));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1556,7 +1556,7 @@ void AArch64TargetInfo::relocateTlsIeToLe(uint32_t Type, uint8_t *Loc,
|
||||||
void AMDGPUTargetInfo::relocateOne(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type,
|
void AMDGPUTargetInfo::relocateOne(uint8_t *Loc, uint8_t *BufEnd, uint32_t Type,
|
||||||
uint64_t P, uint64_t SA, uint64_t ZA,
|
uint64_t P, uint64_t SA, uint64_t ZA,
|
||||||
uint8_t *PairedLoc) const {
|
uint8_t *PairedLoc) const {
|
||||||
llvm_unreachable("Not implemented");
|
llvm_unreachable("not implemented");
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class ELFT> MipsTargetInfo<ELFT>::MipsTargetInfo() {
|
template <class ELFT> MipsTargetInfo<ELFT>::MipsTargetInfo() {
|
||||||
|
@ -1773,7 +1773,7 @@ void MipsTargetInfo<ELFT>::relocateOne(uint8_t *Loc, uint8_t *BufEnd,
|
||||||
writeMipsLo16<E>(Loc, S + readSignedLo16<E>(Loc) - P);
|
writeMipsLo16<E>(Loc, S + readSignedLo16<E>(Loc) - P);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
fatal("Unrecognized reloc " + Twine(Type));
|
fatal("unrecognized reloc " + Twine(Type));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -500,7 +500,7 @@ static void reportUndefined(SymbolTable<ELFT> &Symtab, SymbolBody *Sym) {
|
||||||
if ((Config->Relocatable || Config->Shared) && !Config->NoUndefined)
|
if ((Config->Relocatable || Config->Shared) && !Config->NoUndefined)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
std::string Msg = "Undefined symbol: " + Sym->getName().str();
|
std::string Msg = "undefined symbol: " + Sym->getName().str();
|
||||||
if (InputFile *File = Symtab.findFile(Sym))
|
if (InputFile *File = Symtab.findFile(Sym))
|
||||||
Msg += " in " + File->getName().str();
|
Msg += " in " + File->getName().str();
|
||||||
if (Config->NoinhibitExec)
|
if (Config->NoinhibitExec)
|
||||||
|
@ -1508,7 +1508,7 @@ template <class ELFT> bool Writer<ELFT>::openFile() {
|
||||||
ErrorOr<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
|
ErrorOr<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
|
||||||
FileOutputBuffer::create(Config->OutputFile, FileSize,
|
FileOutputBuffer::create(Config->OutputFile, FileSize,
|
||||||
FileOutputBuffer::F_executable);
|
FileOutputBuffer::F_executable);
|
||||||
if (error(BufferOrErr, "Failed to open " + Config->OutputFile))
|
if (error(BufferOrErr, "failed to open " + Config->OutputFile))
|
||||||
return false;
|
return false;
|
||||||
Buffer = std::move(*BufferOrErr);
|
Buffer = std::move(*BufferOrErr);
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -192,25 +192,25 @@ _start:
|
||||||
|
|
||||||
# RUN: not ld.lld %t.foo -o %t2 2>&1 | \
|
# RUN: not ld.lld %t.foo -o %t2 2>&1 | \
|
||||||
# RUN: FileCheck --check-prefix=MISSING %s
|
# RUN: FileCheck --check-prefix=MISSING %s
|
||||||
# MISSING: Cannot open {{.*}}.foo: {{[Nn]}}o such file or directory
|
# MISSING: cannot open {{.*}}.foo: {{[Nn]}}o such file or directory
|
||||||
|
|
||||||
# RUN: not ld.lld -o %t2 2>&1 | \
|
# RUN: not ld.lld -o %t2 2>&1 | \
|
||||||
# RUN: FileCheck --check-prefix=NO_INPUT %s
|
# RUN: FileCheck --check-prefix=NO_INPUT %s
|
||||||
# NO_INPUT: No input files
|
# NO_INPUT: no input files.
|
||||||
|
|
||||||
# RUN: not ld.lld %t.no.such.file -o %t2 2>&1 | \
|
# RUN: not ld.lld %t.no.such.file -o %t2 2>&1 | \
|
||||||
# RUN: FileCheck --check-prefix=CANNOT_OPEN %s
|
# RUN: FileCheck --check-prefix=CANNOT_OPEN %s
|
||||||
# CANNOT_OPEN: Cannot open {{.*}}.no.such.file: {{[Nn]}}o such file or directory
|
# CANNOT_OPEN: cannot open {{.*}}.no.such.file: {{[Nn]}}o such file or directory
|
||||||
|
|
||||||
# RUN: not ld.lld %t -o 2>&1 | FileCheck --check-prefix=NO_O_VAL %s
|
# RUN: not ld.lld %t -o 2>&1 | FileCheck --check-prefix=NO_O_VAL %s
|
||||||
# NO_O_VAL: Missing arg value for "-o", expected 1 argument.
|
# NO_O_VAL: missing arg value for "-o", expected 1 argument.
|
||||||
|
|
||||||
# RUN: not ld.lld --foo 2>&1 | FileCheck --check-prefix=UNKNOWN %s
|
# RUN: not ld.lld --foo 2>&1 | FileCheck --check-prefix=UNKNOWN %s
|
||||||
# UNKNOWN: Warning: unknown argument: --foo
|
# UNKNOWN: unknown argument: --foo
|
||||||
|
|
||||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||||
# RUN: not ld.lld %t %t -o %t2 2>&1 | FileCheck --check-prefix=DUP %s
|
# RUN: not ld.lld %t %t -o %t2 2>&1 | FileCheck --check-prefix=DUP %s
|
||||||
# DUP: Duplicate symbol: _start in {{.*}} and {{.*}}
|
# DUP: duplicate symbol: _start in {{.*}} and {{.*}}
|
||||||
|
|
||||||
# RUN: not ld.lld %t -o %t -m wrong_emul 2>&1 | FileCheck --check-prefix=UNKNOWN_EMUL %s
|
# RUN: not ld.lld %t -o %t -m wrong_emul 2>&1 | FileCheck --check-prefix=UNKNOWN_EMUL %s
|
||||||
# UNKNOWN_EMUL: Unknown emulation: wrong_emul
|
# UNKNOWN_EMUL: Unknown emulation: wrong_emul
|
||||||
|
|
|
@ -3,20 +3,20 @@
|
||||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o
|
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o
|
||||||
# RUN: not ld.lld %t1.o %t1.o -o %t2 2>&1 | FileCheck -check-prefix=DEMANGLE %s
|
# RUN: not ld.lld %t1.o %t1.o -o %t2 2>&1 | FileCheck -check-prefix=DEMANGLE %s
|
||||||
|
|
||||||
# DEMANGLE: Duplicate symbol: {{mul\(double, double\)|_Z3muldd}} in
|
# DEMANGLE: duplicate symbol: {{mul\(double, double\)|_Z3muldd}} in
|
||||||
# DEMANGLE: Duplicate symbol: foo in
|
# DEMANGLE: duplicate symbol: foo in
|
||||||
|
|
||||||
# RUN: not ld.lld %t1.o %t1.o -o %t2 --no-demangle 2>&1 | \
|
# RUN: not ld.lld %t1.o %t1.o -o %t2 --no-demangle 2>&1 | \
|
||||||
# RUN: FileCheck -check-prefix=NO_DEMANGLE %s
|
# RUN: FileCheck -check-prefix=NO_DEMANGLE %s
|
||||||
|
|
||||||
# NO_DEMANGLE: Duplicate symbol: _Z3muldd in
|
# NO_DEMANGLE: duplicate symbol: _Z3muldd in
|
||||||
# NO_DEMANGLE: Duplicate symbol: foo in
|
# NO_DEMANGLE: duplicate symbol: foo in
|
||||||
|
|
||||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/conflict.s -o %t2.o
|
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/conflict.s -o %t2.o
|
||||||
# RUN: llvm-ar rcs %t3.a %t2.o
|
# RUN: llvm-ar rcs %t3.a %t2.o
|
||||||
# RUN: not ld.lld %t1.o %t3.a -u baz -o %t2 2>&1 | FileCheck -check-prefix=ARCHIVE %s
|
# RUN: not ld.lld %t1.o %t3.a -u baz -o %t2 2>&1 | FileCheck -check-prefix=ARCHIVE %s
|
||||||
|
|
||||||
# ARCHIVE: Duplicate symbol: foo in {{.*}}1.o and {{.*}}3.a({{.*}}2.o)
|
# ARCHIVE: duplicate symbol: foo in {{.*}}1.o and {{.*}}3.a({{.*}}2.o)
|
||||||
|
|
||||||
.globl _Z3muldd, foo
|
.globl _Z3muldd, foo
|
||||||
_Z3muldd:
|
_Z3muldd:
|
||||||
|
|
|
@ -3,16 +3,16 @@
|
||||||
# RUN: not ld.lld --unknown1 --unknown2 -m foo /no/such/file -lnosuchlib \
|
# RUN: not ld.lld --unknown1 --unknown2 -m foo /no/such/file -lnosuchlib \
|
||||||
# RUN: 2>&1 | FileCheck -check-prefix=UNKNOWN %s
|
# RUN: 2>&1 | FileCheck -check-prefix=UNKNOWN %s
|
||||||
|
|
||||||
# UNKNOWN: Warning: unknown argument: --unknown1
|
# UNKNOWN: warning: unknown argument: --unknown1
|
||||||
# UNKNOWN: Warning: unknown argument: --unknown2
|
# UNKNOWN: warning: unknown argument: --unknown2
|
||||||
# UNKNOWN: Unknown argument(s) found
|
# UNKNOWN: unknown argument(s) found
|
||||||
# UNKNOWN: Unknown emulation: foo
|
# UNKNOWN: Unknown emulation: foo
|
||||||
# UNKNOWN: Cannot open /no/such/file
|
# UNKNOWN: cannot open /no/such/file
|
||||||
# UNKNOWN: Unable to find library -lnosuchlib
|
# UNKNOWN: Unable to find library -lnosuchlib
|
||||||
|
|
||||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||||
# RUN: not ld.lld %t -o /no/such/file 2>&1 | FileCheck -check-prefix=MISSING %s
|
# RUN: not ld.lld %t -o /no/such/file 2>&1 | FileCheck -check-prefix=MISSING %s
|
||||||
# MISSING: Failed to open /no/such/file
|
# MISSING: failed to open /no/such/file
|
||||||
|
|
||||||
# RUN: ld.lld --help 2>&1 | FileCheck -check-prefix=HELP %s
|
# RUN: ld.lld --help 2>&1 | FileCheck -check-prefix=HELP %s
|
||||||
# HELP: USAGE:
|
# HELP: USAGE:
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o
|
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o
|
||||||
# RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s
|
# RUN: not ld.lld -shared %t.o -o %t.so 2>&1 | FileCheck %s
|
||||||
|
|
||||||
# CHECK: Duplicate symbol: _gp in (internal) and {{.*}}
|
# CHECK: duplicate symbol: _gp in (internal) and {{.*}}
|
||||||
|
|
||||||
# REQUIRES: mips
|
# REQUIRES: mips
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
# RUN: not ld.lld %p/Inputs/invalid-binding.elf -o %t2 2>&1 | \
|
# RUN: not ld.lld %p/Inputs/invalid-binding.elf -o %t2 2>&1 | \
|
||||||
# RUN: FileCheck --check-prefix=INVALID-BINDING %s
|
# RUN: FileCheck --check-prefix=INVALID-BINDING %s
|
||||||
# INVALID-BINDING: Unexpected binding
|
# INVALID-BINDING: unexpected binding
|
||||||
|
|
||||||
# RUN: not ld.lld %p/Inputs/invalid-section-index.elf -o %t2 2>&1 | \
|
# RUN: not ld.lld %p/Inputs/invalid-section-index.elf -o %t2 2>&1 | \
|
||||||
# RUN: FileCheck --check-prefix=INVALID-SECTION-INDEX %s
|
# RUN: FileCheck --check-prefix=INVALID-SECTION-INDEX %s
|
||||||
|
|
|
@ -15,40 +15,40 @@
|
||||||
|
|
||||||
# RUN: echo foobar > %t1
|
# RUN: echo foobar > %t1
|
||||||
# RUN: not ld.lld %t1 no-such-file 2>&1 | FileCheck -check-prefix=ERR1 %s
|
# RUN: not ld.lld %t1 no-such-file 2>&1 | FileCheck -check-prefix=ERR1 %s
|
||||||
# ERR1: Unknown directive: foobar
|
# ERR1: unknown directive: foobar
|
||||||
# ERR1: Cannot open no-such-file:
|
# ERR1: cannot open no-such-file:
|
||||||
|
|
||||||
# RUN: echo "foo \"bar" > %t2
|
# RUN: echo "foo \"bar" > %t2
|
||||||
# RUN: not ld.lld %t2 no-such-file 2>&1 | FileCheck -check-prefix=ERR2 %s
|
# RUN: not ld.lld %t2 no-such-file 2>&1 | FileCheck -check-prefix=ERR2 %s
|
||||||
# ERR2: Unclosed quote
|
# ERR2: unclosed quote
|
||||||
# ERR2: Cannot open no-such-file:
|
# ERR2: cannot open no-such-file:
|
||||||
|
|
||||||
# RUN: echo "/*" > %t3
|
# RUN: echo "/*" > %t3
|
||||||
# RUN: not ld.lld %t3 no-such-file 2>&1 | FileCheck -check-prefix=ERR3 %s
|
# RUN: not ld.lld %t3 no-such-file 2>&1 | FileCheck -check-prefix=ERR3 %s
|
||||||
# ERR3: Unclosed comment
|
# ERR3: unclosed comment
|
||||||
# ERR3: Cannot open no-such-file:
|
# ERR3: cannot open no-such-file:
|
||||||
|
|
||||||
# RUN: echo "EXTERN (" > %t4
|
# RUN: echo "EXTERN (" > %t4
|
||||||
# RUN: not ld.lld %t4 no-such-file 2>&1 | FileCheck -check-prefix=ERR4 %s
|
# RUN: not ld.lld %t4 no-such-file 2>&1 | FileCheck -check-prefix=ERR4 %s
|
||||||
# ERR4: Unexpected EOF
|
# ERR4: unexpected EOF
|
||||||
# ERR4: Cannot open no-such-file:
|
# ERR4: cannot open no-such-file:
|
||||||
|
|
||||||
# RUN: echo "EXTERN (" > %t5
|
# RUN: echo "EXTERN (" > %t5
|
||||||
# RUN: not ld.lld %t5 no-such-file 2>&1 | FileCheck -check-prefix=ERR5 %s
|
# RUN: not ld.lld %t5 no-such-file 2>&1 | FileCheck -check-prefix=ERR5 %s
|
||||||
# ERR5: Unexpected EOF
|
# ERR5: unexpected EOF
|
||||||
# ERR5: Cannot open no-such-file:
|
# ERR5: cannot open no-such-file:
|
||||||
|
|
||||||
# RUN: echo "EXTERN xyz" > %t6
|
# RUN: echo "EXTERN xyz" > %t6
|
||||||
# RUN: not ld.lld %t6 no-such-file 2>&1 | FileCheck -check-prefix=ERR6 %s
|
# RUN: not ld.lld %t6 no-such-file 2>&1 | FileCheck -check-prefix=ERR6 %s
|
||||||
# ERR6: ( expected, but got xyz
|
# ERR6: ( expected, but got xyz
|
||||||
# ERR6: Cannot open no-such-file:
|
# ERR6: cannot open no-such-file:
|
||||||
|
|
||||||
# RUN: echo "INCLUDE /no/such/file" > %t7
|
# RUN: echo "INCLUDE /no/such/file" > %t7
|
||||||
# RUN: not ld.lld %t7 no-such-file 2>&1 | FileCheck -check-prefix=ERR7 %s
|
# RUN: not ld.lld %t7 no-such-file 2>&1 | FileCheck -check-prefix=ERR7 %s
|
||||||
# ERR7: Cannot open /no/such/file
|
# ERR7: cannot open /no/such/file
|
||||||
# ERR7: Cannot open no-such-file:
|
# ERR7: cannot open no-such-file:
|
||||||
|
|
||||||
# RUN: echo "OUTPUT_FORMAT(x y z)" > %t8
|
# RUN: echo "OUTPUT_FORMAT(x y z)" > %t8
|
||||||
# RUN: not ld.lld %t8 no-such-file 2>&1 | FileCheck -check-prefix=ERR8 %s
|
# RUN: not ld.lld %t8 no-such-file 2>&1 | FileCheck -check-prefix=ERR8 %s
|
||||||
# ERR8: Unexpected token: y
|
# ERR8: unexpected token: y
|
||||||
# ERR8: Cannot open no-such-file:
|
# ERR8: cannot open no-such-file:
|
||||||
|
|
|
@ -13,12 +13,12 @@
|
||||||
// Should fail if no library specified
|
// Should fail if no library specified
|
||||||
// RUN: not ld.lld -l 2>&1 \
|
// RUN: not ld.lld -l 2>&1 \
|
||||||
// RUN: | FileCheck --check-prefix=NOLIBRARY %s
|
// RUN: | FileCheck --check-prefix=NOLIBRARY %s
|
||||||
// NOLIBRARY: Missing arg value for "-l", expected 1 argument.
|
// NOLIBRARY: missing arg value for "-l", expected 1 argument.
|
||||||
|
|
||||||
// Should not link because of undefined symbol _bar
|
// Should not link because of undefined symbol _bar
|
||||||
// RUN: not ld.lld -o %t3 %t.o 2>&1 \
|
// RUN: not ld.lld -o %t3 %t.o 2>&1 \
|
||||||
// RUN: | FileCheck --check-prefix=UNDEFINED %s
|
// RUN: | FileCheck --check-prefix=UNDEFINED %s
|
||||||
// UNDEFINED: Undefined symbol: _bar
|
// UNDEFINED: undefined symbol: _bar
|
||||||
|
|
||||||
// Should fail if cannot find specified library (without -L switch)
|
// Should fail if cannot find specified library (without -L switch)
|
||||||
// RUN: not ld.lld -o %t3 %t.o -lls 2>&1 \
|
// RUN: not ld.lld -o %t3 %t.o -lls 2>&1 \
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
# RUN: not ld.lld -o %t2 %t.script %t > %t.log 2>&1
|
# RUN: not ld.lld -o %t2 %t.script %t > %t.log 2>&1
|
||||||
# RUN: FileCheck -check-prefix=ERR-ENTRY %s < %t.log
|
# RUN: FileCheck -check-prefix=ERR-ENTRY %s < %t.log
|
||||||
|
|
||||||
# ERR-ENTRY: Undefined symbol: _wrong_label
|
# ERR-ENTRY: undefined symbol: _wrong_label
|
||||||
|
|
||||||
# -e has precedence over linker script's ENTRY.
|
# -e has precedence over linker script's ENTRY.
|
||||||
# RUN: echo "ENTRY(_label)" > %t.script
|
# RUN: echo "ENTRY(_label)" > %t.script
|
||||||
|
@ -104,7 +104,7 @@
|
||||||
# RUN: not ld.lld -o foo %t.script > %t.log 2>&1
|
# RUN: not ld.lld -o foo %t.script > %t.log 2>&1
|
||||||
# RUN: FileCheck -check-prefix=ERR1 %s < %t.log
|
# RUN: FileCheck -check-prefix=ERR1 %s < %t.log
|
||||||
|
|
||||||
# ERR1: Unknown directive: FOO
|
# ERR1: unknown directive: FOO
|
||||||
|
|
||||||
.globl _start, _label;
|
.globl _start, _label;
|
||||||
_start:
|
_start:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
; REQUIRES: x86
|
; REQUIRES: x86
|
||||||
; RUN: llvm-as %s -o %t.o
|
; RUN: llvm-as %s -o %t.o
|
||||||
; RUN: not ld.lld -m elf_x86_64 %t.o %t.o -o %t.so -shared 2>&1 | FileCheck %s
|
; RUN: not ld.lld -m elf_x86_64 %t.o %t.o -o %t.so -shared 2>&1 | FileCheck %s
|
||||||
; CHECK: Duplicate symbol: f in {{.*}}.o and {{.*}}.o
|
; CHECK: duplicate symbol: f in {{.*}}.o and {{.*}}.o
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
// Should not link because of undefined symbol _bar
|
// Should not link because of undefined symbol _bar
|
||||||
// RUN: not ld.lld -o %t/r %t/m.o 2>&1 \
|
// RUN: not ld.lld -o %t/r %t/m.o 2>&1 \
|
||||||
// RUN: | FileCheck --check-prefix=UNDEFINED %s
|
// RUN: | FileCheck --check-prefix=UNDEFINED %s
|
||||||
// UNDEFINED: Undefined symbol: _bar
|
// UNDEFINED: undefined symbol: _bar
|
||||||
|
|
||||||
// We need to be sure that there is no suitable library in the /lib directory
|
// We need to be sure that there is no suitable library in the /lib directory
|
||||||
// RUN: not ld.lld -o %t/r %t/m.o -L/lib -l:libls.a 2>&1 \
|
// RUN: not ld.lld -o %t/r %t/m.o -L/lib -l:libls.a 2>&1 \
|
||||||
|
|
|
@ -10,4 +10,4 @@
|
||||||
_start:
|
_start:
|
||||||
call __tls_get_addr
|
call __tls_get_addr
|
||||||
|
|
||||||
// CHECK: Undefined symbol: __tls_get_addr
|
// CHECK: undefined symbol: __tls_get_addr
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||||
# RUN: not ld.lld %t -o %t2 2>&1 | FileCheck %s
|
# RUN: not ld.lld %t -o %t2 2>&1 | FileCheck %s
|
||||||
# CHECK: Undefined symbol: _start
|
# CHECK: undefined symbol: _start
|
||||||
# REQUIRES: x86
|
# REQUIRES: x86
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||||
# RUN: not ld.lld %t -o %t2 2>&1 | FileCheck %s
|
# RUN: not ld.lld %t -o %t2 2>&1 | FileCheck %s
|
||||||
# CHECK: Undefined symbol: bar in {{.*}}
|
# CHECK: undefined symbol: bar in {{.*}}
|
||||||
# CHECK: Undefined symbol: foo in {{.*}}
|
# CHECK: undefined symbol: foo in {{.*}}
|
||||||
# REQUIRES: x86
|
# REQUIRES: x86
|
||||||
|
|
||||||
.globl _start
|
.globl _start
|
||||||
|
|
Loading…
Reference in New Issue