~ubuntu-branches/ubuntu/karmic/insight/karmic

« back to all changes in this revision

Viewing changes to gdb/ax-gdb.c

  • Committer: Bazaar Package Importer
  • Author(s): Masayuki Hatta (mhatta)
  • Date: 2007-12-04 22:37:09 UTC
  • mfrom: (1.2.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20071204223709-jxj396d1ox92s8ox
Tags: 6.7.1.dfsg.1-1
* New upstream release.
* This typo has been fixed in the upstream - closes: #314037.
* Removed non-free documents (GFDL'd with Invariant Sections, etc.).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* GDB-specific functions for operating on agent expressions.
2
2
 
3
 
   Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation,
4
 
   Inc.
 
3
   Copyright (C) 1998, 1999, 2000, 2001, 2003, 2007
 
4
   Free Software Foundation, Inc.
5
5
 
6
6
   This file is part of GDB.
7
7
 
8
8
   This program is free software; you can redistribute it and/or modify
9
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
 
10
   the Free Software Foundation; either version 3 of the License, or
11
11
   (at your option) any later version.
12
12
 
13
13
   This program is distributed in the hope that it will be useful,
16
16
   GNU General Public License for more details.
17
17
 
18
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., 51 Franklin Street, Fifth Floor,
21
 
   Boston, MA 02110-1301, USA.  */
 
19
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
22
20
 
23
21
#include "defs.h"
24
22
#include "symtab.h"
461
459
  int frame_reg;
462
460
  LONGEST frame_offset;
463
461
 
464
 
  TARGET_VIRTUAL_FRAME_POINTER (ax->scope, &frame_reg, &frame_offset);
 
462
  gdbarch_virtual_frame_pointer (current_gdbarch,
 
463
                                 ax->scope, &frame_reg, &frame_offset);
465
464
  ax_reg (ax, frame_reg);
466
465
  gen_offset (ax, frame_offset);
467
466
}
475
474
  int frame_reg;
476
475
  LONGEST frame_offset;
477
476
 
478
 
  TARGET_VIRTUAL_FRAME_POINTER (ax->scope, &frame_reg, &frame_offset);
 
477
  gdbarch_virtual_frame_pointer (current_gdbarch,
 
478
                                 ax->scope, &frame_reg, &frame_offset);
479
479
  ax_reg (ax, frame_reg);
480
480
  gen_offset (ax, frame_offset);
481
481
}
1170
1170
    {
1171
1171
      char *this_name = TYPE_FIELD_NAME (type, i);
1172
1172
 
1173
 
      if (this_name && strcmp (name, this_name) == 0)
1174
 
        return i;
 
1173
      if (this_name)
 
1174
        {
 
1175
          if (strcmp (name, this_name) == 0)
 
1176
            return i;
1175
1177
 
1176
 
      if (this_name[0] == '\0')
1177
 
        internal_error (__FILE__, __LINE__,
1178
 
                        _("find_field: anonymous unions not supported"));
 
1178
          if (this_name[0] == '\0')
 
1179
            internal_error (__FILE__, __LINE__,
 
1180
                            _("find_field: anonymous unions not supported"));
 
1181
        }
1179
1182
    }
1180
1183
 
1181
1184
  error (_("Couldn't find member named `%s' in struct/union `%s'"),
1317
1320
             the sign/zero extension will wipe them out.
1318
1321
             - If we're in the interior of the word, then there is no garbage
1319
1322
             on either end, because the ref operators zero-extend.  */
1320
 
          if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
 
1323
          if (gdbarch_byte_order (current_gdbarch) == BFD_ENDIAN_BIG)
1321
1324
            gen_left_shift (ax, end - (offset + op_size));
1322
1325
          else
1323
1326
            gen_left_shift (ax, offset - start);
1597
1600
 
1598
1601
    case OP_REGISTER:
1599
1602
      {
1600
 
        int reg = (int) (*pc)[1].longconst;
1601
 
        (*pc) += 3;
 
1603
        const char *name = &(*pc)[2].string;
 
1604
        int reg;
 
1605
        (*pc) += 4 + BYTES_TO_EXP_ELEM ((*pc)[1].longconst + 1);
 
1606
        reg = frame_map_name_to_regnum (deprecated_safe_get_selected_frame (),
 
1607
                                        name, strlen (name));
 
1608
        if (reg == -1)
 
1609
          internal_error (__FILE__, __LINE__,
 
1610
                          _("Register $%s not available"), name);
1602
1611
        value->kind = axs_lvalue_register;
1603
1612
        value->u.reg = reg;
1604
1613
        value->type = register_type (current_gdbarch, reg);