summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Object/COFFYAML.cpp
Commit message (Collapse)AuthorAgeFilesLines
* obj2yaml, yaml2obj: Add support for COFF executablesDavid Majnemer2014-11-141-0/+106
| | | | | | | | | | | | | | | | In support of serializing executables, obj2yaml now records the virtual address and size of sections. It also serializes whatever we strictly need from the PE header, it expects that it can reconstitute everything else via inference. yaml2obj can reconstitute a fully linked executable. In order to get executables correctly serialized/deserialized, other bugs were fixed as a circumstance. We now properly respect file and section alignments. We also avoid writing out string tables unless they are strictly necessary. llvm-svn: 221975
* obj2yaml: Don't crash if the characteristics field is zeroDavid Majnemer2014-04-091-0/+1
| | | | | | | | | obj2yaml would fail when seeing a Weak External auxiliary record with a characteristics field holding zero instead of one of IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY, IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY, or IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY. llvm-svn: 205911
* obj2yaml: Use the correct relocation type for different machine typesDavid Majnemer2014-04-071-8/+24
| | | | | | | | | | | | | The IO normalizer would essentially lump I386 and AMD64 relocations together. Relocation types with the same numeric value would then get mapped in appropriately. For example: IMAGE_REL_AMD64_ADDR64 and IMAGE_REL_I386_DIR16 both have a numeric value of one. We would see IMAGE_REL_I386_DIR16 in obj2yaml conversions of object files with a machine type of IMAGE_FILE_MACHINE_AMD64. llvm-svn: 205746
* Object: Provide a richer means of describing auxiliary symbolsDavid Majnemer2014-03-191-3/+100
| | | | | | | | | | | | | | | | The current state of affairs has auxiliary symbols described as a big bag of bytes. This is less than satisfying, it detracts from the YAML file as being human readable. Instead, allow for symbols to optionally contain their auxiliary data. This allows us to have a much higher level way of describing things like weak symbols, function definitions and section definitions. This depends on D3105. Differential Revision: http://llvm-reviews.chandlerc.com/D3092 llvm-svn: 204214
* Object: rename ARMV7 to ARMNTSaleem Abdulrasool2014-03-111-1/+1
| | | | | | | The official specifications state the name to be ARMNT (as per the Microsoft Portable Executable and Common Object Format Specification v8.3). llvm-svn: 203530
* Print symbol names in relocations when dumping COFF as YAML.Rafael Espindola2013-06-061-2/+3
| | | | llvm-svn: 183403
* Don't print default values for NumberOfAuxSymbols and AuxiliaryData.Rafael Espindola2013-06-051-2/+3
| | | | llvm-svn: 183293
* Move BinaryRef to a new include/llvm/Object/YAML.h file.Rafael Espindola2013-06-051-17/+0
| | | | | | It will be used for ELF dumping too. llvm-svn: 183287
* Rename COFFYaml.h to COFFYAML.h for consistency.Rafael Espindola2013-05-311-1/+1
| | | | llvm-svn: 183042
* Don't allocate temporary string for section data.Rafael Espindola2013-05-311-0/+17
| | | | llvm-svn: 183040
* Convert obj2yaml to use yamlio.Rafael Espindola2013-05-171-0/+279
llvm-svn: 182169
OpenPOWER on IntegriCloud