The GUID partition table (GPT) is defined in chapter 5 of the UEFI specification. A raw image of a GPT disk keeps a protective MBR in sector 0, the GPT header in sector 1, the partition entries after it, and a backup header and entries at the end of the disk. Numbers are little-endian; LBA means a sector number.
Sources: the UEFI Specification, Release 2.10 (August 2022), chapter 5
(sections 5.2–5.3, Tables 5.3–5.8), read from the Internet Archive’s copy of uefi.org’s
PDF; the UEFI reference implementation, EDK2
(MdePkg/Include/Uefi/UefiGpt.h, MdePkg/Include/Guid/Gpt.h,
MdePkg/Include/IndustryStandard/Mbr.h, the GPT checks in
MdeModulePkg/Library/GptLib/Gpt.c and
MdeModulePkg/Universal/Disk/PartitionDxe/Gpt.c); util-linux’s
libfdisk/src/gpt.c and include/pt-gpt-partnames.h; and
Microsoft’s PARTITION_INFORMATION_GPT documentation.
Layout
LBA 0Protective MBR: one partition of typeEE1 sectorLBA 1GPT headerEFI PART1 sectorLBA 2Partition entriesE sectors…The partitions, from the first to the last usable LBAvarieslast − EBackup partition entriesE sectorslastBackup GPT header1 sector
UEFI 2.10 section 5.3.1: the primary header must be in LBA 1 and the backup header in the last LBA; the primary entry array lies after the primary header and ends before the first usable LBA, the backup array after the last usable LBA and before the backup header. At least 16,384 bytes must be reserved for the entry array, so the first usable LBA is at least 34 with 512-byte blocks and at least 6 with 4,096-byte blocks. Only the partitioning structures may lie outside the usable range. EDK2’s recovery code puts the primary entries at LBA 2 and the backup entries at the last usable LBA + 1, and util-linux lays out a new table the same way: with E sectors of entries, the first usable LBA is E + 2 and the last usable LBA is the sector count − E − 2.
The specification recommends aligning partitions to the larger of the physical block size and the optimal transfer granularity, and notes that software may simply use multiples of 2,048 (1 MiB with 512-byte blocks).
Protective MBR
Sector 0 has the layout of an MBR, so tools
that know only MBR see the disk as full. UEFI 2.10 Tables 5.3 and 5.4: boot code
unused; disk signature and the two unknown bytes set to zero; one partition record
with boot indicator 00, starting CHS 0x000200, type
EE, ending CHS the last block’s CHS address or 0xFFFFFF if it
cannot be represented, starting LBA 1, and size the disk size minus one or
0xFFFFFFFF if too large; the other three records zero. EDK2 recognises
it by a type EE entry starting at LBA 1, and util-linux writes it as the
table says.
GPT header
| Offset | Size | Type | Name | Description |
|---|---|---|---|---|
0 | 8 | text | Signature | EFI PART (45 46 49 20 50 41 52 54; EDK2 EFI_PTAB_HEADER_ID). |
8 | 4 | uint32 | Revision | 0x00010000 (EDK2 GPT_HEADER_REVISION_V1). |
12 | 4 | uint32 | Header size | At least 92 and no more than the logical block size (UEFI Table 5.5; EDK2 GPT_HEADER_MIN_SIZE). |
16 | 4 | uint32 | Header CRC32 | CRC-32 of the first header size bytes, computed with this field as 0. |
20 | 4 | – | Reserved | 0. |
24 | 8 | uint64 | My LBA | The sector holding this header; EDK2 rejects a header whose value differs from where it was read. |
32 | 8 | uint64 | Alternate LBA | The sector of the other copy (the last sector, for the primary; 1, for the backup). |
40 | 8 | uint64 | First usable LBA | The first sector partitions may use. |
48 | 8 | uint64 | Last usable LBA | The last sector partitions may use. |
56 | 16 | GUID | Disk GUID | Identifies the disk. |
72 | 8 | uint64 | Partition entry LBA | Where this copy’s entry array starts. |
80 | 4 | uint32 | Number of partition entries | Entries in the array; EDK2 rejects 0. |
84 | 4 | uint32 | Size of partition entry | 128 × 2n bytes: 128, 256, 512 … (earlier versions of the specification allowed any multiple of 8). |
88 | 4 | uint32 | Partition entry array CRC32 | CRC-32 of number × size bytes of entries. |
92 | rest | – | Reserved | The rest of the sector. |
UEFI 2.10 section 5.3.2: to validate a GPT, check the signature, the header CRC, that My LBA is the block it was read from, and the entry array CRC; for the primary, check the alternate too. If the primary is corrupt, software checks the last LBA and should restore the primary from a valid backup (if platform policy allows, and must report it); a valid primary with a bad backup means the backup must be restored. Updates go to the backup first, then the primary. A disk reformatted to MBR by legacy software may keep a stale backup GPT in its last block; a legacy MBR with valid partitions, rather than a protective MBR, tells such a disk apart. EDK2’s checks follow the same list, adding the header size, entry count and entry size.
Partition entry
| Offset | Size | Type | Name | Description |
|---|---|---|---|---|
0 | 16 | GUID | Partition type GUID | What the partition is; all zero for an unused entry. See types. |
16 | 16 | GUID | Unique partition GUID | Identifies this partition. |
32 | 8 | uint64 | Starting LBA | First sector. |
40 | 8 | uint64 | Ending LBA | Last sector, inclusive. |
48 | 8 | bits | Attributes | See attributes. |
56 | 72 | UTF-16LE | Partition name | 36 CHAR16, null-terminated. |
128 | rest | – | Reserved | Zeros, up to the entry size. |
An entry whose fields are all zero is unused. Copying software must give copied disks and partitions new Disk GUIDs and Unique Partition GUIDs (UEFI 5.3.3).
EDK2 treats an entry as invalid when its starting LBA is above its ending LBA or when it lies outside the first and last usable LBAs, and it also flags entries that overlap.
GUIDs are stored as in the EFI specification: util-linux notes that a UUID is traditionally a 16-byte big-endian array, but EFI stores it as a structure of little-endian fields (a 32-bit, two 16-bit, then eight single bytes). So the first three groups of the written form appear byte-reversed in the file.
Attributes
| Bit | Meaning |
|---|---|
| 0 | Required partition: needed for the platform to function; unless software recognises it, it should never be removed or modified (UEFI Table 5.8). Microsoft: must be set for OEM partitions. |
| 1 | No Block IO Protocol: firmware must not produce an EFI_BLOCK_IO_PROTOCOL device for the partition, so UEFI creates no file system mapping for it. |
| 2 | Legacy BIOS bootable: tells BIOS-based systems the partition may be bootable; the UEFI boot manager must ignore it. |
| 3–47 | Undefined and must be zero; reserved for future UEFI versions. |
| 48–63 | For use by each partition type; only the owner of the type GUID may change them, and they must be preserved when bits 0–47 change. |
Microsoft defines these type-specific bits for basic data partitions:
| Bit | Name | Meaning |
|---|---|---|
| 60 | GPT_BASIC_DATA_ATTRIBUTE_READ_ONLY | The partition is read-only. |
| 61 | GPT_BASIC_DATA_ATTRIBUTE_SHADOW_COPY | A shadow copy of another partition. |
| 62 | GPT_BASIC_DATA_ATTRIBUTE_HIDDEN | Not detected by the Mount Manager: no drive letter or volume GUID path. |
| 63 | GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER | No drive letter by default when the disk is first seen. |
Partition type GUIDs
UEFI 2.10 Table 5.7 defines only the unused entry, the EFI system partition and the partition holding a legacy MBR, and says OS vendors make their own; Microsoft documents its own types. The rest are chosen by the makers of each system, with no central register. The tables give every type util-linux’s fdisk knows, under its names.
| GUID | Partition |
|---|---|
00000000-0000-0000-0000-000000000000 | Unused entry (UEFI) |
C12A7328-F81F-11D2-BA4B-00A0C93EC93B | EFI System (UEFI) |
024DEE41-33E7-11D3-9D69-0008C781F39F | MBR partition scheme (UEFI) |
D3BFE2DE-3DAF-11DF-BA40-E3A556D89593 | Intel Fast Flash |
21686148-6449-6E6F-744E-656564454649 | BIOS boot |
F4019732-066E-4E12-8273-346C5641494F | Sony boot partition |
BFBFAFE7-A34F-448A-9A5B-6213EB736C22 | Lenovo boot partition |
9E1A2D38-C612-4316-AA26-8B49521E5A8B | PowerPC PReP boot |
7412F7D5-A156-4B13-81DC-867174929325 | ONIE boot |
D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149 | ONIE config |
E3C9E316-0B5C-4DB8-817D-F92DF00215AE | Microsoft reserved |
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 | Microsoft basic data (Microsoft: the only type that can get drive letters) |
5808C8AA-7E8F-42E0-85D2-E1E90434CFB3 | Microsoft LDM metadata (dynamic disks) |
AF9B60A0-1431-4F62-BC68-3311714A69AD | Microsoft LDM data (dynamic disks) |
DE94BBA4-06D1-4D40-A16A-BFD50179D6AC | Windows recovery environment |
37AFFC90-EF7D-4E96-91C3-2D7AE055B174 | IBM General Parallel Fs |
E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D | Microsoft Storage Spaces |
75894C1E-3AEB-11D3-B7C1-7B03A0000000 | HP-UX data |
E2A1E728-32E3-11D6-A682-7B03A0000000 | HP-UX service |
0657FD6D-A4AB-43C4-84E5-0933C84B4F4F | Linux swap |
0FC63DAF-8483-4772-8E79-3D69D8477DE4 | Linux filesystem |
3B8F8425-20E0-4F3B-907F-1A25A76F98E8 | Linux server data |
8DA63339-0007-60C0-C436-083AC8230908 | Linux reserved |
933AC7E1-2EB4-4F13-B844-0E14E2AEF915 | Linux home |
A19D880F-05FC-4D3B-A006-743F0F84911E | Linux RAID |
E6D6D379-F507-44C2-A23C-238F2A3DF928 | Linux LVM |
4D21B016-B534-45C2-A9FB-5C16E091FD2D | Linux variable data |
7EC6F557-3BC5-4ACA-B293-16EF5DF639D1 | Linux temporary data |
BC13C2FF-59E6-4262-A352-B275FD6F7172 | Linux extended boot |
773F91EF-66D4-49B5-BD83-D683BF40AD16 | Linux user’s home |
516E7CB4-6ECF-11D6-8FF8-00022D09712B | FreeBSD data |
83BD6B9D-7F41-11DC-BE0B-001560B84F0F | FreeBSD boot |
516E7CB5-6ECF-11D6-8FF8-00022D09712B | FreeBSD swap |
516E7CB6-6ECF-11D6-8FF8-00022D09712B | FreeBSD UFS |
516E7CBA-6ECF-11D6-8FF8-00022D09712B | FreeBSD ZFS |
516E7CB8-6ECF-11D6-8FF8-00022D09712B | FreeBSD Vinum |
48465300-0000-11AA-AA11-00306543ECAC | Apple HFS/HFS+ |
7C3457EF-0000-11AA-AA11-00306543ECAC | Apple APFS |
55465300-0000-11AA-AA11-00306543ECAC | Apple UFS |
52414944-0000-11AA-AA11-00306543ECAC | Apple RAID |
52414944-5F4F-11AA-AA11-00306543ECAC | Apple RAID offline |
426F6F74-0000-11AA-AA11-00306543ECAC | Apple boot |
4C616265-6C00-11AA-AA11-00306543ECAC | Apple label |
5265636F-7665-11AA-AA11-00306543ECAC | Apple TV recovery |
53746F72-6167-11AA-AA11-00306543ECAC | Apple Core storage |
69646961-6700-11AA-AA11-00306543ECAC | Apple Silicon boot |
52637672-7900-11AA-AA11-00306543ECAC | Apple Silicon recovery |
6A82CB45-1DD2-11B2-99A6-080020736631 | Solaris boot |
6A85CF4D-1DD2-11B2-99A6-080020736631 | Solaris root |
6A898CC3-1DD2-11B2-99A6-080020736631 | ZFS pool member (originally Solaris /usr) |
6A87C46F-1DD2-11B2-99A6-080020736631 | Solaris swap |
6A8B642B-1DD2-11B2-99A6-080020736631 | Solaris backup |
6A8EF2E9-1DD2-11B2-99A6-080020736631 | Solaris /var |
6A90BA39-1DD2-11B2-99A6-080020736631 | Solaris /home |
6A9283A5-1DD2-11B2-99A6-080020736631 | Solaris alternate sector |
6A945A3B-1DD2-11B2-99A6-080020736631 | Solaris reserved 1 |
6A9630D1-1DD2-11B2-99A6-080020736631 | Solaris reserved 2 |
6A980767-1DD2-11B2-99A6-080020736631 | Solaris reserved 3 |
6A96237F-1DD2-11B2-99A6-080020736631 | Solaris reserved 4 |
6A8D2AC7-1DD2-11B2-99A6-080020736631 | Solaris reserved 5 |
49F48D32-B10E-11DC-B99B-0019D1879648 | NetBSD swap |
49F48D5A-B10E-11DC-B99B-0019D1879648 | NetBSD FFS |
49F48D82-B10E-11DC-B99B-0019D1879648 | NetBSD LFS |
2DB519C4-B10F-11DC-B99B-0019D1879648 | NetBSD concatenated |
2DB519EC-B10F-11DC-B99B-0019D1879648 | NetBSD encrypted |
49F48DAA-B10E-11DC-B99B-0019D1879648 | NetBSD RAID |
FE3A2A5D-4F32-41A7-B725-ACCC3285A309 | ChromeOS kernel |
3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC | ChromeOS root fs |
2E0A753D-9E48-43B0-8337-B15192CB1B5E | ChromeOS reserved |
CAB6E88E-ABF3-4102-A07A-D4BB9BE3C1D3 | ChromeOS firmware |
09845860-705F-4BB5-B16C-8A8A099CAF52 | ChromeOS miniOS |
3F0F8318-F146-4E6B-8222-C28C8F02E0D5 | ChromeOS hibernate |
85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7 | MidnightBSD data |
85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7 | MidnightBSD boot |
85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7 | MidnightBSD swap |
0394EF8B-237E-11E1-B4B3-E89A8F7FC3A7 | MidnightBSD UFS |
85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7 | MidnightBSD ZFS |
85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7 | MidnightBSD Vinum |
45B0969E-9B03-4F30-B4C6-B4B80CEFF106 | Ceph Journal |
45B0969E-9B03-4F30-B4C6-5EC00CEFF106 | Ceph Encrypted Journal |
4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D | Ceph OSD |
4FBD7E29-9D25-41B8-AFD0-5EC00CEFF05D | Ceph crypt OSD |
89C57F98-2FE5-4DC0-89C1-F3AD0CEFF2BE | Ceph disk in creation |
89C57F98-2FE5-4DC0-89C1-5EC00CEFF2BE | Ceph crypt disk in creation |
AA31E02A-400F-11DB-9590-000C2911D1B8 | VMware VMFS |
9D275380-40AD-11DB-BF97-000C2911D1B8 | VMware Diagnostic |
381CFCCC-7288-11E0-92EE-000C2911D0B2 | VMware Virtual SAN |
77719A0C-A4A0-11E3-A47E-000C29745A24 | VMware Virsto |
9198EFFC-31C0-11DB-8F78-000C2911D1B8 | VMware Reserved |
824CC7A0-36A8-11E3-890A-952519AD3F61 | OpenBSD data |
CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1 | QNX6 file system |
C91818F9-8025-47AF-89D2-F030D7000C2C | Plan 9 partition |
5B193300-FC78-40CD-8002-E86C45580B47 | HiFive FSBL |
2E54B353-1271-4842-806F-E436D6AF6985 | HiFive BBL |
42465331-3BA3-10F1-802A-4861696B7521 | Haiku BFS |
6828311A-BA55-42A4-BCDE-A89BB5EDECAE | Marvell Armada 3700 Boot partition |
9D087404-1CA5-11DC-8817-01301BB8A9F5 | DragonFlyBSD Label32 |
9D58FDBD-1CA5-11DC-8817-01301BB8A9F5 | DragonFlyBSD Swap |
9D94CE7C-1CA5-11DC-8817-01301BB8A9F5 | DragonFlyBSD UFS1 |
9DD4478F-1CA5-11DC-8817-01301BB8A9F5 | DragonFlyBSD Vinum |
DBD5211B-1CA5-11DC-8817-01301BB8A9F5 | DragonFlyBSD CCD |
3D48CE54-1D16-11DC-8696-01301BB8A9F5 | DragonFlyBSD Label64 |
BD215AB2-1D16-11DC-8696-01301BB8A9F5 | DragonFlyBSD Legacy |
61DC63AC-6E38-11DC-8513-01301BB8A9F5 | DragonFlyBSD HAMMER |
5CBB9AD1-862D-11DC-A94D-01301BB8A9F5 | DragonFlyBSD HAMMER2 |
3DE21764-95BD-54BD-A5C3-4ABE786F38A8 | U-Boot environment |
734E5AFE-F61A-11E6-BC64-92361F002671 | Atari TOS basic data |
35540011-B055-499F-842D-C69AECA357B7 | Atari TOS raw data (XHDI) |
481B2A38-0561-420B-B72A-F1C4988EFC16 | Minix filesystem |
11CA7E00-0000-0000-0000-656D754D4D43 | NX emuMMC (Nintendo Switch) |
Linux per-architecture types
util-linux takes these from systemd’s Discoverable Partitions Specification: one
GUID per architecture for each of the root and /usr file systems, their
dm-verity hash data, and the signatures of that data.
| Architecture | Root | /usr |
|---|---|---|
| x86 | 44479540-F297-41B2-9AF7-D131D5F0458A | 75250D76-8CC6-458E-BD66-BD47CC81A812 |
| x86-64 | 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709 | 8484680C-9521-48C6-9C11-B0720656F69E |
| Alpha | 6523F8AE-3EB1-4E2A-A05A-18B695AE656F | E18CF08C-33EC-4C0D-8246-C6C6FB3DA024 |
| ARC | D27F46ED-2919-4CB8-BD25-9531F3C16534 | 7978A683-6316-4922-BBEE-38BFF5A2FECC |
| ARM | 69DAD710-2CE4-4E3C-B16C-21A1D49ABED3 | 7D0359A3-02B3-4F0A-865C-654403E70625 |
| ARM-64 | B921B045-1DF0-41C3-AF44-4C6F280D3FAE | B0E01050-EE5F-4390-949A-9101B17104E9 |
| IA-64 | 993D8D3D-F80E-4225-855A-9DAF8ED7EA97 | 4301D2A6-4E3B-4B2A-BB94-9E0B2C4225EA |
| LoongArch-64 | 77055800-792C-4F94-B39A-98C91B762BB6 | E611C702-575C-4CBE-9A46-434FA0BF7E3F |
| MIPS-32 LE | 37C58C8A-D913-4156-A25F-48B1B64E07F0 | 0F4868E9-9952-4706-979F-3ED3A473E947 |
| MIPS-64 LE | 700BDA43-7A34-4507-B179-EEB93D7A7CA3 | C97C1F32-BA06-40B4-9F22-236061B08AA8 |
| HPPA/PA-RISC | 1AACDB3B-5444-4138-BD9E-E5C2239B2346 | DC4A4480-6917-4262-A4EC-DB9384949F25 |
| PPC | 1DE3F1EF-FA98-47B5-8DCD-4A860A654D78 | 7D14FEC5-CC71-415D-9D6C-06BF0B3C3EAF |
| PPC64 | 912ADE1D-A839-4913-8964-A10EEE08FBD2 | 2C9739E2-F068-46B3-9FD0-01C5A9AFBCCA |
| PPC64LE | C31C45E6-3F39-412E-80FB-4809C4980599 | 15BB03AF-77E7-4D4A-B12B-C0D084F7491C |
| RISC-V-32 | 60D5A7FE-8E7D-435C-B714-3DD8162144E1 | B933FB22-5C3F-4F91-AF90-E2BB0FA50702 |
| RISC-V-64 | 72EC70A6-CF74-40E6-BD49-4BDA08E8F224 | BEAEC34B-8442-439B-A40B-984381ED097D |
| S390 | 08A7ACEA-624C-4A20-91E8-6E0FA67D23F9 | CD0F869B-D0FB-4CA0-B141-9EA87CC78D66 |
| S390X | 5EEAD9A9-FE09-4A1E-A1D7-520D00531306 | 8A4F5770-50AA-4ED3-874A-99B710DB6FEA |
| TILE-Gx | C50CDD70-3862-4CC3-90E1-809A8C93EE2C | 55497029-C7C1-44CC-AA39-815ED1558630 |
| Architecture | Root verity | /usr verity |
|---|---|---|
| x86 | D13C5D3B-B5D1-422A-B29F-9454FDC89D76 | 8F461B0D-14EE-4E81-9AA9-049B6FB97ABD |
| x86-64 | 2C7357ED-EBD2-46D9-AEC1-23D437EC2BF5 | 77FF5F63-E7B6-4633-ACF4-1565B864C0E6 |
| Alpha | FC56D9E9-E6E5-4C06-BE32-E74407CE09A5 | 8CCE0D25-C0D0-4A44-BD87-46331BF1DF67 |
| ARC | 24B2D975-0F97-4521-AFA1-CD531E421B8D | FCA0598C-D880-4591-8C16-4EDA05C7347C |
| ARM | 7386CDF2-203C-47A9-A498-F2ECCE45A2D6 | C215D751-7BCD-4649-BE90-6627490A4C05 |
| ARM-64 | DF3300CE-D69F-4C92-978C-9BFB0F38D820 | 6E11A4E7-FBCA-4DED-B9E9-E1A512BB664E |
| IA-64 | 86ED10D5-B607-45BB-8957-D350F23D0571 | 6A491E03-3BE7-4545-8E38-83320E0EA880 |
| LoongArch-64 | F3393B22-E9AF-4613-A948-9D3BFBD0C535 | F46B2C26-59AE-48F0-9106-C50ED47F673D |
| MIPS-32 LE | D7D150D2-2A04-4A33-8F12-16651205FF7B | 46B98D8D-B55C-4E8F-AAB3-37FCA7F80752 |
| MIPS-64 LE | 16B417F8-3E06-4F57-8DD2-9B5232F41AA6 | 3C3D61FE-B5F3-414D-BB71-8739A694A4EF |
| HPPA/PA-RISC | D212A430-FBC5-49F9-A983-A7FEEF2B8D0E | 5843D618-EC37-48D7-9F12-CEA8E08768B2 |
| PPC | 98CFE649-1588-46DC-B2F0-ADD147424925 | DF765D00-270E-49E5-BC75-F47BB2118B09 |
| PPC64 | 9225A9A3-3C19-4D89-B4F6-EEFF88F17631 | BDB528A5-A259-475F-A87D-DA53FA736A07 |
| PPC64LE | 906BD944-4589-4AAE-A4E4-DD983917446A | EE2B9983-21E8-4153-86D9-B6901A54D1CE |
| RISC-V-32 | AE0253BE-1167-4007-AC68-43926C14C5DE | CB1EE4E3-8CD0-4136-A0A4-AA61A32E8730 |
| RISC-V-64 | B6ED5582-440B-4209-B8DA-5FF7C419EA3D | 8F1056BE-9B05-47C4-81D6-BE53128E5B54 |
| S390 | 7AC63B47-B25C-463B-8DF8-B4A94E6C90E1 | B663C618-E7BC-4D6D-90AA-11B756BB1797 |
| S390X | B325BFBE-C7BE-4AB8-8357-139E652D2F6B | 31741CC4-1A2A-4111-A581-E00B447D2D06 |
| TILE-Gx | 966061EC-28E4-4B2E-B4A5-1F0A825A1D84 | 2FB4BF56-07FA-42DA-8132-6B139F2026AE |
| Architecture | Root verity signature | /usr verity signature |
|---|---|---|
| x86 | 5996FC05-109C-48DE-808B-23FA0830B676 | 974A71C0-DE41-43C3-BE5D-5C5CCD1AD2C0 |
| x86-64 | 41092B05-9FC8-4523-994F-2DEF0408B176 | E7BB33FB-06CF-4E81-8273-E543B413E2E2 |
| Alpha | D46495B7-A053-414F-80F7-700C99921EF8 | 5C6E1C76-076A-457A-A0FE-F3B4CD21CE6E |
| ARC | 143A70BA-CBD3-4F06-919F-6C05683A78BC | 94F9A9A1-9971-427A-A400-50CB297F0F35 |
| ARM | 42B0455F-EB11-491D-98D3-56145BA9D037 | D7FF812F-37D1-4902-A810-D76BA57B975A |
| ARM-64 | 6DB69DE6-29F4-4758-A7A5-962190F00CE3 | C23CE4FF-44BD-4B00-B2D4-B41B3419E02A |
| IA-64 | E98B36EE-32BA-4882-9B12-0CE14655F46A | 8DE58BC2-2A43-460D-B14E-A76E4A17B47F |
| LoongArch-64 | 5AFB67EB-ECC8-4F85-AE8E-AC1E7C50E7D0 | B024F315-D330-444C-8461-44BBDE524E99 |
| MIPS-32 LE | C919CC1F-4456-4EFF-918C-F75E94525CA5 | 3E23CA0B-A4BC-4B4E-8087-5AB6A26AA8A9 |
| MIPS-64 LE | 904E58EF-5C65-4A31-9C57-6AF5FC7C5DE7 | F2C2C7EE-ADCC-4351-B5C6-EE9816B66E16 |
| HPPA/PA-RISC | 15DE6170-65D3-431C-916E-B0DCD8393F25 | 450DD7D1-3224-45EC-9CF2-A43A346D71EE |
| PPC | 1B31B5AA-ADD9-463A-B2ED-BD467FC857E7 | 7007891D-D371-4A80-86A4-5CB875B9302E |
| PPC64 | F5E2C20C-45B2-4FFA-BCE9-2A60737E1AAF | 0B888863-D7F8-4D9E-9766-239FCE4D58AF |
| PPC64LE | D4A236E7-E873-4C07-BF1D-BF6CF7F1C3C6 | C8BFBD1E-268E-4521-8BBA-BF314C399557 |
| RISC-V-32 | 3A112A75-8729-4380-B4CF-764D79934448 | C3836A13-3137-45BA-B583-B16C50FE5EB4 |
| RISC-V-64 | EFE0F087-EA8D-4469-821A-4C2A96A8386A | D2F9000A-7A18-453F-B5CD-4D32F77A7B32 |
| S390 | 3482388E-4254-435A-A241-766A065F9960 | 17440E4F-A8D0-467F-A46E-3912AE6EF2C5 |
| S390X | C80187A5-73A3-491A-901A-017C3FA953E9 | 3F324816-667B-46AE-86EE-9B0C0C6C11B4 |
| TILE-Gx | B3671439-97B0-4A53-90F7-2D5A8F3AD47B | 4EDE75E2-6CCC-4CC8-B9C7-70334B087510 |