diff options
author | Nelson Chu <nelson.chu@sifive.com> | 2020-06-02 09:44:13 +0800 |
---|---|---|
committer | Nelson Chu <nelson.chu@sifive.com> | 2020-06-03 09:20:59 +0800 |
commit | 44730156af5f411d2c47af22558e7bd84dc4fcea (patch) | |
tree | 063920ff99e17f347f29225127366a795594f653 | |
parent | 721276a249df7be8fdda2bc18c70beb5752e439e (diff) | |
download | binutils-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/ChangeLog | 6 | ||||
-rw-r--r-- | include/opcode/riscv.h | 5 | ||||
-rw-r--r-- | opcodes/ChangeLog | 5 | ||||
-rw-r--r-- | opcodes/riscv-opc.c | 16 |
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 |