> Assuming that breakpoint locations are indeed meant to be virtual
> addresses, GDB would have to evaluate the CS descriptor, add the CS
> base to the EIP address and THEN check whether it knows the address.
> But as it seems to be segment-agnostic it doesn't do that and things
> break as a result.

As Dan said, gdb knows nothing about x86 segmentation. As soon as you have 
nonzero segment bases you're pretty much on your own.

If you care about fixing this I suggest you get GDB folks to agree (and 
document) how segmented memory models should work, then implement that model 
in qemu. Hacking qemu to work for your particular case with unmodified gdb 
probably "breaks" something else, so doesn't seem to improve the overall 
usefulness.

I believe all common x86 OS use zero segment bases, and in long mode the CS/DS 
segment bases are ignored.

Paul


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to