Windows NT (COFF32) Specific Section Flag Operands

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.

 

Associated Section Name Flag

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 t he 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.