llvm-project/llvm/lib/Object
Steven Wu 5a59354760 [Object] Fix reading objects created with -fembed-bitcode-marker
Currently, this fails with many tools, e.g.

$ clang -fembed-bitcode-marker -c -o test.o test.c
$ nm test.o
nm: test.o The file was not recognized as a valid object file

-fembed-bitcode-marker creates a LLVM,bitcode section consisting of a single
byte. When reading the object file, IRObjectFile::findBitcodeInObject succeeds,
causing SymbolicFile::createSymbolicFile to try to read the "bitcode" rather
than using the outer Mach-O data - when then fails.

Fix this by making findBitcodeInObject return an error if the section size <= 1.

Patched by: Nicholas Allegra

Differential Revision: https://reviews.llvm.org/D44373

llvm-svn: 356718
2019-03-21 21:01:31 +00:00
..
Archive.cpp [libObject][NFC] Include filename in error message 2019-02-06 20:51:04 +00:00
ArchiveWriter.cpp [libObject][NFC] Use sys::path::convert_to_slash. 2019-02-19 18:14:44 +00:00
Binary.cpp [Object] Add basic minidump support 2019-03-21 09:18:59 +00:00
CMakeLists.txt [Object] Add basic minidump support 2019-03-21 09:18:59 +00:00
COFFImportFile.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
COFFModuleDefinition.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
COFFObjectFile.cpp [COFF] Add new relocation types. 2019-01-27 19:53:36 +00:00
Decompressor.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ELF.cpp [ELF] Fix GCC8 warnings about "fall through", NFCI 2019-03-13 10:38:17 +00:00
ELFObjectFile.cpp Improve "llvm-nm -f sysv" output for Elf files 2019-03-08 22:00:50 +00:00
Error.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
IRObjectFile.cpp [Object] Fix reading objects created with -fembed-bitcode-marker 2019-03-21 21:01:31 +00:00
IRSymtab.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MachOObjectFile.cpp Fix Mach-O bind and rebase validation errors in libObject 2019-03-20 23:21:16 +00:00
MachOUniversal.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Minidump.cpp [Object] Add basic minidump support 2019-03-21 09:18:59 +00:00
ModuleSymbolTable.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Object.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ObjectFile.cpp [Object] Add basic minidump support 2019-03-21 09:18:59 +00:00
RecordStreamer.cpp [AsmPrinter] Remove hidden flag -print-schedule. 2019-02-04 12:51:26 +00:00
RecordStreamer.h [AsmPrinter] Remove hidden flag -print-schedule. 2019-02-04 12:51:26 +00:00
SymbolSize.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SymbolicFile.cpp [Object] Add basic minidump support 2019-03-21 09:18:59 +00:00
WasmObjectFile.cpp [WebAssembly] Target features section 2019-03-20 20:26:45 +00:00
WindowsResource.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00