ChangeLog entry: 2017-01-04 Ivo Raisr PR tdep/20936 Provide and use sparc32 and sparc64 target description XML files. * feature/sparc/sparc32-cp0.xml, feature/sparc/sparc32-cpu.xml, feature/sparc/sparc32-fpu.xml: New files for sparc 32-bit. * feature/sparc/sparc64-cp0.xml, feature/sparc/sparc64-cpu.xml, feature/sparc/sparc64-fpu.xml: New files for sparc 64-bit. * sparc32-solaris.xml, sparc64-solaris.xml: New files for sparc32 and sparc64 on Solaris. * sparc-solaris.c, sparc64-solaris.c: Generated. * sparc-tdep.h: Deal with sparc32 and sparc64 differences in target descriptions. Separate real and pseudo registers. * sparc64-tdep.h: Separate real and pseudo registers. * sparc-tdep.c (sparc32_pseudo_register_name): New function returning pseudo register names on sparc 32-bit. (sparc32_register_name): Account for register names provided by the target description. (sparc32_pseudo_register_type): New function returning pseudo register types on sparc 32-bit. (sparc32_register_type): Account for register types provided by the target description. (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Pseudo registers may have different numbers based on the target description. (validate_tdesc_registers): Validate registers provided by the target description. (sparc32_gdbarch_init): Use new functions sparc32_pseudo_register_name and sparc32_pseudo_register_type. Validate and use registers provided by the target description. * sparc64-tdep.c (sparc64_pseudo_register_name): New function returning pseudo register names on sparc 64-bit. (sparc64_register_name): Account for register names provided by the target description. (sparc64_pseudo_register_type): New function returning pseudo register types on sparc 64-bit. (sparc64_register_type): Account for register types provided by the target description. (sparc64_pseudo_register_read, sparc64_pseudo_register_write): Pseudo registers may have different numbers based on the target description. (sparc64_store_floating_fields, sparc64_extract_floating_fields, sparc64_store_arguments): Pseudo registers may have different numbers based on the target description; deal with it. (sparc64_init_abi): Use new functions sparc64_pseudo_register_name and sparc64_pseudo_register_type.