Skip to content

Commit 140f06f

Browse files
committed
[comgr] Support generic targets names and V6 ELF flags
Follow up on a163e83 as I missed a few things: - V6 ABIVERSION flags - V6 target names + tests Change-Id: Ibd630c8a86d52b4107e03216d45c9f19ab17eac3
1 parent 6dfd4ed commit 140f06f

File tree

5 files changed

+133
-100
lines changed

5 files changed

+133
-100
lines changed

amd/comgr/docs/ReleaseNotes.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ implementation and tests.
3535
an std::scoped\_lock()
3636
- Added support for bitcode and archive unbundling during linking via the new
3737
llvm OffloadBundler API.
38+
- Added support for code object v6 and generic targets.
3839

3940
Bug Fixes
4041
---------
@@ -158,6 +159,10 @@ New Targets
158159
- gfx1036
159160
- gfx1150
160161
- gfx1151
162+
- gfx9-generic
163+
- gfx10-1-generic
164+
- gfx10-3-generic
165+
- gfx11-generic
161166

162167
Removed Targets
163168
---------------

amd/comgr/src/comgr-isa-metadata.def

Lines changed: 50 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -45,49 +45,55 @@
4545
SGPR_ALLOC_GRANULE, TOTAL_NUM_SGPRS, ADDRESSABLE_NUM_SGPRS, \
4646
VGPR_ALLOC_GRANULE, TOTAL_NUM_VGPRS, ADDRESSABLE_NUM_VGPRS) \
4747

