This is an archive of the discontinued LLVM Phabricator instance.

[XRay] [compiler-rt] Mark arg1 logging test as failing on !x86_64.
ClosedPublic

Authored by pelikan on Mar 6 2017, 1:31 AM.

Diff Detail

Repository
rL LLVM

Event Timeline

pelikan created this revision.Mar 6 2017, 1:31 AM
sdardis added a subscriber: sdardis.Mar 6 2017, 3:53 AM

I'm seeing this test fail on x86_64 debian linux; http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-debian-fast/builds/2390/

Should this test be temporarily XFAIL'd for all targets for the moment?

Apparently the Debian failure is due to http://bugs.llvm.org/show_bug.cgi?id=32148 - you can see it failing on the verbosity=1 expected CHECK printf in all tests, not just arg1-related. It's unfortunate, but unrelated to this.

dberris edited edge metadata.Mar 6 2017, 2:53 PM

@sdardis -- that looks like something else, let me have a look. The unit test directory definitely shouldn't be empty.

@timshen -- do you know whether this is the correct architecture for powerpc? Does this need to be powerpc64el?

timshen edited edge metadata.Mar 6 2017, 3:34 PM

Should be powerpc64le for ppc.

pelikan updated this revision to Diff 90763.EditedMar 6 2017, 4:16 PM
  • fix powerpc64le to actually work

(is it worth renaming the files so that they match the names used within?)

sdardis added inline comments.Mar 6 2017, 4:24 PM
test/xray/TestCases/Linux/arg1-logger.cc
12 ↗(On Diff #90659)

I believe this may require 'mipsel || mips64el' as well.

pelikan updated this revision to Diff 90778.Mar 6 2017, 6:49 PM
pelikan marked an inline comment as done.
  • fix XFAIL according to what greps out of the LLVM repo
pelikan added inline comments.Mar 6 2017, 6:50 PM
test/xray/TestCases/Linux/arg1-logger.cc
12 ↗(On Diff #90659)

Not according to grep -r. I can see "powerpc64", "mips", "target-is-mips64" and "target-is-mips64el" and then triples. In the LLVM repo, however, I can see "powerpc64-", "mips-" and "mips64-". Fixed according to that.

dberris added inline comments.Mar 6 2017, 6:52 PM
test/xray/TestCases/Linux/arg1-logger.cc
12 ↗(On Diff #90659)

Please look in compiler-rt, because the settings are different (these are deduced differently from the CMake set-up).

pelikan updated this revision to Diff 90785.Mar 6 2017, 7:53 PM
pelikan marked an inline comment as done.
  • follow compiler-rt XFAIL grep key words, not LLVM's
test/xray/TestCases/Linux/arg1-logger.cc
12 ↗(On Diff #90659)

Fair enough. I've put the keywords I was able to grep, still not knowing where do they come from.

pelikan updated this revision to Diff 90788.Mar 6 2017, 8:31 PM
pelikan marked an inline comment as done.
  • finally use something that will work based on LIT's unit tests
test/xray/TestCases/Linux/arg1-logger.cc
12 ↗(On Diff #90659)

timshen went digging and found BooleanExpression.py in lit's directory. That has a unit test matching a triple for prefixes witch should work. Therefore, leaving "mips || powerpc" as it's the simplest and most obvious.

Thanks, Tim, for all the effort!

For compiler-rt, the architecture is determined by CMake and is used to inform the lit config in test/lit.common.configured.in -- so you'll find the list of architectures in compiler-rt that are enumerated in cmake/config-ix.cmake. There's a list of architectures there, and you'll see things like the following spelled: mipsel, mips64el, powerpc64, powerpc64le. You then need to know which architectures the XRay tests are actually enabled, and where they're running. As far as I can tell they are in cmake/config-ix.cmake as well. The list is:

set(ALL_XRAY_SUPPORTED_ARCH ${X86_64} ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} powerpc64le)

Does this make it clearer?

dberris accepted this revision.Mar 7 2017, 3:15 PM

I'll land this to see whether it stops the bleeding on PPC at least.

This revision is now accepted and ready to land.Mar 7 2017, 3:15 PM
This revision was automatically updated to reflect the committed changes.