lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 24 Sep 2015 22:15:54 +0530
From:	"Naveen N. Rao" <naveen.n.rao@...ux.vnet.ibm.com>
To:	Stephane Eranian <eranian@...gle.com>
Cc:	Jiri Olsa <jolsa@...hat.com>,
	Arnaldo Carvalho de Melo <acme@...nel.org>,
	LKML <linux-kernel@...r.kernel.org>,
	"mingo@...hat.com" <mingo@...hat.com>
Subject: Re: [PATCH] perf record: Limit --intr-regs to platforms supporting
 PERF_REGS

On 2015/09/24 08:32AM, Stephane Eranian wrote:
> On Thu, Sep 24, 2015 at 5:57 AM, Jiri Olsa <jolsa@...hat.com> wrote:
> >
> > On Thu, Sep 24, 2015 at 05:41:58PM +0530, Naveen N. Rao wrote:
> > > perf build currently fails on powerpc:
> > >
> > >   LINK     perf
> > > libperf.a(libperf-in.o):(.toc+0x120): undefined reference to
> > > `sample_reg_masks'
> > > libperf.a(libperf-in.o):(.toc+0x130): undefined reference to
> > > `sample_reg_masks'
> > > collect2: error: ld returned 1 exit status
> > > make[1]: *** [perf] Error 1
> > > make: *** [all] Error 2
> > >
> > > This is due to parse-regs-options.c using sample_reg_masks, which is
> > > defined only with CONFIG_PERF_REGS.
> > >
> > > In addition, perf record -I is only useful if the arch supports
> > > PERF_REGS. Hence, let's expose -I conditionally.
> > >
> > > Signed-off-by: Naveen N. Rao <naveen.n.rao@...ux.vnet.ibm.com>
> >
> > hum, I wonder why we have sample_reg_masks defined as weak in util/perf_regs.c
> > which is also built only via CONFIG_PERF_REGS
> >
> > I wonder we could get rid of the weak definition via attached patch, Stephane?
> >
> But the whole point of having it weak is to avoid this error scenario
> on any arch without support
> and avoid ugly #ifdef HAVE_ in generic files.
> 
> if perf_regs.c is compiled on PPC, then why do we get the undefined?

As Jiri Olsa pointed out, powerpc and many other architectures don't 
(yet) have support for perf regs.

But, the larger reason to introduce #ifdef is so the user doesn't see 
options (s)he can't use on a specific architecture, along the same lines 
as builtin-probe.c

Regards,
Naveen

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