GDB
===

Python contexts within GDB
--------------------------

Each time gdb enters the Python interpreter it establishes a context.
Part of the context includes what architecture gdb believes it is
debugging ('gdbarch') and that is passed into the context.  If anything
changes the gdbarch in that Python context, it won't be visible to any
subsequent Python code until a new session is established.

When gdb starts up on x86_64, it uses a gdbarch of i386 -- with 32-bit words
and pointers.  Only when we load an executable or target does it switch
to i386:x86_64.

The effect of this is that any code that relies on type information *must*
be executed in a separate context from the one that loaded the executable
and/or target.  Otherwise, any built-in types that are pointers or ``long``
based will use the 32-bit sizes.
