AIX Version 4.3 Differences Guide
AIX Version 4.3 Differences Guide
AIX Version 4.3 Differences Guide
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
symbols exported with svc3264 are assigned a storage-mapping class,<br />
XMC_SVC3264. The existing flags and options -T, -D, -S, -bD, -bS, -bmaxdata,<br />
-bmaxstack, -bpD, and -bpT will accept 64-bit values as arguments. The 64-bit<br />
values are passed to the binder in the respective binder subcommands,<br />
regardless of the mode. The binder reports errors for used values that are too<br />
large for 32-bit mode. Depending on the options specified, some values are never<br />
used and do not result in an error.<br />
3.3.5 Archiver<br />
The <strong>AIX</strong> <strong>4.3</strong> the ar command handles the archiving of 64-bit XCOFF object<br />
modules in addition to the current 32-bit object modules. An archive file in <strong>AIX</strong> 4.2<br />
supports only a single global symbol table to reference the symbols contained in<br />
all object-file modules within the archive. To support the two formats of object<br />
files, it is important that the symbols of 64-bit objects be distinguishable from<br />
those of 32-bit objects. This is not an issue for the old (pre-<strong>AIX</strong> <strong>4.3</strong>) archive file<br />
format since 64-bit modules are not stored in these archives. For the <strong>AIX</strong> <strong>4.3</strong><br />
archive format, however, there are two global symbol tables: one for 32-bit object<br />
symbols and one for 64-bit object symbols. The ar command is able to recognize<br />
each type of object file and store its symbols in the appropriate table.<br />
The ar command maintains compatibility with the previous archive file format. If<br />
given an archive file of the old format, ar still adds, deletes, reorders, and lists<br />
members without altering the format of the archive file except in two cases: when<br />
the user explicitly requests conversion to the <strong>AIX</strong> <strong>4.3</strong> format by using the -o<br />
option, or when the user adds a 64-bit object to the archive. For the latter case, a<br />
64-bit object cannot be handled by the old-format archive, so conversion is<br />
required. A mechanism is provided for ar to refuse the 64-bit object instead of<br />
converting the archive format.<br />
When creating a new archive, the <strong>4.3</strong> ar command automatically uses the new<br />
format. For files that are not XCOFF objects of either type, ar processes them as<br />
usual. If such files are added to a nonexisting archive, the new format is used in<br />
creation. If ar is given an old-format archive, it is not reformatted (unless the user<br />
requests it). The new maximum size of an archive has increased from (10 11 - 1)<br />
to (10 19 - 1) bytes.<br />
A new flag has been added, -X, which requires an argument of either 32, 64, or<br />
32_64. This flag indicates to ar whether to accept only 32-bit objects or only<br />
64-bit objects (in addition to any non-object files, which are always valid) or both.<br />
If both -X32 and -X64 are specified, ar treats it as if -X32_64 were specified and<br />
accept both object types. If only one of the options is specified, ar ignores all<br />
object files in the archive that are not of the specified type. If such objects are<br />
specified on the command line, an error message is issued, but other acceptable<br />
objects are still processed. If the -X option is given with an unrecognized<br />
argument, an error message is printed with the usage statement, and ar exits.<br />
A new environment variable, OBJECT_MODE, is recognized by ar to determine<br />
the XCOFF file type(s) acceptable for processing. The values of<br />
OBJECT_MODE=32, OBEJECT_MODE=64, and OBJECT_MODE=32_64 all<br />
have the equivalent function of their -X flag counterparts. If both the environment<br />
variable and the -X flag are specified, the flag will take precedence over the<br />
environment variable. If no -X flag is given and OBJECT_MODE is unset or is set<br />
to an unrecognized value, 32-bit mode is used.<br />
64 <strong>AIX</strong> <strong>Version</strong> <strong>4.3</strong> <strong>Differences</strong> <strong>Guide</strong>