From: Simon Marchi <simark@simark.ca>
To: Chris Nicol <nicolc@uleth.ca>, gdb@sourceware.org
Subject: Re: gdb-9.1 Fails to build: "invalid cast to abstract class type"
Date: Thu, 21 May 2020 10:12:27 -0400 [thread overview]
Message-ID: <1b20f6d8-9736-02d8-73dc-bc4843e36ed3@simark.ca> (raw)
In-Reply-To: <052613da-fdbe-707b-3a52-da7ce437d424@uleth.ca>
On 2020-05-20 2:24 p.m., Chris Nicol wrote:
> Hello,
>
> I am trying to build a new version of the debugger on a SunBlade 100 running FreeBSD 12.1. This build fails with the following complaint:
>
> CXX sparc64-fbsd-nat.o
> In file included from ../../gdb/sparc64-fbsd-nat.c:26:
> ../../gdb/sparc-nat.h: In instantiation of 'target_xfer_status sparc_target<BaseTarget>::xfer_partial(target_object, const char*, gdb_byte*, const gdb_byte*, ULONGEST, ULONGEST, ULONGEST*) [with BaseTarget = fbsd_nat_target; gdb_byte = unsigned char; ULONGEST = long unsigned int]':
> ../../gdb/sparc-nat.h:67:27: required from here
> ../../gdb/sparc-nat.h:78:12: error: invalid cast to abstract class type 'fbsd_nat_target'
> 78 | return BaseTarget (object, annex, readbuf, writebuf,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 79 | offset, len, xfered_len);
> | ~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from ../../gdb/sparc64-fbsd-nat.c:24:
> ../../gdb/fbsd-nat.h:36:7: note: because the following virtual functions are pure within 'fbsd_nat_target':
> 36 | class fbsd_nat_target : public inf_ptrace_target
> | ^~~~~~~~~~~~~~~
> In file included from ../../gdb/inf-ptrace.h:23,
> from ../../gdb/fbsd-nat.h:23,
> from ../../gdb/sparc64-fbsd-nat.c:24:
> ../../gdb/inf-child.h:42:8: note: 'virtual void inf_child_target::fetch_registers(regcache*, int)'
> 42 | void fetch_registers (struct regcache *, int) override = 0;
> | ^~~~~~~~~~~~~~~
> ../../gdb/inf-child.h:43:8: note: 'virtual void inf_child_target::store_registers(regcache*, int)'
> 43 | void store_registers (struct regcache *, int) override = 0;
> | ^~~~~~~~~~~~~~~
> gmake[2]: *** [Makefile:1656: sparc64-fbsd-nat.o] Error 1
> gmake[2]: Leaving directory '/usr/home/nicolc/gdb/gdb-9.1/build/gdb'
> gmake[1]: *** [Makefile:9563: all-gdb] Error 2
> gmake[1]: Leaving directory '/usr/home/nicolc/gdb/gdb-9.1/build'
> gmake: *** [Makefile:851: all] Error 2
>
>
> Can anyone provide insight into what is going on here, please? Thank you.
>
> Chris.
> --
> ______________________________________________________________________
>
This has been fixed by this commit:
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c6a42d11acf2d485bf70d76eda76fd005fcd6825
So if you use the master branch, you shouldn't see this error.
GDB 9.2 (the bugfix release of 9.1) will be out soon, we could probably
cherry-pick that commit in that branch if that helps you.
Simon
next prev parent reply other threads:[~2020-05-21 14:12 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-20 18:24 Chris Nicol
2020-05-21 14:12 ` Simon Marchi [this message]
2020-05-22 3:55 ` Chris Nicol
2020-05-22 5:56 ` gdb 8.3: "handler for the OSI ABI "FreeBSD" is not built into this configuration" Chris Nicol
2020-05-22 17:36 ` Simon Marchi
2020-05-22 18:22 ` Chris Nicol
2020-05-22 18:51 ` Simon Marchi
2020-05-22 19:35 ` Chris Nicol
2020-05-23 17:40 ` Martin Simmons
2020-05-23 18:29 ` Chris Nicol
2020-05-23 22:17 ` Martin Simmons
2020-05-24 1:55 ` Chris Nicol
2020-05-24 14:05 ` Simon Marchi
2020-05-27 21:31 ` Martin Simmons
[not found] ` <46566349-c023-6a75-7006-268aad4913c6@uleth.ca>
2020-05-28 10:57 ` Martin Simmons
2020-05-28 14:40 ` Chris Nicol
2020-05-28 17:30 ` Martin Simmons
2020-05-28 17:37 ` Chris Nicol
2020-05-23 16:29 ` gdb-9.1 Fails to build: "invalid cast to abstract class type" Joel Brobecker
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=1b20f6d8-9736-02d8-73dc-bc4843e36ed3@simark.ca \
--to=simark@simark.ca \
--cc=gdb@sourceware.org \
--cc=nicolc@uleth.ca \
/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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).