[all-commits] [llvm/llvm-project] 4706a6: [lldb] [testsuite] Fix Linux fail: Unwind/thread-s...

Jan Kratochvil via All-commits all-commits at lists.llvm.org
Sat Dec 21 02:30:30 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 4706a60e8a071f0c6a686c45ed08c7bab0bb8446
      https://github.com/llvm/llvm-project/commit/4706a60e8a071f0c6a686c45ed08c7bab0bb8446
  Author: Jan Kratochvil <jan.kratochvil at redhat.com>
  Date:   2019-12-21 (Sat, 21 Dec 2019)

  Changed paths:
    M lldb/test/Shell/Unwind/Inputs/thread-step-out-ret-addr-check.s
    M lldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test

  Log Message:
  -----------
  [lldb] [testsuite] Fix Linux fail: Unwind/thread-step-out-ret-addr-check.test

D71372 introduced: `Unwind/thread-step-out-ret-addr-check.test` failing on
Fedora 30 Linux x86_64.
  [lldb] Add additional validation on return address in 'thread step-out'
  https://reviews.llvm.org/D71372

One problem is the underscored `_nonstandard_stub` in the `.s` file but not in
the LLDB command:
  (lldb) breakpoint set -n nonstandard_stub
  Breakpoint 1: no locations (pending).
  WARNING:  Unable to resolve breakpoint to any actual locations.
  (lldb) process launch
  Process 21919 exited with status = 0 (0x00000000)
  Process 21919 launched: '/home/jkratoch/redhat/llvm-monorepo-clangassert/tools/lldb/test/Unwind/Output/thread-step-out-ret-addr-check.test.tmp' (x86_64)
  (lldb) thread step-out
  error: invalid thread
  (lldb) _

Another problem is that Fedora Linux has executable stack by default and all
programs indicate non-executable stack by `PT_GNU_STACK`, after fixing the
underscore I was getting:
  (lldb) thread step-out
  Process 22294 exited with status = 0 (0x00000000)
  (lldb) _

A different approach was tried as:
  [lldb] Refactor thread-step-out-ret-addr-check test to use .data instead of stack variable
  https://reviews.llvm.org/D71789

Differential revision: https://reviews.llvm.org/D71784




More information about the All-commits mailing list