This is the second of two patches to get aarch64 ILP32 support into gdb.  The first patch was a couple of bfd files, this patch is the gdb and gdbserver changes.  This is an update of the patches that Andrew Pinski submitted here: https://sourceware.org/ml/binutils/2016-09/msg00004.html This patch includes everything from his patch 2 and 3.  I updated the patches to top-of-tree, addressed the comments that were made at the time, and retested with the binutils and gdb testsuites. Steve Ellcey sellcey@cavium.com gdb ChangeLog: 2017-01-24  Andrew Pinski       Steve Ellcey   * aarch64-tdep.h (gdbarch_tdep) : New field. * aarch64-tdep.c: Include "features/aarch64_ilp32.c". (aarch64_gdbarch_init): Setup ILP32 support. Make sure the gdbarches have compatible ilp32 flags. Set long and ptr sizes correctly for ilp32. (_initialize_aarch64_tdep): Call initialize_tdesc_aarch64_ilp32. * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add support for ILP32. * features/Makefile (WHICH): Add aarch64_ilp32. (aarch64_ilp32-expedite): Set. (XMLTOC): Add aarch64_ilp32.xml. * features/aarch64_ilp32-core.xml: New file. * features/aarch64_ilp32.xml: New file. * features/aarch64_ilp32.c: Generate. * regformats/aarch64_ilp32.dat: Generate. gdb/gdbserver ChangeLog: 2017-01-24  Andrew Pinski       Steve Ellcey   * Makefile.in (clean): Remove aarch64_ilp32.c also. (aarch64_ilp32-ipa.o): New target. (aarch64_ilp32.c): New target. * configure.srv (aarch64*-*-linux*): Add ilp32 files to srv_regobj, srv_xmlfiles and ipa_obj. * linux-aarch64-ipa.c (init_registers_aarch64_ilp32): Declare. (tdesc_aarch64_ilp32): Likewise. (get_ipa_tdesc): Return tdesc_aarch64_ilp32 for ILP32. (initialize_low_tracepoint): Call init_registers_aarch64_ilp32 for ILP32. * linux-aarch64-low.c (init_registers_aarch64_ilp32): Declare. (tdesc_aarch64_ilp32): Likewise. (aarch64_linux_read_description): Return tdesc_aarch64_ilp32 for ILP32 executables. (initialize_low_arch): Call init_registers_aarch64_ilp32.