X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=gdb%2Fgdbserver%2Flinux-x86-tdesc.h;h=a6dc33055b101bd59dff02391a7a4a75502a50c7;hb=b4570e4b3032f9f4a508dbacd8136f79cf42c249;hp=33fdc27678c25581bdd2f36a8c1fab753a29b52b;hpb=ae91f6253926e4dadebcae90772f4f5a5bd06056;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/gdbserver/linux-x86-tdesc.h b/gdb/gdbserver/linux-x86-tdesc.h index 33fdc27678..a6dc33055b 100644 --- a/gdb/gdbserver/linux-x86-tdesc.h +++ b/gdb/gdbserver/linux-x86-tdesc.h @@ -1,7 +1,7 @@ /* Low level support for x86 (i386 and x86-64), shared between gdbserver and IPA. - Copyright (C) 2016 Free Software Foundation, Inc. + Copyright (C) 2016-2017 Free Software Foundation, Inc. This file is part of GDB. @@ -27,63 +27,27 @@ enum x86_linux_tdesc { X86_TDESC_SSE = 1, X86_TDESC_AVX = 2, X86_TDESC_MPX = 3, - X86_TDESC_AVX512 = 4, + X86_TDESC_AVX_MPX = 4, + X86_TDESC_AVX_AVX512 = 5, + X86_TDESC_AVX_MPX_AVX512_PKU = 6, + X86_TDESC_LAST = 7, }; -#ifdef __x86_64__ - -#if defined __LP64__ || !defined IN_PROCESS_AGENT -/* Defined in auto-generated file amd64-linux.c. */ -void init_registers_amd64_linux (void); -extern const struct target_desc *tdesc_amd64_linux; - -/* Defined in auto-generated file amd64-avx-linux.c. */ -void init_registers_amd64_avx_linux (void); -extern const struct target_desc *tdesc_amd64_avx_linux; - -/* Defined in auto-generated file amd64-avx512-linux.c. */ -void init_registers_amd64_avx512_linux (void); -extern const struct target_desc *tdesc_amd64_avx512_linux; - -/* Defined in auto-generated file amd64-mpx-linux.c. */ -void init_registers_amd64_mpx_linux (void); -extern const struct target_desc *tdesc_amd64_mpx_linux; -#endif - -#if defined __ILP32__ || !defined IN_PROCESS_AGENT -/* Defined in auto-generated file x32-linux.c. */ -void init_registers_x32_linux (void); -extern const struct target_desc *tdesc_x32_linux; - -/* Defined in auto-generated file x32-avx-linux.c. */ -void init_registers_x32_avx_linux (void); -extern const struct target_desc *tdesc_x32_avx_linux; - -/* Defined in auto-generated file x32-avx512-linux.c. */ -void init_registers_x32_avx512_linux (void); -extern const struct target_desc *tdesc_x32_avx512_linux; +#if defined __i386__ || !defined IN_PROCESS_AGENT +int i386_get_ipa_tdesc_idx (const struct target_desc *tdesc); #endif +#if defined __x86_64__ && !defined IN_PROCESS_AGENT +int amd64_get_ipa_tdesc_idx (const struct target_desc *tdesc); #endif -#if defined __i386__ || !defined IN_PROCESS_AGENT -/* Defined in auto-generated file i386-linux.c. */ -void init_registers_i386_linux (void); -extern const struct target_desc *tdesc_i386_linux; - -/* Defined in auto-generated file i386-mmx-linux.c. */ -void init_registers_i386_mmx_linux (void); -extern const struct target_desc *tdesc_i386_mmx_linux; +const struct target_desc *i386_get_ipa_tdesc (int idx); -/* Defined in auto-generated file i386-avx-linux.c. */ -void init_registers_i386_avx_linux (void); -extern const struct target_desc *tdesc_i386_avx_linux; +#ifdef __x86_64__ +const struct target_desc *amd64_linux_read_description (uint64_t xcr0, + bool is_x32); +#endif -/* Defined in auto-generated file i386-avx512-linux.c. */ -void init_registers_i386_avx512_linux (void); -extern const struct target_desc *tdesc_i386_avx512_linux; +const struct target_desc *i386_linux_read_description (uint64_t xcr0); -/* Defined in auto-generated file i386-mpx-linux.c. */ -void init_registers_i386_mpx_linux (void); -extern const struct target_desc *tdesc_i386_mpx_linux; -#endif +void initialize_low_tdesc ();