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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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!