Chapter 8. Assembler Directives
61
@progbits
section contains data
@nobits
section does not contain data (i.e., section only occupies space)
@note
section contains data which is used by things other than the program
@init_array
section contains an array of pointers to init functions
@fini_array
section contains an array of pointers to finish functions
@preinit_array
section contains an array of pointers to pre init functions
Many targets only support the first three section types.
Note on targets where the
@
character is the start of a comment (eg ARM) then another character is
used instead. For example the ARM port uses the
%
character.
If
flags
contains the
M
symbol then the
type
argument must be specified as well as an extra argument
entsize
like this:
.section name , "flags"M, @type, entsize
Sections with the
M
flag but not
S
flag must contain fixed size constants, each
entsize
octets long.
Sections with both
M
and
S
must contain zero terminated strings where each character is
entsize
bytes long. The linker may remove duplicates within sections with the same name, same entity size
and same flags.
entsize
must be an absolute expression.
If
flags
contains the
G
symbol then the
type
argument must be present along with an additional
field like this:
.section name , "flags"G, @type, GroupName[, linkage]
The
GroupName
field specifies the name of the section group to which this particular section belongs.
The optional linkage field can contain:
comdat
indicates that only one copy of this section should be retained
.gnu.linkonce
an alias for comdat
Note if both the
M
and
G
flags are present then the fields for the Merge flag should come first, like
this:
.section name , "flags"MG, @type, entsize, GroupName[, linkage]
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved