SOURCES: elfutils-alpha.patch - added alpha_register_name (not sur...
qboosh
qboosh at pld-linux.org
Sun Apr 16 19:13:28 CEST 2006
Author: qboosh Date: Sun Apr 16 17:13:28 2006 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- added alpha_register_name (not sure if regs order is ok)
---- Files affected:
SOURCES:
elfutils-alpha.patch (1.3 -> 1.4)
---- Diffs:
================================================================
Index: SOURCES/elfutils-alpha.patch
diff -u SOURCES/elfutils-alpha.patch:1.3 SOURCES/elfutils-alpha.patch:1.4
--- SOURCES/elfutils-alpha.patch:1.3 Sun Feb 5 18:48:13 2006
+++ SOURCES/elfutils-alpha.patch Sun Apr 16 19:13:23 2006
@@ -1,10 +1,13 @@
-2006-02-05 Jakub Bogusz <qboosh at pld-linux dot org>
+2006-04-16 Jakub Bogusz <qboosh at pld-linux dot org>
* src/elflint.c (valid_e_machine) Add EM_ALPHA to valid machines.
(check_hash): Support hash bucket size of 8 on alpha and s390x.
(check_sections): Support arch-specific section flags.
* libelf/elf32_getshdr.c: Handle unaligned section header with same
endianess properly.
+ * backends/alpha_init.c: Add register_name hook.
+ * backends/alpha_regs.c: New file.
+ * backends/Makefile.am: Add alpha_regs.c.
--- elfutils-0.116/src/elflint.c.orig 2005-11-26 10:28:00.000000000 +0100
+++ elfutils-0.116/src/elflint.c 2005-11-26 14:01:18.000000000 +0100
@@ -153,3 +156,108 @@
}
else if (likely (elf->fildes != -1))
{
+--- elfutils-0.120/backends/alpha_init.c.orig 2006-04-05 00:17:36.000000000 +0200
++++ elfutils-0.120/backends/alpha_init.c 2006-04-16 13:11:08.819218500 +0200
+@@ -54,6 +54,7 @@
+ HOOK (eh, dynamic_tag_check);
+ HOOK (eh, reloc_simple_type);
+ HOOK (eh, return_value_location);
++ HOOK (eh, register_name);
+
+ return MODVERSION;
+ }
+--- elfutils-0.120/backends/alpha_regs.c.orig 1970-01-01 01:00:00.000000000 +0100
++++ elfutils-0.120/backends/alpha_regs.c 2006-04-16 13:10:15.947914250 +0200
+@@ -0,0 +1,81 @@
++/* Register names and numbers for ALPHA DWARF.
++ Based on i386_regs.c, Copyright (C) 2005 Red Hat, Inc.
++ This file is part of Red Hat elfutils.
++
++ Red Hat elfutils 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; version 2 of the License.
++
++ Red Hat 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 a copy of the GNU General Public License along
++ with Red Hat elfutils; if not, write to the Free Software Foundation,
++ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
++
++ Red Hat elfutils is an included package of the Open Invention Network.
++ An included package of the Open Invention Network is a package for which
++ Open Invention Network licensees cross-license their patents. No patent
++ license is granted, either expressly or impliedly, by designation as an
++ included package. Should you wish to participate in the Open Invention
++ Network licensing program, please visit www.openinventionnetwork.com
++ <http://www.openinventionnetwork.com>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <string.h>
++
++#define BACKEND alpha_
++#include "libebl_CPU.h"
++
++ssize_t
++alpha_register_name (Ebl *ebl __attribute__ ((unused)),
++ int regno, char *name, size_t namelen,
++ const char **prefix, const char **setname)
++{
++ if (name == NULL)
++ return 33;
++
++ if (regno < 0 || regno > 64 || namelen < 5)
++ return -1;
++
++ *prefix = "%";
++ if (regno < 32)
++ *setname = "integer";
++ else if (regno < 64)
++ *setname = "fp";
++ else
++ *setname = "pc";
++
++ switch (regno)
++ {
++ static const char *alpharegs[] =
++ {
++ "v0", "t0", "t1", "t2", "t3", "t4", "t5", "t6",
++ "t7", "s0", "s1", "s2", "s3", "s4", "s5", "s6",
++ "a0", "a1", "a2", "a3", "a4", "a5", "t8", "t9",
++ "t10","t11","ra", "t12","at", "gp", "sp", "zero",
++ "fv0","fv1","fs0","fs1","fs2","fs3","fs4","fs5",
++ "fs6","fs7","ft0","ft1","ft2","ft3","ft4","ft5",
++ "fa0","fa1","fa2","fa3","fa4","fa5","ft6","ft7",
++ "ft8","ft9","ft10","ft11","ft12","ft13","ft14","fzero",
++ "pc"
++ };
++
++ case 0 ... 64:
++ strcpy(name, alpharegs[regno]);
++ namelen = strlen(name);
++ break;
++
++ default:
++ name[0] = '\0';
++ *setname = NULL;
++ return 0;
++ }
++
++ return namelen;
++}
+--- elfutils-0.120/backends/Makefile.am.orig 2006-04-16 13:15:56.425192000 +0200
++++ elfutils-0.120/backends/Makefile.am 2006-04-16 13:28:26.928096250 +0200
+@@ -90,7 +90,7 @@
+ libebl_ia64_pic_a_SOURCES = $(ia64_SRCS)
+ am_libebl_ia64_pic_a_OBJECTS = $(ia64_SRCS:.c=.os)
+
+-alpha_SRCS = alpha_init.c alpha_symbol.c alpha_retval.c
++alpha_SRCS = alpha_init.c alpha_symbol.c alpha_retval.c alpha_regs.c
+ libebl_alpha_pic_a_SOURCES = $(alpha_SRCS)
+ am_libebl_alpha_pic_a_OBJECTS = $(alpha_SRCS:.c=.os)
+
================================================================
---- CVS-web:
http://cvs.pld-linux.org/SOURCES/elfutils-alpha.patch?r1=1.3&r2=1.4&f=u
More information about the pld-cvs-commit
mailing list