From: Jim Wilson <jimw@sifive.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Tom Tromey <tom@tromey.com>, Palmer Dabbelt <palmer@sifive.com>,
gdb-patches@sourceware.org
Subject: Re: [PATCH 5/5] RISC-V: Add configure support riscv*-linux*.
Date: Thu, 09 Aug 2018 03:43:00 -0000 [thread overview]
Message-ID: <CAFyWVabCeiPnh5igh3HwjGdAHaTk2WDmW6fuBT1d+ZOemLmf5A@mail.gmail.com> (raw)
In-Reply-To: <83600kp8pc.fsf@gnu.org>
On Wed, Aug 8, 2018 at 7:36 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> From: Tom Tromey <tom@tromey.com>
>> Cc: tom@tromey.com, Jim Wilson <jimw@sifive.com>, gdb-patches@sourceware.org
>> Date: Wed, 08 Aug 2018 17:25:59 -0600
>>
>> My main concern is really whether --disable-64-bit-bfd still works.
>> I don't know if people still use this, but as long as it exists it seems
>> like it should continue to work. If RISC-V works in this setup, then it
>> is totally fine by me for gdb to follow, assuming it works as well.
>>
>> Maybe to really test it has to be a 32 bit build with
>> --disable-64-bit-bfd and --enable-targets=all.
>
> Btw, can you or someone else explain what exactly does
> "--enable-64-bit-bfd" do and what practical effects should it have on
> GDB? I frequently wonder whether I want that switch when building
> GDB, and I still don't know the answer.
Since I'm looking at this at the moment...
BFD will automatically enable 64-bit support if you configure on a
host with 64-bit support, or configure for a target with 64-bit
support. It will also enable 64-bit support if you use
--enable-64-bit-bfd. 64-bit support means you can use 64-bit integer
types such as long long on a 32-bit host or long on a 64-bit LP64
host. If 64-bit support is enabled, and your compiler doesn't support
it, then you get a configure error.
If you use --disable-64-bit-bfd, then bfd will disallow use of 64-bit
integer types. If you configure for a 64-bit target, you will get a
configure error.
As a practical matter, I think --enable/disable-64-bit-bfd doesn't
really do anything useful unless you are configuring with
--enable-targets=all. In this case, 64-bit targets will be enabled by
default, and will fail to build on a 32-bit host with a compiler that
doesn't support long long. You can work around that problem by using
--disable-64-bit-bfd which will get you all of the 32-bit targets, and
none of the 64-bit targets, which will allow the build to complete.
Of course, nowadays, finding a 32-bit compiler without long long
support would be hard, so this option combination is unlikely to be
useful to anyone.
I've been looking at the riscv{32,64} bfd support. Since configuring
for riscv32 enables riscv64 support also, and riscv64 requires 64-bit
support, this means that there is no riscv bfd support at all when
using --disable-64-bit-bfd --enable-targets=all. It looks like the
gdb riscv support is broken even without my patch, as we can't build a
riscv32-elf gdb if we don't have bfd. I've got a build running to see
if I can force a build failure.
Jim
next prev parent reply other threads:[~2018-08-09 3:43 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 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
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 [this message]
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 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 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=CAFyWVabCeiPnh5igh3HwjGdAHaTk2WDmW6fuBT1d+ZOemLmf5A@mail.gmail.com \
--to=jimw@sifive.com \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
--cc=palmer@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