From 290c772b6c5c46f2b3740bc2f896a81f7db51707 Mon Sep 17 00:00:00 2001 From: Nick Kledzik Date: Wed, 17 Sep 2014 00:53:44 +0000 Subject: [PATCH] Fix identify_magic() with mach-o stub dylibs. The wrong value was returned and the unittest did not cover the stub dylib case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217933 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/Path.cpp | 2 +- unittests/Support/Path.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/Support/Path.cpp b/lib/Support/Path.cpp index 781c17c1879..7e02f5fecc3 100644 --- a/lib/Support/Path.cpp +++ b/lib/Support/Path.cpp @@ -999,7 +999,7 @@ file_magic identify_magic(StringRef Magic) { case 6: return file_magic::macho_dynamically_linked_shared_lib; case 7: return file_magic::macho_dynamic_linker; case 8: return file_magic::macho_bundle; - case 9: return file_magic::macho_dynamic_linker; + case 9: return file_magic::macho_dynamically_linked_shared_lib_stub; case 10: return file_magic::macho_dsym_companion; } break; diff --git a/unittests/Support/Path.cpp b/unittests/Support/Path.cpp index a12e9b79211..ae4c9eb207f 100644 --- a/unittests/Support/Path.cpp +++ b/unittests/Support/Path.cpp @@ -501,6 +501,8 @@ const char macho_dynamic_linker[] = "\xfe\xed\xfa\xce..........\x00\x07"; const char macho_bundle[] = "\xfe\xed\xfa\xce..........\x00\x08"; const char macho_dsym_companion[] = "\xfe\xed\xfa\xce..........\x00\x0a"; const char windows_resource[] = "\x00\x00\x00\x00\x020\x00\x00\x00\xff"; +const char macho_dynamically_linked_shared_lib_stub[] = + "\xfe\xed\xfa\xce..........\x00\x09"; TEST_F(FileSystemTest, Magic) { struct type { @@ -526,6 +528,7 @@ TEST_F(FileSystemTest, Magic) { DEFINE(macho_dynamically_linked_shared_lib), DEFINE(macho_dynamic_linker), DEFINE(macho_bundle), + DEFINE(macho_dynamically_linked_shared_lib_stub), DEFINE(macho_dsym_companion), DEFINE(windows_resource) #undef DEFINE