linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: linux-kernel@vger.kernel.org
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	David Ahern <dsahern@gmail.com>, Jiri Olsa <jolsa@redhat.com>
Subject: [PATCH 44/52] tools/perf/build: Clean up various testcases
Date: Tue,  8 Oct 2013 12:11:14 +0200	[thread overview]
Message-ID: <1381227082-22039-45-git-send-email-mingo@kernel.org> (raw)
In-Reply-To: <1381227082-22039-1-git-send-email-mingo@kernel.org>

Prepare to include them into test-all.c directly, by making sure
that they build cleanly and without warnings.

Also make sure they make a certain amount of sense and don't crash
when executed.

Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/n/tip-Mn9gsdutzopoowk3xurqpsxE@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 tools/perf/config/feature-checks/test-backtrace.c      |  8 ++++++--
 tools/perf/config/feature-checks/test-cplus-demangle.c |  9 +++++++--
 tools/perf/config/feature-checks/test-gtk2-infobar.c   |  3 ++-
 tools/perf/config/feature-checks/test-gtk2.c           |  2 +-
 tools/perf/config/feature-checks/test-libaudit.c       |  2 ++
 tools/perf/config/feature-checks/test-libbfd.c         | 11 ++++++++++-
 tools/perf/config/feature-checks/test-libunwind.c      |  9 ++++++++-
 tools/perf/config/feature-checks/test-on-exit.c        | 11 ++++++++++-
 8 files changed, 46 insertions(+), 9 deletions(-)

diff --git a/tools/perf/config/feature-checks/test-backtrace.c b/tools/perf/config/feature-checks/test-backtrace.c
index 5b79468..5b33bcf 100644
--- a/tools/perf/config/feature-checks/test-backtrace.c
+++ b/tools/perf/config/feature-checks/test-backtrace.c
@@ -3,8 +3,12 @@
 
 int main(void)
 {
-	backtrace(NULL, 0);
-	backtrace_symbols(NULL, 0);
+	void *backtrace_fns[10];
+	size_t entries;
+
+	entries = backtrace(backtrace_fns, 10);
+	backtrace_symbols_fd(backtrace_fns, entries, 1);
 
 	return 0;
 }
+
diff --git a/tools/perf/config/feature-checks/test-cplus-demangle.c b/tools/perf/config/feature-checks/test-cplus-demangle.c
index 5202f50..ab29f80 100644
--- a/tools/perf/config/feature-checks/test-cplus-demangle.c
+++ b/tools/perf/config/feature-checks/test-cplus-demangle.c
@@ -1,9 +1,14 @@
-
+extern int printf(const char *format, ...);
 extern char *cplus_demangle(const char *, int);
 
 int main(void)
 {
-	cplus_demangle(0, 0);
+	char symbol[4096] = "FieldName__9ClassNameFd";
+	char *tmp;
+
+	tmp = cplus_demangle(symbol, 0);
+
+	printf("demangled symbol: {%s}\n", tmp);
 
 	return 0;
 }
diff --git a/tools/perf/config/feature-checks/test-gtk2-infobar.c b/tools/perf/config/feature-checks/test-gtk2-infobar.c
index eebcfbc..397b464 100644
--- a/tools/perf/config/feature-checks/test-gtk2-infobar.c
+++ b/tools/perf/config/feature-checks/test-gtk2-infobar.c
@@ -2,8 +2,9 @@
 #include <gtk/gtk.h>
 #pragma GCC diagnostic error "-Wstrict-prototypes"
 
