lkml.org 
[lkml]   [2014]   [Sep]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH perf/core 1/2] perf probe: Do not access kallsyms when analyzing user binaries
Em Wed, Sep 17, 2014 at 08:40:54AM +0000, Masami Hiramatsu escreveu:
> Do not access kallsyms to show available variables and
> show source lines in user binaries.
> This behavior always requires the root privilege when
> sysctl sets kernel.kptr_restrict=1, but we don't need
> it just for analyzing user binaries.

> +++ b/tools/perf/util/probe-event.c
> @@ -697,11 +697,11 @@ end:
> return ret;
> }
>
> -int show_line_range(struct line_range *lr, const char *module)
> +int show_line_range(struct line_range *lr, const char *module, bool user)
> {

make -C tools/perf build-test fails for the static build on:

acme@linux-goap:~/git/linux> cat /etc/os-release
NAME=openSUSE
VERSION="12.3 (Dartmouth)"
VERSION_ID="12.3"
PRETTY_NAME="openSUSE 12.3 (Dartmouth) (i586)"
ID=opensuse
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:opensuse:12.3"
acme@linux-goap:~/git/linux>

util/probe-event.c:824:5: error: conflicting types for 'show_line_range'
In file included from util/probe-event.c:45:0:
util/probe-event.h:131:12: note: previous declaration of
'show_line_range' was here
make[3]: *** [util/probe-event.o] Error 1
make[2]: *** [all] Error 2
test: test -x ./perf
make[1]: *** [make_static] Error 1
make: *** [build-test] Error 2
make: Leaving directory `/home/acme/git/linux/tools/perf'
acme@linux-goap:~/git/linux>

And on:

acme@ubuntu13:~/git/linux$ cat /etc/os-release
NAME="Ubuntu"
VERSION="13.10, Saucy Salamander"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 13.10"
VERSION_ID="13.10"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
acme@ubuntu13:~/git/linux$

CC util/probe-event.o
util/probe-event.c:824:5: error: conflicting types for ‘show_line_range’
int show_line_range(struct line_range *lr __maybe_unused,
^
In file included from util/probe-event.c:45:0:
util/probe-event.h:131:12: note: previous declaration of
‘show_line_range’ was here
extern int show_line_range(struct line_range *lr, const char *module,
^
make[3]: *** [util/probe-event.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all] Error 2
test: test -x ./perf
make[1]: *** [make_static] Error 1
make: *** [build-test] Error 2
make: Leaving directory `/home/acme/git/linux/tools/perf'
---------------------------------------------------------------------
Probably because I had not installed needed DWARF support libraries and
you forgot to update this:

int show_line_range(struct line_range *lr __maybe_unused,
const char *module __maybe_unused)
{
pr_warning("Debuginfo-analysis is not supported.\n");
return -ENOSYS;
}

Fixing it up by adding the missing 'bool user'.

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2014-09-17 23:21    [W:0.056 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site