Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 66af86e2 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge branch 'tip/perf/recordmcount' of...

Merge branch 'tip/perf/recordmcount' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core
parents 0fdf1360 85caa993
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -210,7 +210,7 @@ endif

ifdef CONFIG_FTRACE_MCOUNT_RECORD
ifdef BUILD_C_RECORDMCOUNT
cmd_record_mcount = $(srctree)/scripts/recordmcount "$(@)";
cmd_record_mcount = $(objtree)/scripts/recordmcount "$(@)";
else
cmd_record_mcount = set -e ; perl $(srctree)/scripts/recordmcount.pl "$(ARCH)" \
	"$(if $(CONFIG_CPU_BIG_ENDIAN),big,little)" \
+20 −2
Original line number Diff line number Diff line
@@ -313,12 +313,30 @@ do_file(char const *const fname)
int
main(int argc, char const *argv[])
{
	const char ftrace[] = "kernel/trace/ftrace.o";
	int ftrace_size = sizeof(ftrace) - 1;
	int n_error = 0;  /* gcc-4.3.0 false positive complaint */
	if (argc <= 1)

	if (argc <= 1) {
		fprintf(stderr, "usage: recordmcount file.o...\n");
	else  /* Process each file in turn, allowing deep failure. */
		return 0;
	}

	/* Process each file in turn, allowing deep failure. */
	for (--argc, ++argv; 0 < argc; --argc, ++argv) {
		int const sjval = setjmp(jmpenv);
		int len;

		/*
		 * The file kernel/trace/ftrace.o references the mcount
		 * function but does not call it. Since ftrace.o should
		 * not be traced anyway, we just skip it.
		 */
		len = strlen(argv[0]);
		if (len >= ftrace_size &&
		    strcmp(argv[0] + (len - ftrace_size), ftrace) == 0)
			continue;

		switch (sjval) {
		default: {
			fprintf(stderr, "internal error: %s\n", argv[0]);