1 02/17/2017  pointer_info, pin
 2 
 3 Syntax as a command:  pin virtual_pointer {-control_args}
 4 
 5 
 6 Syntax as an active function:  [pin virtual_pointer {-control_args}]
 7 
 8 
 9 Function: displays information about a pointer value -
10 
11   reference_name$entryname pointed to;
12   objectname$entryname or objectname$offset within a bound segment;
13   ring_0_segment|offset for an inner-ring pointer.
14 
15 Additional information about the pointer value may be displayed with
16 the pointer_info command.
17 
18 
19 Arguments:
20 virtual_ptr
21    is a character string representing the pointer value to be
22    interpreted.  For a list of accepted character representations,
23    see: virtual_pointers.gi.info.
24 -location virtual_ptr, -loc virtual_ptr
25    is a character string representing the location of the pointer
26    storage to be interpreted.  This form is useful when you know
27    where the pointer is stored, rather than its value.  For example,
28    when interpreting an unsnapped link in the linkage section of an
29    object segment, giving the location of this link provides clues to
30    obtaining its link definition.
31 
32 
33 Control arguments:
34 -all, -a
35    the command displays additional information returned by the
36    interpret_ptr_ subroutine regarding the pointer.  Normally, only
37    a brief interpretation of the pointer is displayed by the command,
38    or returned by the active function.
39 
40 
41 Notes:
42 The pointer value must reside at an even-word location, and include
43 either an ITS modifier (octal 43) or a Fault_Tag_2 (unsnapped link,
44 octal 46) modifier ending the first word of the pointer word pair.
45 The interpret_ptr_ subroutine verifies these requirements before
46 interpreting the pointer value.
47 
48 
49 List of examples:
50 When dumping contents of an object segment, you wish to investigate a
51 pair of words that looks like an unsnapped link points, to learn what
52 the snapped link would reference.
53 
54  dump_segment <tests>hello 100 20
55  000100 000000000000 000000000000 000000000000 000045000000
56  000104 000000000000 000000000000 000000000000 000000000000
57  000110 000010000014 000000000000 777770000046 000021000000
58  000114 777766000046 000027000000 000000000001 163171155142
59  r 21:41 0.057 0
60 
61 
62 Offset 114 in this file is a word ending with the unsnapped link
63 modifier (octal 46).  To ask for information about this possible
64 pointer.
65 
66  pin -loc <tests>hello|114
67   For pointer: 77766|27
68     information:     ioa_$nnl
69  r 21:42 0.031 0
70 
71 
72 Use -all to obtain more information.
73 
74  pin -loc <tests>hello|114 -all
75   For pointer: 77766|27
76     information:     ioa_$nnl
77 
78     octal pointer:   777766000046 000027000000
79     comment:         (unsnapped link)
80     segment:         ioa_
81     entryn:          $nnl
82  r 21:42 0.051 0
83 
84 
85 Obtain information about segment 75.
86 
87  pin 75|0
88   For pointer: 75|0
89     information:     restart_fault$0 (ring 0)
90  r 21:57 0.053 0
91 
92 
93 Obtain information about the fault_vector segment.
94 
95  pin fault_vector$0
96   For pointer: 4|0
97     information:     fault_vector$0 (ring 0)
98  r 21:59 0.053 0