mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
2b40fda74b
Both the i386, X86_64 and AArch64 builds of gdbserver include a bunch of legacy xml files, dat files and auto generated C files, when building for unit test. These tests exists back from when feature target descriptions were added to prove that the new target descriptions were identical to the original older versions. The old files are not used for anything other than these tests. Now that this has been proven, we are not gaining anything by keeping the original files and tests. Should new functionality be added, it would break the tests, unless the functionality was backported to the xml. There is no requirement that we must match the exact xml from N releases ago. It adds obfuscation, where as the feature target descriptions were meant to simplify the code. In addition, there are a bunch of xml and dat files which are completely unused. This patch removes the selftests and the target descriptions from gdbserver. Update the unittest to allow 0 tests (note, this failed on other targets that never had any tests). gdb/ChangeLog: * aarch64-tdep.c: Remove xml self tests. * amd64-linux-tdep.c: Likewise. * amd64-tdep.c: Likewise. * i386-linux-tdep.c: Likewise. * i386-tdep.c: Likewise. gdb/gdbserver/ChangeLog: * configure.srv: Remove legacy xml. * linux-aarch64-low.c (initialize_low_arch): Remove initialize_low_tdesc call. * linux-aarch64-tdesc-selftest.c: Remove file. * linux-aarch64-tdesc.h (initialize_low_tdesc): Remove. * linux-x86-low.c (initialize_low_arch): Remove initialize_low_tdesc call. * linux-x86-tdesc-selftest.c: Remove file. * linux-x86-tdesc.h (initialize_low_tdesc): Remove. gdb/testsuite/ChangeLog: * gdb.server/unittest.exp: Allow 0 unit tests to run.
57 lines
1.8 KiB
C
57 lines
1.8 KiB
C
/* Low level support for x86 (i386 and x86-64), shared between gdbserver
|
|
and IPA.
|
|
|
|
Copyright (C) 2016-2019 Free Software Foundation, Inc.
|
|
|
|
This file is part of GDB.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef GDBSERVER_LINUX_X86_TDESC_H
|
|
#define GDBSERVER_LINUX_X86_TDESC_H
|
|
|
|
/* Note: since IPA obviously knows what ABI it's running on (i386 vs x86_64
|
|
vs x32), it's sufficient to pass only the register set here. This,
|
|
together with the ABI known at IPA compile time, maps to a tdesc. */
|
|
|
|
enum x86_linux_tdesc {
|
|
X86_TDESC_MMX = 0,
|
|
X86_TDESC_SSE = 1,
|
|
X86_TDESC_AVX = 2,
|
|
X86_TDESC_MPX = 3,
|
|
X86_TDESC_AVX_MPX = 4,
|
|
X86_TDESC_AVX_AVX512 = 5,
|
|
X86_TDESC_AVX_MPX_AVX512_PKU = 6,
|
|
X86_TDESC_LAST = 7,
|
|
};
|
|
|
|
#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
|
|
|
|
const struct target_desc *i386_get_ipa_tdesc (int idx);
|
|
|
|
#ifdef __x86_64__
|
|
const struct target_desc *amd64_linux_read_description (uint64_t xcr0,
|
|
bool is_x32);
|
|
#endif
|
|
|
|
const struct target_desc *i386_linux_read_description (uint64_t xcr0);
|
|
|
|
#endif /* GDBSERVER_LINUX_X86_TDESC_H */
|