| www.delorie.com/gnu/docs/gdb/gdbint_67.html | search |
![]() Buy the book! | |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Maintainer's note: The way GDB manipulates registers is undergoing significant change. Many of the macros and functions refered to in this section are likely to be subject to further revision. See A.R. Index and Bug Tracking Database for further information. cagney/2002-05-06.
Some architectures can represent a data object in a register using a form that is different to the objects more normal memory representation. For example:
long double data type occupies 96 bits in memory but only 80 bits
when stored in a register.
In general, the register representation of a data type is determined by the architecture, or GDB's interface to the architecture, while the memory representation is determined by the Application Binary Interface.
For almost all data types on almost all architectures, the two representations are identical, and no special handling is needed. However, they do occasionally differ. Your architecture may define the following macros to request conversions between the register and memory representations of a data type:
When non-zero, the macros REGISTER_TO_VALUE and
VALUE_TO_REGISTER are used to perform any necessary conversion.
Note that REGISTER_TO_VALUE and VALUE_TO_REGISTER take
their reg and type arguments in different orders.
You should only use REGISTER_TO_VALUE with registers for which
the CONVERT_REGISTER_P macro returns a non-zero value.
Note that REGISTER_TO_VALUE and VALUE_TO_REGISTER take
their reg and type arguments in different orders.
You should only use VALUE_TO_REGISTER with registers for which
the CONVERT_REGISTER_P macro returns a non-zero value.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
| webmaster donations bookstore | delorie software privacy |
| Copyright © 2003 by The Free Software Foundation | Updated Jun 2003 |