diff options
author | Hubert Tong <hubert.reinterpretcast@gmail.com> | 2019-04-04 00:53:21 +0000 |
---|---|---|
committer | Hubert Tong <hubert.reinterpretcast@gmail.com> | 2019-04-04 00:53:21 +0000 |
commit | ab2eb2bfacb4b2a3642e7716ddaf2638149aa0b4 (patch) | |
tree | 08b208b82c24c6722d0288752c5703ba06c4e86a /llvm/lib/BinaryFormat/Magic.cpp | |
parent | 7f8b3bf2475624c4bd1140a4b48c83b738ddd0ec (diff) | |
download | bcm5719-llvm-ab2eb2bfacb4b2a3642e7716ddaf2638149aa0b4.tar.gz bcm5719-llvm-ab2eb2bfacb4b2a3642e7716ddaf2638149aa0b4.zip |
[XCOFF] Add functionality for parsing AIX XCOFF object file headers
Summary:
1. Add functionality for parsing AIX XCOFF object files headers.
2. Only support 32-bit AIX XCOFF object files in this patch.
3. Print out the AIX XCOFF object file header in YAML format.
Reviewers: sfertile, hubert.reinterpretcast, jasonliu, mstorsjo, zturner, rnk
Reviewed By: sfertile, hubert.reinterpretcast
Subscribers: jsji, mgorny, hiraditya, jdoerfert, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D59419
Patch by Digger Lin
llvm-svn: 357663
Diffstat (limited to 'llvm/lib/BinaryFormat/Magic.cpp')
-rw-r--r-- | llvm/lib/BinaryFormat/Magic.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/BinaryFormat/Magic.cpp b/llvm/lib/BinaryFormat/Magic.cpp index 85f944fa6ab..6063187a546 100644 --- a/llvm/lib/BinaryFormat/Magic.cpp +++ b/llvm/lib/BinaryFormat/Magic.cpp @@ -61,6 +61,13 @@ file_magic llvm::identify_magic(StringRef Magic) { return file_magic::wasm_object; break; } + + case 0x01: + // XCOFF format + if (startswith(Magic, "\x01\xDF")) + return file_magic::xcoff_object_32; + break; + case 0xDE: // 0x0B17C0DE = BC wraper if (startswith(Magic, "\xDE\xC0\x17\x0B")) return file_magic::bitcode; |