3 # Register protocol definitions for GDB, the GNU debugger.
4 # Copyright 2001, 2002 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 2 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, write to the Free Software
20 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 if test -r ${file} && cmp -s "${file}" new-"${file}"
27 echo "${file} unchanged." 1>&2
29 mv new-"${file}" "${file}"
30 echo "${file} updated." 1>&2
34 # Format of the input files
43 if test "${line}" = ""
46 elif test "${line}" = "#" -a "${comment}" = ""
49 elif expr "${line}" : "#" > /dev/null
55 # The semantics of IFS varies between different SH's. Some
56 # treat ``::' as three fields while some treat it as just too.
57 # Work around this by eliminating ``::'' ....
58 line="`echo "${line}" | sed -e 's/::/: :/g' -e 's/::/: :/g'`"
60 OFS="${IFS}" ; IFS="[:]"
61 eval read ${read} <<EOF
66 # .... and then going back through each field and strip out those
67 # that ended up with just that space character.
70 if eval test \"\${${r}}\" = \"\ \"
88 echo "$0: Could not open $1." 1>&2
95 /* *INDENT-OFF* */ /* THIS FILE IS GENERATED */
97 /* A register protocol for GDB, the GNU debugger.
98 Copyright 2001, 2002 Free Software Foundation, Inc.
100 This file is part of GDB.
102 This program is free software; you can redistribute it and/or modify
103 it under the terms of the GNU General Public License as published by
104 the Free Software Foundation; either version 2 of the License, or
105 (at your option) any later version.
107 This program is distributed in the hope that it will be useful,
108 but WITHOUT ANY WARRANTY; without even the implied warranty of
109 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
110 GNU General Public License for more details.
112 You should have received a copy of the GNU General Public License
113 along with this program; if not, write to the Free Software
114 Foundation, Inc., 59 Temple Place - Suite 330,
115 Boston, MA 02111-1307, USA. */
117 /* This file was created with the aid of \`\`regdat.sh'' and \`\`$1''. */
125 echo '#include "regdef.h"'
126 echo '#include "regcache.h"'
135 if test "${type}" = "name"; then
137 echo "struct reg regs_${name}[] = {"
139 elif test "${type}" = "expedite"; then
142 elif test "${name}" = x; then
143 echo "$0: $1 does not specify \`\`name''." 1>&2
146 echo " { \"${entry}\", ${offset}, ${type} },"
147 offset=`expr ${offset} + ${type}`
154 echo "const char *expedite_regs_${name}[] = { \"`echo ${expedite} | sed 's/,/", "/g'`\", 0 };"
161 set_register_cache (regs_${name},
162 sizeof (regs_${name}) / sizeof (regs_${name}[0]));
163 gdbserver_expedite_regs = expedite_regs_${name};