diff options
author | David Majnemer <david.majnemer@gmail.com> | 2014-04-09 16:38:15 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2014-04-09 16:38:15 +0000 |
commit | 3bb6073919ff3a93798da24853915c3ad33cc9f6 (patch) | |
tree | 8e359516fd4ef5a7ffc38f6acb99966dc70c04b8 /llvm/test/Object | |
parent | 33f7b24d9f704afd80f768cf91f777a65f8f0718 (diff) | |
download | bcm5719-llvm-3bb6073919ff3a93798da24853915c3ad33cc9f6.tar.gz bcm5719-llvm-3bb6073919ff3a93798da24853915c3ad33cc9f6.zip |
obj2yaml: Don't crash if the characteristics field is zero
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
Diffstat (limited to 'llvm/test/Object')
-rw-r--r-- | llvm/test/Object/Inputs/COFF/weak-external.yaml | 43 | ||||
-rw-r--r-- | llvm/test/Object/obj2yaml-coff-weak-external.test | 3 |
2 files changed, 46 insertions, 0 deletions
diff --git a/llvm/test/Object/Inputs/COFF/weak-external.yaml b/llvm/test/Object/Inputs/COFF/weak-external.yaml new file mode 100644 index 00000000000..064b44a4a38 --- /dev/null +++ b/llvm/test/Object/Inputs/COFF/weak-external.yaml @@ -0,0 +1,43 @@ +--- +header: + Machine: IMAGE_FILE_MACHINE_I386 + Characteristics: [ IMAGE_FILE_LINE_NUMS_STRIPPED, IMAGE_FILE_32BIT_MACHINE ] +sections: + - Name: .text + Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] + Alignment: 4 + SectionData: 5589E583E4F0E800000000B800000000C9C39090 + Relocations: + - VirtualAddress: 7 + SymbolName: ___main + Type: IMAGE_REL_I386_REL32 +symbols: + - Name: .file + Value: 0 + SectionNumber: 65534 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_NULL + StorageClass: IMAGE_SYM_CLASS_FILE + File: 'file' + - Name: .text + Value: 0 + SectionNumber: 1 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_NULL + StorageClass: IMAGE_SYM_CLASS_STATIC + SectionDefinition: + Length: 18 + NumberOfRelocations: 1 + NumberOfLinenumbers: 0 + CheckSum: 0 + Number: 0 + - Name: ___main + Value: 0 + SectionNumber: 0 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_FUNCTION + StorageClass: IMAGE_SYM_CLASS_EXTERNAL + WeakExternal: + TagIndex: 0 + Characteristics: 0 +... diff --git a/llvm/test/Object/obj2yaml-coff-weak-external.test b/llvm/test/Object/obj2yaml-coff-weak-external.test new file mode 100644 index 00000000000..4ecdc1bf6f5 --- /dev/null +++ b/llvm/test/Object/obj2yaml-coff-weak-external.test @@ -0,0 +1,3 @@ +RUN: yaml2obj %p/Inputs/COFF/weak-external.yaml | obj2yaml | FileCheck %s --check-prefix COFF-I386 + +COFF-I386: Characteristics: 0 |