252 lines · plain
1## This test is checking the handling of invalid/malformed note entries for2## AMDGPU code object v2.3 4# RUN: yaml2obj %s -o %t.o5# RUN: llvm-readobj --notes %t.o | FileCheck %s --match-full-lines --check-prefix=LLVM6# RUN: llvm-readelf --notes %t.o | FileCheck %s --match-full-lines --check-prefix=GNU7 8# LLVM: NoteSections [9# LLVM-NEXT: NoteSection {10# LLVM-NEXT: Name: .note.nt_amd_hsa_code_object_version_011# LLVM-NEXT: Offset: 0x4012# LLVM-NEXT: Size: 0x1413# LLVM-NEXT: Notes [14# LLVM-NEXT: {15# LLVM-NEXT: Owner: AMD16# LLVM-NEXT: Data size: 0x417# LLVM-NEXT: Type: NT_AMD_HSA_CODE_OBJECT_VERSION (AMD HSA Code Object Version)18# LLVM-NEXT: AMD HSA Code Object Version: Invalid AMD HSA Code Object Version19# LLVM-NEXT: }20# LLVM-NEXT: ]21# LLVM-NEXT: }22# LLVM-NEXT: NoteSection {23# LLVM-NEXT: Name: .note.nt_amd_hsa_code_object_version_124# LLVM-NEXT: Offset: 0x5425# LLVM-NEXT: Size: 0x1C26# LLVM-NEXT: Notes [27# LLVM-NEXT: {28# LLVM-NEXT: Owner: AMD29# LLVM-NEXT: Data size: 0xC30# LLVM-NEXT: Type: NT_AMD_HSA_CODE_OBJECT_VERSION (AMD HSA Code Object Version)31# LLVM-NEXT: AMD HSA Code Object Version: Invalid AMD HSA Code Object Version32# LLVM-NEXT: }33# LLVM-NEXT: ]34# LLVM-NEXT: }35# LLVM-NEXT: NoteSection {36# LLVM-NEXT: Name: .note.nt_amd_hsa_hsail_037# LLVM-NEXT: Offset: 0x7038# LLVM-NEXT: Size: 0x1C39# LLVM-NEXT: Notes [40# LLVM-NEXT: {41# LLVM-NEXT: Owner: AMD42# LLVM-NEXT: Data size: 0xA43# LLVM-NEXT: Type: NT_AMD_HSA_HSAIL (AMD HSA HSAIL Properties)44# LLVM-NEXT: AMD HSA HSAIL Properties: Invalid AMD HSA HSAIL Properties45# LLVM-NEXT: }46# LLVM-NEXT: ]47# LLVM-NEXT: }48# LLVM-NEXT: NoteSection {49# LLVM-NEXT: Name: .note.nt_amd_hsa_hsail_150# LLVM-NEXT: Offset: 0x8C51# LLVM-NEXT: Size: 0x2452# LLVM-NEXT: Notes [53# LLVM-NEXT: {54# LLVM-NEXT: Owner: AMD55# LLVM-NEXT: Data size: 0x1456# LLVM-NEXT: Type: NT_AMD_HSA_HSAIL (AMD HSA HSAIL Properties)57# LLVM-NEXT: AMD HSA HSAIL Properties: Invalid AMD HSA HSAIL Properties58# LLVM-NEXT: }59# LLVM-NEXT: ]60# LLVM-NEXT: }61# LLVM-NEXT: NoteSection {62# LLVM-NEXT: Name: .note.nt_amd_hsa_isa_version_063# LLVM-NEXT: Offset: 0xB064# LLVM-NEXT: Size: 0x1865# LLVM-NEXT: Notes [66# LLVM-NEXT: {67# LLVM-NEXT: Owner: AMD68# LLVM-NEXT: Data size: 0x869# LLVM-NEXT: Type: NT_AMD_HSA_ISA_VERSION (AMD HSA ISA Version)70# LLVM-NEXT: AMD HSA ISA Version: Invalid AMD HSA ISA Version71# LLVM-NEXT: }72# LLVM-NEXT: ]73# LLVM-NEXT: }74# LLVM-NEXT: NoteSection {75# LLVM-NEXT: Name: .note.nt_amd_hsa_isa_version_176# LLVM-NEXT: Offset: 0xC877# LLVM-NEXT: Size: 0x2878# LLVM-NEXT: Notes [79# LLVM-NEXT: {80# LLVM-NEXT: Owner: AMD81# LLVM-NEXT: Data size: 0x1782# LLVM-NEXT: Type: NT_AMD_HSA_ISA_VERSION (AMD HSA ISA Version)83# LLVM-NEXT: AMD HSA ISA Version: Invalid AMD HSA ISA Version84# LLVM-NEXT: }85# LLVM-NEXT: ]86# LLVM-NEXT: }87# LLVM-NEXT: NoteSection {88# LLVM-NEXT: Name: .note.nt_amd_hsa_isa_version_289# LLVM-NEXT: Offset: 0xF090# LLVM-NEXT: Size: 0x2891# LLVM-NEXT: Notes [92# LLVM-NEXT: {93# LLVM-NEXT: Owner: AMD94# LLVM-NEXT: Data size: 0x1795# LLVM-NEXT: Type: NT_AMD_HSA_ISA_VERSION (AMD HSA ISA Version)96# LLVM-NEXT: AMD HSA ISA Version: Invalid AMD HSA ISA Version97# LLVM-NEXT: }98# LLVM-NEXT: ]99# LLVM-NEXT: }100# LLVM-NEXT: NoteSection {101# LLVM-NEXT: Name: .note.nt_amd_hsa_isa_version_3102# LLVM-NEXT: Offset: 0x118103# LLVM-NEXT: Size: 0x28104# LLVM-NEXT: Notes [105# LLVM-NEXT: {106# LLVM-NEXT: Owner: AMD107# LLVM-NEXT: Data size: 0x17108# LLVM-NEXT: Type: NT_AMD_HSA_ISA_VERSION (AMD HSA ISA Version)109# LLVM-NEXT: AMD HSA ISA Version: Invalid AMD HSA ISA Version110# LLVM-NEXT: }111# LLVM-NEXT: ]112# LLVM-NEXT: }113# LLVM-NEXT: NoteSection {114# LLVM-NEXT: Name: .note.nt_amd_pal_metadata115# LLVM-NEXT: Offset: 0x140116# LLVM-NEXT: Size: 0x14117# LLVM-NEXT: Notes [118# LLVM-NEXT: {119# LLVM-NEXT: Owner: AMD120# LLVM-NEXT: Data size: 0x4121# LLVM-NEXT: Type: NT_AMD_PAL_METADATA (AMD PAL Metadata)122# LLVM-NEXT: AMD PAL Metadata: Invalid AMD PAL Metadata123# LLVM-NEXT: }124# LLVM-NEXT: ]125# LLVM-NEXT: }126# LLVM-NEXT: ]127 128# GNU: Displaying notes found in: .note.nt_amd_hsa_code_object_version_0129# GNU-NEXT: Owner Data size Description130# GNU-NEXT: AMD 0x00000004 NT_AMD_HSA_CODE_OBJECT_VERSION (AMD HSA Code Object Version)131# GNU-NEXT: AMD HSA Code Object Version:132# GNU-NEXT: Invalid AMD HSA Code Object Version133# GNU-EMPTY:134# GNU-NEXT: Displaying notes found in: .note.nt_amd_hsa_code_object_version_1135# GNU-NEXT: Owner Data size Description136# GNU-NEXT: AMD 0x0000000c NT_AMD_HSA_CODE_OBJECT_VERSION (AMD HSA Code Object Version)137# GNU-NEXT: AMD HSA Code Object Version:138# GNU-NEXT: Invalid AMD HSA Code Object Version139# GNU-EMPTY:140# GNU-NEXT: Displaying notes found in: .note.nt_amd_hsa_hsail_0141# GNU-NEXT: Owner Data size Description142# GNU-NEXT: AMD 0x0000000a NT_AMD_HSA_HSAIL (AMD HSA HSAIL Properties)143# GNU-NEXT: AMD HSA HSAIL Properties:144# GNU-NEXT: Invalid AMD HSA HSAIL Properties145# GNU-EMPTY:146# GNU-NEXT: Displaying notes found in: .note.nt_amd_hsa_hsail_1147# GNU-NEXT: Owner Data size Description148# GNU-NEXT: AMD 0x00000014 NT_AMD_HSA_HSAIL (AMD HSA HSAIL Properties)149# GNU-NEXT: AMD HSA HSAIL Properties:150# GNU-NEXT: Invalid AMD HSA HSAIL Properties151# GNU-EMPTY:152# GNU-NEXT: Displaying notes found in: .note.nt_amd_hsa_isa_version_0153# GNU-NEXT: Owner Data size Description154# GNU-NEXT: AMD 0x00000008 NT_AMD_HSA_ISA_VERSION (AMD HSA ISA Version)155# GNU-NEXT: AMD HSA ISA Version:156# GNU-NEXT: Invalid AMD HSA ISA Version157# GNU-EMPTY:158# GNU-NEXT: Displaying notes found in: .note.nt_amd_hsa_isa_version_1159# GNU-NEXT: Owner Data size Description160# GNU-NEXT: AMD 0x00000017 NT_AMD_HSA_ISA_VERSION (AMD HSA ISA Version)161# GNU-NEXT: AMD HSA ISA Version:162# GNU-NEXT: Invalid AMD HSA ISA Version163# GNU-EMPTY:164# GNU-NEXT: Displaying notes found in: .note.nt_amd_hsa_isa_version_2165# GNU-NEXT: Owner Data size Description166# GNU-NEXT: AMD 0x00000017 NT_AMD_HSA_ISA_VERSION (AMD HSA ISA Version)167# GNU-NEXT: AMD HSA ISA Version:168# GNU-NEXT: Invalid AMD HSA ISA Version169# GNU-EMPTY:170# GNU-NEXT: Displaying notes found in: .note.nt_amd_hsa_isa_version_3171# GNU-NEXT: Owner Data size Description172# GNU-NEXT: AMD 0x00000017 NT_AMD_HSA_ISA_VERSION (AMD HSA ISA Version)173# GNU-NEXT: AMD HSA ISA Version:174# GNU-NEXT: Invalid AMD HSA ISA Version175# GNU-EMPTY:176# GNU-NEXT: Displaying notes found in: .note.nt_amd_pal_metadata177# GNU-NEXT: Owner Data size Description178# GNU-NEXT: AMD 0x00000004 NT_AMD_PAL_METADATA (AMD PAL Metadata)179# GNU-NEXT: AMD PAL Metadata:180# GNU-NEXT: Invalid AMD PAL Metadata181 182--- !ELF183FileHeader:184 Class: ELFCLASS64185 Data: ELFDATA2LSB186 Type: ET_REL187Sections:188 - Name: .note.nt_amd_hsa_code_object_version_0189 Type: SHT_NOTE190 Notes:191 - Name: AMD192 Type: NT_AMD_HSA_CODE_OBJECT_VERSION193 ## Desc size is too small (less than sizeof(CodeObjectVersion)).194 Desc: '02000000'195 - Name: .note.nt_amd_hsa_code_object_version_1196 Type: SHT_NOTE197 Notes:198 - Name: AMD199 Type: NT_AMD_HSA_CODE_OBJECT_VERSION200 ## Desc size is too large (more than sizeof(CodeObjectVersion)).201 Desc: '020000000200000002000000'202 - Name: .note.nt_amd_hsa_hsail_0203 Type: SHT_NOTE204 Notes:205 - Name: AMD206 Type: NT_AMD_HSA_HSAIL207 ## Desc size is too small (less than sizeof(HSAILProperties)).208 Desc: '02000000010000000102'209 - Name: .note.nt_amd_hsa_hsail_1210 Type: SHT_NOTE211 Notes:212 - Name: AMD213 Type: NT_AMD_HSA_HSAIL214 ## Desc size is too large (more than sizeof(HSAILProperties)).215 Desc: '0200000001000000010202000000010200000001'216 - Name: .note.nt_amd_hsa_isa_version_0217 Type: SHT_NOTE218 Notes:219 - Name: AMD220 Type: NT_AMD_HSA_ISA_VERSION221 ## Desc size is too small (less than sizeof(IsaVersion)).222 Desc: '0400070008000000'223 - Name: .note.nt_amd_hsa_isa_version_1224 Type: SHT_NOTE225 Notes:226 - Name: AMD227 Type: NT_AMD_HSA_ISA_VERSION228 ## Desc size is too small (less than sizeof(IsaVersion) +229 ## VendorNameSize + ArchitectureNameSize).230 Desc: '04000700080000000000000002000000414d4400414d44'231 - Name: .note.nt_amd_hsa_isa_version_2232 Type: SHT_NOTE233 Notes:234 - Name: AMD235 Type: NT_AMD_HSA_ISA_VERSION236 ## VendorNameSize is 0.237 Desc: '00000700080000000000000002000000414d4400414d44'238 - Name: .note.nt_amd_hsa_isa_version_3239 Type: SHT_NOTE240 Notes:241 - Name: AMD242 Type: NT_AMD_HSA_ISA_VERSION243 ## ArchitectureNameSize is 0.244 Desc: '04000000080000000000000002000000414d4400414d44'245 - Name: .note.nt_amd_pal_metadata246 Type: SHT_NOTE247 Notes:248 - Name: AMD249 Type: NT_AMD_PAL_METADATA250 ## Desc size is not a multiple of sizeof(PALMetadata).251 Desc: '02000000'252