GDB test suite & debug info validation

Hi guys,

[mostly directed at Eric & Nick who I've talked to a bit about this
before & seem to be the ones most involved in this aspect of LLVM &
Clang (I've only included cfe-dev at the moment, if anyone feels
this'd be more appropriate spread over llvm-dev too, or instead, or
just taken off-list with relevant parties, let me know)]

I'm interested in getting some kind of continuous debug info
validation going as well as something locally-runnable for push-button
execution when iterating locally.

Eric - you mentioned you guys had some amount of gdb test suite
execution going on? Could you point me to any upstream/public
artifacts of that implementation. I got the impression this was a
buildbot sort of situation & not a convenient locally
runnable/iterative setup? Also getting some more recent (>4.2) suites
running somewhere was mentioned - I figure once I can repro your
current setup I can see about substituting in other suites.

Nick - any particular gripes/requests/pointers about where I should be
looking in this space?

Thanks,
- David

Hi guys,

[mostly directed at Eric & Nick who I've talked to a bit about this
before & seem to be the ones most involved in this aspect of LLVM &
Clang (I've only included cfe-dev at the moment, if anyone feels
this'd be more appropriate spread over llvm-dev too, or instead, or
just taken off-list with relevant parties, let me know)]

I'm interested in getting some kind of continuous debug info
validation going as well as something locally-runnable for push-button
execution when iterating locally.

Yay!

Eric - you mentioned you guys had some amount of gdb test suite
execution going on? Could you point me to any upstream/public
artifacts of that implementation. I got the impression this was a
buildbot sort of situation & not a convenient locally
runnable/iterative setup? Also getting some more recent (>4.2) suites
running somewhere was mentioned - I figure once I can repro your
current setup I can see about substituting in other suites.

The testsuite is located here:

https://$USER@llvm.org/svn/llvm-project/clang-tests/trunk

and works via 'make' in the gdb-1472-testsuite directory with this patch:

Index: gdb-1472-testsuite/Makefile

[+Galina for discussions of lab/buildbot stuff]

Hi guys,

[mostly directed at Eric & Nick who I've talked to a bit about this
before & seem to be the ones most involved in this aspect of LLVM &
Clang (I've only included cfe-dev at the moment, if anyone feels
this'd be more appropriate spread over llvm-dev too, or instead, or
just taken off-list with relevant parties, let me know)]

I'm interested in getting some kind of continuous debug info
validation going as well as something locally-runnable for push-button
execution when iterating locally.

Yay!

Eric - you mentioned you guys had some amount of gdb test suite
execution going on? Could you point me to any upstream/public
artifacts of that implementation. I got the impression this was a
buildbot sort of situation & not a convenient locally
runnable/iterative setup? Also getting some more recent (>4.2) suites
running somewhere was mentioned - I figure once I can repro your
current setup I can see about substituting in other suites.

The testsuite is located here:

https://$USER@llvm.org/svn/llvm-project/clang-tests/trunk

and works via 'make' in the gdb-1472-testsuite directory with this patch:

Index: gdb-1472-testsuite/Makefile

--- gdb-1472-testsuite/Makefile (revision 160058)
+++ gdb-1472-testsuite/Makefile (working copy)
@@ -5,8 +5,8 @@
objdir := $(shell pwd)/obj

CCC_ADD_ARGS := -Qunused-arguments,-std-default=gnu89,-fblocks,-Wno-return-type,-Wno-unused-value,-Wno-switch-enum,-Wno-implicit-int,-Wno-incompatible-pointer-types,-Wno-switch
-CC_UNDER_TEST := /Developer/usr/bin/clang
-CXX_UNDER_TEST := /Developer/usr/bin/clang++
+CC_UNDER_TEST := clang
+CXX_UNDER_TEST := clang++
CC_UNDER_TEST_FLAGS :=
CXX_UNDER_TEST_FLAGS :=

(otherwise it obviously runs against the installed clang)

there are a bunch of known failures (see the FAIL.txt) file under expected results. Not all of these are "expected to fail and not our fault", but they're "expected" at the moment - depending on host OS.

It's just also run by the buildbot and the buildbot compares against that file to determine whether or not we have something new failing at the bot level. But yes, a newer gdb and testsuite is among my fondest desires here - at least knowing if something is failing for someone else would be good.

Thanks for all the details. Is there any reason (other than (probably
human) resource constraints) that this isn't running in the lab?

If not, I'd be happy to look into getting that setup (& then probably
getting a more recent gdb suite (probably on linux) going as well) in
the llvm lab space if I could get access to some hardware to run it
on.

Thanks,
- David

There's definitely nothing internal to Apple related for it so it should work on darwin out of the box. The testsuite is going to be fairly darwin specific so it'd should get changed for linux runs.

-eric