gdb/python: fix invalid use disassemble_info::stream
authorAndrew Burgess <aburgess@redhat.com>
Wed, 20 Jul 2022 12:57:08 +0000 (13:57 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Mon, 25 Jul 2022 18:26:24 +0000 (19:26 +0100)
commit23aa2befce75966acd388b810e139922857533fa
tree0b53ae068688c12f313eef7065fab9c0b9b33326
parent554128418b4f1328bb956d5926f24bfd56fd45ea
gdb/python: fix invalid use disassemble_info::stream

After this commit:

  commit 81384924cdcc9eb2676dd9084b76845d7d0e0759
  Date:   Tue Apr 5 11:06:16 2022 +0100

      gdb: have gdb_disassemble_info carry 'this' in its stream pointer

The disassemble_info::stream field will no longer be a ui_file*.  That
commit failed to update one location in py-disasm.c though.

While running some tests using the Python disassembler API, I
triggered a call to gdbpy_disassembler::print_address_func, and, as I
had compiled GDB with the undefined behaviour sanitizer, GDB crashed
as the code currently (incorrectly) casts the stream field to be a
ui_file*.

In this commit I fix this error.

In order to test this case I had to tweak the existing test case a
little.  I also spotted some debug printf statements in py-disasm.py,
which I have removed.
gdb/python/py-disasm.c
gdb/testsuite/gdb.python/py-disasm.c
gdb/testsuite/gdb.python/py-disasm.exp
gdb/testsuite/gdb.python/py-disasm.py