forked from OSchip/llvm-project
[lld-macho] Fix order file arch filtering
We had a hardcoded check and a stale TODO, written back when we only had support for one architecture. Reviewed By: #lld-macho, thakis Differential Revision: https://reviews.llvm.org/D102154
This commit is contained in:
parent
2516b0b526
commit
b1c3c2e4fc
|
@ -421,13 +421,13 @@ static void parseOrderFile(StringRef path) {
|
|||
.StartsWith("ppc:", CPU_TYPE_POWERPC)
|
||||
.StartsWith("ppc64:", CPU_TYPE_POWERPC64)
|
||||
.Default(CPU_TYPE_ANY);
|
||||
|
||||
if (cpuType != CPU_TYPE_ANY && cpuType != target->cpuType)
|
||||
continue;
|
||||
|
||||
// Drop the CPU type as well as the colon
|
||||
if (cpuType != CPU_TYPE_ANY)
|
||||
line = line.drop_until([](char c) { return c == ':'; }).drop_front();
|
||||
// TODO: Update when we extend support for other CPUs
|
||||
if (cpuType != CPU_TYPE_ANY && cpuType != CPU_TYPE_X86_64 &&
|
||||
cpuType != CPU_TYPE_ARM64)
|
||||
continue;
|
||||
|
||||
constexpr std::array<StringRef, 2> fileEnds = {".o:", ".o):"};
|
||||
for (StringRef fileEnd : fileEnds) {
|
||||
|
@ -869,7 +869,6 @@ bool macho::link(ArrayRef<const char *> argsArr, bool canExitEarly,
|
|||
|
||||
errorHandler().logName = args::getFilenameWithoutExe(argsArr[0]);
|
||||
stderrOS.enable_colors(stderrOS.has_colors());
|
||||
// TODO: Set up error handler properly, e.g. the errorLimitExceededMsg
|
||||
|
||||
MachOOptTable parser;
|
||||
InputArgList args = parser.parse(argsArr.slice(1));
|
||||
|
|
|
@ -222,7 +222,7 @@ Optional<MemoryBufferRef> macho::readFile(StringRef path) {
|
|||
return None;
|
||||
}
|
||||
|
||||
if (read32be(&arch[i].cputype) != target->cpuType ||
|
||||
if (read32be(&arch[i].cputype) != static_cast<uint32_t>(target->cpuType) ||
|
||||
read32be(&arch[i].cpusubtype) != target->cpuSubtype)
|
||||
continue;
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ public:
|
|||
}
|
||||
|
||||
uint32_t magic;
|
||||
uint32_t cpuType;
|
||||
llvm::MachO::CPUType cpuType;
|
||||
uint32_t cpuSubtype;
|
||||
|
||||
uint64_t pageZeroSize;
|
||||
|
|
|
@ -127,7 +127,7 @@ x86_64:-[Foo doFoo:andBar:]
|
|||
_main
|
||||
|
||||
#--- ord-arch-nomatch
|
||||
ppc:-[Foo doFoo:andBar:]
|
||||
arm64:-[Foo doFoo:andBar:]
|
||||
_main
|
||||
-[Foo doFoo:andBar:]
|
||||
|
||||
|
|
Loading…
Reference in New Issue