[PATCH] backends: Remove tilegx backend.

Mark Wielaard mark@klomp.org
Mon Oct 19 08:57:30 GMT 2020


Support for the Tilera TILE-Gx processor has been removed or deprecated
in gcc and binutils already. There are no users and there is no way to
test it.

Signed-off-by: Mark Wielaard <mark@klomp.org>
---
 backends/ChangeLog         |  12 +++
 backends/Makefile.am       |   7 +-
 backends/tilegx_corenote.c |  64 ---------------
 backends/tilegx_init.c     |  53 -------------
 backends/tilegx_regs.c     | 129 -------------------------------
 backends/tilegx_reloc.def  | 121 -----------------------------
 backends/tilegx_retval.c   | 154 -------------------------------------
 backends/tilegx_symbol.c   |  58 --------------
 libebl/ChangeLog           |   5 ++
 libebl/eblopenbackend.c    |   3 +-
 tests/ChangeLog            |   6 ++
 tests/Makefile.am          |   2 +-
 tests/run-allregs.sh       |  69 -----------------
 tests/testfile60.bz2       | Bin 2974 -> 0 bytes
 14 files changed, 27 insertions(+), 656 deletions(-)
 delete mode 100644 backends/tilegx_corenote.c
 delete mode 100644 backends/tilegx_init.c
 delete mode 100644 backends/tilegx_regs.c
 delete mode 100644 backends/tilegx_reloc.def
 delete mode 100644 backends/tilegx_retval.c
 delete mode 100644 backends/tilegx_symbol.c
 delete mode 100755 tests/testfile60.bz2

diff --git a/backends/ChangeLog b/backends/ChangeLog
index 2f632a31..81d4127c 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -1,3 +1,15 @@
+2020-10-19  Mark Wielard  <mark@klomp.org>
+
+	* Makefile.am (modules): Remove tilegx.
+	(tilegx_SRCS): Removed.
+	(libebl_backends_a_SOURCES): Remove tilegx_SRCS.
+	* tilegx_corenote.c: Removed.
+	* tilegx_init.c: Removed.
+	* tilegx_regs.c: Removed.
+	* tilegx_reloc.def: Removed.
+	* tilegx_retval.c: Removed.
+	* tilegx_symbol.c: Removed.
+
 2020-10-19  Mark Wielard  <mark@klomp.org>
 
 	* Makefile.am (i386_SRCS): Remove i386_syscall.c.
diff --git a/backends/Makefile.am b/backends/Makefile.am
index 3849f457..62916c9c 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
@@ -37,7 +37,7 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
 noinst_LIBRARIES = libebl_backends.a libebl_backends_pic.a
 
 modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
-	  tilegx m68k bpf riscv csky
+	  m68k bpf riscv csky
 
 i386_SRCS = i386_init.c i386_symbol.c i386_corenote.c i386_cfi.c \
 	    i386_retval.c i386_regs.c i386_auxv.c \
@@ -77,9 +77,6 @@ s390_SRCS = s390_init.c s390_symbol.c s390_regs.c s390_retval.c \
 	    s390_corenote.c s390x_corenote.c s390_cfi.c s390_initreg.c \
 	    s390_unwind.c
 
-tilegx_SRCS = tilegx_init.c tilegx_symbol.c tilegx_regs.c \
-              tilegx_retval.c tilegx_corenote.c
-
 m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c \
 	    m68k_retval.c m68k_corenote.c m68k_cfi.c m68k_initreg.c
 
@@ -101,7 +98,7 @@ csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
 libebl_backends_a_SOURCES = $(i386_SRCS) $(sh_SRCS) $(x86_64_SRCS) \
 			    $(ia64_SRCS) $(alpha_SRCS) $(arm_SRCS) \
 			    $(aarch64_SRCS) $(sparc_SRCS) $(ppc_SRCS) \
-			    $(ppc64_SRCS) $(s390_SRCS) $(tilegx_SRCS) \
+			    $(ppc64_SRCS) $(s390_SRCS) \
 			    $(m68k_SRCS) $(bpf_SRCS) $(riscv_SRCS) $(csky_SRCS)
 
 libebl_backends_pic_a_SOURCES =
