3 # Register protocol definitions for GDB, the GNU debugger.
4 # Copyright (C) 2001-2017 Free Software Foundation, Inc.
6 # This file is part of GDB.
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 3 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program. If not, see <http://www.gnu.org/licenses/>.
21 # Format of the input files
30 if test "${line}" = ""
33 elif test "${line}" = "#" -a "${comment}" = ""
36 elif expr "${line}" : "#" > /dev
/null
42 # The semantics of IFS varies between different SH's. Some
43 # treat ``::' as three fields while some treat it as just too.
44 # Work around this by eliminating ``::'' ....
45 line
="`echo "${line}" | sed -e 's/::/: :/g' -e 's/::/: :/g'`"
47 OFS
="${IFS}" ; IFS
="[:]"
48 eval read ${read} <<EOF
53 # .... and then going back through each field and strip out those
54 # that ended up with just that space character.
57 if eval test \"\
${${r}}\" = \"\
\"
75 echo "$0: Could not open $1." 1>&2
82 /* *INDENT-OFF* */ /* THIS FILE IS GENERATED */
84 /* A register protocol for GDB, the GNU debugger.
85 Copyright (C) 2001-2013 Free Software Foundation, Inc.
87 This file is part of GDB.
89 This program is free software; you can redistribute it and/or modify
90 it under the terms of the GNU General Public License as published by
91 the Free Software Foundation; either version 3 of the License, or
92 (at your option) any later version.
94 This program is distributed in the hope that it will be useful,
95 but WITHOUT ANY WARRANTY; without even the implied warranty of
96 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
97 GNU General Public License for more details.
99 You should have received a copy of the GNU General Public License
100 along with this program. If not, see <http://www.gnu.org/licenses/>. */
102 /* This file was created with the aid of \`\`regdat.sh'' and \`\`$1''. */
110 echo '#include "server.h"'
111 echo '#include "regdef.h"'
112 echo '#include "tdesc.h"'
124 if test "${type}" = "name"; then
126 echo "static struct reg regs_${name}[] = {"
128 elif test "${type}" = "xmltarget"; then
131 elif test "${type}" = "xmlarch"; then
134 elif test "${type}" = "osabi"; then
137 elif test "${type}" = "expedite"; then
140 elif test "${name}" = x
; then
141 echo "$0: $1 does not specify \`\`name''." 1>&2
144 echo " { \"${entry}\", ${offset}, ${type} },"
145 offset
=`expr ${offset} + ${type}`
152 echo "static const char *expedite_regs_${name}[] = { \"`echo ${expedite} | sed 's/,/", "/g'`\", 0 };"
153 if test "${xmltarget}" = x
; then
154 if test "${xmlarch}" = x
&& test "${xmlosabi}" = x
; then
155 echo "static const char *xmltarget_${name} = 0;"
157 echo "static const char *xmltarget_${name} = \"@<target>\\"
158 if test "${xmlarch}" != x
; then
159 echo "<architecture>${xmlarch}</architecture>\\"
161 if test "${xmlosabi}" != x
; then
162 echo "<osabi>${xmlosabi}</osabi>\\"
167 echo "static const char *xmltarget_${name} = \"${xmltarget}\";"
172 const struct target_desc *tdesc_${name};
175 init_registers_${name} (void)
177 static struct target_desc tdesc_${name}_s;
178 struct target_desc *result = &tdesc_${name}_s;
180 result->reg_defs = regs_${name};
181 result->num_registers = sizeof (regs_${name}) / sizeof (regs_${name}[0]);
182 result->expedite_regs = expedite_regs_${name};
183 result->xmltarget = xmltarget_${name};
185 init_target_desc (result);
187 tdesc_${name} = result;
This page took 0.033601 seconds and 4 git commands to generate.