## Test that bogus associative section symbols in executables are ignored. ## ## The executable contains two (bogus) associative section symbols, both for ## (parts of) the .rdata section; one pointing at the .debug_info section ## (which will be stripped out) and one pointing at a nonexistent section. ## ## Check that stripping does succeed, and that it doesn't end up removing ## the .rdata section. # RUN: yaml2obj %s -o %t.in.exe # RUN: llvm-strip --strip-debug %t.in.exe -o %t.out.exe # RUN: llvm-readobj --sections %t.out.exe | FileCheck %s # CHECK: Name: .rdata --- !COFF OptionalHeader: AddressOfEntryPoint: 4096 ImageBase: 5368709120 SectionAlignment: 4096 FileAlignment: 512 MajorOperatingSystemVersion: 4 MinorOperatingSystemVersion: 0 MajorImageVersion: 0 MinorImageVersion: 0 MajorSubsystemVersion: 5 MinorSubsystemVersion: 2 Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI DLLCharacteristics: [ ] SizeOfStackReserve: 2097152 SizeOfStackCommit: 4096 SizeOfHeapReserve: 1048576 SizeOfHeapCommit: 4096 header: Machine: IMAGE_FILE_MACHINE_AMD64 Characteristics: [ ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 4096 VirtualSize: 48 SectionData: E806000000E802000000C3C3C30F1F00FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF0000000000000000 SizeOfRawData: 512 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 8192 VirtualSize: 4 SectionData: '00000000' SizeOfRawData: 512 - Name: .debug_info Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ] VirtualAddress: 16384 VirtualSize: 4 SectionData: '00000000' SizeOfRawData: 512 symbols: - Name: .text Value: 0 SectionNumber: 1 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC SectionDefinition: Length: 11 NumberOfRelocations: 2 NumberOfLinenumbers: 0 CheckSum: 1703692295 Number: 1 - Name: '.text$func1' Value: 11 SectionNumber: 1 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC SectionDefinition: Length: 1 NumberOfRelocations: 0 NumberOfLinenumbers: 0 CheckSum: 40735498 Number: 3 Selection: IMAGE_COMDAT_SELECT_ANY - Name: .rdata Value: 0 SectionNumber: 2 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC SectionDefinition: Length: 1 NumberOfRelocations: 0 NumberOfLinenumbers: 0 CheckSum: 0 Number: 3 Selection: IMAGE_COMDAT_SELECT_ASSOCIATIVE - Name: '.text$func2' Value: 12 SectionNumber: 1 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC SectionDefinition: Length: 1 NumberOfRelocations: 0 NumberOfLinenumbers: 0 CheckSum: 40735498 Number: 4 Selection: IMAGE_COMDAT_SELECT_ANY - Name: .rdata Value: 1 SectionNumber: 2 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC SectionDefinition: Length: 1 NumberOfRelocations: 0 NumberOfLinenumbers: 0 CheckSum: 0 Number: 4 Selection: IMAGE_COMDAT_SELECT_ASSOCIATIVE - Name: .debug_info Value: 0 SectionNumber: 3 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC SectionDefinition: Length: 4 NumberOfRelocations: 0 NumberOfLinenumbers: 0 CheckSum: 0 Number: 0 ...