[PATCH v4 00/15] Clean gdb.base when testing with clang

Bruno Larsen blarsen@redhat.com
Wed Jul 20 19:44:25 GMT 2022


When testing GDB with clang, gdb.base had over 50 more failures than when
testing with gcc.  Examining the failed tests led to a few clang bugs, a
few GDB bugs, and many testsuite assumptions that could be changed.

After this patch series, nothing should be changed for testing with gcc,
and testing with clang should only show non-trivial failures for
maint.exp and macscp.exp, along with the same GCC failures.

Changes in v4:
    * Added new test to step through a function's epoligue
    * renamed gdb_step_until_regexp -> gdb_step_until
    * small style and wording changes in patches 1 and 2
    * Dropped patch 3 - no longer necessary
    * patch 4 was reworked based on Andrew's suggestion
small note, Andrew has OK'd patched 5 and 6 (currently 4 and 5) in v3;

Changes in v3:
    * Fixed some issues that only showed up on CXX_FOR_TARGET=clang
    * rebased on current master

Changes in v2:
    * Introduced gdb_step_until_regexp, based on Pedro's and Andrew's suggestions
    * reworked fixes for: skip.exp, skip-solib.exp and msym-bp-shl.exp
    * Used Pedro's suggestion for call-ar-st
    * reordered patches slightly

Bruno Larsen (15):
  gdb/testsuite: introduce gdb_step_until
  gdb/testsuite: Add a proc to test where compiler links the epilogue
  Change gdb.base/skip-solib.exp deal with lack of epilogue information
  gdb/testsuite: change gdb.base/nodebug.exp to not fail with clang
  update gdb.base/info-program.exp to not fail with clang
  fix gdb.base/access-mem-running.exp for clang testing
  Fix gdb.base/call-ar-st to work with Clang
  add xfails to gdb.base/complex-parts.exp when testing with clang
  gdb/testsuite: fix gdb.base/msym-bp-shl when running with Clang
  explicitly test for stderr in gdb.base/dprintf.exp
  gdb/testsuite: Update gdb.base/so-impl-ld.exp
  [gdb/testsuite]: fix gdb.base/jit-elf.exp when testing with clang
  gdb/testsuite: fix gdb.base/info-types-c++ with clang
  gdb.base/skip.exp: Use finish to exit functions
  gdb/testsuite: Add test to step through function epilogue

 gdb/testsuite/gdb.base/access-mem-running.c   |   2 +-
 gdb/testsuite/gdb.base/call-ar-st.exp         |  13 ++-
 gdb/testsuite/gdb.base/complex-parts.exp      |   5 +
 gdb/testsuite/gdb.base/dprintf.exp            |  10 ++
 gdb/testsuite/gdb.base/info-program.exp       |   2 +-
 gdb/testsuite/gdb.base/info-types.exp.tcl     | 109 ++++++++++++------
 gdb/testsuite/gdb.base/jit-elf.exp            |   2 +-
 gdb/testsuite/gdb.base/msym-bp-shl.exp        |   8 ++
 gdb/testsuite/gdb.base/nodebug.exp            |  12 +-
 gdb/testsuite/gdb.base/skip-inline.exp        |  23 ++--
 gdb/testsuite/gdb.base/skip-solib-lib.c       |   3 +-
 gdb/testsuite/gdb.base/skip-solib-main.c      |   3 +-
 gdb/testsuite/gdb.base/skip-solib.exp         |  12 +-
 gdb/testsuite/gdb.base/skip.exp               |  32 +++--
 gdb/testsuite/gdb.base/so-impl-ld.exp         |  13 +--
 gdb/testsuite/gdb.base/solib1.c               |   5 +-
 .../gdb.base/step-through-epilogue.c          |  15 +++
 .../gdb.base/step-through-epilogue.exp        |  86 ++++++++++++++
 gdb/testsuite/lib/gdb.exp                     |  62 ++++++++++
 19 files changed, 334 insertions(+), 83 deletions(-)
 create mode 100644 gdb/testsuite/gdb.base/step-through-epilogue.c
 create mode 100644 gdb/testsuite/gdb.base/step-through-epilogue.exp

-- 
2.31.1



More information about the Gdb-patches mailing list