Re: gdb-9.1 Fails to build: "invalid cast to abstract class type"

Chris Nicol
2020-05-22T03:55:59Z

Dear Simon,

Thanks for your helpful advice. Before receiving it, I retrieved version
8.3 looking for a different result, and your advice arrived just as that
version crashed for the same reason. So, I did the edit on the relevant
code, and this version failed at the very end when doing all the
linking. I was able to find the fix for that fail from git, and built
the 8.3 successfully. I am now in the process of building 9.1 with the
fix you have noted. The SunBlade 100 is old, so this will take some
time, but I am pretty sure it will work now. Thanks for the offer of the
9.2. I will just wait until that is formally released. I have been
pulling these src files from ftp.gnu.org, but it might be a better idea
to go get the code from git, as it would incorporate any intermediate
bug fixes?

The reason I wanted the new version of debugger was because the older
one I had (a stock 6.1.1, which came with the FreeBSD 12.1 I am running)
would not run against some core dumps I had from llvm-tblgen in the
build of llvm90. This was being built with gcc9, a gcc9 which I built
and installed on the SunBlade 100 from the /usr/ports tree. When I run
the gdb-8.3 against that llvn-tblgen.core, I get an initial message "A
handler for the OSI ABI "FreeBSD" is not built into this configuration
of GDB. Attempting to continue with the default sparc settings". The
debugger does not then provide any useful results, simply indicating
that a seg fault happened at:

#0 0000000000000000 in ?? ()

I think this is because the gdb can't figure out the arch of my
SunBlade? I read some other posts of a similar nature that generated
this message, which I think is built into the test code to identify
architecture. I believe there is a simple workaround for this, but it is
beyond my ken as a mere economist dabbling in things I should leave alone ;)

Can anyone of the list provide any advice on this, please? Thank you.

Sincerely,

Chris.
> On 5/21/2020 8:12 AM, Simon Marchi wrote:
>>
>> 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
>>
>
>
>