aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNelson Chu <nelson.chu@sifive.com>2020-06-02 09:44:13 +0800
committerNelson Chu <nelson.chu@sifive.com>2020-06-03 09:20:59 +0800
commit44730156af5f411d2c47af22558e7bd84dc4fcea (patch)
tree063920ff99e17f347f29225127366a795594f653
parent721276a249df7be8fdda2bc18c70beb5752e439e (diff)
downloadbinutils-44730156af5f411d2c47af22558e7bd84dc4fcea.zip
binutils-44730156af5f411d2c47af22558e7bd84dc4fcea.tar.gz
binutils-44730156af5f411d2c47af22558e7bd84dc4fcea.tar.bz2
RISC-V: Fix the error when building RISC-V linux native gdbserver.
The original report is as follow, https://sourceware.org/pipermail/binutils/2020-June/111383.html Inlcude the bfd.h in the include/opcode/riscv.h may cause gdbserver fail to build. I just want to use the `bfd_boolean` in the opcodes/riscv-opc.c, but I didn't realize this cause the build failed. Fortunately, I can also use the `int` as the function return types just like others in the opcodes/riscv-opc.c. include/ * opcode/riscv.h: Remove #include "bfd.h". And change the return types of riscv_get_isa_spec_class and riscv_get_priv_spec_class from bfd_boolean to int. opcodes/ * riscv-opc.c (riscv_get_isa_spec_class): Change bfd_boolean to int. (riscv_get_priv_spec_class): Likewise.
-rw-r--r--include/ChangeLog6
-rw-r--r--include/opcode/riscv.h5
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/riscv-opc.c16
4 files changed, 21 insertions, 11 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 08eadb6..5c0a82b 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,9 @@
+2020-06-03 Nelson Chu <nelson.chu@sifive.com>
+
+ * opcode/riscv.h: Remove #include "bfd.h". And change the return
+ types of riscv_get_isa_spec_class and riscv_get_priv_spec_class
+ from bfd_boolean to int.
+
2020-05-28 Alan Modra <amodra@gmail.com>
PR 26044
diff --git a/include/opcode/riscv.h b/include/opcode/riscv.h
index feeaa6e..fecf410 100644
--- a/include/opcode/riscv.h
+++ b/include/opcode/riscv.h
@@ -24,7 +24,6 @@
#include "riscv-opc.h"
#include <stdlib.h>
#include <stdint.h>
-#include "bfd.h"
typedef uint64_t insn_t;
@@ -490,9 +489,9 @@ extern const struct riscv_opcode riscv_opcodes[];
extern const struct riscv_opcode riscv_insn_types[];
extern const struct riscv_ext_version riscv_ext_version_table[];
-extern bfd_boolean
+extern int
riscv_get_isa_spec_class (const char *, enum riscv_isa_spec_class *);
-extern bfd_boolean
+extern int
riscv_get_priv_spec_class (const char *, enum riscv_priv_spec_class *);
extern const char *
riscv_get_priv_spec_name (enum riscv_priv_spec_class);
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index d842ab6..950819d 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2020-06-03 Nelson Chu <nelson.chu@sifive.com>
+
+ * riscv-opc.c (riscv_get_isa_spec_class): Change bfd_boolean to int.
+ (riscv_get_priv_spec_class): Likewise.
+
2020-06-01 Alan Modra <amodra@gmail.com>
* bpf-desc.c: Regenerate.
diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c
index f011f1b..4481359 100644
--- a/opcodes/riscv-opc.c
+++ b/opcodes/riscv-opc.c
@@ -958,24 +958,24 @@ static const struct isa_spec_t isa_specs[] =
/* Get the corresponding ISA spec class by giving a ISA spec string. */
-bfd_boolean
+int
riscv_get_isa_spec_class (const char *s,
enum riscv_isa_spec_class *class)
{
const struct isa_spec_t *version;
if (s == NULL)
- return FALSE;
+ return 0;
for (version = &isa_specs[0]; version->name != NULL; ++version)
if (strcmp (version->name, s) == 0)
{
*class = version->class;
- return TRUE;
+ return 1;
}
/* Can not find the supported ISA spec. */
- return FALSE;
+ return 0;
}
struct priv_spec_t
@@ -999,24 +999,24 @@ static const struct priv_spec_t priv_specs[] =
/* Get the corresponding CSR version class by giving a privilege
version string. */
-bfd_boolean
+int
riscv_get_priv_spec_class (const char *s,
enum riscv_priv_spec_class *class)
{
const struct priv_spec_t *version;
if (s == NULL)
- return FALSE;
+ return 0;
for (version = &priv_specs[0]; version->name != NULL; ++version)
if (strcmp (version->name, s) == 0)
{
*class = version->class;
- return TRUE;
+ return 1;
}
/* Can not find the supported privilege version. */
- return FALSE;
+ return 0;
}
/* Get the corresponding privilege version string by giving a CSR