chaos4ever / chaos

The chaos Operating System
https://chaos4ever.github.io/
16 stars 7 forks source link

Start servers at different physical addresses #104

Closed perlun closed 6 years ago

perlun commented 6 years ago

Right now, all servers have a fixed virtual start address, because of this linker script:

 . = 0x40000000 + SIZEOF_HEADERS;

This is an easy way to do it, but it has a significant disadvantage when debugging with gdb. When you place a breakpoint in a process, there is a slight risk that you get '"false positives" - other processes hitting the same EIP address.

This Stack Overflow thread seems to have a pretty clever way to do this, and has a lot of details on how the commandline used for doing the override should look. We could use this to fix the debug experience to be less confusing.