| Index: gdb/regformats/regdat.sh
|
| diff --git a/gdb/regformats/regdat.sh b/gdb/regformats/regdat.sh
|
| index 3ca57fa4bef1e1a6ea35d8dd8937a13a6a5c8f27..625612514fdd531f66f2c30d526ea0031db5f60a 100755
|
| --- a/gdb/regformats/regdat.sh
|
| +++ b/gdb/regformats/regdat.sh
|
| @@ -1,7 +1,7 @@
|
| #!/bin/sh -u
|
|
|
| # Register protocol definitions for GDB, the GNU debugger.
|
| -# Copyright 2001-2002, 2007-2012 Free Software Foundation, Inc.
|
| +# Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
| #
|
| # This file is part of GDB.
|
| #
|
| @@ -94,7 +94,7 @@ cat <<EOF
|
| /* *INDENT-OFF* */ /* THIS FILE IS GENERATED */
|
|
|
| /* A register protocol for GDB, the GNU debugger.
|
| - Copyright 2001, 2002 Free Software Foundation, Inc.
|
| + Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
|
|
| This file is part of GDB.
|
|
|
| @@ -121,6 +121,7 @@ exec > new-$2
|
| copyright $1
|
| echo '#include "server.h"'
|
| echo '#include "regdef.h"'
|
| +echo '#include "tdesc.h"'
|
| echo
|
| offset=0
|
| i=0
|
| @@ -134,7 +135,7 @@ while do_read
|
| do
|
| if test "${type}" = "name"; then
|
| name="${entry}"
|
| - echo "struct reg regs_${name}[] = {"
|
| + echo "static struct reg regs_${name}[] = {"
|
| continue
|
| elif test "${type}" = "xmltarget"; then
|
| xmltarget="${entry}"
|
| @@ -160,12 +161,12 @@ done
|
|
|
| echo "};"
|
| echo
|
| -echo "const char *expedite_regs_${name}[] = { \"`echo ${expedite} | sed 's/,/", "/g'`\", 0 };"
|
| +echo "static const char *expedite_regs_${name}[] = { \"`echo ${expedite} | sed 's/,/", "/g'`\", 0 };"
|
| if test "${xmltarget}" = x; then
|
| if test "${xmlarch}" = x && test "${xmlosabi}" = x; then
|
| - echo "const char *xmltarget_${name} = 0;"
|
| + echo "static const char *xmltarget_${name} = 0;"
|
| else
|
| - echo "const char *xmltarget_${name} = \"@<target>\\"
|
| + echo "static const char *xmltarget_${name} = \"@<target>\\"
|
| if test "${xmlarch}" != x; then
|
| echo "<architecture>${xmlarch}</architecture>\\"
|
| fi
|
| @@ -175,18 +176,27 @@ if test "${xmltarget}" = x; then
|
| echo "</target>\";"
|
| fi
|
| else
|
| - echo "const char *xmltarget_${name} = \"${xmltarget}\";"
|
| + echo "static const char *xmltarget_${name} = \"${xmltarget}\";"
|
| fi
|
| echo
|
|
|
| cat <<EOF
|
| +const struct target_desc *tdesc_${name};
|
| +
|
| void
|
| -init_registers_${name} ()
|
| +init_registers_${name} (void)
|
| {
|
| - set_register_cache (regs_${name},
|
| - sizeof (regs_${name}) / sizeof (regs_${name}[0]));
|
| - gdbserver_expedite_regs = expedite_regs_${name};
|
| - gdbserver_xmltarget = xmltarget_${name};
|
| + static struct target_desc tdesc_${name}_s;
|
| + struct target_desc *result = &tdesc_${name}_s;
|
| +
|
| + result->reg_defs = regs_${name};
|
| + result->num_registers = sizeof (regs_${name}) / sizeof (regs_${name}[0]);
|
| + result->expedite_regs = expedite_regs_${name};
|
| + result->xmltarget = xmltarget_${name};
|
| +
|
| + init_target_desc (result);
|
| +
|
| + tdesc_${name} = result;
|
| }
|
| EOF
|
|
|
|
|