Re: GDB 13.1 and clang

Chris Johns <[email protected]>
Newsgroups gmane.comp.gdb.devel
Organization https://www.rtems.org/
Message-ID <[email protected]>
On 9/3/2023 5:22 am, Simon Marchi wrote:
> On 3/8/23 15:07, Chris Johns wrote:
>> Hi,
>>
>> I have just tried to build the latest RTEMS tools and we now use gdb 13.1. I am
>> seeing a build failure on FreeBSD 13.1 of:
>>
>> In file included from ../../gdb-13.1/gdb/xml-tdesc.c:23:
>> In file included from ../../gdb-13.1/gdb/target.h:42:
>> In file included from ../../gdb-13.1/gdb/infrun.h:21:
>> In file included from ../../gdb-13.1/gdb/gdbthread.h:26:
>> In file included from ../../gdb-13.1/gdb/breakpoint.h:38:
>> ../../gdb-13.1/gdb/target/waitstatus.h:113:1: error: use of undeclared
>> identifier 'DIAGNOSTIC_ERROR_SWITCH'
>> DIAGNOSTIC_ERROR_SWITCH
>> ^
>>
>> I only have clang installed on the FreeBSD machine.
>>
>> A quick review of include/diagnostics.h seems to show support for
>> DIAGNOSTIC_ERROR_SWITCH only in the gcc area?
> 
> Hmm, I see it in the clang section:
> 
> # define DIAGNOSTIC_ERROR_SWITCH \
>   DIAGNOSTIC_ERROR ("-Wswitch")
> 

It seems I need to do a better review before posting :)

> https://sourceware.org/cgit/binutils-gdb/tree/include/diagnostics.h?h=gdb-13.1-release&id=4f3e26ac6ee31f7bc4b04abd8bdb944e7f1fc5d2#n76
> 
> Unless there's a typo I don't see.
> 
> diagnostics.h is included at the top of waitstatus.h.  Is it possible
> that another unrelated diagnostics.h gets included on FreeBSD?  You
> could inspect the preprocessed file to see what the preprocessor
> included for diagnostics.h.

There is another version installed here:

$ pkg which /usr/local/include/diagnostics.h
/usr/local/include/diagnostics.h was installed by package binutils-2.37_2,1

We have /usr/local/include early in the include list on FreeBSD to pick up some
of the required libraries installed as packages. I will check for a package
update or I revisit the build flags to see how it can be handled.

Thank you for the prompt and helpful responses.

Chris
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.