48-
----LDS--- ----CU--- WG ------SGPR----- ------VGPR-----
49-
TARGET_TRIPLE PROCESSOR SRAMECC XNACK ELF_MACHINE TRAP Size Bnks EUs Waves Max Alloc Max Addr Alloc Max Addr */
50-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx600", false, false, EF_AMDGPU_MACH_AMDGCN_GFX600, true, 65536, 32, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
51-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx601", false, false, EF_AMDGPU_MACH_AMDGCN_GFX601, true, 65536, 32, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
52-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx602", false, false, EF_AMDGPU_MACH_AMDGCN_GFX602, true, 65536, 32, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
53-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx700", false, false, EF_AMDGPU_MACH_AMDGCN_GFX700, true, 65536, 32, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
54-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx701", false, false, EF_AMDGPU_MACH_AMDGCN_GFX701, true, 65536, 32, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
55-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx702", false, false, EF_AMDGPU_MACH_AMDGCN_GFX702, true, 65536, 16, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
56-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx703", false, false, EF_AMDGPU_MACH_AMDGCN_GFX703, true, 65536, 16, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
57-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx704", false, false, EF_AMDGPU_MACH_AMDGCN_GFX704, true, 65536, 16, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
58-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx705", false, false, EF_AMDGPU_MACH_AMDGCN_GFX705, true, 65536, 16, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
59-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx801", false, true, EF_AMDGPU_MACH_AMDGCN_GFX801, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
60-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx802", false, false, EF_AMDGPU_MACH_AMDGCN_GFX802, true, 65536, 32, 4, 40, 1024, 16, 800, 96, 4, 256, 256)
61-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx803", false, false, EF_AMDGPU_MACH_AMDGCN_GFX803, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
62-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx805", false, false, EF_AMDGPU_MACH_AMDGCN_GFX805, true, 65536, 32, 4, 40, 1024, 16, 800, 96, 4, 256, 256)
63-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx810", false, true, EF_AMDGPU_MACH_AMDGCN_GFX810, true, 65536, 16, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
64-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx900", false, true, EF_AMDGPU_MACH_AMDGCN_GFX900, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
65-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx902", false, true, EF_AMDGPU_MACH_AMDGCN_GFX902, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
66-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx904", false, true, EF_AMDGPU_MACH_AMDGCN_GFX904, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
67-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx906", true, true, EF_AMDGPU_MACH_AMDGCN_GFX906, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
68-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx908", true, true, EF_AMDGPU_MACH_AMDGCN_GFX908, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
69-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx909", false, true, EF_AMDGPU_MACH_AMDGCN_GFX909, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
70-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx90a", true, true, EF_AMDGPU_MACH_AMDGCN_GFX90A, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
71-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx90c", false, true, EF_AMDGPU_MACH_AMDGCN_GFX90C, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
72-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx940", true, true, EF_AMDGPU_MACH_AMDGCN_GFX940, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
73-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx941", true, true, EF_AMDGPU_MACH_AMDGCN_GFX941, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
74-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx942", true, true, EF_AMDGPU_MACH_AMDGCN_GFX942, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
75-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1010", false, true, EF_AMDGPU_MACH_AMDGCN_GFX1010, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
76-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1011", false, true, EF_AMDGPU_MACH_AMDGCN_GFX1011, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
77-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1012", false, true, EF_AMDGPU_MACH_AMDGCN_GFX1012, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
78-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1013", false, true, EF_AMDGPU_MACH_AMDGCN_GFX1013, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
79-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1030", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1030, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
80-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1031", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1031, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
81-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1032", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1032, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
82-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1033", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1033, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
83-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1034", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1034, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
84-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1035", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1035, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
85-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1036", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1036, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
86-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1100", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1100, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 24, 1536, 256)
87-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1101", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1101, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 24, 1536, 256)
88-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1102", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1102, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 16, 1024, 256)
89-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1103", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1103, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 16, 1024, 256)
90-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1150", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1150, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 16, 1024, 256)
91-
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1151", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1151, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 16, 1024, 256)
48+
----LDS--- ----CU--- WG ------SGPR----- ------VGPR-----
49+
TARGET_TRIPLE PROCESSOR SRAMECC XNACK ELF_MACHINE TRAP Size Bnks EUs Waves Max Alloc Max Addr Alloc Max Addr */
50+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx600", false, false, EF_AMDGPU_MACH_AMDGCN_GFX600, true, 65536, 32, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
51+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx601", false, false, EF_AMDGPU_MACH_AMDGCN_GFX601, true, 65536, 32, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
52+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx602", false, false, EF_AMDGPU_MACH_AMDGCN_GFX602, true, 65536, 32, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
53+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx700", false, false, EF_AMDGPU_MACH_AMDGCN_GFX700, true, 65536, 32, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
54+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx701", false, false, EF_AMDGPU_MACH_AMDGCN_GFX701, true, 65536, 32, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
55+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx702", false, false, EF_AMDGPU_MACH_AMDGCN_GFX702, true, 65536, 16, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
56+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx703", false, false, EF_AMDGPU_MACH_AMDGCN_GFX703, true, 65536, 16, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
57+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx704", false, false, EF_AMDGPU_MACH_AMDGCN_GFX704, true, 65536, 16, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
58+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx705", false, false, EF_AMDGPU_MACH_AMDGCN_GFX705, true, 65536, 16, 4, 40, 1024, 8, 512, 104, 4, 256, 256)
59+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx801", false, true, EF_AMDGPU_MACH_AMDGCN_GFX801, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
60+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx802", false, false, EF_AMDGPU_MACH_AMDGCN_GFX802, true, 65536, 32, 4, 40, 1024, 16, 800, 96, 4, 256, 256)
61+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx803", false, false, EF_AMDGPU_MACH_AMDGCN_GFX803, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
62+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx805", false, false, EF_AMDGPU_MACH_AMDGCN_GFX805, true, 65536, 32, 4, 40, 1024, 16, 800, 96, 4, 256, 256)
63+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx810", false, true, EF_AMDGPU_MACH_AMDGCN_GFX810, true, 65536, 16, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
64+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx900", false, true, EF_AMDGPU_MACH_AMDGCN_GFX900, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
65+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx902", false, true, EF_AMDGPU_MACH_AMDGCN_GFX902, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
66+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx904", false, true, EF_AMDGPU_MACH_AMDGCN_GFX904, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
67+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx906", true, true, EF_AMDGPU_MACH_AMDGCN_GFX906, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
68+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx908", true, true, EF_AMDGPU_MACH_AMDGCN_GFX908, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
69+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx909", false, true, EF_AMDGPU_MACH_AMDGCN_GFX909, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
70+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx90a", true, true, EF_AMDGPU_MACH_AMDGCN_GFX90A, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
71+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx90c", false, true, EF_AMDGPU_MACH_AMDGCN_GFX90C, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
72+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx940", true, true, EF_AMDGPU_MACH_AMDGCN_GFX940, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
73+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx941", true, true, EF_AMDGPU_MACH_AMDGCN_GFX941, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
74+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx942", true, true, EF_AMDGPU_MACH_AMDGCN_GFX942, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
75+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1010", false, true, EF_AMDGPU_MACH_AMDGCN_GFX1010, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
76+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1011", false, true, EF_AMDGPU_MACH_AMDGCN_GFX1011, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
77+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1012", false, true, EF_AMDGPU_MACH_AMDGCN_GFX1012, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
78+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1013", false, true, EF_AMDGPU_MACH_AMDGCN_GFX1013, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
79+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1030", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1030, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
80+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1031", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1031, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
81+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1032", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1032, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
82+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1033", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1033, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
83+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1034", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1034, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
84+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1035", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1035, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
85+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1036", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1036, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
86+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1100", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1100, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 24, 1536, 256)
87+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1101", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1101, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 24, 1536, 256)
88+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1102", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1102, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 16, 1024, 256)
89+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1103", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1103, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 16, 1024, 256)
90+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1150", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1150, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 16, 1024, 256)
91+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx1151", false, false, EF_AMDGPU_MACH_AMDGCN_GFX1151, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 16, 1024, 256)
92+
93+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx9-generic", false, true, EF_AMDGPU_MACH_AMDGCN_GFX9_GENERIC, true, 65536, 32, 4, 40, 1024, 16, 800, 102, 4, 256, 256)
94+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx10-1-generic", false, true, EF_AMDGPU_MACH_AMDGCN_GFX10_1_GENERIC, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
95+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx10-3-generic", false, false, EF_AMDGPU_MACH_AMDGCN_GFX10_3_GENERIC, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 8, 256, 256)
96+
HANDLE_ISA("amdgcn-amd-amdhsa-", "gfx11-generic", false, false, EF_AMDGPU_MACH_AMDGCN_GFX11_GENERIC, true, 65536, 32, 4, 40, 1024, 106, 800, 106, 16, 1024, 256)
97+
9298