-int main(void)
+int main(int argc, char *argv[])
 {
+	gtk_init(&argc, &argv);
 	gtk_info_bar_new();
 
 	return 0;
diff --git a/tools/perf/config/feature-checks/test-gtk2.c b/tools/perf/config/feature-checks/test-gtk2.c
index 1ac6d8a..6bd80e5 100644
--- a/tools/perf/config/feature-checks/test-gtk2.c
+++ b/tools/perf/config/feature-checks/test-gtk2.c
@@ -4,7 +4,7 @@
 
 int main(int argc, char *argv[])
 {
-        gtk_init(&argc, &argv);
+	gtk_init(&argc, &argv);
 
         return 0;
 }
diff --git a/tools/perf/config/feature-checks/test-libaudit.c b/tools/perf/config/feature-checks/test-libaudit.c
index 854a65d..f7e791e 100644
--- a/tools/perf/config/feature-checks/test-libaudit.c
+++ b/tools/perf/config/feature-checks/test-libaudit.c
@@ -1,5 +1,7 @@
 #include <libaudit.h>
 
+extern int printf(const char *format, ...);
+
 int main(void)
 {
 	printf("error message: %s\n", audit_errno_to_name(0));
diff --git a/tools/perf/config/feature-checks/test-libbfd.c b/tools/perf/config/feature-checks/test-libbfd.c
index d03339c..1886c78 100644
--- a/tools/perf/config/feature-checks/test-libbfd.c
+++ b/tools/perf/config/feature-checks/test-libbfd.c
@@ -1,7 +1,16 @@
 #include <bfd.h>
 
+extern int printf(const char *format, ...);
+
 int main(void)
 {
-	bfd_demangle(0, 0, 0);
+	char symbol[4096] = "FieldName__9ClassNameFd";
+	char *tmp;
+
+	tmp = bfd_demangle(0, symbol, 0);
+
+	printf("demangled symbol: {%s}\n", tmp);
+
 	return 0;
 }
+
diff --git a/tools/perf/config/feature-checks/test-libunwind.c b/tools/perf/config/feature-checks/test-libunwind.c
index 5622746..43b9369 100644
--- a/tools/perf/config/feature-checks/test-libunwind.c
+++ b/tools/perf/config/feature-checks/test-libunwind.c
@@ -10,11 +10,18 @@ extern int UNW_OBJ(dwarf_search_unwind_table) (unw_addr_space_t as,
 
 #define dwarf_search_unwind_table UNW_OBJ(dwarf_search_unwind_table)
 
+static unw_accessors_t accessors;
+
 int main(void)
 {
 	unw_addr_space_t addr_space;
-	addr_space = unw_create_addr_space(NULL, 0);
+
+	addr_space = unw_create_addr_space(&accessors, 0);
+	if (addr_space)
+		return 0;
+
 	unw_init_remote(NULL, addr_space, NULL);
 	dwarf_search_unwind_table(addr_space, 0, NULL, NULL, 0, NULL);
+
 	return 0;
 }
diff --git a/tools/perf/config/feature-checks/test-on-exit.c b/tools/perf/config/feature-checks/test-on-exit.c
index 473f1de..8f64ed3 100644
--- a/tools/perf/config/feature-checks/test-on-exit.c
+++ b/tools/perf/config/feature-checks/test-on-exit.c
@@ -1,6 +1,15 @@
 #include <stdio.h>
 
+static void exit_fn(int status, void *__data)
+{
+	printf("exit status: %d, data: %d\n", status, *(int *)__data);
+}
+
+static int data = 123;
+
 int main(void)
 {
-	return on_exit(NULL, NULL);
+	on_exit(exit_fn, &data);
+
+	return 321;
 }
-- 
1.8.3.1


  parent reply	other threads:[~2013-10-08 10:16 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-08 10:10 [PATCH -v2 00/52] tools/perf: Speed up the build system Ingo Molnar
2013-10-08 10:10 ` [PATCH 01/52] tools/perf: Standardize feature support define names to: HAVE_{FEATURE}_SUPPORT Ingo Molnar
2013-10-08 10:10 ` [PATCH 02/52] tools/perf/build: Add feature check core code Ingo Molnar
2013-10-10  5:42   ` Namhyung Kim
2013-10-10  7:21     ` Ingo Molnar
2013-10-10  8:22       ` Namhyung Kim
2013-10-08 10:10 ` [PATCH 03/52] tools/perf/build: Add 'autodep' functionality, generate feature test dependencies automatically Ingo Molnar
2013-10-10  5:44   ` Namhyung Kim
2013-10-10  7:12     ` Ingo Molnar
2013-10-10  7:12     ` [PATCH] tools/perf/build: Simplify the autodep inclusion rule Ingo Molnar
2013-10-08 10:10 ` [PATCH 04/52] tools/perf/build: Split out feature check: 'libnuma' Ingo Molnar
2013-10-08 10:10 ` [PATCH 05/52] tools/perf/build: Split out feature check: 'stackprotector-all' Ingo Molnar
2013-10-08 10:10 ` [PATCH 06/52] tools/perf/build: Split out feature check: 'stackprotector' Ingo Molnar
2013-10-10  5:50   ` Namhyung Kim
2013-10-10  7:08     ` Ingo Molnar
2013-10-10  7:09     ` [PATCH] tools/perf/build: Improve the 'stackprotector' feature test Ingo Molnar
2013-10-08 10:10 ` [PATCH 07/52] tools/perf/build: Split out feature check: 'volatile-register-var' Ingo Molnar
2013-10-10  5:55   ` Namhyung Kim
2013-10-10  7:03     ` Ingo Molnar
2013-10-10  7:03     ` [PATCH] tools/perf/build: Remove the volatile-register-var feature check Ingo Molnar
2013-10-08 10:10 ` [PATCH 08/52] tools/perf/build: Split out feature check: 'fortify-source' Ingo Molnar
2013-10-08 10:10 ` [PATCH 09/52] tools/perf/build: Split out feature check: 'bionic' Ingo Molnar
2013-10-08 10:10 ` [PATCH 10/52] tools/perf/build: Clean up the libelf logic in config/Makefile Ingo Molnar
2013-10-08 10:10 ` [PATCH 11/52] tools/perf/build: Split out feature check: 'libelf' Ingo Molnar
2013-10-08 10:10 ` [PATCH 12/52] tools/perf/build: Split out feature check: 'glibc' Ingo Molnar
2013-10-08 10:10 ` [PATCH 13/52] tools/perf/build: Split out feature check: 'dwarf' Ingo Molnar
2013-10-08 10:10 ` [PATCH 14/52] tools/perf/build: Clean up the mmap logic in config/Makefile Ingo Molnar
2013-10-08 10:10 ` [PATCH 15/52] tools/perf/build: Split out feature check: 'libelf-mmap' Ingo Molnar
2013-10-10  6:00   ` Namhyung Kim
2013-10-10  6:56     ` Ingo Molnar
2013-10-10  6:57     ` [PATCH] tools/perf/build: Simplify the libelf logic Ingo Molnar
2013-10-08 10:10 ` [PATCH 16/52] tools/perf/build: Split out feature check: 'libelf-getphdrnum' Ingo Molnar
2013-10-08 10:10 ` [PATCH 17/52] tools/perf/build: Clean up the libunwind logic in config/Makefile Ingo Molnar
2013-10-08 10:10 ` [PATCH 18/52] tools/perf/build: Split out feature check: 'libunwind' Ingo Molnar
2013-10-08 15:21   ` David Ahern
2013-10-09  6:45     ` Ingo Molnar
2013-10-08 10:10 ` [PATCH 19/52] tools/perf/build: Split out feature check: 'libaudit' Ingo Molnar
2013-10-08 10:10 ` [PATCH 20/52] tools/perf/build: Split out feature check: 'libslang' Ingo Molnar
2013-10-08 10:10 ` [PATCH 21/52] tools/perf/build: Split out feature check: 'gtk2' Ingo Molnar
2013-10-08 10:10 ` [PATCH 22/52] tools/perf/build: Split out feature check: 'gtk2-infobar' Ingo Molnar
2013-10-08 10:10 ` [PATCH 23/52] tools/perf/build: Split out feature check: 'libperl' Ingo Molnar
2013-10-08 10:10 ` [PATCH 24/52] tools/perf/build: Split out feature check: 'libpython' Ingo Molnar
2013-10-08 10:10 ` [PATCH 25/52] tools/perf/build: Split out feature check: 'libpython-version' Ingo Molnar
2013-10-08 10:10 ` [PATCH 26/52] tools/perf/build: Split out feature check: 'libbfd' Ingo Molnar
2013-10-10  6:07   ` Namhyung Kim
2013-10-10  6:50     ` [PATCH] tools/perf/build: Fix DPACKAGE definitions for the libbfd et al testcases Ingo Molnar
2013-10-10  6:50     ` [PATCH 26/52] tools/perf/build: Split out feature check: 'libbfd' Ingo Molnar
2013-10-08 10:10 ` [PATCH 27/52] tools/perf/build: Split out feature check: 'strlcpy' Ingo Molnar
2013-10-08 10:10 ` [PATCH 28/52] tools/perf/build: Split out feature check: 'on-exit' Ingo Molnar
2013-10-10  6:12   ` Namhyung Kim
2013-10-10  6:43     ` Ingo Molnar
2013-10-08 10:10 ` [PATCH 29/52] tools/perf/build: Split out feature check: 'backtrace' Ingo Molnar
2013-10-08 10:11 ` [PATCH 30/52] tools/perf: Clean up util/include/linux/compiler.h Ingo Molnar
2013-10-08 10:11 ` [PATCH 31/52] tools/perf: Turn strlcpy() into a __weak function Ingo Molnar
2013-10-08 10:11 ` [PATCH 32/52] tools/perf/build: Speed up auto-detection of features by adding a 'test-all' target Ingo Molnar
2013-10-08 15:51   ` Jiri Olsa
2013-10-09  6:47     ` Ingo Molnar
2013-10-10  6:19   ` Namhyung Kim
2013-10-10  7:24     ` Ingo Molnar
2013-10-10  8:28       ` Namhyung Kim
2013-10-08 10:11 ` [PATCH 33/52] tools/perf/build: Speed up git-version test on re-make Ingo Molnar
2013-10-08 10:11 ` [PATCH 34/52] tools/perf/build: Speed up the final link Ingo Molnar
2013-10-08 10:11 ` [PATCH 35/52] tools/perf: Fix double/triple-build of the feature detection logic during 'make install' et al Ingo Molnar
2013-10-08 10:11 ` [PATCH 36/52] tools/perf/build: Invoke feature-checks 'clean' target from the main Makefile Ingo Molnar
2013-10-08 10:11 ` [PATCH 37/52] tools/perf/build: Speed up auto-detection Ingo Molnar
2013-10-08 10:11 ` [PATCH 38/52] tools/perf/build: Improve printout-of auto-detected features Ingo Molnar
2013-10-08 10:11 ` [PATCH 39/52] tools/perf/build: Automatically build in parallel, based on number of CPUs in the system Ingo Molnar
2013-10-08 10:11 ` [PATCH 40/52] tools/perf/build: Flip Makefile.parallel and Makefile.perf Ingo Molnar
2013-10-08 10:11 ` [PATCH 41/52] tools/perf/build: Standardize the various messages output by parallel make Ingo Molnar
2013-10-08 10:11 ` [PATCH 42/52] tools/perf/build: Split out feature checks: 'liberty', 'liberty-z', 'cplus-demangle' Ingo Molnar
2013-10-08 10:11 ` [PATCH 43/52] tools/perf/build: Remove unused config/feature-tests.mak Ingo Molnar
2013-10-08 10:11 ` Ingo Molnar [this message]
2013-10-10  6:20   ` [PATCH 44/52] tools/perf/build: Clean up various testcases Namhyung Kim
2013-10-10  6:41     ` Ingo Molnar
2013-10-08 10:11 ` [PATCH 45/52] tools/perf/build: Collapse the test-all.c testcase Ingo Molnar
2013-10-08 10:11 ` [PATCH 46/52] tools/perf/build: Pass through all targets to Makefile.perf Ingo Molnar
2013-10-08 10:11 ` [PATCH 47/52] tools/perf/build: Make sure autodep feature binaries honor the O= setting Ingo Molnar
2013-10-08 10:11 ` [PATCH 48/52] tools/perf/build: Exclude MAKEFLAGS from nested invocation Ingo Molnar
2013-10-10  6:24   ` Namhyung Kim
2013-10-10  6:36     ` Ingo Molnar
2013-10-08 10:11 ` [PATCH 49/52] tools/perf/build: Fix non-canonical directory names in O= Ingo Molnar
2013-10-08 10:11 ` [PATCH 50/52] tools/perf/build: Fix O=/some/dir perf.o type of targets Ingo Molnar
2013-10-10  6:35   ` Namhyung Kim
2013-10-10  6:39     ` Ingo Molnar
2013-10-10  8:43       ` Namhyung Kim
2013-10-08 10:11 ` [PATCH 51/52] tools/perf/build: Harmonize the style of the feature testcases Ingo Molnar
2013-10-08 10:11 ` [PATCH 52/52] tools/perf/build: Pass through LDFLAGS to feature tests Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1381227082-22039-45-git-send-email-mingo@kernel.org \
    --to=mingo@kernel.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@redhat.com \
    --cc=dsahern@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=namhyung@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).