24.05.2014 Views

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

archive file format that provides for separate global symbol tables for XCOFF32<br />

and XCOFF64 members (see Section 3.3.5, “Archiver” on page 64). This new<br />

archive format is also used for all archives created on <strong>AIX</strong> <strong>4.3</strong>, so the binder<br />

reads the new archive format even when running in 32-bit mode.<br />

The following new command line flags and options in import files are introduced:<br />

• -b32 option<br />

Specifies 32-bit linking mode. In this mode, all input object files must be<br />

XCOFF32 files, or an error is reported. Only XCOFF32 archive members are<br />

processed. Other archive members are ignored. For import files specifying the<br />

mode of certain symbols, 64-bit imports are ignored.<br />

• -b64 option<br />

Specifies 64-bit linking mode. In this mode, all input object files must be<br />

XCOFF64 files, or an error is reported. Only XCOFF64 archive members are<br />

processed. Other archive members are ignored. For import files specifying the<br />

mode of certain symbols, 32-bit imports are ignored.<br />

• 32 option in an import file<br />

This option can be used in an import file to specify that subsequent symbols<br />

should be processed when linking in 32-bit mode but ignored when linking in<br />

64-bit mode. If no 32 or 64 option is specified, all symbols are processed in<br />

both 32 and 64-bit modes.<br />

Note: The syntax for import file options is a pound sign (#) followed by a blank<br />

followed by a list of options.<br />

• 64 option in an import file<br />

This option can be used in an import file to specify that subsequent symbols<br />

should be processed when linking in 64-bit mode but ignored when linking in<br />

32-bit mode. If no 32 or 64 option is specified, all symbols are processed in<br />

both 32 and 64-bit modes.<br />

• no32 or no64 option in an import file<br />

This option overrides a previous 32 or 64 option. Subsequent symbols are<br />

processed in both 32 and 64-bit modes.<br />

• OBJECT_MODE environment variable<br />

If the -b32 or -b64 options are not used, the OBJECT_MODE environment<br />

variable is examined to determine the linking mode. If the value of<br />

OBJECT_MODE is 64, 64-bit mode is used. If the value is 32_64, the linker<br />

prints an error message and exits with a non-zero return code. Otherwise,<br />

32-bit mode is used.<br />

If both -b32 and -b64 options are specified, the last specified option is used. If<br />

neither option is specified, the mode is determined from the value of the<br />

environment variable OBJECT_MODE.<br />

New keywords are recognized in import and export files. The keywords are svc64<br />

and svc3264, with synonyms syscall64 and syscall3264. For ease of use, svc32<br />

and syscall32 are added as well. They are equivalent to svc and syscall. All these<br />

keywords may be in upper- or lower-case. The keywords are ignored in import<br />

files. In export files, a symbol exported with the svc64 keyword is given<br />

storage-mapping class XMC_SVC64 in the loader-section symbol table. Similarly,<br />

64-Bit Enablement 63

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!