diff options
| author | Frederic Riss <friss@apple.com> | 2016-05-09 06:01:12 +0000 |
|---|---|---|
| committer | Frederic Riss <friss@apple.com> | 2016-05-09 06:01:12 +0000 |
| commit | 5af2c005eb9cf087ac89bfc7808ba9dbc904912e (patch) | |
| tree | ccc0d178623ebf992dcf309efbde3086c41c779e /llvm/tools | |
| parent | 9ed80154ab9db7cc39cb0a51cc6049f154f0970c (diff) | |
| download | bcm5719-llvm-5af2c005eb9cf087ac89bfc7808ba9dbc904912e.tar.gz bcm5719-llvm-5af2c005eb9cf087ac89bfc7808ba9dbc904912e.zip | |
[dsymutil] Fix -arch option for thumb variants.
r267249 removed the dual ARM/Thumb interface from MachOObjectFile,
simplifying llvm-dsymutil's code. This unfortunately also regressed
llvm-dsymutil's ability to select thumb slices, because the simplified
code was also dealing with the discrepency between the slice arch
(eg. armv7m) and the triple arch name (eg. thumbv7m).
llvm-svn: 268894
Diffstat (limited to 'llvm/tools')
| -rw-r--r-- | llvm/tools/dsymutil/MachODebugMapParser.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/tools/dsymutil/MachODebugMapParser.cpp b/llvm/tools/dsymutil/MachODebugMapParser.cpp index 476ac80fba2..22215200ed5 100644 --- a/llvm/tools/dsymutil/MachODebugMapParser.cpp +++ b/llvm/tools/dsymutil/MachODebugMapParser.cpp @@ -294,7 +294,11 @@ static bool shouldLinkArch(SmallVectorImpl<StringRef> &Archs, StringRef Arch) { std::find(Archs.begin(), Archs.end(), "arm") != Archs.end()) return true; - return std::find(Archs.begin(), Archs.end(), Arch) != Archs.end(); + SmallString<16> ArchName = Arch; + if (Arch.startswith("thumb")) + ArchName = ("arm" + Arch.substr(5)).str(); + + return std::find(Archs.begin(), Archs.end(), ArchName) != Archs.end(); } bool MachODebugMapParser::dumpStab() { |

