Richard Henderson wrote:
> So you would recommend continuing to use address_class for these x86 segments?
Yes, I think so. As far as I can see, this would simply require to define two
address_class values to correspond to __seg_fs and __seg_gs. (These choices
should best be documented in the platform ABI.)
GDB infrastructure to decode and use address_class should already be in place,
you simply need to implement the relevant gdbarch callbacks:
address_class_type_flags
Convert from DWARF address class to GDB internal encoding
address_class_type_flags_to_name
address_class_name_to_type_flags
Convert between GDB internal encoding and printable name (e.g. "__seg_fs")
address_to_pointer
pointer_to_address
Convert between a GDB flat address (CORE_ADDR) and a target-specific
pointer encoding, based on the pointer's address class flags
Of course, to do the latter, you still need access to the segment base values,
as discussed on the GDB mailing list.
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU/Linux compilers and toolchain
[email protected]