mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205911 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
77f268945e
commit
aef1966ed6
@ -38,6 +38,7 @@ void ScalarEnumerationTraits<COFFYAML::COMDATType>::enumeration(
|
||||
void
|
||||
ScalarEnumerationTraits<COFFYAML::WeakExternalCharacteristics>::enumeration(
|
||||
IO &IO, COFFYAML::WeakExternalCharacteristics &Value) {
|
||||
IO.enumCase(Value, "0", 0);
|
||||
ECase(IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY);
|
||||
ECase(IMAGE_WEAK_EXTERN_SEARCH_LIBRARY);
|
||||
ECase(IMAGE_WEAK_EXTERN_SEARCH_ALIAS);
|
||||
|
43
test/Object/Inputs/COFF/weak-external.yaml
Normal file
43
test/Object/Inputs/COFF/weak-external.yaml
Normal file
@ -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
|
||||
...
|
3
test/Object/obj2yaml-coff-weak-external.test
Normal file
3
test/Object/obj2yaml-coff-weak-external.test
Normal file
@ -0,0 +1,3 @@
|
||||
RUN: yaml2obj %p/Inputs/COFF/weak-external.yaml | obj2yaml | FileCheck %s --check-prefix COFF-I386
|
||||
|
||||
COFF-I386: Characteristics: 0
|
Loading…
Reference in New Issue
Block a user