diff options
Diffstat (limited to 'gnu/usr.bin/binutils')
| -rw-r--r-- | gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c b/gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c index a08254dc5149..8abe2307abbb 100644 --- a/gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c +++ b/gnu/usr.bin/binutils/gdb/i386/kvm-fbsd.c @@ -438,7 +438,25 @@ xfer_umem (memaddr, myaddr, len, write) return n; } -#define KERNOFF ((unsigned)KERNBASE) +static CORE_ADDR +ksym_kernbase() +{ + static CORE_ADDR kernbase; + struct minimal_symbol *sym; + + if (kernbase == 0) + { + sym = lookup_minimal_symbol ("kernbase", NULL, NULL); + if (sym == NULL) { + kernbase = KERNBASE; + } else { + kernbase = SYMBOL_VALUE_ADDRESS (sym); + } + } + return kernbase; +} + +#define KERNOFF (ksym_kernbase()) #define INKERNEL(x) ((x) >= KERNOFF) static CORE_ADDR sbr; |