9399
#undef HANDLE_ISA

amd/comgr/src/comgr-metadata.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -733,7 +733,10 @@ getElfIsaNameFromElfHeader(const ELFObjectFile<ELFT> *Obj,
733733
}
734734

735735
case ELF::ELFABIVERSION_AMDGPU_HSA_V4:
736-
case ELF::ELFABIVERSION_AMDGPU_HSA_V5: {
736+
case ELF::ELFABIVERSION_AMDGPU_HSA_V5:
737+
case ELF::ELFABIVERSION_AMDGPU_HSA_V6: {
738+
// Note for V6: generic version is not part of the ISA name so
739+
// we don't have to parse it.
737740
switch (ElfHeader.e_flags & ELF::EF_AMDGPU_FEATURE_SRAMECC_V4) {
738741
case ELF::EF_AMDGPU_FEATURE_SRAMECC_OFF_V4:
739742
ElfIsaName += ":sramecc-";

amd/comgr/src/comgr.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2273,10 +2273,10 @@ amd_comgr_map_elf_virtual_address_to_code_object_offset(amd_comgr_data_t Data,
22732273
ELFHeader.e_ident[llvm::ELF::EI_OSABI] != llvm::ELF::ELFOSABI_AMDGPU_HSA)
22742274
return AMD_COMGR_STATUS_ERROR;
22752275

2276-
if (ELFHeader.e_ident[llvm::ELF::EI_ABIVERSION] !=
2277-
llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V4 &&
2278-
ELFHeader.e_ident[llvm::ELF::EI_ABIVERSION] !=
2279-
llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V5)
2276+
unsigned EIdent = ELFHeader.e_ident[llvm::ELF::EI_ABIVERSION];
2277+
if (EIdent != llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V4 &&
2278+
EIdent != llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V5 &&
2279+
EIdent != llvm::ELF::ELFABIVERSION_AMDGPU_HSA_V6)
22802280
return AMD_COMGR_STATUS_ERROR;
22812281

22822282
if (ELFHeader.e_type != llvm::ELF::ET_DYN ||

0 commit comments

Comments
 (0)