diff --git a/backends/tilegx_corenote.c b/backends/tilegx_corenote.c
deleted file mode 100644
index be3e7dbf..00000000
--- a/backends/tilegx_corenote.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* TILE-Gx specific core note handling.
-   Copyright (C) 2012 Tilera Corporation
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils 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 copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <elf.h>
-#include <inttypes.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <sys/time.h>
-
-#define BACKEND	tilegx_
-#include "libebl_CPU.h"
-
-static const Ebl_Register_Location prstatus_regs[] =
-  {
-    { .offset = 0, .regno = 0, .count = 56, .bits = 64 }, /* r0-r55 */
-    { .offset = 56 * 8, .regno = 64, .count = 1, .bits = 64 } /* pc */
-  };
-#define PRSTATUS_REGS_SIZE	(57 * 8)
-
-#define ULONG			uint64_t
-#define ALIGN_ULONG		8
-#define TYPE_ULONG		ELF_T_XWORD
-#define TYPE_LONG		ELF_T_SXWORD
-#define PID_T			int32_t
-#define	UID_T			uint32_t
-#define	GID_T			uint32_t
-#define ALIGN_PID_T		4
-#define ALIGN_UID_T		4
-#define ALIGN_GID_T		4
-#define TYPE_PID_T		ELF_T_SWORD
-#define TYPE_UID_T		ELF_T_WORD
-#define TYPE_GID_T		ELF_T_WORD
-
-#include "linux-core-note.c"
diff --git a/backends/tilegx_init.c b/backends/tilegx_init.c
deleted file mode 100644
index 0f79542a..00000000
--- a/backends/tilegx_init.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Initialization of TILE-Gx specific backend library.
-   Copyright (C) 2012 Tilera Corporation
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils 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 copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#define BACKEND		tilegx_
-#define RELOC_PREFIX	R_TILEGX_
-#include "libebl_CPU.h"
-
-/* This defines the common reloc hooks based on tilegx_reloc.def.  */
-#include "common-reloc.c"
-
-Ebl *
-tilegx_init (Elf *elf __attribute__ ((unused)),
-	     GElf_Half machine __attribute__ ((unused)),
-	     Ebl *eh)
-{
-  /* We handle it.  */
-  tilegx_init_reloc (eh);
-  HOOK (eh, reloc_simple_type);
-  HOOK (eh, return_value_location);
-  HOOK (eh, register_info);
-  HOOK (eh, core_note);
-
-  return eh;
-}
diff --git a/backends/tilegx_regs.c b/backends/tilegx_regs.c
deleted file mode 100644
index b1e17439..00000000
--- a/backends/tilegx_regs.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/* Register names and numbers for TILE-Gx DWARF.
-   Copyright (C) 2012 Tilera Corporation
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils 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 copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include <dwarf.h>
-
-#define BACKEND tilegx_
-#include "libebl_CPU.h"
-
-ssize_t
-tilegx_register_info (Ebl *ebl __attribute__ ((unused)),
-		    int regno, char *name, size_t namelen,
-		    const char **prefix, const char **setname,
-		    int *bits, int *type)
-{
-  if (name == NULL)
-    return 65;
-
-  if (regno < 0 || regno > 64 || namelen < 5)
-    return -1;
-
-  *prefix = "";
-  *setname = "integer";
-  *bits = 64;
-
-  switch (regno)
-    {
-    case 0 ... 9:
-      *type = DW_ATE_signed;
-      name[0] = 'r';
-      name[1] = regno + '0';
-      namelen = 2;
-      break;
-
-    case 10 ... 52:
-      *type = DW_ATE_signed;
-      name[0] = 'r';
-      name[1] = regno / 10 + '0';
-      name[2] = regno % 10 + '0';
-      namelen = 3;
-      break;
-
-    case 53:
-      *type = DW_ATE_address;
-      return stpcpy (name, "tp") + 1 - name;
-
-    case 54:
-      *type = DW_ATE_address;
-      return stpcpy (name, "sp") + 1 - name;
-
-    case 55:
-      *type = DW_ATE_address;
-      return stpcpy (name, "lr") + 1 - name;
-
-    case 56:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "sn") + 1 - name;
-
-    case 57:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "idn0") + 1 - name;
-
-    case 58:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "idn1") + 1 - name;
-
-    case 59:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "udn0") + 1 - name;
-
-    case 60:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "udn1") + 1 - name;
-
-    case 61:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "udn2") + 1 - name;
-
-    case 62:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "udn3") + 1 - name;
-
-    case 63:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "zero") + 1 - name;
-
-    case 64:
-      *type = DW_ATE_address;
-      return stpcpy (name, "pc") + 1 - name;
-
-    /* Can't happen.  */
-    default:
-      *setname = NULL;
-      return 0;
-    }
-
-  name[namelen++] = '\0';
-  return namelen;
-}
diff --git a/backends/tilegx_reloc.def b/backends/tilegx_reloc.def
deleted file mode 100644
index 1018110d..00000000
--- a/backends/tilegx_reloc.def
+++ /dev/null
@@ -1,121 +0,0 @@
-/* List the relocation types for tilegx.  -*- C -*-
-   Copyright (C) 2012 Tilera Corporation
-   Copyright (C) 2015 Red Hat, Inc.
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils 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 copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-/*	    NAME,			REL|EXEC|DYN	*/
-
-RELOC_TYPE (NONE,			0)
-RELOC_TYPE (64,				REL|EXEC|DYN)
-RELOC_TYPE (32,				REL|EXEC|DYN)
-RELOC_TYPE (16,				REL|EXEC|DYN)
-RELOC_TYPE (8,				REL|EXEC|DYN)
-RELOC_TYPE (64_PCREL,			REL)
-RELOC_TYPE (32_PCREL,			REL)
-RELOC_TYPE (16_PCREL,			REL)
-RELOC_TYPE (8_PCREL,			REL)
-RELOC_TYPE (HW0,			REL)
-RELOC_TYPE (HW1,			REL)
-RELOC_TYPE (HW2,			REL)
-RELOC_TYPE (HW3,			REL)
-RELOC_TYPE (HW0_LAST,			REL)
-RELOC_TYPE (HW1_LAST,			REL)
-RELOC_TYPE (HW2_LAST,			REL)
-RELOC_TYPE (COPY,			EXEC|DYN)
-RELOC_TYPE (GLOB_DAT,			EXEC|DYN)
-RELOC_TYPE (JMP_SLOT,			EXEC|DYN)
-RELOC_TYPE (RELATIVE,			EXEC|DYN)
-RELOC_TYPE (BROFF_X1,			REL)
-RELOC_TYPE (JUMPOFF_X1,			REL)
-RELOC_TYPE (JUMPOFF_X1_PLT,		REL)
-RELOC_TYPE (IMM8_X0,			REL)
-RELOC_TYPE (IMM8_Y0,			REL)
-RELOC_TYPE (IMM8_X1,			REL)
-RELOC_TYPE (IMM8_Y1,			REL)
-RELOC_TYPE (DEST_IMM8_X1,		REL)
-RELOC_TYPE (MT_IMM14_X1,		REL)
-RELOC_TYPE (MF_IMM14_X1,		REL)
-RELOC_TYPE (MMSTART_X0,			REL)
-RELOC_TYPE (MMEND_X0,			REL)
-RELOC_TYPE (SHAMT_X0,			REL)
-RELOC_TYPE (SHAMT_X1,			REL)
-RELOC_TYPE (SHAMT_Y0,			REL)
-RELOC_TYPE (SHAMT_Y1,			REL)
-RELOC_TYPE (IMM16_X0_HW0,		REL)
-RELOC_TYPE (IMM16_X1_HW0,		REL)
-RELOC_TYPE (IMM16_X0_HW1,		REL)
-RELOC_TYPE (IMM16_X1_HW1,		REL)
-RELOC_TYPE (IMM16_X0_HW2,		REL)
-RELOC_TYPE (IMM16_X1_HW2,		REL)
-RELOC_TYPE (IMM16_X0_HW3,		REL)
-RELOC_TYPE (IMM16_X1_HW3,		REL)
-RELOC_TYPE (IMM16_X0_HW0_LAST,		REL)
-RELOC_TYPE (IMM16_X1_HW0_LAST,		REL)
-RELOC_TYPE (IMM16_X0_HW1_LAST,		REL)
-RELOC_TYPE (IMM16_X1_HW1_LAST,		REL)
-RELOC_TYPE (IMM16_X0_HW2_LAST,		REL)
-RELOC_TYPE (IMM16_X1_HW2_LAST,		REL)
-RELOC_TYPE (IMM16_X0_HW0_PCREL,		REL)
-RELOC_TYPE (IMM16_X1_HW0_PCREL,		REL)
-RELOC_TYPE (IMM16_X0_HW1_PCREL,		REL)
-RELOC_TYPE (IMM16_X1_HW1_PCREL,		REL)
-RELOC_TYPE (IMM16_X0_HW2_PCREL,		REL)
-RELOC_TYPE (IMM16_X1_HW2_PCREL,		REL)
-RELOC_TYPE (IMM16_X0_HW3_PCREL,		REL)
-RELOC_TYPE (IMM16_X1_HW3_PCREL,		REL)
-RELOC_TYPE (IMM16_X0_HW0_LAST_PCREL,	REL)
-RELOC_TYPE (IMM16_X1_HW0_LAST_PCREL,	REL)
-RELOC_TYPE (IMM16_X0_HW1_LAST_PCREL,	REL)
-RELOC_TYPE (IMM16_X1_HW1_LAST_PCREL,	REL)
-RELOC_TYPE (IMM16_X0_HW2_LAST_PCREL,	REL)
-RELOC_TYPE (IMM16_X1_HW2_LAST_PCREL,	REL)
-RELOC_TYPE (IMM16_X0_HW0_GOT,		REL)
-RELOC_TYPE (IMM16_X1_HW0_GOT,		REL)
-RELOC_TYPE (IMM16_X0_HW0_LAST_GOT,	REL)
-RELOC_TYPE (IMM16_X1_HW0_LAST_GOT,	REL)
-RELOC_TYPE (IMM16_X0_HW1_LAST_GOT,	REL)
-RELOC_TYPE (IMM16_X1_HW1_LAST_GOT,	REL)
-RELOC_TYPE (IMM16_X0_HW0_TLS_GD,	REL)
-RELOC_TYPE (IMM16_X1_HW0_TLS_GD,	REL)
-RELOC_TYPE (IMM16_X0_HW0_LAST_TLS_GD,	REL)
-RELOC_TYPE (IMM16_X1_HW0_LAST_TLS_GD,	REL)
-RELOC_TYPE (IMM16_X0_HW1_LAST_TLS_GD,	REL)
-RELOC_TYPE (IMM16_X1_HW1_LAST_TLS_GD,	REL)
-RELOC_TYPE (IMM16_X0_HW0_TLS_IE,	REL)
-RELOC_TYPE (IMM16_X1_HW0_TLS_IE,	REL)
-RELOC_TYPE (IMM16_X0_HW0_LAST_TLS_IE,	REL)
-RELOC_TYPE (IMM16_X1_HW0_LAST_TLS_IE,	REL)
-RELOC_TYPE (IMM16_X0_HW1_LAST_TLS_IE,	REL)
-RELOC_TYPE (IMM16_X1_HW1_LAST_TLS_IE,	REL)
-RELOC_TYPE (TLS_DTPMOD64,		EXEC|DYN)
-RELOC_TYPE (TLS_DTPOFF64,		EXEC|DYN)
-RELOC_TYPE (TLS_TPOFF64,		EXEC|DYN)
-RELOC_TYPE (TLS_DTPMOD32,		EXEC|DYN)
-RELOC_TYPE (TLS_DTPOFF32,		EXEC|DYN)
-RELOC_TYPE (TLS_TPOFF32,		EXEC|DYN)
-RELOC_TYPE (GNU_VTINHERIT,		REL)
-RELOC_TYPE (GNU_VTENTRY,		REL)
diff --git a/backends/tilegx_retval.c b/backends/tilegx_retval.c
deleted file mode 100644
index 7f7d24b0..00000000
--- a/backends/tilegx_retval.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* Function return value location for Linux/TILE-Gx ABI.
-   Copyright (C) 2012 Tilera Corporation
-   Copyright (C) 2014 Red Hat, Inc.
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils 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 copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <assert.h>
-#include <dwarf.h>
-
-#define BACKEND tilegx_
-#include "libebl_CPU.h"
-
-
-/* r0.  */
-static const Dwarf_Op loc_intreg[] =
-  {
-    { .atom = DW_OP_reg0 }
-  };
-#define nloc_intreg	1
-
-/* The return value is a structure and is actually stored in stack space
-   passed in a hidden argument by the caller.  But, the compiler
-   helpfully returns the address of that space in r0.  */
-static const Dwarf_Op loc_aggregate[] =
-  {
-    { .atom = DW_OP_breg0, .number = 0 }
-  };
-#define nloc_aggregate 1
-
-int
-tilegx_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
-{
-  /* Start with the function's type, and get the DW_AT_type attribute,
-     which is the type of the return value.  */
-  Dwarf_Die die_mem, *typedie = &die_mem;
-  int tag = dwarf_peeled_die_type (functypedie, typedie);
-  if (tag <= 0)
-    return tag;
-
-  Dwarf_Word size;
-  switch (tag)
-    {
-    case -1:
-      return -1;
-
-    case DW_TAG_subrange_type:
-      if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size))
-	{
-	  Dwarf_Attribute attr_mem, *attr;
-	  attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
-	  typedie = dwarf_formref_die (attr, &die_mem);
-	  tag = DWARF_TAG_OR_RETURN (typedie);
-	}
-      FALLTHROUGH;
-
-    case DW_TAG_base_type:
-    case DW_TAG_enumeration_type:
-    case DW_TAG_pointer_type:
-    case DW_TAG_ptr_to_member_type:
-      {
-	Dwarf_Attribute attr_mem;
-	if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
-						   &attr_mem), &size) != 0)
-	  {
-	    if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type)
-	      size = 8;
-	    else
-	      return -1;
-	  }
-	if (tag == DW_TAG_base_type)
-	  {
-	    Dwarf_Word encoding;
-	    if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
-						       &attr_mem),
-				 &encoding) != 0)
-	      return -1;
-	  }
-      }
-
-      /* Small enough structs are passed directly in registers R0 ... R7.  */
-      if (size <= 8)
-	{
-	intreg:
-	  *locp = loc_intreg;
-	  return nloc_intreg;
-	}
-
-      FALLTHROUGH;
-    case DW_TAG_structure_type:
-    case DW_TAG_class_type:
-    case DW_TAG_union_type:
-    aggregate:
-      *locp = loc_aggregate;
-      return nloc_aggregate;
-
-    case DW_TAG_array_type:
-    case DW_TAG_string_type:
-      if (dwarf_aggregate_size (typedie, &size) == 0 && size <= 8)
-	{
-	  if (tag == DW_TAG_array_type)
-	    {
-	      Dwarf_Attribute attr_mem, *attr;
-	      /* Check if it's a character array.  */
-	      attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
-	      typedie = dwarf_formref_die (attr, &die_mem);
-	      tag = DWARF_TAG_OR_RETURN (typedie);
-	      if (tag != DW_TAG_base_type)
-		goto aggregate;
-	      if (dwarf_formudata (dwarf_attr_integrate (typedie,
-							 DW_AT_byte_size,
-							 &attr_mem),
-				   &size) != 0)
-		return -1;
-	      if (size != 1)
-		goto aggregate;
-	    }
-	  goto intreg;
-	}
-      goto aggregate;
-    }
-
-  /* XXX We don't have a good way to return specific errors from ebl calls.
-     This value means we do not understand the type, but it is well-formed
-     DWARF and might be valid.  */
-  return -2;
-}
diff --git a/backends/tilegx_symbol.c b/backends/tilegx_symbol.c
deleted file mode 100644
index 62a46907..00000000
--- a/backends/tilegx_symbol.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* TILEGX-specific symbolic name handling.
-   Copyright (C) 2012 Tilera Corporation
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils 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 copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <elf.h>
-#include <stddef.h>
-
-#define BACKEND		tilegx_
-#include "libebl_CPU.h"
-
-/* Check for the simple reloc types.  */
-Elf_Type
-tilegx_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
-			  int *addsub __attribute__ ((unused)))
-{
-  switch (type)
-    {
-    case R_TILEGX_64:
-      return ELF_T_SXWORD;
-    case R_TILEGX_32:
-      return ELF_T_SWORD;
-    case R_TILEGX_16:
-      return ELF_T_HALF;
-    case R_TILEGX_8:
-      return ELF_T_BYTE;
-    default:
-      return ELF_T_NUM;
-    }
-}
diff --git a/libebl/ChangeLog b/libebl/ChangeLog
index dbf4b3b7..863e4d55 100644
--- a/libebl/ChangeLog
+++ b/libebl/ChangeLog
@@ -1,3 +1,8 @@
+2020-10-19  Mark Wielaard  <mark@klomp.org>
+
+	* eblopenbackend.c (tilegx_init): Removed.
+	(machines): Set init to NULL for tilegx.
+
 2020-10-19  Mark Wielaard  <mark@klomp.org>
 
 	* Makefile.am (libebl_a_SOURCES): Remove ebl_syscall_abi.c.
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
index 90a83f26..a8af1658 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -52,7 +52,6 @@ Ebl *sparc_init (Elf *, GElf_Half, Ebl *);
 Ebl *ppc_init (Elf *, GElf_Half, Ebl *);
 Ebl *ppc64_init (Elf *, GElf_Half, Ebl *);
 Ebl *s390_init (Elf *, GElf_Half, Ebl *);
