[llvm] r222208 - Support ELF files of unknown type.
Rafael EspĂndola
rafael.espindola at gmail.com
Mon Nov 24 20:41:40 PST 2014
testcase?
On 17 November 2014 at 20:14, Michael J. Spencer <bigcheesegs at gmail.com> wrote:
> Author: mspencer
> Date: Mon Nov 17 19:14:25 2014
> New Revision: 222208
>
> URL: http://llvm.org/viewvc/llvm-project?rev=222208&view=rev
> Log:
> Support ELF files of unknown type.
>
> Modified:
> llvm/trunk/include/llvm/Support/FileSystem.h
> llvm/trunk/lib/Object/Binary.cpp
> llvm/trunk/lib/Object/ObjectFile.cpp
> llvm/trunk/lib/Object/SymbolicFile.cpp
> llvm/trunk/lib/Support/Path.cpp
>
> Modified: llvm/trunk/include/llvm/Support/FileSystem.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/FileSystem.h?rev=222208&r1=222207&r2=222208&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/Support/FileSystem.h (original)
> +++ llvm/trunk/include/llvm/Support/FileSystem.h Mon Nov 17 19:14:25 2014
> @@ -226,6 +226,7 @@ struct file_magic {
> unknown = 0, ///< Unrecognized file
> bitcode, ///< Bitcode file
> archive, ///< ar style archive file
> + elf, ///< ELF Unknown type
> elf_relocatable, ///< ELF Relocatable object file
> elf_executable, ///< ELF Executable image
> elf_shared_object, ///< ELF dynamically linked shared lib
>
> Modified: llvm/trunk/lib/Object/Binary.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/Binary.cpp?rev=222208&r1=222207&r2=222208&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Object/Binary.cpp (original)
> +++ llvm/trunk/lib/Object/Binary.cpp Mon Nov 17 19:14:25 2014
> @@ -43,6 +43,7 @@ ErrorOr<std::unique_ptr<Binary>> object:
> switch (Type) {
> case sys::fs::file_magic::archive:
> return Archive::create(Buffer);
> + case sys::fs::file_magic::elf:
> case sys::fs::file_magic::elf_relocatable:
> case sys::fs::file_magic::elf_executable:
> case sys::fs::file_magic::elf_shared_object:
>
> Modified: llvm/trunk/lib/Object/ObjectFile.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/ObjectFile.cpp?rev=222208&r1=222207&r2=222208&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Object/ObjectFile.cpp (original)
> +++ llvm/trunk/lib/Object/ObjectFile.cpp Mon Nov 17 19:14:25 2014
> @@ -60,6 +60,7 @@ ObjectFile::createObjectFile(MemoryBuffe
> case sys::fs::file_magic::macho_universal_binary:
> case sys::fs::file_magic::windows_resource:
> return object_error::invalid_file_type;
> + case sys::fs::file_magic::elf:
> case sys::fs::file_magic::elf_relocatable:
> case sys::fs::file_magic::elf_executable:
> case sys::fs::file_magic::elf_shared_object:
>
> Modified: llvm/trunk/lib/Object/SymbolicFile.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/SymbolicFile.cpp?rev=222208&r1=222207&r2=222208&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Object/SymbolicFile.cpp (original)
> +++ llvm/trunk/lib/Object/SymbolicFile.cpp Mon Nov 17 19:14:25 2014
> @@ -40,6 +40,7 @@ ErrorOr<std::unique_ptr<SymbolicFile>> S
> case sys::fs::file_magic::macho_universal_binary:
> case sys::fs::file_magic::windows_resource:
> return object_error::invalid_file_type;
> + case sys::fs::file_magic::elf:
> case sys::fs::file_magic::elf_executable:
> case sys::fs::file_magic::elf_shared_object:
> case sys::fs::file_magic::elf_core:
>
> Modified: llvm/trunk/lib/Support/Path.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Path.cpp?rev=222208&r1=222207&r2=222208&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Support/Path.cpp (original)
> +++ llvm/trunk/lib/Support/Path.cpp Mon Nov 17 19:14:25 2014
> @@ -958,6 +958,9 @@ file_magic identify_magic(StringRef Magi
> case 3: return file_magic::elf_shared_object;
> case 4: return file_magic::elf_core;
> }
> + else
> + // It's still some type of ELF file.
> + return file_magic::elf;
> }
> break;
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list