[llvm] r311291 - [MachO] Use Twines more efficiently.
Benjamin Kramer via llvm-commits
llvm-commits at lists.llvm.org
Sun Aug 20 08:13:39 PDT 2017
Author: d0k
Date: Sun Aug 20 08:13:39 2017
New Revision: 311291
URL: http://llvm.org/viewvc/llvm-project?rev=311291&view=rev
Log:
[MachO] Use Twines more efficiently.
Modified:
llvm/trunk/lib/Object/MachOObjectFile.cpp
llvm/trunk/test/tools/llvm-objdump/macho-bad-bind.test
llvm/trunk/test/tools/llvm-objdump/macho-bad-trie.test
Modified: llvm/trunk/lib/Object/MachOObjectFile.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/MachOObjectFile.cpp?rev=311291&r1=311290&r2=311291&view=diff
==============================================================================
--- llvm/trunk/lib/Object/MachOObjectFile.cpp (original)
+++ llvm/trunk/lib/Object/MachOObjectFile.cpp Sun Aug 20 08:13:39 2017
@@ -16,7 +16,6 @@
#include "llvm/ADT/None.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
-#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/Triple.h"
@@ -59,10 +58,9 @@ namespace {
} // end anonymous namespace
-static Error
-malformedError(Twine Msg) {
- std::string StringMsg = "truncated or malformed object (" + Msg.str() + ")";
- return make_error<GenericBinaryError>(std::move(StringMsg),
+static Error malformedError(const Twine &Msg) {
+ return make_error<GenericBinaryError>("truncated or malformed object (" +
+ Msg + ")",
object_error::parse_failed);
}
@@ -2687,17 +2685,19 @@ void ExportEntry::pushNode(uint64_t offs
const char *error;
uint64_t ExportInfoSize = readULEB128(State.Current, &error);
if (error) {
- *E = malformedError("export info size " + Twine(error) + " in export trie "
- "data at node: 0x" + utohexstr(offset));
+ *E = malformedError("export info size " + Twine(error) +
+ " in export trie data at node: 0x" +
+ Twine::utohexstr(offset));
moveToEnd();
return;
}
State.IsExportNode = (ExportInfoSize != 0);
const uint8_t* Children = State.Current + ExportInfoSize;
if (Children > Trie.end()) {
- *E = malformedError("export info size: 0x" + utohexstr(ExportInfoSize) +
- " in export trie data at node: 0x" + utohexstr(offset) +
- " too big and extends past end of trie data");
+ *E = malformedError(
+ "export info size: 0x" + Twine::utohexstr(ExportInfoSize) +
+ " in export trie data at node: 0x" + Twine::utohexstr(offset) +
+ " too big and extends past end of trie data");
moveToEnd();
return;
}
@@ -2705,8 +2705,9 @@ void ExportEntry::pushNode(uint64_t offs
const uint8_t *ExportStart = State.Current;
State.Flags = readULEB128(State.Current, &error);
if (error) {
- *E = malformedError("flags " + Twine(error) + " in export trie data at "
- "node: 0x" + utohexstr(offset));
+ *E = malformedError("flags " + Twine(error) +
+ " in export trie data at node: 0x" +
+ Twine::utohexstr(offset));
moveToEnd();
return;
}
@@ -2715,9 +2716,10 @@ void ExportEntry::pushNode(uint64_t offs
(Kind != MachO::EXPORT_SYMBOL_FLAGS_KIND_REGULAR &&
Kind != MachO::EXPORT_SYMBOL_FLAGS_KIND_ABSOLUTE &&
Kind != MachO::EXPORT_SYMBOL_FLAGS_KIND_THREAD_LOCAL)) {
- *E = malformedError("unsupported exported symbol kind: "
- + Twine((int)Kind) + " in flags: 0x" + utohexstr(State.Flags) +
- " in export trie data at node: 0x" + utohexstr(offset));
+ *E = malformedError(
+ "unsupported exported symbol kind: " + Twine((int)Kind) +
+ " in flags: 0x" + Twine::utohexstr(State.Flags) +
+ " in export trie data at node: 0x" + Twine::utohexstr(offset));
moveToEnd();
return;
}
@@ -2726,15 +2728,17 @@ void ExportEntry::pushNode(uint64_t offs
State.Other = readULEB128(State.Current, &error); // dylib ordinal
if (error) {
*E = malformedError("dylib ordinal of re-export " + Twine(error) +
- " in export trie data at node: 0x" + utohexstr(offset));
+ " in export trie data at node: 0x" +
+ Twine::utohexstr(offset));
moveToEnd();
return;
}
if (O != nullptr) {
if (State.Other > O->getLibraryCount()) {
- *E = malformedError("bad library ordinal: " + Twine((int)State.Other)
- + " (max " + Twine((int)O->getLibraryCount()) + ") in export "
- "trie data at node: 0x" + utohexstr(offset));
+ *E = malformedError(
+ "bad library ordinal: " + Twine((int)State.Other) + " (max " +
+ Twine((int)O->getLibraryCount()) +
+ ") in export trie data at node: 0x" + Twine::utohexstr(offset));
moveToEnd();
return;
}
@@ -2746,8 +2750,9 @@ void ExportEntry::pushNode(uint64_t offs
const uint8_t *End = State.Current + 1;
if (End >= Trie.end()) {
*E = malformedError("import name of re-export in export trie data at "
- "node: 0x" + utohexstr(offset) + " starts past end of trie "
- "data");
+ "node: 0x" +
+ Twine::utohexstr(offset) +
+ " starts past end of trie data");
moveToEnd();
return;
}
@@ -2755,8 +2760,9 @@ void ExportEntry::pushNode(uint64_t offs
End++;
if (*End != '\0') {
*E = malformedError("import name of re-export in export trie data at "
- "node: 0x" + utohexstr(offset) + " extends past end of trie "
- "data");
+ "node: 0x" +
+ Twine::utohexstr(offset) +
+ " extends past end of trie data");
moveToEnd();
return;
}
@@ -2765,8 +2771,9 @@ void ExportEntry::pushNode(uint64_t offs
} else {
State.Address = readULEB128(State.Current, &error);
if (error) {
- *E = malformedError("address " + Twine(error) + " in export trie data "
- "at node: 0x" + utohexstr(offset));
+ *E = malformedError("address " + Twine(error) +
+ " in export trie data at node: 0x" +
+ Twine::utohexstr(offset));
moveToEnd();
return;
}
@@ -2774,17 +2781,19 @@ void ExportEntry::pushNode(uint64_t offs
State.Other = readULEB128(State.Current, &error);
if (error) {
*E = malformedError("resolver of stub and resolver " + Twine(error) +
- " in export trie data at node: 0x" + utohexstr(offset));
+ " in export trie data at node: 0x" +
+ Twine::utohexstr(offset));
moveToEnd();
return;
}
}
}
if(ExportStart + ExportInfoSize != State.Current) {
- *E = malformedError("inconsistant export info size: 0x" +
- utohexstr(ExportInfoSize) + " where actual size was: 0x" +
- utohexstr(State.Current - ExportStart) + " in export trie data "
- "at node: 0x" + utohexstr(offset));
+ *E = malformedError(
+ "inconsistant export info size: 0x" +
+ Twine::utohexstr(ExportInfoSize) + " where actual size was: 0x" +
+ Twine::utohexstr(State.Current - ExportStart) +
+ " in export trie data at node: 0x" + Twine::utohexstr(offset));
moveToEnd();
return;
}
@@ -2792,7 +2801,9 @@ void ExportEntry::pushNode(uint64_t offs
State.ChildCount = *Children;
if (State.ChildCount != 0 && Children + 1 >= Trie.end()) {
*E = malformedError("byte for count of childern in export trie data at "
- "node: 0x" + utohexstr(offset) + " extends past end of trie data");
+ "node: 0x" +
+ Twine::utohexstr(offset) +
+ " extends past end of trie data");
moveToEnd();
return;
}
@@ -2814,8 +2825,9 @@ void ExportEntry::pushDownUntilBottom()
}
if (Top.Current >= Trie.end()) {
*E = malformedError("edge sub-string in export trie data at node: 0x" +
- utohexstr(Top.Start - Trie.begin()) + " for child #" +
- Twine((int)Top.NextChildIndex) + " extends past end of trie data");
+ Twine::utohexstr(Top.Start - Trie.begin()) +
+ " for child #" + Twine((int)Top.NextChildIndex) +
+ " extends past end of trie data");
moveToEnd();
return;
}
@@ -2823,16 +2835,17 @@ void ExportEntry::pushDownUntilBottom()
uint64_t childNodeIndex = readULEB128(Top.Current, &error);
if (error) {
*E = malformedError("child node offset " + Twine(error) +
- " in export trie data at node: 0x" +
- utohexstr(Top.Start - Trie.begin()));
+ " in export trie data at node: 0x" +
+ Twine::utohexstr(Top.Start - Trie.begin()));
moveToEnd();
return;
}
for (const NodeState &node : nodes()) {
if (node.Start == Trie.begin() + childNodeIndex){
*E = malformedError("loop in childern in export trie data at node: 0x" +
- utohexstr(Top.Start - Trie.begin()) + " back to node: 0x" +
- utohexstr(childNodeIndex));
+ Twine::utohexstr(Top.Start - Trie.begin()) +
+ " back to node: 0x" +
+ Twine::utohexstr(childNodeIndex));
moveToEnd();
return;
}
@@ -2844,7 +2857,8 @@ void ExportEntry::pushDownUntilBottom()
}
if (!Stack.back().IsExportNode) {
*E = malformedError("node is not an export node in export trie data at "
- "node: 0x" + utohexstr(Stack.back().Start - Trie.begin()));
+ "node: 0x" +
+ Twine::utohexstr(Stack.back().Start - Trie.begin()));
moveToEnd();
return;
}
@@ -2869,7 +2883,8 @@ void ExportEntry::moveNext() {
assert(!Stack.empty() && "ExportEntry::moveNext() with empty node stack");
if (!Stack.back().IsExportNode) {
*E = malformedError("node is not an export node in export trie data at "
- "node: 0x" + utohexstr(Stack.back().Start - Trie.begin()));
+ "node: 0x" +
+ Twine::utohexstr(Stack.back().Start - Trie.begin()));
moveToEnd();
return;
}
@@ -2962,11 +2977,11 @@ void MachORebaseEntry::moveNext() {
case MachO::REBASE_OPCODE_SET_TYPE_IMM:
RebaseType = ImmValue;
if (RebaseType > MachO::REBASE_TYPE_TEXT_PCREL32) {
- *E = malformedError("for REBASE_OPCODE_SET_TYPE_IMM bad bind type: " +
- Twine((int)RebaseType) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
- moveToEnd();
- return;
+ *E = malformedError("for REBASE_OPCODE_SET_TYPE_IMM bad bind type: " +
+ Twine((int)RebaseType) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
+ moveToEnd();
+ return;
}
DEBUG_WITH_TYPE(
"mach-o-rebase",
@@ -2978,8 +2993,8 @@ void MachORebaseEntry::moveNext() {
SegmentOffset = readULEB128(&error);
if (error) {
*E = malformedError("for REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -2987,8 +3002,8 @@ void MachORebaseEntry::moveNext() {
true);
if (error) {
*E = malformedError("for REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3002,18 +3017,18 @@ void MachORebaseEntry::moveNext() {
case MachO::REBASE_OPCODE_ADD_ADDR_ULEB:
SegmentOffset += readULEB128(&error);
if (error) {
- *E = malformedError("for REBASE_OPCODE_ADD_ADDR_ULEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError("for REBASE_OPCODE_ADD_ADDR_ULEB " + Twine(error) +
+ " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
error = O->RebaseEntryCheckSegAndOffset(SegmentIndex, SegmentOffset,
true);
if (error) {
- *E = malformedError("for REBASE_OPCODE_ADD_ADDR_ULEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError("for REBASE_OPCODE_ADD_ADDR_ULEB " + Twine(error) +
+ " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3027,8 +3042,8 @@ void MachORebaseEntry::moveNext() {
true);
if (error) {
*E = malformedError("for REBASE_OPCODE_ADD_ADDR_IMM_SCALED " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3036,10 +3051,11 @@ void MachORebaseEntry::moveNext() {
error = O->RebaseEntryCheckSegAndOffset(SegmentIndex, SegmentOffset,
false);
if (error) {
- *E = malformedError("for REBASE_OPCODE_ADD_ADDR_IMM_SCALED "
- " (after adding immediate times the pointer size) " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E =
+ malformedError("for REBASE_OPCODE_ADD_ADDR_IMM_SCALED "
+ " (after adding immediate times the pointer size) " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3053,8 +3069,8 @@ void MachORebaseEntry::moveNext() {
true);
if (error) {
*E = malformedError("for REBASE_OPCODE_DO_REBASE_IMM_TIMES " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3068,9 +3084,9 @@ void MachORebaseEntry::moveNext() {
error = O->RebaseEntryCheckCountAndSkip(Count, Skip, PointerSize,
SegmentIndex, SegmentOffset);
if (error) {
- *E = malformedError("for REBASE_OPCODE_DO_REBASE_IMM_TIMES "
- + Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError("for REBASE_OPCODE_DO_REBASE_IMM_TIMES " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3087,8 +3103,8 @@ void MachORebaseEntry::moveNext() {
true);
if (error) {
*E = malformedError("for REBASE_OPCODE_DO_REBASE_ULEB_TIMES " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3097,8 +3113,8 @@ void MachORebaseEntry::moveNext() {
Count = readULEB128(&error);
if (error) {
*E = malformedError("for REBASE_OPCODE_DO_REBASE_ULEB_TIMES " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3109,9 +3125,9 @@ void MachORebaseEntry::moveNext() {
error = O->RebaseEntryCheckCountAndSkip(Count, Skip, PointerSize,
SegmentIndex, SegmentOffset);
if (error) {
- *E = malformedError("for REBASE_OPCODE_DO_REBASE_ULEB_TIMES "
- + Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError("for REBASE_OPCODE_DO_REBASE_ULEB_TIMES " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3128,16 +3144,16 @@ void MachORebaseEntry::moveNext() {
true);
if (error) {
*E = malformedError("for REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
Skip = readULEB128(&error);
if (error) {
*E = malformedError("for REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3147,9 +3163,9 @@ void MachORebaseEntry::moveNext() {
error = O->RebaseEntryCheckCountAndSkip(Count, Skip, PointerSize,
SegmentIndex, SegmentOffset);
if (error) {
- *E = malformedError("for REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB "
- + Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError("for REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3166,16 +3182,18 @@ void MachORebaseEntry::moveNext() {
true);
if (error) {
*E = malformedError("for REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_"
- "ULEB " + Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ "ULEB " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
Count = readULEB128(&error);
if (error) {
*E = malformedError("for REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_"
- "ULEB " + Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ "ULEB " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3186,8 +3204,9 @@ void MachORebaseEntry::moveNext() {
Skip = readULEB128(&error);
if (error) {
*E = malformedError("for REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_"
- "ULEB " + Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ "ULEB " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3197,8 +3216,9 @@ void MachORebaseEntry::moveNext() {
SegmentIndex, SegmentOffset);
if (error) {
*E = malformedError("for REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_"
- "ULEB " + Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ "ULEB " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3212,8 +3232,8 @@ void MachORebaseEntry::moveNext() {
return;
default:
*E = malformedError("bad rebase info (bad opcode value 0x" +
- utohexstr(Opcode) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine::utohexstr(Opcode) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3355,8 +3375,8 @@ void MachOBindEntry::moveNext() {
case MachO::BIND_OPCODE_SET_DYLIB_ORDINAL_IMM:
if (TableKind == Kind::Weak) {
*E = malformedError("BIND_OPCODE_SET_DYLIB_ORDINAL_IMM not allowed in "
- "weak bind table for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ "weak bind table for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3364,9 +3384,11 @@ void MachOBindEntry::moveNext() {
LibraryOrdinalSet = true;
if (ImmValue > O->getLibraryCount()) {
*E = malformedError("for BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB bad "
- "library ordinal: " + Twine((int)ImmValue) + " (max " +
- Twine((int)O->getLibraryCount()) + ") for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ "library ordinal: " +
+ Twine((int)ImmValue) + " (max " +
+ Twine((int)O->getLibraryCount()) +
+ ") for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3378,8 +3400,8 @@ void MachOBindEntry::moveNext() {
case MachO::BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB:
if (TableKind == Kind::Weak) {
*E = malformedError("BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB not allowed in "
- "weak bind table for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ "weak bind table for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3387,16 +3409,18 @@ void MachOBindEntry::moveNext() {
LibraryOrdinalSet = true;
if (error) {
*E = malformedError("for BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
if (Ordinal > (int)O->getLibraryCount()) {
*E = malformedError("for BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB bad "
- "library ordinal: " + Twine((int)Ordinal) + " (max " +
- Twine((int)O->getLibraryCount()) + ") for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ "library ordinal: " +
+ Twine((int)Ordinal) + " (max " +
+ Twine((int)O->getLibraryCount()) +
+ ") for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3408,8 +3432,8 @@ void MachOBindEntry::moveNext() {
case MachO::BIND_OPCODE_SET_DYLIB_SPECIAL_IMM:
if (TableKind == Kind::Weak) {
*E = malformedError("BIND_OPCODE_SET_DYLIB_SPECIAL_IMM not allowed in "
- "weak bind table for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ "weak bind table for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3418,8 +3442,9 @@ void MachOBindEntry::moveNext() {
Ordinal = SignExtended;
if (Ordinal < MachO::BIND_SPECIAL_DYLIB_FLAT_LOOKUP) {
*E = malformedError("for BIND_OPCODE_SET_DYLIB_SPECIAL_IMM unknown "
- "special ordinal: " + Twine((int)Ordinal) + " for opcode at: "
- "0x" + utohexstr(OpcodeStart - Opcodes.begin()));
+ "special ordinal: " +
+ Twine((int)Ordinal) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3438,11 +3463,12 @@ void MachOBindEntry::moveNext() {
++Ptr;
}
if (Ptr == Opcodes.end()) {
- *E = malformedError("for BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM "
- "symbol name extends past opcodes for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
- moveToEnd();
- return;
+ *E = malformedError(
+ "for BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM "
+ "symbol name extends past opcodes for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
+ moveToEnd();
+ return;
}
SymbolName = StringRef(reinterpret_cast<const char*>(SymStart),
Ptr-SymStart);
@@ -3459,11 +3485,11 @@ void MachOBindEntry::moveNext() {
case MachO::BIND_OPCODE_SET_TYPE_IMM:
BindType = ImmValue;
if (ImmValue > MachO::BIND_TYPE_TEXT_PCREL32) {
- *E = malformedError("for BIND_OPCODE_SET_TYPE_IMM bad bind type: " +
- Twine((int)ImmValue) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
- moveToEnd();
- return;
+ *E = malformedError("for BIND_OPCODE_SET_TYPE_IMM bad bind type: " +
+ Twine((int)ImmValue) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
+ moveToEnd();
+ return;
}
DEBUG_WITH_TYPE(
"mach-o-bind",
@@ -3473,9 +3499,9 @@ void MachOBindEntry::moveNext() {
case MachO::BIND_OPCODE_SET_ADDEND_SLEB:
Addend = readSLEB128(&error);
if (error) {
- *E = malformedError("for BIND_OPCODE_SET_ADDEND_SLEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError("for BIND_OPCODE_SET_ADDEND_SLEB " + Twine(error) +
+ " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3489,16 +3515,16 @@ void MachOBindEntry::moveNext() {
SegmentOffset = readULEB128(&error);
if (error) {
*E = malformedError("for BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
error = O->BindEntryCheckSegAndOffset(SegmentIndex, SegmentOffset, true);
if (error) {
*E = malformedError("for BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3512,17 +3538,17 @@ void MachOBindEntry::moveNext() {
case MachO::BIND_OPCODE_ADD_ADDR_ULEB:
SegmentOffset += readULEB128(&error);
if (error) {
- *E = malformedError("for BIND_OPCODE_ADD_ADDR_ULEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError("for BIND_OPCODE_ADD_ADDR_ULEB " + Twine(error) +
+ " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
error = O->BindEntryCheckSegAndOffset(SegmentIndex, SegmentOffset, true);
if (error) {
- *E = malformedError("for BIND_OPCODE_ADD_ADDR_ULEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError("for BIND_OPCODE_ADD_ADDR_ULEB " + Twine(error) +
+ " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3537,21 +3563,24 @@ void MachOBindEntry::moveNext() {
error = O->BindEntryCheckSegAndOffset(SegmentIndex, SegmentOffset, true);
if (error) {
*E = malformedError("for BIND_OPCODE_DO_BIND " + Twine(error) +
- " for opcode at: 0x" + utohexstr(OpcodeStart - Opcodes.begin()));
+ " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
if (SymbolName == StringRef()) {
- *E = malformedError("for BIND_OPCODE_DO_BIND missing preceding "
- "BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError(
+ "for BIND_OPCODE_DO_BIND missing preceding "
+ "BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
if (!LibraryOrdinalSet && TableKind != Kind::Weak) {
- *E = malformedError("for BIND_OPCODE_DO_BIND missing preceding "
- "BIND_OPCODE_SET_DYLIB_ORDINAL_* for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E =
+ malformedError("for BIND_OPCODE_DO_BIND missing preceding "
+ "BIND_OPCODE_SET_DYLIB_ORDINAL_* for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3563,38 +3592,41 @@ void MachOBindEntry::moveNext() {
case MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB:
if (TableKind == Kind::Lazy) {
*E = malformedError("BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB not allowed in "
- "lazy bind table for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ "lazy bind table for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
error = O->BindEntryCheckSegAndOffset(SegmentIndex, SegmentOffset, true);
if (error) {
*E = malformedError("for BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
if (SymbolName == StringRef()) {
- *E = malformedError("for BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB missing "
- "preceding BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM for opcode "
- "at: 0x" + utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError(
+ "for BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB missing "
+ "preceding BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM for opcode "
+ "at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
if (!LibraryOrdinalSet && TableKind != Kind::Weak) {
- *E = malformedError("for BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB missing "
- "preceding BIND_OPCODE_SET_DYLIB_ORDINAL_* for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError(
+ "for BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB missing "
+ "preceding BIND_OPCODE_SET_DYLIB_ORDINAL_* for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
AdvanceAmount = readULEB128(&error) + PointerSize;
if (error) {
*E = malformedError("for BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3605,8 +3637,9 @@ void MachOBindEntry::moveNext() {
AdvanceAmount, false);
if (error) {
*E = malformedError("for BIND_OPCODE_ADD_ADDR_ULEB (after adding "
- "ULEB) " + Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ "ULEB) " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3622,30 +3655,34 @@ void MachOBindEntry::moveNext() {
case MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED:
if (TableKind == Kind::Lazy) {
*E = malformedError("BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED not "
- "allowed in lazy bind table for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ "allowed in lazy bind table for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
error = O->BindEntryCheckSegAndOffset(SegmentIndex, SegmentOffset, true);
if (error) {
*E = malformedError("for BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
if (SymbolName == StringRef()) {
- *E = malformedError("for BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED "
- "missing preceding BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM for "
- "opcode at: 0x" + utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError(
+ "for BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED "
+ "missing preceding BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM for "
+ "opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
if (!LibraryOrdinalSet && TableKind != Kind::Weak) {
- *E = malformedError("for BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED "
- "missing preceding BIND_OPCODE_SET_DYLIB_ORDINAL_* for opcode "
- "at: 0x" + utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError(
+ "for BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED "
+ "missing preceding BIND_OPCODE_SET_DYLIB_ORDINAL_* for opcode "
+ "at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3654,10 +3691,11 @@ void MachOBindEntry::moveNext() {
error = O->BindEntryCheckSegAndOffset(SegmentIndex, SegmentOffset +
AdvanceAmount, false);
if (error) {
- *E = malformedError("for BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED "
- " (after adding immediate times the pointer size) " +
- Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E =
+ malformedError("for BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED "
+ " (after adding immediate times the pointer size) " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3669,8 +3707,8 @@ void MachOBindEntry::moveNext() {
case MachO::BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB:
if (TableKind == Kind::Lazy) {
*E = malformedError("BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB not "
- "allowed in lazy bind table for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ "allowed in lazy bind table for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3681,8 +3719,9 @@ void MachOBindEntry::moveNext() {
RemainingLoopCount = 0;
if (error) {
*E = malformedError("for BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB "
- " (count value) " + Twine(error) + " for opcode at"
- ": 0x" + utohexstr(OpcodeStart - Opcodes.begin()));
+ " (count value) " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3690,39 +3729,46 @@ void MachOBindEntry::moveNext() {
AdvanceAmount = Skip + PointerSize;
if (error) {
*E = malformedError("for BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB "
- " (skip value) " + Twine(error) + " for opcode at"
- ": 0x" + utohexstr(OpcodeStart - Opcodes.begin()));
+ " (skip value) " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
error = O->BindEntryCheckSegAndOffset(SegmentIndex, SegmentOffset, true);
if (error) {
- *E = malformedError("for BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB "
- + Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E =
+ malformedError("for BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
if (SymbolName == StringRef()) {
- *E = malformedError("for BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB "
- "missing preceding BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM for "
- "opcode at: 0x" + utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError(
+ "for BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB "
+ "missing preceding BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM for "
+ "opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
if (!LibraryOrdinalSet && TableKind != Kind::Weak) {
- *E = malformedError("for BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB "
- "missing preceding BIND_OPCODE_SET_DYLIB_ORDINAL_* for opcode "
- "at: 0x" + utohexstr(OpcodeStart - Opcodes.begin()));
+ *E = malformedError(
+ "for BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB "
+ "missing preceding BIND_OPCODE_SET_DYLIB_ORDINAL_* for opcode "
+ "at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
error = O->BindEntryCheckCountAndSkip(Count, Skip, PointerSize,
SegmentIndex, SegmentOffset);
if (error) {
- *E = malformedError("for BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB "
- + Twine(error) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ *E =
+ malformedError("for BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB " +
+ Twine(error) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
@@ -3736,8 +3782,8 @@ void MachOBindEntry::moveNext() {
return;
default:
*E = malformedError("bad bind info (bad opcode value 0x" +
- utohexstr(Opcode) + " for opcode at: 0x" +
- utohexstr(OpcodeStart - Opcodes.begin()));
+ Twine::utohexstr(Opcode) + " for opcode at: 0x" +
+ Twine::utohexstr(OpcodeStart - Opcodes.begin()));
moveToEnd();
return;
}
Modified: llvm/trunk/test/tools/llvm-objdump/macho-bad-bind.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objdump/macho-bad-bind.test?rev=311291&r1=311290&r2=311291&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-objdump/macho-bad-bind.test (original)
+++ llvm/trunk/test/tools/llvm-objdump/macho-bad-bind.test Sun Aug 20 08:13:39 2017
@@ -47,16 +47,16 @@ RUN: not llvm-objdump -macho -bind %p/In
DO-BIND-NO-DYLIB-ORDINAL: macho-do-bind-no-dylib-ordinal': truncated or malformed object (for BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB missing preceding BIND_OPCODE_SET_DYLIB_ORDINAL_* for opcode at: 0x15)
RUN: not llvm-objdump -macho -bind %p/Inputs/macho-bind-bad-opcode-value 2>&1 | FileCheck -check-prefix BAD-OPCODE-VALUE %s
-BAD-OPCODE-VALUE: macho-bind-bad-opcode-value': truncated or malformed object (bad bind info (bad opcode value 0xD0 for opcode at: 0x18)
+BAD-OPCODE-VALUE: macho-bind-bad-opcode-value': truncated or malformed object (bad bind info (bad opcode value 0xd0 for opcode at: 0x18)
RUN: not llvm-objdump -macho -lazy-bind %p/Inputs/macho-lazy-do_bind_add_addr_uleb 2>&1 | FileCheck -check-prefix LAZY_DO_BIND_ADD_ADDR_ULEB %s
-LAZY_DO_BIND_ADD_ADDR_ULEB: macho-lazy-do_bind_add_addr_uleb': truncated or malformed object (BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB not allowed in lazy bind table for opcode at: 0xC)
+LAZY_DO_BIND_ADD_ADDR_ULEB: macho-lazy-do_bind_add_addr_uleb': truncated or malformed object (BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB not allowed in lazy bind table for opcode at: 0xc)
RUN: not llvm-objdump -macho -lazy-bind %p/Inputs/macho-lazy-do-bind-add-addr-imm-scaled 2>&1 | FileCheck -check-prefix LAZY-DO-BIND-ADD-ADDR-IMM-SCALED %s
-LAZY-DO-BIND-ADD-ADDR-IMM-SCALED: macho-lazy-do-bind-add-addr-imm-scaled': truncated or malformed object (BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED not allowed in lazy bind table for opcode at: 0xC)
+LAZY-DO-BIND-ADD-ADDR-IMM-SCALED: macho-lazy-do-bind-add-addr-imm-scaled': truncated or malformed object (BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED not allowed in lazy bind table for opcode at: 0xc)
RUN: not llvm-objdump -macho -lazy-bind %p/Inputs/macho-lazy-do-bind-uleb-times-skipping-uleb 2>&1 | FileCheck -check-prefix LAZY-DO-BIND-ULEB-TIMES-SKIPPING-ULEB %s
-LAZY-DO-BIND-ULEB-TIMES-SKIPPING-ULEB: macho-lazy-do-bind-uleb-times-skipping-uleb': truncated or malformed object (BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB not allowed in lazy bind table for opcode at: 0xC)
+LAZY-DO-BIND-ULEB-TIMES-SKIPPING-ULEB: macho-lazy-do-bind-uleb-times-skipping-uleb': truncated or malformed object (BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB not allowed in lazy bind table for opcode at: 0xc)
RUN: not llvm-objdump -macho -weak-bind %p/Inputs/macho-weak-bind-set-dylib-ordinal-imm 2>&1 | FileCheck -check-prefix WEAK-BIND-SET-DYLIB-ORDINAL-IMM %s
WEAK-BIND-SET-DYLIB-ORDINAL-IMM: macho-weak-bind-set-dylib-ordinal-imm': truncated or malformed object (BIND_OPCODE_SET_DYLIB_ORDINAL_IMM not allowed in weak bind table for opcode at: 0x2)
@@ -98,4 +98,4 @@ RUN: not llvm-objdump -macho -rebase %p/
REBASE-ULEB-TIMES-SKIPPING-ULEB: macho-rebase-uleb-times-skipping-uleb': truncated or malformed object (for REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB bad count and skip, too large for opcode at: 0x3)
RUN: not llvm-objdump -macho -rebase %p/Inputs/macho-rebase-bad-opcode-value 2>&1 | FileCheck -check-prefix REBASE-BAD-OPCODE-VALUE %s
-REBASE-BAD-OPCODE-VALUE: macho-rebase-bad-opcode-value': truncated or malformed object (bad rebase info (bad opcode value 0xD0 for opcode at: 0x4)
+REBASE-BAD-OPCODE-VALUE: macho-rebase-bad-opcode-value': truncated or malformed object (bad rebase info (bad opcode value 0xd0 for opcode at: 0x4)
Modified: llvm/trunk/test/tools/llvm-objdump/macho-bad-trie.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objdump/macho-bad-trie.test?rev=311291&r1=311290&r2=311291&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-objdump/macho-bad-trie.test (original)
+++ llvm/trunk/test/tools/llvm-objdump/macho-bad-trie.test Sun Aug 20 08:13:39 2017
@@ -2,10 +2,10 @@ RUN: not llvm-objdump -macho -exports-tr
BAD_KIND: macho-trie-bad-kind': truncated or malformed object (unsupported exported symbol kind: 3 in flags: 0x13 in export trie data at node: 0x53)
RUN: not llvm-objdump -macho -exports-trie %p/Inputs/macho-trie-bad-export-info-malformed-uleb128 2>&1 | FileCheck -check-prefix MALFORMED_ULEB128 %s
-MALFORMED_ULEB128: macho-trie-bad-export-info-malformed-uleb128': truncated or malformed object (export info size malformed uleb128, extends past end in export trie data at node: 0x5A)
+MALFORMED_ULEB128: macho-trie-bad-export-info-malformed-uleb128': truncated or malformed object (export info size malformed uleb128, extends past end in export trie data at node: 0x5a)
RUN: not llvm-objdump -macho -exports-trie %p/Inputs/macho-trie-bad-export-info-malformed-uleb128_too_big 2>&1 | FileCheck -check-prefix MALFORMED_ULEB128_TOO_BIG %s
-MALFORMED_ULEB128_TOO_BIG: macho-trie-bad-export-info-malformed-uleb128_too_big': truncated or malformed object (export info size uleb128 too big for uint64 in export trie data at node: 0x5A)
+MALFORMED_ULEB128_TOO_BIG: macho-trie-bad-export-info-malformed-uleb128_too_big': truncated or malformed object (export info size uleb128 too big for uint64 in export trie data at node: 0x5a)
RUN: not llvm-objdump -macho -exports-trie %p/Inputs/macho-trie-export-info-size-too-big 2>&1 | FileCheck -check-prefix EXPORT_INFO_SIZE_TOO_BIG %s
EXPORT_INFO_SIZE_TOO_BIG: macho-trie-export-info-size-too-big': truncated or malformed object (export info size: 0x1234 in export trie data at node: 0x33 too big and extends past end of trie data)
@@ -23,7 +23,7 @@ RUN: not llvm-objdump -macho -exports-tr
EDGE_STRING_END: macho-trie-edge-string-end': truncated or malformed object (edge sub-string in export trie data at node: 0x42 for child #0 extends past end of trie data)
RUN: not llvm-objdump -macho -exports-trie %p/Inputs/macho-trie-not-export-node 2>&1 | FileCheck -check-prefix NOT_EXPORT_NODE %s
-NOT_EXPORT_NODE: macho-trie-not-export-node': truncated or malformed object (node is not an export node in export trie data at node: 0x5A)
+NOT_EXPORT_NODE: macho-trie-not-export-node': truncated or malformed object (node is not an export node in export trie data at node: 0x5a)
RUN: not llvm-objdump -macho -exports-trie %p/Inputs/macho-trie-node-loop 2>&1 | FileCheck -check-prefix LOOP_OF_CHILDERN %s
LOOP_OF_CHILDERN: macho-trie-node-loop': truncated or malformed object (loop in childern in export trie data at node: 0x42 back to node: 0x5)
More information about the llvm-commits
mailing list