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.

Displaying the symbol table with the -w option shows the symbol table depending<br />

on the chosen mode. In 32-bit mode, only the 32-bit symbol table is displayed; in<br />

64-bit mode, only the 64-bit symbol table is displayed. In mixed mode, both are<br />

displayed. To distinguish the 32-bit table from the 64-bit table in mixed mode,<br />

each symbol table entry is followed by a field containing the characters 32 or 64,<br />

respectively. Each field is separated from the previous field by a single tab<br />

character. The 32-bit table is printed before the 64-bit table if both are present.<br />

3.3.6 The dbx Debugger<br />

The dbx command provides a symbolic debug program for C, C++, Pascal, and<br />

FORTRAN 32-bit and 64-bit programs. It is also able to process and examine<br />

core files generated from both 32-bit and 64-bit processes. dbx itself stays a<br />

32-bit program, but its data is expanded to accommodate debugging of 64-bit<br />

programs. In case of debugging 32-bit code, there are wrapper, or interface<br />

routines, that translate from 32-bit formats to dbx’s internal 64-bit data formats.<br />

The dbx program:<br />

• Automatically identifies the execution mode of the code<br />

• Understands the new XCOFF64 format<br />

• Understands the new archive format<br />

• Understands the new coredump format<br />

• Supports M:N threads debugging<br />

• Accepts 64-bit addresses input<br />

• Does arithmetical calculations in 64-bit precision<br />

• Displays 64-bit values<br />

The dbx parser has been changed to accept 64-bit addresses.<br />

Note: To save typing of 16-digit long addresses, the user can set a dbx variable<br />

and use it as a base.<br />

Commands will allow 64-bit values for addresses, subscripts, ranges, offsets, and<br />

so on. The 32-bit dbx required a suffix ll or ull on 64-bit number input. For<br />

example, 0x123456789ull. Any number that was too big for its type was set to the<br />

maximum value without any warning message. For ease of use, dbx now<br />

assumes long long for any input string greater than 8 digits for hex, 11 digits for<br />

octal, and 10 digits for decimal including leading zeroes if any. For convenience,<br />

underscores are allowed in any numeric input. For example,<br />

0x1234_4567_890A_BCDE. They are ignored and not counted in the preceding<br />

sizes like in the assembler.<br />

3.3.7 Commands and Utilities<br />

All commands that needed to be modified for 64-bit support were modified to<br />

work with 32-bit and 64-bit objects (object files or processes). No commands and<br />

utilities were converted to 64-bit executables; they remain 32-bit executables.<br />

There are two major reasons for changing commands:<br />

• The new XCOFF64 format<br />

• Data values that might exceed 2 31<br />

64-Bit Enablement 65

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

Saved successfully!

Ooh no, something went wrong!