Messages in this thread | | | Date | Wed, 25 Apr 2012 07:48:00 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [GIT PULL 00/13] Annotation improvements (G+ edition) |
| |
After the bandaid, I see some strange constructs like (press 'o' to view the original disassembly):
0.00 || 399f877dc6:v je 399f877dd5 <_int_free+0x735> 0.00 || 399f877dc8: lock decl (%r12) 0.00 |+------877dcd:^ jne 399f87bd64 <_L_unlock_5659> 0.00 | 399f877dd3:v jmp 399f877ddf <_int_free+0x73f>
There is a bug above, the start_width for the arrow is bigger than it should, will fix.
Pressing 'o' again this becomes:
0.00 || v je 735 0.00 || lock decl (%r12) 0.00 |+------^ jne 0 0.00 | v jmp 73f
The 'jne 0' line, its a misparse of the <....> part, it ass-umed that a + was there all the time, which is not true, so I should instead do a fixup when traversing the ->offsets array, looking for dl->target.ops = 0 and, since we know where the symbol starts at that point, fix it.
- Arnaldo
| |