[binutils-gdb] opcodes/riscv: Hide '.L0 ' fake symbols

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

[binutils-gdb] opcodes/riscv: Hide '.L0 ' fake symbols

sergiodj+buildbot-2
*** TEST RESULTS FOR COMMIT 884b49e3a91504b9c5528343823d67f4419b73bb ***

Author: Andrew Burgess <[hidden email]>
Branch: master
Commit: 884b49e3a91504b9c5528343823d67f4419b73bb

opcodes/riscv: Hide '.L0 ' fake symbols

The RISC-V assembler generates fake labels with the name '.L0 ' as
part of the debug information (see
gas/config/tc-riscv.h:FAKE_LABEL_NAME).

The problem is that currently, when disassembling an object file, the
output looks like this (this is an example from the GDB testsuite, but
is pretty representative of anything with debug information):

  000000000000001e <main>:
    1e:   7179                    addi    sp,sp,-48
    20:   f406                    sd      ra,40(sp)
    22:   f022                    sd      s0,32(sp)
    24:   1800                    addi    s0,sp,48

  0000000000000026 <.L0 >:
    26:   87aa                    mv      a5,a0
    28:   feb43023                sd      a1,-32(s0)
    2c:   fcc43c23                sd      a2,-40(s0)
    30:   fef42623                sw      a5,-20(s0)

  0000000000000034 <.L0 >:
    34:   fec42783                lw      a5,-20(s0)
    38:   0007871b                sext.w  a4,a5
    3c:   678d                    lui     a5,0x3
    3e:   03978793                addi    a5,a5,57 # 3039 <.LASF30+0x2a9d>
    42:   02f71463                bne     a4,a5,6a <.L0 >

  0000000000000046 <.L0 >:
    46:   000007b7                lui     a5,0x0
    4a:   0007b783                ld      a5,0(a5) # 0 <need_malloc>
    4e:   6f9c                    ld      a5,24(a5)

  0000000000000050 <.L0 >:
    50:   86be                    mv      a3,a5
    52:   466d                    li      a2,27
    54:   4585                    li      a1,1
    56:   000007b7                lui     a5,0x0
    5a:   00078513                mv      a0,a5
    5e:   00000097                auipc   ra,0x0
    62:   000080e7                jalr    ra # 5e <.L0 +0xe>

  0000000000000066 <.L0 >:
    66:   4785                    li      a5,1
    68:   a869                    j       102 <.L0 >

  000000000000006a <.L0 >:
    6a:   000007b7                lui     a5,0x0
    6e:   00078513                mv      a0,a5
    72:   00000097                auipc   ra,0x0
    76:   000080e7                jalr    ra # 72 <.L0 +0x8>

The frequent repeated '.L0 ' labels are pointless, as they are
non-unique there's no way to match a use of '.L0 ' to its appearence
in the output, so we'd be better off just not printing it at all.
That's what this patch does by defining a 'symbol_is_valid' method for
RISC-V.  With this commit, the same disassembly now looks like this:

  000000000000001e <main>:
    1e:   7179                    addi    sp,sp,-48
    20:   f406                    sd      ra,40(sp)
    22:   f022                    sd      s0,32(sp)
    24:   1800                    addi    s0,sp,48
    26:   87aa                    mv      a5,a0
    28:   feb43023                sd      a1,-32(s0)
    2c:   fcc43c23                sd      a2,-40(s0)
    30:   fef42623                sw      a5,-20(s0)
    34:   fec42783                lw      a5,-20(s0)
    38:   0007871b                sext.w  a4,a5
    3c:   678d                    lui     a5,0x3
    3e:   03978793                addi    a5,a5,57 # 3039 <.LASF30+0x2a9d>
    42:   02f71463                bne     a4,a5,6a <.L4>
    46:   000007b7                lui     a5,0x0
    4a:   0007b783                ld      a5,0(a5) # 0 <need_malloc>
    4e:   6f9c                    ld      a5,24(a5)
    50:   86be                    mv      a3,a5
    52:   466d                    li      a2,27
    54:   4585                    li      a1,1
    56:   000007b7                lui     a5,0x0
    5a:   00078513                mv      a0,a5
    5e:   00000097                auipc   ra,0x0
    62:   000080e7                jalr    ra # 5e <main+0x40>
    66:   4785                    li      a5,1
    68:   a869                    j       102 <.L5>

  000000000000006a <.L4>:
    6a:   000007b7                lui     a5,0x0
    6e:   00078513                mv      a0,a5
    72:   00000097                auipc   ra,0x0
    76:   000080e7                jalr    ra # 72 <.L4+0x8>

