summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-symbolizer/Inputs/fat.c
diff options
context:
space:
mode:
authorFrederic Riss <friss@apple.com>2015-06-22 21:33:24 +0000
committerFrederic Riss <friss@apple.com>2015-06-22 21:33:24 +0000
commitebc162a766b7fe84b816d4faccadf59abe1ca4ef (patch)
tree4d1b6399be8a4f6497e6f1eae8fbf7cfae309a13 /llvm/test/tools/llvm-symbolizer/Inputs/fat.c
parent0b938284dac20587ad98536db03b95971bf24f33 (diff)
downloadbcm5719-llvm-ebc162a766b7fe84b816d4faccadf59abe1ca4ef.tar.gz
bcm5719-llvm-ebc162a766b7fe84b816d4faccadf59abe1ca4ef.zip
[Object] Search for architecures by name in MachOUniversalBinary::getObjectForArch()
The reason we need to search by name rather than by Triple::ArchType is to handle subarchitecture correclty. There is no different ArchType for the x86_64h architecture (it identifies itself as x86_64), or for the various ARM subarches. The only way to get to the subarch slice in an universal binary is to search by name. This issue led to hard to debug and transient symbolication failures in Asan tests (it mostly works, because the files are very similar). This also affects the Profiling infrastucture as it is the other user of that API. Reviewers: samsonov, bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10604 llvm-svn: 240339
Diffstat (limited to 'llvm/test/tools/llvm-symbolizer/Inputs/fat.c')
-rw-r--r--llvm/test/tools/llvm-symbolizer/Inputs/fat.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-symbolizer/Inputs/fat.c b/llvm/test/tools/llvm-symbolizer/Inputs/fat.c
new file mode 100644
index 00000000000..0331c09fe5f
--- /dev/null
+++ b/llvm/test/tools/llvm-symbolizer/Inputs/fat.c
@@ -0,0 +1,15 @@
+/* Compile with:
+ clang -arch armv7 -arch armv7m -arch armv7em -arch x86_64 -arch x86_64h -c
+*/
+
+#ifdef __x86_64h__
+void x86_64h_function() {}
+#elif defined(__x86_64__)
+void x86_64_function() {}
+#elif defined(__ARM_ARCH_7EM__)
+void armv7em_function() {}
+#elif defined(__ARM_ARCH_7M__)
+void armv7m_function() {}
+#elif defined(__ARM_ARCH_7A__)
+void armv7_function() {}
+#endif
OpenPOWER on IntegriCloud