From: Palmer Dabbelt <palmer@sifive.com>
To: tom@tromey.com
Cc: Jim Wilson <jimw@sifive.com>, gdb-patches@sourceware.org
Subject: Re: [PATCH 5/5] RISC-V: Add configure support riscv*-linux*.
Date: Wed, 08 Aug 2018 20:49:00 -0000 [thread overview]
Message-ID: <mhng-434a3c5a-e632-4132-8fbf-bca82f51a81c@palmer-si-x1c4> (raw)
In-Reply-To: <871sb8ahs9.fsf@tromey.com>
On Wed, 08 Aug 2018 10:29:26 PDT (-0700), tom@tromey.com wrote:
>>>>>> "Jim" == Jim Wilson <jimw@sifive.com> writes:
>
> Jim> * Makefile.in (ALLDEPFILES): Add riscv-linux-nat.c, riscv-linux-tdep.c.
>
> This doesn't mention the ALL_TARGET_OBS change.
>
> Jim> * NEWS: Mention new GNU/Linux RISC-V target.
>
> Eli should review this bit.
>
> Jim> * configure.host: Add riscv*-*-linux*.
> Jim> * configure.nat: Add riscv*.
> Jim> * configure.tgt: Add riscv*-*-linux*.
>
> These parts are ok.
>
> Jim> diff --git a/gdb/Makefile.in b/gdb/Makefile.in
> Jim> index 8c744d70c0..280b3b1283 100644
> Jim> --- a/gdb/Makefile.in
> Jim> +++ b/gdb/Makefile.in
> Jim> @@ -752,6 +752,8 @@ ALL_TARGET_OBS = \
> Jim> ppc-sysv-tdep.o \
> Jim> ppc64-tdep.o \
> Jim> ravenscar-thread.o \
> Jim> + riscv-linux-nat.o \
> Jim> + riscv-linux-tdep.o \
> Jim> riscv-tdep.o \
> Jim> rl78-tdep.o \
> Jim> rs6000-aix-tdep.o \
>
> I think only the tdep file should be listed here.
>
> ALL_TARGET_OBS is used when --enable-targets=all is given.
> In this case, we would not want the riscv-linux-nat.o object to be
> linked in, since we're not necessarily building on linux.
>
> Is riscv a 64-bit architecture? (I don't know.) If so, gdb still
> splits 64-bit targets into a separate variable, I think in case one is
> building on a 32-bit machine without a 64-bit integer type (or maybe if
> you didn't want to use the extra memory to inflate a bunch of type
> sizes, not sure). In this case you'd want to add the tdep file to
> ALL_64_TARGET_OBS instead.
RISC-V is actually a family of ISAs, not one specific ISA. There are 4 base
ISAs: rv32e (16 32-bit registers), rv32i (32 32-bit registers), rv64i (32
64-bit registers), and rv128i (32 128-bit revisers). They all look very
similar and we developed the ports together, so they share the vast majority of
the source. Since they're so similar we try to make sure that the various
toolchain components always support all of them (aside from rv128i, which
nobody has started serious work on and is only a placeholder in the spec).
To enable this support in BFD we decided to put both the 32-bit and 64-bit
RISC-V targets in the list of 32-bit targets. This allows toolchains
configured with the 32-bit tuples to generate code for the 64-bit targets,
which when coupled with multilib gives you a functioning setup.
I'd like to keep this behavior in GDB if possible, so "riscv32-unknown-elf-gdb"
can debug rv64i-based targets. One of my goals is to rely as little as
possible on the tuple so users don't have to go find and build a whole bunch of
them -- whenever I'm a user I find that to be a pain.
> I wonder if this 32/64 bit thing is needed any more.
Part of our rationale for doing this was that if you can build GCC 7 (the first
version we support), then your host probably has support for 64-bit integer
types. Nobody else has seemed to notice yet, but there also aren't that many
RISC-V users so we're far from a representative sample.
next prev parent reply other threads:[~2018-08-08 20:49 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-08 2:12 [PATCH 0/5] RISC-V Linux native port Jim Wilson
2018-08-08 2:15 ` [PATCH 1/5] RISC-V: Make riscv_isa_xlen a global function Jim Wilson
2018-08-08 12:42 ` Andrew Burgess
2018-08-08 17:55 ` Jim Wilson
2018-08-08 19:18 ` Simon Marchi
2018-08-08 2:16 ` [PATCH 3/5] RISC-V: Add linux target support Jim Wilson
2018-08-08 14:41 ` Andrew Burgess
2018-08-08 18:19 ` Jim Wilson
2018-08-08 18:35 ` Jim Wilson
2018-08-09 20:40 ` Jim Wilson
2018-08-08 2:16 ` [PATCH 2/5] RISC-V: Add software single step support Jim Wilson
2018-08-08 12:50 ` Andrew Burgess
2018-08-08 17:55 ` Jim Wilson
2018-08-08 2:17 ` [PATCH 4/5] RISC-V: Add native linux support Jim Wilson
2018-08-08 15:58 ` Andrew Burgess
2018-08-08 23:36 ` Jim Wilson
2018-08-08 23:39 ` Jim Wilson
2018-08-09 8:42 ` Andrew Burgess
2018-08-09 20:41 ` Jim Wilson
2018-10-25 10:49 ` Andreas Schwab
2018-10-25 11:09 ` Andrew Burgess
2018-10-25 12:06 ` Pedro Alves
2018-10-28 11:23 ` Andrew Burgess
2018-10-25 17:55 ` John Baldwin
2018-10-25 18:17 ` Jim Wilson
2018-10-25 19:19 ` John Baldwin
2018-10-27 6:07 ` Palmer Dabbelt
2018-10-29 8:50 ` Andreas Schwab
2018-10-25 16:40 ` Jim Wilson
2018-08-08 2:17 ` [PATCH 5/5] RISC-V: Add configure support riscv*-linux* Jim Wilson
2018-08-08 16:00 ` Andrew Burgess
2018-08-08 17:30 ` Tom Tromey
2018-08-08 18:22 ` Eli Zaretskii
2018-08-08 20:49 ` Palmer Dabbelt [this message]
2018-08-08 23:26 ` Tom Tromey
2018-08-08 23:29 ` Tom Tromey
2018-08-09 2:36 ` Eli Zaretskii
2018-08-09 3:43 ` Jim Wilson
2018-08-09 4:55 ` Tom Tromey
2018-08-09 7:05 ` Andreas Schwab
2018-08-09 12:55 ` Eli Zaretskii
2018-08-09 17:25 ` Jim Wilson
2018-08-09 0:25 ` Jim Wilson
2018-08-09 0:29 ` [PATCH 5/5] RISC-V: Add configure support for riscv*-linux* Jim Wilson
2018-08-09 2:39 ` Eli Zaretskii
2018-08-09 15:57 ` Tom Tromey
2018-08-09 20:42 ` Jim Wilson
2018-08-08 12:41 ` [PATCH 0/5] RISC-V Linux native port Andrew Burgess
2018-08-08 17:41 ` Jim Wilson
2018-08-08 18:16 ` Andrew Burgess
2018-08-08 18:42 ` Jim Wilson
2018-08-09 3:18 ` Palmer Dabbelt
2018-08-10 18:04 ` Pedro Alves
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=mhng-434a3c5a-e632-4132-8fbf-bca82f51a81c@palmer-si-x1c4 \
--to=palmer@sifive.com \
--cc=gdb-patches@sourceware.org \
--cc=jimw@sifive.com \
--cc=tom@tromey.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox