comparison docs/manual.docbook.sgml @ 168:1e0a0e6cd918

Documentation updates
author lost@l-w.ca
date Mon, 29 Aug 2011 19:15:50 -0600
parents a26b045c4e18
children 07e1fac76321
comparison
equal deleted inserted replaced
167:872fa82680e1 168:1e0a0e6cd918
1328 may appear multiple times in which case it is as though all the code from 1328 may appear multiple times in which case it is as though all the code from
1329 all the instances of that section appeared adjacent within the source file. 1329 all the instances of that section appeared adjacent within the source file.
1330 However, <parameter>flags</parameter> may only be specified on the first 1330 However, <parameter>flags</parameter> may only be specified on the first
1331 instance of the section. 1331 instance of the section.
1332 </para> 1332 </para>
1333 <para>There is a single flag supported in <parameter>flags</parameter>. The 1333
1334 flag <parameter>bss</parameter> will cause the section to be treated as a BSS 1334 <para><parameter>flags</parameter> is a comma separated list of flags. If a
1335 section and, thus, no code will be included in the object file nor will any 1335 flag is "bss", the section will be treated as a BSS section and no
1336 bytes be permitted to be output.</para> 1336 statements that generate output are permitted.</para>
1337
1338 <para>If the flag is "constant",
1339 the same restrictions apply as for BSS sections. Additionally, all symbols
1340 defined in a constant section define absolute values and will not be
1341 adjusted by the linker at link time. Constant sections cannot define
1342 complex expressions for symbols; the value must be fully defined at assembly
1343 time. Additionally, multiple instances of a constant section do not
1344 coalesce into a single addressing unit; each instance starts again at offset
1345 0.</para>
1346
1337 <para> 1347 <para>
1338 If the section name is "bss" or ".bss" in any combination of upper and 1348 If the section name is "bss" or ".bss" in any combination of upper and
1339 lower case, the section is assumed to be a BSS section. In that case, 1349 lower case, the section is assumed to be a BSS section. In that case,
1340 the flag <parameter>!bss</parameter> can be used to override this assumption. 1350 the flag <parameter>!bss</parameter> can be used to override this assumption.
1341 </para> 1351 </para>
1352
1353 <para> If the section name is "_constants" or "_constant", in any
1354 combination of upper and lower case, the section is assumed to be a constant
1355 section. This assumption can be overridden with the "!constant"
1356 flag.</para>
1357
1342 <para> 1358 <para>
1343 If assembly is already happening within a section, the section is implicitly 1359 If assembly is already happening within a section, the section is implicitly
1344 ended and the new section started. This is not considered an error although 1360 ended and the new section started. This is not considered an error although
1345 it is recommended that all sections be explicitly closed. 1361 it is recommended that all sections be explicitly closed.
1346 </para> 1362 </para>