~ubuntu-branches/debian/jessie/gdb/jessie

« back to all changes in this revision

Viewing changes to opcodes/frv-ibld.c

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Jacobowitz
  • Date: 2010-03-20 01:21:29 UTC
  • mfrom: (1.3.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20100320012129-t7h25y8zgr8c2369
Tags: 7.1-1
* New upstream release, including:
  - PIE support (Closes: #346409).
  - C++ improvements, including static_cast<> et al, namespace imports,
    and bug fixes in printing virtual base classes.
  - Multi-program debugging.  One GDB can now debug multiple programs
    at the same time.
  - Python scripting improvements, including gdb.parse_and_eval.
  - Updated MIPS Linux signal frame layout (Closes: #570875).
  - No internal error stepping over _dl_debug_state (Closes: #569551).
* Update to Standards-Version: 3.8.4 (no changes required).
* Include more relevant (and smaller) docs in the gdbserver package
  (Closes: #571132).
* Do not duplicate documentation in gdb64, gdb-source, and libgdb-dev.
* Fix crash when switching into TUI mode (Closes: #568489).

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
   - the resultant file is machine generated, cgen-ibld.in isn't
5
5
 
6
6
   Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2005, 2006, 2007,
7
 
   2008  Free Software Foundation, Inc.
 
7
   2008, 2010  Free Software Foundation, Inc.
8
8
 
9
9
   This file is part of libopcodes.
10
10
 
33
33
#include "symcat.h"
34
34
#include "frv-desc.h"
35
35
#include "frv-opc.h"
 
36
#include "cgen/basic-modes.h"
36
37
#include "opintl.h"
37
38
#include "safe-ctype.h"
38
39
 
137
138
  if (length == 0)
138
139
    return NULL;
139
140
 
140
 
  if (word_length > 32)
 
141
  if (word_length > 8 * sizeof (CGEN_INSN_INT))
141
142
    abort ();
142
143
 
143
144
  /* For architectures with insns smaller than the base-insn-bitsize,
441
442
      return 1;
442
443
    }
443
444
 
444
 
  if (word_length > 32)
 
445
  if (word_length > 8 * sizeof (CGEN_INSN_INT))
445
446
    abort ();
446
447
 
447
448
  /* For architectures with insns smaller than the insn-base-bitsize,
468
469
    {
469
470
      unsigned char *bufp = ex_info->insn_bytes + word_offset / 8;
470
471
 
471
 
      if (word_length > 32)
 
472
      if (word_length > 8 * sizeof (CGEN_INSN_INT))
472
473
        abort ();
473
474
 
474
475
      if (fill_cache (cd, ex_info, word_offset / 8, word_length / 8, pc) == 0)
755
756
    case FRV_OPERAND_LABEL16 :
756
757
      {
757
758
        long value = fields->f_label16;
758
 
        value = ((int) (((value) - (pc))) >> (2));
 
759
        value = ((SI) (((value) - (pc))) >> (2));
759
760
        errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 15, 16, 32, total_length, buffer);
760
761
      }
761
762
      break;
762
763
    case FRV_OPERAND_LABEL24 :
763
764
      {
764
765
{
765
 
  FLD (f_labelH6) = ((int) (((FLD (f_label24)) - (pc))) >> (20));
766
 
  FLD (f_labelL18) = ((((unsigned int) (((FLD (f_label24)) - (pc))) >> (2))) & (262143));
 
766
  FLD (f_labelH6) = ((SI) (((FLD (f_label24)) - (pc))) >> (20));
 
767
  FLD (f_labelL18) = ((((UINT) (((FLD (f_label24)) - (pc))) >> (2))) & (262143));
767
768
}
768
769
        errmsg = insert_normal (cd, fields->f_labelH6, 0|(1<<CGEN_IFLD_SIGNED), 0, 30, 6, 32, total_length, buffer);
769
770
        if (errmsg)
809
810
    case FRV_OPERAND_SPR :
810
811
      {
811
812
{
812
 
  FLD (f_spr_h) = ((unsigned int) (FLD (f_spr)) >> (6));
 
813
  FLD (f_spr_h) = ((UINT) (FLD (f_spr)) >> (6));
813
814
  FLD (f_spr_l) = ((FLD (f_spr)) & (63));
814
815
}
815
816
        errmsg = insert_normal (cd, fields->f_spr_h, 0, 0, 30, 6, 32, total_length, buffer);
823
824
    case FRV_OPERAND_U12 :
824
825
      {
825
826
{
826
 
  FLD (f_u12_h) = ((int) (FLD (f_u12)) >> (6));
 
827
  FLD (f_u12_h) = ((SI) (FLD (f_u12)) >> (6));
827
828
  FLD (f_u12_l) = ((FLD (f_u12)) & (63));
828
829
}
829
830
        errmsg = insert_normal (cd, fields->f_u12_h, 0|(1<<CGEN_IFLD_SIGNED), 0, 17, 6, 32, total_length, buffer);