From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from barracuda.ebox.ca (barracuda.ebox.ca [96.127.255.19]) by sourceware.org (Postfix) with ESMTPS id ACF33386F812 for ; Thu, 14 May 2020 17:44:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org ACF33386F812 X-ASG-Debug-ID: 1589478246-0c856e18f314803e0001-fS2M51 Received: from smtp.ebox.ca (smtp.ebox.ca [96.127.255.82]) by barracuda.ebox.ca with ESMTP id yNQ4sDb8FU0aqm62 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 14 May 2020 13:44:06 -0400 (EDT) X-Barracuda-Envelope-From: simon.marchi@efficios.com X-Barracuda-RBL-Trusted-Forwarder: 96.127.255.82 Received: from smarchi-efficios.lan (unknown [192.222.164.54]) by smtp.ebox.ca (Postfix) with ESMTP id 1F16D441B21; Thu, 14 May 2020 13:44:06 -0400 (EDT) From: Simon Marchi X-Barracuda-Effective-Source-IP: 192-222-164-54.qc.cable.ebox.net[192.222.164.54] X-Barracuda-Apparent-Source-IP: 192.222.164.54 X-Barracuda-RBL-IP: 192.222.164.54 To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 6/7] gdbserver: remove support for Tile Date: Thu, 14 May 2020 13:43:58 -0400 X-ASG-Orig-Subj: [PATCH 6/7] gdbserver: remove support for Tile Message-Id: <20200514174359.2272960-7-simon.marchi@efficios.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200514174359.2272960-1-simon.marchi@efficios.com> References: <20200514174359.2272960-1-simon.marchi@efficios.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Barracuda-Connect: smtp.ebox.ca[96.127.255.82] X-Barracuda-Start-Time: 1589478246 X-Barracuda-Encrypted: DHE-RSA-AES256-SHA X-Barracuda-URL: https://96.127.255.19:443/cgi-mod/mark.cgi X-Barracuda-Scan-Msg-Size: 7299 X-Virus-Scanned: by bsmtpd at ebox.ca X-Barracuda-BRTS-Status: 1 X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using global scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=8.0 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.81850 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Spam-Status: No, score=-23.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_SHORT, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 May 2020 17:44:26 -0000 This port has been unmaintained for years and the upstream Linux kernel does not support this architecture anymore, remove it. gdbserver/ChangeLog: * Makefile.in (SFILES): linux-tile-low.cc. * configure.srv: Remove tilegx case. * linux-tile-low.cc: Remove. --- gdbserver/Makefile.in | 1 - gdbserver/configure.srv | 6 - gdbserver/linux-tile-low.cc | 227 ------------------------------------ 3 files changed, 234 deletions(-) delete mode 100644 gdbserver/linux-tile-low.cc diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in index 80cc12e58603..cc5fa427c933 100644 --- a/gdbserver/Makefile.in +++ b/gdbserver/Makefile.in @@ -190,7 +190,6 @@ SFILES = \ $(srcdir)/linux-s390-low.cc \ $(srcdir)/linux-sh-low.cc \ $(srcdir)/linux-sparc-low.cc \ - $(srcdir)/linux-tile-low.cc \ $(srcdir)/linux-x86-low.cc \ $(srcdir)/linux-xtensa-low.cc \ $(srcdir)/mem-break.cc \ diff --git a/gdbserver/configure.srv b/gdbserver/configure.srv index 76d2b8e7e025..b376cb13449c 100644 --- a/gdbserver/configure.srv +++ b/gdbserver/configure.srv @@ -375,12 +375,6 @@ case "${gdbserver_host}" in srv_linux_regsets=yes srv_linux_thread_db=yes ;; - tilegx-*-linux*) srv_regobj=reg-tilegx.o - srv_regobj="${srv_regobj} reg-tilegx32.o" - srv_tgtobj="$srv_linux_obj linux-tile-low.o" - srv_linux_regsets=yes - srv_linux_thread_db=yes - ;; *) # Who are you? UNSUPPORTED=1 diff --git a/gdbserver/linux-tile-low.cc b/gdbserver/linux-tile-low.cc deleted file mode 100644 index fa24b0899c02..000000000000 --- a/gdbserver/linux-tile-low.cc +++ /dev/null @@ -1,227 +0,0 @@ -/* GNU/Linux/TILE-Gx specific low level interface, GDBserver. - - Copyright (C) 2012-2020 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 . */ - -#include "server.h" -#include "linux-low.h" - -#include -#include "nat/gdb_ptrace.h" - -/* Linux target op definitions for the TILE-Gx architecture. */ - -class tile_target : public linux_process_target -{ -public: - - const regs_info *get_regs_info () override; - - const gdb_byte *sw_breakpoint_from_kind (int kind, int *size) override; - -protected: - - void low_arch_setup () override; - - bool low_cannot_fetch_register (int regno) override; - - bool low_cannot_store_register (int regno) override; - - bool low_supports_breakpoints () override; - - CORE_ADDR low_get_pc (regcache *regcache) override; - - void low_set_pc (regcache *regcache, CORE_ADDR newpc) override; - - bool low_breakpoint_at (CORE_ADDR pc) override; -}; - -/* The singleton target ops object. */ - -static tile_target the_tile_target; - -bool -tile_target::low_supports_breakpoints () -{ - return true; -} - -CORE_ADDR -tile_target::low_get_pc (regcache *regcache) -{ - return linux_get_pc_64bit (regcache); -} - -void -tile_target::low_set_pc (regcache *regcache, CORE_ADDR pc) -{ - linux_set_pc_64bit (regcache, pc); -} - -/* Defined in auto-generated file reg-tilegx.c. */ -void init_registers_tilegx (void); -extern const struct target_desc *tdesc_tilegx; - -/* Defined in auto-generated file reg-tilegx32.c. */ -void init_registers_tilegx32 (void); -extern const struct target_desc *tdesc_tilegx32; - -#define tile_num_regs 65 - -static int tile_regmap[] = -{ - 0, 1, 2, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, - -1, -1, -1, -1, -1, -1, -1, -1, - 56 -}; - -bool -tile_target::low_cannot_fetch_register (int regno) -{ - if (regno >= 0 && regno < 56) - return false; - else if (regno == 64) - return false; - else - return true; -} - -bool -tile_target::low_cannot_store_register (int regno) -{ - if (regno >= 0 && regno < 56) - return false; - else if (regno == 64) - return false; - else - return true; -} - -static uint64_t tile_breakpoint = 0x400b3cae70166000ULL; -#define tile_breakpoint_len 8 - -/* Implementation of target ops method "sw_breakpoint_from_kind". */ - -const gdb_byte * -tile_target::sw_breakpoint_from_kind (int kind, int *size) -{ - *size = tile_breakpoint_len; - return (const gdb_byte *) &tile_breakpoint; -} - -bool -tile_target::low_breakpoint_at (CORE_ADDR where) -{ - uint64_t insn; - - read_memory (where, (unsigned char *) &insn, 8); - if (insn == tile_breakpoint) - return true; - - /* If necessary, recognize more trap instructions here. GDB only uses the - one. */ - return false; -} - -static void -tile_fill_gregset (struct regcache *regcache, void *buf) -{ - int i; - - for (i = 0; i < tile_num_regs; i++) - if (tile_regmap[i] != -1) - collect_register (regcache, i, ((uint_reg_t *) buf) + tile_regmap[i]); -} - -static void -tile_store_gregset (struct regcache *regcache, const void *buf) -{ - int i; - - for (i = 0; i < tile_num_regs; i++) - if (tile_regmap[i] != -1) - supply_register (regcache, i, ((uint_reg_t *) buf) + tile_regmap[i]); -} - -static struct regset_info tile_regsets[] = -{ - { PTRACE_GETREGS, PTRACE_SETREGS, 0, tile_num_regs * 8, - GENERAL_REGS, tile_fill_gregset, tile_store_gregset }, - NULL_REGSET -}; - -static struct regsets_info tile_regsets_info = - { - tile_regsets, /* regsets */ - 0, /* num_regsets */ - NULL, /* disabled_regsets */ - }; - -static struct usrregs_info tile_usrregs_info = - { - tile_num_regs, - tile_regmap, - }; - -static struct regs_info myregs_info = - { - NULL, /* regset_bitmap */ - &tile_usrregs_info, - &tile_regsets_info, - }; - -const regs_info * -tile_target::get_regs_info () -{ - return &myregs_info; -} - -void -tile_target::low_arch_setup () -{ - int pid = pid_of (current_thread); - unsigned int machine; - int is_elf64 = linux_pid_exe_is_elf_64_file (pid, &machine); - - if (sizeof (void *) == 4) - if (is_elf64 > 0) - error (_("Can't debug 64-bit process with 32-bit GDBserver")); - - if (!is_elf64) - current_process ()->tdesc = tdesc_tilegx32; - else - current_process ()->tdesc = tdesc_tilegx; -} - -/* The linux target ops object. */ - -linux_process_target *the_linux_target = &the_tile_target; - -void -initialize_low_arch (void) -{ - init_registers_tilegx32(); - init_registers_tilegx(); - - initialize_regsets_info (&tile_regsets_info); -} -- 2.26.2