In order to share the fake label between the assembler and the
libopcodes library, I've added some new defines RISCV_FAKE_LABEL_NAME
and RISCV_FAKE_LABEL_CHAR in include/opcode/riscv.h.  I could have
just moved FAKE_LABEL_NAME to the include file, however, I thnk this
would be confusing, someone working on the assembler would likely not
expect to find FAKE_LABEL_NAME defined outside of the assembler source
tree.  By introducing the RISCV_FAKE_LABEL_* defines I can leave the
assembler standard FAKE_LABEL_ defines in the assembler source, but
still share the RISCV_FAKE_LABEL_* with libopcodes.

gas/ChangeLog:

        * config/tc-riscv.h (FAKE_LABEL_NAME): Define as
        RISCV_FAKE_LABEL_NAME.
        (FAKE_LABEL_CHAR): Define as RISCV_FAKE_LABEL_CHAR.

include/ChangeLog:

        * dis-asm.h (riscv_symbol_is_valid): Declare.
        * opcode/riscv.h (RISCV_FAKE_LABEL_NAME): Define.
        (RISCV_FAKE_LABEL_CHAR): Define.

opcodes/ChangeLog:

        * disassembler.c (disassemble_init_for_target): Add RISC-V
        initialisation.
        * riscv-dis.c (riscv_symbol_is_valid): New function.
Reply | Threaded
Open this post in threaded view
|

Failures on RHEL-s390x-m64, branch master

sergiodj+buildbot-2
Buildslave:
        rhel-7_1-s390x-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/RHEL-s390x-m64/builds/8886>

Commit(s) tested:
        884b49e3a91504b9c5528343823d67f4419b73bb

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

Subject:
        opcodes/riscv: Hide '.L0 ' fake symbols

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/RHEL-s390x-m64/88/884b49e3a91504b9c5528343823d67f4419b73bb/>

*** Diff to previous build ***
============================
new FAIL: gdb.threads/interrupt-while-step-over.exp: displaced-stepping=off: iter=14: wait for stops
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:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/RHEL-s390x-m64/xfails/master/xfail?id=e8b4bade>

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

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/RHEL-s390x-m64/xfails/master/xfail.table?id=e8b4bade>



Reply | Threaded
Open this post in threaded view
|

Failures on Debian-s390x-native-extended-gdbserver-m64, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        debian-jessie-s390x-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Debian-s390x-native-extended-gdbserver-m64/builds/7192>

Commit(s) tested:
        884b49e3a91504b9c5528343823d67f4419b73bb

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

Subject:
        opcodes/riscv: Hide '.L0 ' fake symbols

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Debian-s390x-native-extended-gdbserver-m64/88/884b49e3a91504b9c5528343823d67f4419b73bb/>

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.base/reread-readsym.exp: source reread-readsym.gdb 1
============================


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

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

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Debian-s390x-native-extended-gdbserver-m64/xfails/master/xfail?id=7e6e0858>

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

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Debian-s390x-native-extended-gdbserver-m64/xfails/master/xfail.table?id=7e6e0858>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-cc-with-index, 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-cc-with-index/builds/11514>

Commit(s) tested:
        884b49e3a91504b9c5528343823d67f4419b73bb

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

Subject:
        opcodes/riscv: Hide '.L0 ' fake symbols

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-cc-with-index/88/884b49e3a91504b9c5528343823d67f4419b73bb/>

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/non-ldr-exit.exp: program exits normally
PASS -> KFAIL: gdb.threads/process-dies-while-handling-bp.exp: non_stop=off: 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 ***

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

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-cc-with-index/xfails/master/xfail?id=13939aff>

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

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-cc-with-index/xfails/master/xfail.table?id=13939aff>



Reply | Threaded
Open this post in threaded view
|

Failures on Ubuntu-Aarch64-native-extended-gdbserver-m64, branch master

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

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

Commit(s) tested:
        884b49e3a91504b9c5528343823d67f4419b73bb

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

Subject:
        opcodes/riscv: Hide '.L0 ' fake symbols

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-Aarch64-native-extended-gdbserver-m64/88/884b49e3a91504b9c5528343823d67f4419b73bb/>




Reply | Threaded
Open this post in threaded view
|

