[binutils-gdb] Ada: make verbatim matcher override other language matchers (PR gdb/22670)

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

[binutils-gdb] Ada: make verbatim matcher override other language matchers (PR gdb/22670)

sergiodj+buildbot-2
*** TEST RESULTS FOR COMMIT c63d3e8d12f0b08cda95f89aa13274defed215f0 ***

Author: Pedro Alves <[hidden email]>
Branch: master
Commit: c63d3e8d12f0b08cda95f89aa13274defed215f0

Ada: make verbatim matcher override other language matchers (PR gdb/22670)

A previous patch fixed verbatim matching in the lookup at the minimal
symbol level, but we should also be finding that same symbol through
the partial/full symtab search.

For example, this is what happens if we use "print" instead of
"break":

    (gdb) p <MixedCaseFunc>
    $1 = {<text variable, no debug info>} 0x4024dc <MixedCaseFunc>

Before the C++ wildmatching series, GDB knows that MixedCaseFunc is a
function without parameters, and the expression above means calling
it.  If you try it before having started the inferior, you'd get the
following (expected) error:

    (gdb) print  <MixedCaseFunc>
    You can't do that without a process to debug.

The main idea behind making the name matcher be determined by the
symbol's language is so that C++ (etc.) wildmatching in linespecs
works even if the current language is not C++, as e.g., when you step
through C or assembly code.

Ada's verbatim matching syntax however ("<...>") isn't quite the same.
It is more a property of the current language than of a particular
symbol's language.  We want to support this syntax when debugging an
Ada program, but it's reason of existence is to find non-Ada symbols.
This suggests going back to enabling it depending on current language
instead of language of the symbol being matched.

I'm not entirely happy with the "current_language" reference (though I
think that it's harmless).  I think we could try storing the current
language in the lookup_name_info object, and then convert a bunch of
functions more to pass around lookup_name_info objects instead of
"const char *" names.  I.e., build the lookup_name_info higher up.
I'm not sure about that, I'll have to think more about it.  Maybe
something different will be better.  Meanwhile, this gets us going.

I've extended the testcase to also exercise a no-debug-info function,
for extra coverage of the minsyms-only paths.

