Add constructor to stap_static_probe_ops
[deliverable/binutils-gdb.git] / opcodes / hppa-dis.c
index 65294625509256053099f5a292953462339bd91c..3c157017167223d969a2f1284e860c588914e03e 100644 (file)
@@ -1,19 +1,20 @@
 /* Disassembler for the PA-RISC. Somewhat derived from sparc-pinsn.c.
-   Copyright 1989, 1990, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, 2003,
-   2005 Free Software Foundation, Inc.
+   Copyright (C) 1989-2020 Free Software Foundation, Inc.
 
    Contributed by the Center for Software Science at the
    University of Utah (pa-gdb-bugs@cs.utah.edu).
 
-   This program is free software; you can redistribute it and/or modify
+   This file is part of the GNU opcodes library.
+
+   This library is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
+   It is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   License for more details.
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
@@ -21,7 +22,7 @@
    MA 02110-1301, USA.  */
 
 #include "sysdep.h"
-#include "dis-asm.h"
+#include "disassemble.h"
 #include "libhppa.h"
 #include "opcode/hppa.h"
 
@@ -84,7 +85,7 @@ static const char *const compare_cond_names[] =
 };
 static const char *const compare_cond_64_names[] =
 {
-  "", ",*=", ",*<", ",*<=", ",*<<", ",*<<=", ",*sv", ",*od",
+  ",*", ",*=", ",*<", ",*<=", ",*<<", ",*<<=", ",*sv", ",*od",
   ",*tr", ",*<>", ",*>=", ",*>", ",*>>=", ",*>>", ",*nsv", ",*ev"
 };
 static const char *const cmpib_cond_64_names[] =
@@ -98,7 +99,7 @@ static const char *const add_cond_names[] =
 };
 static const char *const add_cond_64_names[] =
 {
-  "", ",*=", ",*<", ",*<=", ",*nuv", ",*znv", ",*sv", ",*od",
+  ",*", ",*=", ",*<", ",*<=", ",*nuv", ",*znv", ",*sv", ",*od",
   ",*tr", ",*<>", ",*>=", ",*>", ",*uv", ",*vnz", ",*nsv", ",*ev"
 };
 static const char *const wide_add_cond_names[] =
@@ -112,7 +113,7 @@ static const char *const logical_cond_names[] =
   ",tr", ",<>", ",>=", ",>", 0, 0, 0, ",ev"};
 static const char *const logical_cond_64_names[] =
 {
-  "", ",*=", ",*<", ",*<=", 0, 0, 0, ",*od",
+  ",*", ",*=", ",*<", ",*<=", 0, 0, 0, ",*od",
   ",*tr", ",*<>", ",*>=", ",*>", 0, 0, 0, ",*ev"};
 static const char *const unit_cond_names[] =
 {
@@ -121,7 +122,7 @@ static const char *const unit_cond_names[] =
 };
 static const char *const unit_cond_64_names[] =
 {
-  "", ",*swz", ",*sbz", ",*shz", ",*sdc", ",*swc", ",*sbc", ",*shc",
+  ",*", ",*swz", ",*sbz", ",*shz", ",*sdc", ",*swc", ",*sbc", ",*shc",
   ",*tr", ",*nwz", ",*nbz", ",*nhz", ",*ndc", ",*nwc", ",*nbc", ",*nhc"
 };
 static const char *const shift_cond_names[] =
@@ -130,7 +131,7 @@ static const char *const shift_cond_names[] =
 };
 static const char *const shift_cond_64_names[] =
 {
-  "", ",*=", ",*<", ",*od", ",*tr", ",*<>", ",*>=", ",*ev"
+  ",*", ",*=", ",*<", ",*od", ",*tr", ",*<>", ",*>=", ",*ev"
 };
 static const char *const bb_cond_64_names[] =
 {
@@ -174,13 +175,13 @@ static const char *const add_compl_names[] = { 0, "", ",l", ",tsv" };
 static void
 fput_reg (unsigned reg, disassemble_info *info)
 {
-  (*info->fprintf_func) (info->stream, reg ? reg_names[reg] : "r0");
+  (*info->fprintf_func) (info->stream, "%s", reg ? reg_names[reg] : "r0");
 }
 
 static void
 fput_fp_reg (unsigned reg, disassemble_info *info)
 {
-  (*info->fprintf_func) (info->stream, reg ? fp_reg_names[reg] : "fr0");
+  (*info->fprintf_func) (info->stream, "%s", reg ? fp_reg_names[reg] : "fr0");
 }
 
 static void
@@ -197,7 +198,7 @@ fput_fp_reg_r (unsigned reg, disassemble_info *info)
 static void
 fput_creg (unsigned reg, disassemble_info *info)
 {
-  (*info->fprintf_func) (info->stream, control_reg[reg]);
+  (*info->fprintf_func) (info->stream, "%s", control_reg[reg]);
 }
 
 /* Print constants with sign.  */
@@ -288,7 +289,7 @@ extract_14 (unsigned word)
 static int
 extract_16 (unsigned word)
 {
-  int m15, m0, m1;
+  unsigned m15, m0, m1;
 
   m0 = GET_BIT (word, 16);
   m1 = GET_BIT (word, 17);
@@ -303,7 +304,7 @@ extract_16 (unsigned word)
 static int
 extract_21 (unsigned word)
 {
-  int val;
+  unsigned val;
 
   word &= MASK_21;
   word <<= 11;
@@ -424,7 +425,7 @@ print_insn_hppa (bfd_vma memaddr, disassemble_info *info)
                        fput_fp_reg (GET_FIELD (insn, 6, 10), info);
                      break;
 
-                     /* 'fA' will not generate a space before the regsiter
+                     /* 'fA' will not generate a space before the register
                         name.  Normally that is fine.  Except that it
                         causes problems with xmpyu which has no FP format
                         completer.  */
@@ -1097,12 +1098,12 @@ print_insn_hppa (bfd_vma memaddr, disassemble_info *info)
 
                case '#':
                  {
-                   int sign = GET_FIELD (insn, 31, 31);
-                   int imm10 = GET_FIELD (insn, 18, 27);
-                   int disp;
+                   unsigned sign = GET_FIELD (insn, 31, 31);
+                   unsigned imm10 = GET_FIELD (insn, 18, 27);
+                   unsigned disp;
 
                    if (sign)
-                     disp = (-1 << 10) | imm10;
+                     disp = (-1U << 10) | imm10;
                    else
                      disp = imm10;
 
@@ -1113,12 +1114,12 @@ print_insn_hppa (bfd_vma memaddr, disassemble_info *info)
                case 'K':
                case 'd':
                  {
-                   int sign = GET_FIELD (insn, 31, 31);
-                   int imm11 = GET_FIELD (insn, 18, 28);
-                   int disp;
+                   unsigned sign = GET_FIELD (insn, 31, 31);
+                   unsigned imm11 = GET_FIELD (insn, 18, 28);
+                   unsigned disp;
 
                    if (sign)
-                     disp = (-1 << 11) | imm11;
+                     disp = (-1U << 11) | imm11;
                    else
                      disp = imm11;
 
This page took 0.036244 seconds and 4 git commands to generate.