Failures on Debian-s390x-native-gdbserver-m64, branch master

sergiodj+buildbot-2
In reply to this post by sergiodj+buildbot-2
Buildslave:
        debian-jessie-s390x-1

Full Build URL:
        <http://gdb-build.sergiodj.net/builders/Debian-s390x-native-gdbserver-m64/builds/7049>

Commit(s) tested:
        884b49e3a91504b9c5528343823d67f4419b73bb

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

Subject:
        opcodes/riscv: Hide '.L0 ' fake symbols

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Debian-s390x-native-gdbserver-m64/88/884b49e3a91504b9c5528343823d67f4419b73bb/>

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.linespec/cpls-abi-tag.exp: test_abi_tag: completion: at tag: tab complete "b test_abi_tag_function[abi:"
============================


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

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

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Debian-s390x-native-gdbserver-m64/xfails/master/xfail?id=19e746c0>

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

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Debian-s390x-native-gdbserver-m64/xfails/master/xfail.table?id=19e746c0>



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-1

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

Commit(s) tested:
        884b49e3a91504b9c5528343823d67f4419b73bb

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

Subject:
        opcodes/riscv: Hide '.L0 ' fake symbols

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

*** Diff to previous build ***
============================
PASS -> FAIL: gdb.base/source.exp: script contains error
PASS -> UNRESOLVED: gdb.threads/attach-into-signal.exp: threaded: attach
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:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-native-extended-gdbserver-m64/xfails/master/xfail?id=d67b7e56>

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

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-native-extended-gdbserver-m64/xfails/master/xfail.table?id=d67b7e56>



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-2

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

Commit(s) tested:
        884b49e3a91504b9c5528343823d67f4419b73bb

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

Subject:
        opcodes/riscv: Hide '.L0 ' fake symbols

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




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:
        ubuntu16-aarch64

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

Commit(s) tested:
        884b49e3a91504b9c5528343823d67f4419b73bb

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

Subject:
        opcodes/riscv: Hide '.L0 ' fake symbols

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-Aarch64-native-gdbserver-m64/88/884b49e3a91504b9c5528343823d67f4419b73bb/>




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-3

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

Commit(s) tested:
        884b49e3a91504b9c5528343823d67f4419b73bb

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

Subject:
        opcodes/riscv: Hide '.L0 ' fake symbols

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

*** 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:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-native-gdbserver-m64/xfails/master/xfail?id=db8de2a6>

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

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-native-gdbserver-m64/xfails/master/xfail.table?id=db8de2a6>



Reply | Threaded
Open this post in threaded view
|

Failures on Fedora-x86_64-m64, 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-m64/builds/11654>

Commit(s) tested:
        884b49e3a91504b9c5528343823d67f4419b73bb

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

Subject:
        opcodes/riscv: Hide '.L0 ' fake symbols

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Fedora-x86_64-m64/88/884b49e3a91504b9c5528343823d67f4419b73bb/>

*** Diff to previous build ***
============================
PASS -> KFAIL: gdb.threads/non-ldr-exit.exp: program exits normally
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=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:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-m64/xfails/master/xfail?id=cdf6907c>

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

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-m64/xfails/master/xfail.table?id=cdf6907c>



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:
        ubuntu16-aarch64

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

Commit(s) tested:
        884b49e3a91504b9c5528343823d67f4419b73bb

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

Subject:
        opcodes/riscv: Hide '.L0 ' fake symbols

Testsuite log (gdb.sum and gdb.log) URL(s):
        <http://gdb-build.sergiodj.net/results/Ubuntu-Aarch64-m64/88/884b49e3a91504b9c5528343823d67f4419b73bb/>

*** 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:

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Ubuntu-Aarch64-m64/xfails/master/xfail?id=60187cc3>

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

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Ubuntu-Aarch64-m64/xfails/master/xfail.table?id=60187cc3>



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-1

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

Commit(s) tested:
        884b49e3a91504b9c5528343823d67f4419b73bb

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

Subject:
        opcodes/riscv: Hide '.L0 ' fake symbols

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

*** Diff to previous build ***
============================
new FAIL: gdb.base/corefile.exp: core-file warning-free
============================


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

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

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-m32/xfails/master/xfail?id=4e4add6c>

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

        <https://git.sergiodj.net/gdb-xfails.git/tree/xfails/Fedora-x86_64-m32/xfails/master/xfail.table?id=4e4add6c>