[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

17.17.1 全てのデバッグ上方形式に関係するマクロ

以下のマクロは、全てのデバッグ情報形式に関係する。

DBX_REGISTER_NUMBER (regno)

コンパイラが使用するレジスタ番号 regno に対応する、DBX のレジスタ 番号を返す C の式。 単純な場合は、この式の値は regno そのものになる。 だが、コンパイラは知っているが DBX は知らないレジスタがあったり、 その逆もある。 そういう場合は、あるレジスタはコンパイラとDBX で別の番号を必要とする。

ある二つのレジスタが GNU CC 内部で連続する番号になっており、 それらをペアとして使って複数ワードの値を保持する事ができるのであれば、 DBX_REGISTER_NUMBER で番号を付け替えた後でも連続する 番号になっていなければならない。 そうなってないと、デバッガがそのレジスタのペアをアクセスできなく なってしまう。デバッガは、レジスタのペアは、 デバッガ自身の番号付けの仕組みで連続になっていることを想定しているからである。

DEBX_REGISTER_NUMBER を、レジスタのペアを保存しないようなやりかたで 定義したことがわかったら、代わりにしなければならないことは 実際のレジスタ番号付の仕組みの方を再定義することである。

DEBUGGER_AUTO_OFFSET (x)

アドレスが x(RTL式)である自動変数の整数オフセット値を 返す C の式。 デフォルトの計算方法では、x はフレームポインタをベースにしており、 フレームポインタからのオフセットを与えると仮定している。 このことは、DBX 向けのデバッグ情報出力や SDB 向けの COFF形式デバッグ情報出力 を生成し、かつ、‘-g’ オプションを指定したときにフレームポインタの 消去を許すターゲットでは必要とされる。

DEBUGGER_ARG_OFFSET (offset, x)

アドレスが x(RTL 式) である引数の整数のオフセット値を返す C の式。 名目上のオフセットは offset である。

PREFERRED_DEBUGGING_TYPE

単に ‘-g’ オプションを指定した場合に GNU CC が生成すべき デバッグ情報形式を返す C の式である。 GNU CC がデバッグ情報出力の形式を複数サポートするにはこのマクロを定義する。 現在、指定可能な値は、DBX_DEBUGSDB_DEBUGDWARF_DEBUGDWARF2_DEBUG である。

ユーザが ‘-ggdb’ を指定したとき、GNU CC は通常このマクロの値を 基にデバッグ情報の出力形式を選択する。しかし、例外が二つある。 DWARF2_DEBUGGING_INFO は定義されているが LINKER_DOES_NOT_WORK_WITH_DWARF2 が定義されていない場合は、 GNU CC は DWARF2_DEBUG という値を使う。 そうではなくて、DBX_DEBUGGING_INFO が定義されている場合は、 GNU CC は DBX_DEBUG を使う。

このマクロの値が影響するのはデフォルトのデバッグ出力だけである。 ユーザはいつでも、‘-gstabs’、‘-gcoff’、‘-gdwarf-1’、 ‘-gdwarf-2’、‘-gxcoff’ を使って特定の出力形式を 選ぶことができる。


This document was generated using texi2html 1.78.