summaryrefslogtreecommitdiffstats
path: root/llvm/test/Object
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-04-09 16:38:15 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-04-09 16:38:15 +0000
commit3bb6073919ff3a93798da24853915c3ad33cc9f6 (patch)
tree8e359516fd4ef5a7ffc38f6acb99966dc70c04b8 /llvm/test/Object
parent33f7b24d9f704afd80f768cf91f777a65f8f0718 (diff)
downloadbcm5719-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.yaml43
-rw-r--r--llvm/test/Object/obj2yaml-coff-weak-external.test3
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
OpenPOWER on IntegriCloud