]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
backends: Remove tilegx backend.
authorMark Wielaard <mark@klomp.org>
Sat, 17 Oct 2020 20:30:37 +0000 (22:30 +0200)
committerMark Wielaard <mark@klomp.org>
Mon, 26 Oct 2020 21:44:07 +0000 (22:44 +0100)
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>
14 files changed:
backends/ChangeLog
backends/Makefile.am
backends/tilegx_corenote.c [deleted file]
backends/tilegx_init.c [deleted file]
backends/tilegx_regs.c [deleted file]
backends/tilegx_reloc.def [deleted file]
backends/tilegx_retval.c [deleted file]
backends/tilegx_symbol.c [deleted file]
libebl/ChangeLog
libebl/eblopenbackend.c
tests/ChangeLog
tests/Makefile.am
tests/run-allregs.sh
tests/testfile60.bz2 [deleted file]

index 2f632a31d39bfde202ea02016e1fc30ec24f7487..81d4127c0bd1afbba9fc6cd78cb3cc061e4fb3b4 100644 (file)
@@ -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.
index 3849f45716be6c373e5370465290d73a3bca5dc4..62916c9c7f71e5f536f7c66c5d4570e853eb1041 100644 (file)
@@ -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 (file)
index be3e7db..0000000
+++ /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 (file)
index 0f79542..0000000
+++ /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 (file)
index b1e1743..0000000
+++ /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 (file)
index 1018110..0000000
+++ /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 (file)
index 7f7d24b..0000000
+++ /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 (file)
index 62a4690..0000000
+++ /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;
-    }
-}
index dbf4b3b78dcbf194d1fcdbcb22f28156afeeff24..863e4d55fc90a495be8d18e3b1e0267c10e981ef 100644 (file)
@@ -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.
index 90a83f26f2125a180d2de9005417b994e3d46a53..a8af165829698a30cb7657d04587dde8499d89d8 100644 (file)
@@ -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 },
index aa68ffd383e86a2d86adc8711e8baf59e0579161..43714ff113bc80248a197b31888cb46d15763957 100644 (file)
@@ -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-10-20  Frank Ch. Eigler  <fche@redhat.com>
 
        PR26756: more prometheus metrics
index 9d0707da058333b995c302b8af98935ed502015d..bc5d034f0821d41c2b3e6213f5f313e8403992d2 100644 (file)
@@ -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 \
index 1422bd67dbf01f4321e0b38640859668bcdc0475..87b16c957b0fb41f38f77dae18f974981bcf5687 100755 (executable)
@@ -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 (executable)
index 6a0cd7b..0000000
Binary files a/tests/testfile60.bz2 and /dev/null differ