Re: [PATCH 1/5] perf: unwind: fix unw_word_t pointer casts

From: Arnaldo Carvalho de Melo
Date: Sat Oct 10 2015 - 19:34:18 EST


Em Sat, Oct 10, 2015 at 05:49:40PM +0200, Rabin Vincent escreveu:
> Hi Arnaldo,
>
> Do you have any comments on this patch set?

I looked at the patches now, all seem fine from a quick look.

The last patch is interesting, and a more general way of installing what
is required for a full build using the native method for a distro, i.e.
using yum/dnf/apt/etc would come in handy as well, so that it doesn't
look like we recommend this fetch-the-sources-and-build-it method, but
sure, that can come later, when someone steps up to that work.

Since this touches the build system and libunwind, areas that Jiri
wrote/knows better, I'd like to get his ack, Jiri?

- Arnaldo

> Thanks.
>
> On Sun, Sep 27, 2015 at 08:37:55PM +0200, Rabin Vincent wrote:
> > unw_word_t is uint64_t even on 32-bit MIPS. Cast it to uintptr_t before
> > the cast to void *p to get rid of the following errors:
> >
> > util/unwind-libunwind.c: In function 'access_mem':
> > util/unwind-libunwind.c:464:4: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
> > util/unwind-libunwind.c:475:2: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
> > cc1: all warnings being treated as errors
> > make[3]: *** [util/unwind-libunwind.o] Error 1
> >
> > Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx>
> > ---
> > tools/perf/util/unwind-libunwind.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/perf/util/unwind-libunwind.c b/tools/perf/util/unwind-libunwind.c
> > index 4c00507..ef799dc 100644
> > --- a/tools/perf/util/unwind-libunwind.c
> > +++ b/tools/perf/util/unwind-libunwind.c
> > @@ -461,7 +461,7 @@ static int access_mem(unw_addr_space_t __maybe_unused as,
> > if (ret) {
> > pr_debug("unwind: access_mem %p not inside range"
> > " 0x%" PRIx64 "-0x%" PRIx64 "\n",
> > - (void *) addr, start, end);
> > + (void *) (uintptr_t) addr, start, end);
> > *valp = 0;
> > return ret;
> > }
> > @@ -471,7 +471,7 @@ static int access_mem(unw_addr_space_t __maybe_unused as,
> > offset = addr - start;
> > *valp = *(unw_word_t *)&stack->data[offset];
> > pr_debug("unwind: access_mem addr %p val %lx, offset %d\n",
> > - (void *) addr, (unsigned long)*valp, offset);
> > + (void *) (uintptr_t) addr, (unsigned long)*valp, offset);
> > return 0;
> > }
> >
> > --
> > 1.7.10.4
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/