Hi Pedro, What do you think of the following approach? The idea is to make sure we never forget to set the expedite_regs field when we initialize the tdesc. One part that could be up for discussion is how the constants for x86 and x86-64 targets are being shared. The way it's done, right now, each unit that includes x86-tdesc.h would end up with its own static copy of the constants. I don't think it should be a problem in practice, but if there is a better solution... gdb/ChangeLog: * regformats/regdat.sh: Adjust script, following the addition of the new expedite_regs parameter to init_target_desc. gdb/gdbserver/ChangeLog: * tdesc.h (init_target_desc) : New parameter. * tdesc.c (init_target_desc) : New parameter. Use it to set the expedite_regs field in the given tdesc. * x86-tdesc.h: New file. * linux-aarch64-tdesc.c (aarch64_linux_read_description): Adjust following the addition of the new expedite_regs parameter to init_target_desc. * linux-tic6x-low.c (tic6x_read_description): Likewise. * linux-x86-tdesc.c: #include "x86-tdesc.h". (i386_linux_read_description, amd64_linux_read_description): Adjust following the addition of the new expedite_regs parameter to init_target_desc. * lynx-i386-low.c: #include "x86-tdesc.h". (lynx_i386_arch_setup): Adjust following the addition of the new expedite_regs parameter to init_target_desc. * nto-x86-low.c: #include "x86-tdesc.h". (nto_x86_arch_setup): Adjust following the addition of the new expedite_regs parameter to init_target_desc. * win32-i386-low.c: #include "x86-tdesc.h". (i386_arch_setup): Adjust following the addition of the new expedite_regs parameter to init_target_desc. Tested on x86_64-linux, with and without gdbserver. Tested on x86-windows as well (using GDBserver with AdaCore's gdb-testsuite). Same results as before. -- Joel