gdb/ChangeLog:
2018-01-10  Pedro Alves  <[hidden email]>

        PR gdb/22670
        * dwarf2read.c
        (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
        Adjust to use language_get_symbol_name_matcher instead of
        language_defn::la_get_symbol_name_matcher.
        * language.c (language_get_symbol_name_matcher): If in Ada mode
        and the lookup name is a verbatim match, return Ada's matcher.
        * language.h (language_get_symbol_name_matcher): Adjust comment.
        (ada_lookup_name_info::verbatim_p):: New method.

gdb/testsuite/ChangeLog:
2018-01-10  Pedro Alves  <[hidden email]>

        PR gdb/22670
        * gdb.ada/bp_c_mixed_case.exp: Add intro comment.  Test printing C
        functions too.  Test setting breakpoints and printing C functions
        with no debug info too.
        * gdb.ada/bp_c_mixed_case/qux.c: New file.
Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-i686, branch master

sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-3

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-i686/builds/8525>

Commit(s) tested:
        c63d3e8d12f0b08cda95f89aa13274defed215f0

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Ada: make verbatim matcher override other language matchers (PR gdb/22670)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-i686/c6/c63d3e8d12f0b08cda95f89aa13274defed215f0/>

*** Diff to previous build ***
============================
new FAIL: gdb.base/catch-syscall.exp: multiple targets: insert catch syscall on syscall 1 -- write on i386:x86-64
new FAIL: gdb.python/py-finish-breakpoint2.exp: set FinishBP after the exception
new FAIL: gdb.python/py-finish-breakpoint2.exp: check FinishBreakpoint in catch
new FAIL: gdb.python/py-finish-breakpoint2.exp: check finish BP removal
new FAIL: gdb.python/py-finish-breakpoint2.exp: continue to second exception
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=1: inferior 1 exited
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=0: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-i686/xfails/master/xfail;hb=e3bd253>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-i686/xfails/master/xfail.table;hb=e3bd253>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-native-extended-gdbserver-m32, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-native-extended-gdbserver-m32/builds/8490>

Commit(s) tested:
        c63d3e8d12f0b08cda95f89aa13274defed215f0

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Ada: make verbatim matcher override other language matchers (PR gdb/22670)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-native-extended-gdbserver-m32/c6/c63d3e8d12f0b08cda95f89aa13274defed215f0/>

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=0: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-native-extended-gdbserver-m32/xfails/master/xfail;hb=4a056df>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-native-extended-gdbserver-m32/xfails/master/xfail.table;hb=4a056df>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-native-extended-gdbserver-m64, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-3

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-native-extended-gdbserver-m64/builds/8529>

Commit(s) tested:
        c63d3e8d12f0b08cda95f89aa13274defed215f0

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Ada: make verbatim matcher override other language matchers (PR gdb/22670)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-native-extended-gdbserver-m64/c6/c63d3e8d12f0b08cda95f89aa13274defed215f0/>

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.threads/continue-pending-status.exp: no thread starvation
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=1: inferior 1 exited
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=0: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-native-extended-gdbserver-m64/xfails/master/xfail;hb=f51a767>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-native-extended-gdbserver-m64/xfails/master/xfail.table;hb=f51a767>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-native-gdbserver-m64, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-4

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-native-gdbserver-m64/builds/8484>

Commit(s) tested:
        c63d3e8d12f0b08cda95f89aa13274defed215f0

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Ada: make verbatim matcher override other language matchers (PR gdb/22670)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-native-gdbserver-m64/c6/c63d3e8d12f0b08cda95f89aa13274defed215f0/>

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=1: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-native-gdbserver-m64/xfails/master/xfail;hb=05dfcb4>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-native-gdbserver-m64/xfails/master/xfail.table;hb=05dfcb4>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-m32, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        fedora-x86-64-2

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Fedora-x86_64-m32/builds/8501>

Commit(s) tested:
        c63d3e8d12f0b08cda95f89aa13274defed215f0

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Ada: make verbatim matcher override other language matchers (PR gdb/22670)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-m32/c6/c63d3e8d12f0b08cda95f89aa13274defed215f0/>

*** Diff to previous build ***
============================
new FAIL: gdb.base/corefile.exp: core-file warning-free
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=1: inferior 1 exited
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=0: inferior 1 exited
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=0: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-m32/xfails/master/xfail;hb=93edd57>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Fedora-x86_64-m32/xfails/master/xfail.table;hb=93edd57>



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-AArch64-native-gdbserver-m64, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        ubuntu-aarch64-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Ubuntu-AArch64-native-gdbserver-m64/builds/3914>

Commit(s) tested:
        c63d3e8d12f0b08cda95f89aa13274defed215f0

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Ada: make verbatim matcher override other language matchers (PR gdb/22670)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-AArch64-native-gdbserver-m64/c6/c63d3e8d12f0b08cda95f89aa13274defed215f0/>

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=0: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch64-native-gdbserver-m64/xfails/master/xfail;hb=7b8f22d>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch64-native-gdbserver-m64/xfails/master/xfail.table;hb=7b8f22d>



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-AArch64-m64, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        ubuntu-aarch64-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Ubuntu-AArch64-m64/builds/3940>

Commit(s) tested:
        c63d3e8d12f0b08cda95f89aa13274defed215f0

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Ada: make verbatim matcher override other language matchers (PR gdb/22670)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-AArch64-m64/c6/c63d3e8d12f0b08cda95f89aa13274defed215f0/>

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/non-ldr-exit.exp: program exits normally
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch64-m64/xfails/master/xfail;hb=a85ec42>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch64-m64/xfails/master/xfail.table;hb=a85ec42>



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-AArch32-native-extended-gdbserver-m32, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        ubuntu-trusty-aarch32-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Ubuntu-AArch32-native-extended-gdbserver-m32/builds/2526>

Commit(s) tested:
        c63d3e8d12f0b08cda95f89aa13274defed215f0

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Ada: make verbatim matcher override other language matchers (PR gdb/22670)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-AArch32-native-extended-gdbserver-m32/c6/c63d3e8d12f0b08cda95f89aa13274defed215f0/>

*** Diff to previous build ***
============================
new KFAIL: gdb.base/step-over-syscall.exp: clone: displaced=on: single step over clone
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=0: wait for stops
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=3: wait for stops
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=4: wait for stops
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=5: wait for stops
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=15: wait for stops
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=16: wait for stops
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=17: wait for stops
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=0: inferior 1 exited
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: cond_bp_target=1: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

FAILURE TO OBTAIN THE COMMIT FOR THE XFAIL LIST.  PLEASE CONTACT THE BUILDBOT ADMIN.



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-AArch32-native-gdbserver-m32, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        ubuntu-trusty-aarch32-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Ubuntu-AArch32-native-gdbserver-m32/builds/2508>

Commit(s) tested:
        c63d3e8d12f0b08cda95f89aa13274defed215f0

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Ada: make verbatim matcher override other language matchers (PR gdb/22670)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-AArch32-native-gdbserver-m32/c6/c63d3e8d12f0b08cda95f89aa13274defed215f0/>

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=1: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch32-native-gdbserver-m32/xfails/master/xfail;hb=>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch32-native-gdbserver-m32/xfails/master/xfail.table;hb=>



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-AArch32-m32, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        ubuntu-trusty-aarch32-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Ubuntu-AArch32-m32/builds/2527>

Commit(s) tested:
        c63d3e8d12f0b08cda95f89aa13274defed215f0

Author(s) (in the same order as the commits):
        Pedro Alves <[hidden email]>

Subject:
        Ada: make verbatim matcher override other language matchers (PR gdb/22670)

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-AArch32-m32/c6/c63d3e8d12f0b08cda95f89aa13274defed215f0/>

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=on: cond_bp_target=0: inferior 1 exited
============================


*** Complete list of XFAILs for this builder ***

To obtain the list of XFAIL tests for this builder, go to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch32-m32/xfails/master/xfail;hb=>

You can also see a pretty-printed version of the list, with more information
about each XFAIL, by going to:

        <http://git.sergiodj.net/?p=gdb-xfails.git;a=blob;f=xfails/Ubuntu-AArch32-m32/xfails/master/xfail.table;hb=>