In addition to the section flags described in Section Flags and Section Type Operands, the assembler recognizes the flags listed in table COMDAT Section Flag Characters (below) when the section type is "comdat" and the object file format is COFF32 (Windows NT).
These flags represent link-time selection criteria, and are case-sensitive.
COMDAT Section Flag Characters |
|
Flag |
Description |
D |
Allow only one instance of this section. |
Y |
Select any one instance of this section. |
E |
Select any one instance of this section; all instances must have identical contents. |
L |
Select the largest instance of this section. |
A |
Select an instance of this section only if the associated section name is selected. See Associated Section Name Flag section that follows. |
When the A flag is present, the assembler identifies an associated section name. Use the A flag in conjunction with an associated section operand.
The associated section operand is a section name. A section name can only be loaded in link time if the associated section is already loaded.
To select the A flag, use the .section or .pushsection directive with an additional assoc-section operand in one of the following formats:
.section section-name [,"flags","type" [,assoc-section]]
.section section-name = "flags","type" [,assoc-section]
.pushsection section-name [,"flags","type"
[,assoc-section]]
.pushsection section-name = "flags","type" [,assoc-section]
Where:
section-name |
Represents a user-defined name using any valid identifier. Section names are case-sensitive. |
flags |
Represents a string constant composed of one or more characters that specify the attributes of a section. See table Section Flag Characters for a list of the valid flag characters. |
type |
Represents a string constant specifying a type attribute of a section. See table Section Types for a list of the section types |
assoc-section |
Represents a user-defined section name. |