Handbuch zur dynamischen Ablaufverfolgung in Solaris

Der Vektor uregs[]

Der Vektor uregs[] ermöglicht den Zugriff auf einzelne Benutzerregister. Die folgenden Tabellen enthalten die Indizes im Vektor uregs[] für jede unterstützte Solaris-Systemarchitektur.

Tabelle 33–1 uregs[]-Konstanten für SPARC

Konstante 

Register 

R_G0..R_G7

%g0....%g7 globale Register

R_O0..R_O7

%o0....%o7 Ausgangsregister

R_L0..R_L7

%l0....%l7 lokale Register

R_I0..R_I7

%i0....%i7 Eingangsregister

R_CCR

%ccr Bedingungscode-Register

R_PC

%pc Programmzähler

R_NPC

%npc nächster Programmzähler

R_Y

%y Multiplikations-/Divisionsregister

R_ASI

%asi Adressraum-ID-Register

R_FPRS

%fprs Status der Gleitkommaregister

Tabelle 33–2 uregs[]-Konstanten für x86

Konstante 

Register 

R_CS

%cs

R_GS

%gs

R_ES

%es

R_DS

%ds

R_EDI

%edi

R_ESI

%esi

R_EBP

%ebp

R_EAX

%eax

R_ESP

%esp

R_EAX

%eax

R_EBX

%ebx

R_ECX

%ecx

R_EDX

%edx

R_TRAPNO

%trapno

R_ERR

%err

R_EIP

%eip

R_CS

%cs

R_ERR

%err

R_EFL

%efl

R_UESP

%uesp

R_SS

%ss

Auf AMD64-Plattformen hat der Vektor uregs denselben Inhalt wie auf x86-Plattformen und zusätzlich die in der folgenden Tabelle aufgeführten Elemente:

Tabelle 33–3 uregs[]-Konstanten für amd64

Konstante 

Register 

R_RSP

%rsp

R_RFL

%rfl

R_RIP

%rip

R_RAX

%rax

R_RCX

%rcx

R_RDX

%rdx

R_RBX

%rbx

R_RBP

%rbp

R_RSI

%rsi

R_RDI

%rdi

R_R8

%r8

R_R9

%r9

R_R10

%r10

R_R11

%r11

R_R12

%r12

R_R13

%r13

R_R14

%r14

R_R15

%r15

Die Aliasnamen in der folgenden Tabelle können auf allen Plattformen verwendet werden:

Tabelle 33–4 Gemeinsame uregs[]-Konstanten

Konstante 

Register 

R_PC

Programmzähler-Register 

R_SP

Stack-Zeiger-Register 

R_R0

erster Rückgabecode 

R_R1

zweiter Rückgabecode