[all-commits] [llvm/llvm-project] e154cb: [lldb/testsuite] XFail TestBuiltinTrap.py not only...

fredriss via All-commits all-commits at lists.llvm.org
Thu Mar 19 08:27:02 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e154cbb124a63057356dede8bca5bdbd2f60d44c
      https://github.com/llvm/llvm-project/commit/e154cbb124a63057356dede8bca5bdbd2f60d44c
  Author: Fred Riss <friss at apple.com>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M lldb/test/API/linux/builtin_trap/TestBuiltinTrap.py

  Log Message:
  -----------
  [lldb/testsuite] XFail TestBuiltinTrap.py not only on linux

Summary:
TestBuiltinTrap fail on darwin embedded because the `__builin_trap`
builtin doesn't get any line info attached to it by clang when
building for arm64.

The test was already XFailed for linux arm(64), I presume for the same
reasons. This patch just XFails it independently of the platform.

Reviewers: labath

Subscribers: kristof.beyls, danielkiss, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D76408


  Commit: ecc6c426977f59f69b683d67ceb3157fb694ce09
      https://github.com/llvm/llvm-project/commit/ecc6c426977f59f69b683d67ceb3157fb694ce09
  Author: Fred Riss <friss at apple.com>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M lldb/test/API/functionalities/inline-stepping/calling.cpp

  Log Message:
  -----------
  [lldb/testsuite] Fix TestInlineStepping on arm64 with newer compilers

Summary:
TestInlineStepping tests LLDB's ability to step in the presence of
inline frames. The testcase source has a number of functions and some
of them are marked `always_inline`.

The test is built around the assumption that the inline function will
be fully represented once inlined, but this is not true with the
current arm64 code generation. For example:

void caller() {
     always_inline_function(); // Step here
}

When stppeing into `caller()` above, you might immediatly end up in
the inlines frame for `always_inline_function()`, because there might
literally be no code associated with `caller()` itself.

This patch hacks around the issue by adding an `asm volatile("nop")`
on some lines with inlined calls where we expect to be able to
step. Like so:

void caller() {
     asm volatile("nop"); always_inline_function(); // Step here
}

This guarantees there is always going to be one instruction for this
line in the caller.

Reviewers: labath, jingham

Subscribers: kristof.beyls, danielkiss, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D76406


  Commit: 8758d02074be7b80b804fad19e8b7de6ebd43c31
      https://github.com/llvm/llvm-project/commit/8758d02074be7b80b804fad19e8b7de6ebd43c31
  Author: Fred Riss <friss at apple.com>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M lldb/test/API/functionalities/process_crash_info/TestProcessCrashInfo.py

  Log Message:
  -----------
  [lldb/testsuite] Skip part of TestProcessCrashInfo.py on Darwin embedded

See https://reviews.llvm.org/D76407 for discussion.


Compare: https://github.com/llvm/llvm-project/compare/d0fb6879c37d...8758d02074be


More information about the All-commits mailing list