-Ebl *tilegx_init (Elf *, GElf_Half, Ebl *);
 Ebl *m68k_init (Elf *, GElf_Half, Ebl *);
 Ebl *bpf_init (Elf *, GElf_Half, Ebl *);
 Ebl *riscv_init (Elf *, GElf_Half, Ebl *);
@@ -79,7 +78,6 @@ static const struct
   { x86_64_init, "elf_x86_64", "x86_64", 6, EM_X86_64, ELFCLASS64, ELFDATA2LSB },
   { ppc_init, "elf_ppc", "ppc", 3, EM_PPC, ELFCLASS32, ELFDATA2MSB },
   { ppc64_init, "elf_ppc64", "ppc64", 5, EM_PPC64, ELFCLASS64, ELFDATA2MSB },
-  { tilegx_init, "elf_tilegx", "tilegx", 6, EM_TILEGX, ELFCLASS64, ELFDATA2LSB },
   // XXX class and machine fields need to be filled in for all archs.
   { sh_init, "elf_sh", "sh", 2, EM_SH, 0, 0 },
   { arm_init, "ebl_arm", "arm", 3, EM_ARM, 0, 0 },
@@ -88,6 +86,7 @@ static const struct
   { sparc_init, "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 },
   { s390_init, "ebl_s390", "s390", 4, EM_S390, 0, 0 },
 
+  { NULL, "elf_tilegx", "tilegx", 6, EM_TILEGX, ELFCLASS64, ELFDATA2LSB },
   { NULL, "elf_m32", "m32", 3, EM_M32, 0, 0 },
   { m68k_init, "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB },
   { NULL, "elf_m88k", "m88k", 4, EM_88K, 0, 0 },
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 5a8b5899..9d8994c3 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,9 @@
+2020-10-19  Mark Wielaard  <mark@klomp.org>
+
+	* testfile60.bz2: Removed.
+	* Makefile.am (EXTRA_DIST): Remove testfile60.bz2.
+	* run-allregs.sh: Remove tilegx testfile60 testcase.
+
 2020-09-18  Mark Wielaard  <mark@klomp.org>
 
 	* run-readelf-compressed-zstd.sh: New test.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 9d0707da..bc5d034f 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -367,7 +367,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
 	     run-macro-test.sh testfile-macinfo.bz2 testfile-macros.bz2 \
 	     run-elf_cntl_gelf_getshdr.sh \
 	     run-test-archive64.sh testarchive64.a.bz2 \
-	     testfile60.bz2 testfile61.bz2 \
+	     testfile61.bz2 \
 	     run-readelf-vmcoreinfo.sh testfile62.bz2 \
 	     run-readelf-mixed-corenote.sh testfile63.bz2 testfile64.bz2 \
 	     testfile65.bz2 testfile67.bz2 testfile68.bz2 \
diff --git a/tests/run-allregs.sh b/tests/run-allregs.sh
index 1422bd67..87b16c95 100755
--- a/tests/run-allregs.sh
+++ b/tests/run-allregs.sh
@@ -2585,75 +2585,6 @@ FPU registers:
 	 63: $fpcr (fpcr), unsigned 64 bits
 EOF
 
-regs_test testfile60 <<\EOF
-integer registers:
-	  0: r0 (r0), signed 64 bits
-	  1: r1 (r1), signed 64 bits
-	  2: r2 (r2), signed 64 bits
-	  3: r3 (r3), signed 64 bits
-	  4: r4 (r4), signed 64 bits
-	  5: r5 (r5), signed 64 bits
-	  6: r6 (r6), signed 64 bits
-	  7: r7 (r7), signed 64 bits
-	  8: r8 (r8), signed 64 bits
-	  9: r9 (r9), signed 64 bits
-	 10: r10 (r10), signed 64 bits
-	 11: r11 (r11), signed 64 bits
-	 12: r12 (r12), signed 64 bits
-	 13: r13 (r13), signed 64 bits
-	 14: r14 (r14), signed 64 bits
-	 15: r15 (r15), signed 64 bits
-	 16: r16 (r16), signed 64 bits
-	 17: r17 (r17), signed 64 bits
-	 18: r18 (r18), signed 64 bits
-	 19: r19 (r19), signed 64 bits
-	 20: r20 (r20), signed 64 bits
-	 21: r21 (r21), signed 64 bits
-	 22: r22 (r22), signed 64 bits
-	 23: r23 (r23), signed 64 bits
-	 24: r24 (r24), signed 64 bits
-	 25: r25 (r25), signed 64 bits
-	 26: r26 (r26), signed 64 bits
-	 27: r27 (r27), signed 64 bits
-	 28: r28 (r28), signed 64 bits
-	 29: r29 (r29), signed 64 bits
-	 30: r30 (r30), signed 64 bits
-	 31: r31 (r31), signed 64 bits
-	 32: r32 (r32), signed 64 bits
-	 33: r33 (r33), signed 64 bits
-	 34: r34 (r34), signed 64 bits
-	 35: r35 (r35), signed 64 bits
-	 36: r36 (r36), signed 64 bits
-	 37: r37 (r37), signed 64 bits
-	 38: r38 (r38), signed 64 bits
-	 39: r39 (r39), signed 64 bits
-	 40: r40 (r40), signed 64 bits
-	 41: r41 (r41), signed 64 bits
-	 42: r42 (r42), signed 64 bits
-	 43: r43 (r43), signed 64 bits
-	 44: r44 (r44), signed 64 bits
-	 45: r45 (r45), signed 64 bits
-	 46: r46 (r46), signed 64 bits
-	 47: r47 (r47), signed 64 bits
-	 48: r48 (r48), signed 64 bits
-	 49: r49 (r49), signed 64 bits
-	 50: r50 (r50), signed 64 bits
-	 51: r51 (r51), signed 64 bits
-	 52: r52 (r52), signed 64 bits
-	 53: tp (tp), address 64 bits
-	 54: sp (sp), address 64 bits
-	 55: lr (lr), address 64 bits
-	 56: sn (sn), unsigned 64 bits
-	 57: idn0 (idn0), unsigned 64 bits
-	 58: idn1 (idn1), unsigned 64 bits
-	 59: udn0 (udn0), unsigned 64 bits
-	 60: udn1 (udn1), unsigned 64 bits
-	 61: udn2 (udn2), unsigned 64 bits
-	 62: udn3 (udn3), unsigned 64 bits
-	 63: zero (zero), unsigned 64 bits
-	 64: pc (pc), address 64 bits
-EOF
-
 regs_test testfile61 <<\EOF
 integer registers:
 	  0: r0 (r0), signed 32 bits
diff --git a/tests/testfile60.bz2 b/tests/testfile60.bz2
deleted file mode 100755
index 6a0cd7bcddd7a62d61f51d72adaf95a3fb7ff5bc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2974
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
UDYXXga{u_dk}1N3g9w8?$p0ux(EtDd

-- 
2.18.4



More information about the Elfutils-devel mailing list