after updating libmach and acid (and double-checking header files
in /sys/include and /386/include), i still get odd results from acid
on mutiple intel machines.
is there something else that needs updating?
- erik
using
void
main(void)
{
double x;
x = atof("3.5");
x += 3.14;
exits(0);
}
i get:
acid: new()
165488: system call _main SUBL $0x48,SP
165488: breakpoint main+0x3 MOVL $.string(SB),AX
acid: bpset(main+16)
acid: cont()
165488: breakpoint main+0x10 FMOVDP F0,x+0x14(SP)
acid: fpr()
F0 0.
F1 0.
F2 0.
F3 0.
F4 0.
F5 0.
F6 0.
F7 0.
control 0x0272
status 0x3900
tag 0x3fff
ip offset 0x0000175d
cs selector 0x0023
opcode 0xe907
data operand offset 0xeee8
operand selector 0x001b
acid: step()
165488: breakpoint main+0x14 FMOVD x+0x14(SP),F0
acid: step()
165488: breakpoint main+0x18 FADDD $51eb851f.40091eb8(SB),F0
acid: step()
165488: breakpoint main+0x1e FMOVDP F0,x+0x14(SP)
acid: fpr()
F0 -3.37649908e-11
F1 0.
F2 0.
F3 0.
F4 0.
F5 0.
F6 0.
F7 0.
control 0x0272
status 0x3b20
tag 0x3fff
ip offset 0x00001038
cs selector 0x0023
opcode 0xe907
data operand offset 0x6044
operand selector 0x001b