Re: GDB does not recognize cxx extension?

"Christian Biesinger via gdb" <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <CAPTJ0XH82z4=vNj5sAgTfASeoLO_9AdsMsBFiE-s=OdOfB0fRg@mail.gmail.com>
On Sun, Sep 29, 2019 at 12:17 AM Jeffrey Walton <[email protected]> wrote:
>
> On Sun, Sep 29, 2019 at 1:09 AM Christian Biesinger
> <[email protected]> wrote:
> >
> > On Sun, Sep 29, 2019 at 12:01 AM Jeffrey Walton <[email protected]> wrote:
> > > I've got a C++ program built from a source called pem_test.cxx. I'm
> > > having trouble getting GDB to accept it. Autocomplete does not work:
> > >
> > >     (gdb) b pem_<TAB>
> > >     pem_common.cpp  pem_common.h    pem_read.cpp    pem_write.cpp
> >
> > GDB gets the list of files from the debug data in the binary, not from
> > the current directory. Are you sure you compiled pem_test.cxx into the
> > binary?
>
> Yes. A 'b main' stops in pem_test.cxx.
>
> The recipe to build pem_test.cxx is at
> https://github.com/noloader/cryptopp-pem/blob/master/pem_create_keys.sh#L42

So, GDB does know that cxx is an extension for C++:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gdb/c-lang.c;h=57592dfbce0f8822fa3ca3d68ed520b4124a0c5d;hb=612aac65e690387c963c34a31dd1fb138d88a45c#l1032

And .cxx does work for me:
Reading symbols from ./test...
(gdb) break test.cxx:2
Breakpoint 1 at 0x1129: file test.cxx, line 2.
(gdb) r
Starting program: /tmp/test

Breakpoint 1, main () at test.cxx:2
2   return 42;
(gdb) b test<TAB>
std::__atomic0::atomic_flag::test_and_set(std::memory_order)           test.cxx

There must be something odd about your build setup, but I don't know
what it is. For testing purposes, if you build the cxx as part of your
static library, does it work?

Christian
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.