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:   Tue, 10 Jan 2017 12:43:48 -0200
From:   Arnaldo Carvalho de Melo <acme@...hat.com>
To:     Sudeep Holla <sudeep.holla@....com>
Cc:     linux-kernel@...r.kernel.org, Jiri Olsa <jolsa@...nel.org>,
        Wang Nan <wangnan0@...wei.com>,
        Peter Zijlstra <peterz@...radead.org>,
        Ingo Molnar <mingo@...hat.com>, acme@...nel.org
Subject: Re: [PATCH 2/2] tools: perf: fix build error in uapi/linux/mman.h

Em Tue, Jan 10, 2017 at 10:22:50AM +0000, Sudeep Holla escreveu:
> All the other occurrence refer "uapi/asm-generic/*.h" directly instead
> of "uapi/asm/*.h" in tools/include except mman.h. Without this patch,
> the following build failure is seen.
> 

Seen where? I don't see it here, and I build perf for lots of different
systems:

  # time dm
   1 alpine:3.4: Ok
   2 android-ndk:r12b-arm: Ok
   3 archlinux:latest: Ok
   4 centos:5: Ok
   5 centos:6: Ok
   6 centos:7: Ok
   7 debian:7: Ok
   8 debian:8: Ok
   9 debian:experimental: Ok
  10 debian:experimental-x-arm64: Ok
  11 debian:experimental-x-mips64: Ok
  12 debian:experimental-x-mipsel: Ok
  13 fedora:20: Ok
  14 fedora:21: Ok
  15 fedora:22: Ok
  16 fedora:23: Ok
  17 fedora:24: Ok
  18 fedora:24-x-ARC-uClibc: Ok
  19 fedora:25: Ok
  20 fedora:rawhide: Ok
  21 mageia:5: Ok
  22 opensuse:13.2: Ok
  23 opensuse:42.1: Ok
  24 opensuse:tumbleweed: Ok
  25 ubuntu:12.04.5: Ok
  26 ubuntu:14.04.4-x-linaro-arm64: Ok
  27 ubuntu:15.10: Ok
  28 ubuntu:16.04: Ok
  29 ubuntu:16.04-x-arm: Ok
  30 ubuntu:16.04-x-arm64: Ok
  31 ubuntu:16.04-x-powerpc: Ok
  32 ubuntu:16.04-x-powerpc64: Ok
  33 ubuntu:16.04-x-powerpc64el: Ok
  34 ubuntu:16.04-x-s390: Ok
  35 ubuntu:16.10: Ok

The ones for cross compiling (-x-) mostly don't have the full set of
devel packages, but even so, I am not seeing this problem, can you
please describe more precisely the environment where you notice this
problem?

Assuming this is on ARM, based on your e-mail address, for instance,
debian:experimental-x-arm64 is built with this Dockerfile, look at the
packages used:

[root@...et x-arm64]# cat Dockerfile 
# docker.io/acmel/linux-perf-tools-build-debian:experimental-x-arm64
FROM docker.io/debian:experimental
MAINTAINER Arnaldo Carvalho de Melo <acme@...nel.org>
#ENV DEBIAN_FRONTEND noninteractive
# libelf-dev, a host package, is needed to build objtool, that will run
# on the host checking target object files. It is also needed for samples/bpf/,
# but that is disabled as cross compilation is not available for it, would require
# a cross clang, etc.
# objtool is disabled because it requires a per arch function that is
# missing for
# arm64:
# make[1]: Leaving directory '/git/linux/tools/objtool'
#   LINK     /tmp/build/objtool/objtool
# /tmp/build/objtool/objtool-in.o: In function `decode_instructions':
# /git/linux/tools/objtool/builtin-check.c:296: undefined reference to `arch_decode_instruction'
# collect2: error: ld returned 1 exit status
# Makefile:45: recipe for target '/tmp/build/objtool/objtool' failed
# make: *** [/tmp/build/objtool/objtool] Error 1
# make: Leaving directory '/git/linux/tools/objtool'
# debian:experimental-x-arm64: FAIL
ENV ARCH arm64
ENV TARGET aarch64-linux-gnu
RUN dpkg --add-architecture ${ARCH} && \
    apt-get -y update && \
    apt-get -y install \
	make flex bison \
	crossbuild-essential-${ARCH} \
	libaudit-dev:${ARCH} \
	libdw-dev:${ARCH} \
	libelf-dev:${ARCH} \
	liblzma-dev:${ARCH} \
	libnuma-dev:${ARCH} \
	libperl-dev:${ARCH} \
	libslang2-dev:${ARCH} \
	libssl-dev:${ARCH} \
	libunwind-dev:${ARCH} \
	systemtap-sdt-dev:${ARCH} && \
    apt-get -y clean && \
    rm -rf /usr/share/doc /usr/share/gtk-doc /usr/share/locale /usr/share/man && \
    mkdir -m 777 -p /tmp/build/perf /tmp/build/objtool /tmp/build/linux && \
    groupadd -r perfbuilder && \
    useradd -m -r -g perfbuilder perfbuilder && \
    unset TARGET INSTALLDIR TARGETMACH CROSS CC LD AS && \
    chown -R perfbuilder.perfbuilder /tmp/build/
USER perfbuilder
ENTRYPOINT make ARCH=${ARCH} CROSS_COMPILE=${TARGET}- -C /git/linux/tools/perf O=/tmp/build/perf && \
	   rm -rf /tmp/build/perf/{.[^.]*,*} && \
	   make ARCH=${ARCH} CROSS_COMPILE=${TARGET}- -C /git/linux/tools/perf O=/tmp/build/perf NO_LIBELF=1
#	   make ARCH=${ARCH} CROSS_COMPILE=${TARGET}- -C /git/linux/tools/objtool O=/tmp/build/objtool && \
#	   make ARCH=${ARCH} CROSS_COMPILE=${TARGET}- -C /git/linux O=/tmp/build/linux allmodconfig && \
#	   make ARCH=${ARCH} CROSS_COMPILE=${TARGET}- -C /git/linux O=/tmp/build/linux headers_install && \
#	   make ARCH=${ARCH} CROSS_COMPILE=${TARGET}- -C /git/linux O=/tmp/build/linux samples/bpf/
[root@...et x-arm64]#

>  In file included from util/event.c:2:0:
>  tools/include/uapi/linux/mman.h:4:27: fatal error: uapi/asm/mman.h: No such file or directory
>  compilation terminated.
> 
> Fixes: f3539c12d819 ("tools include: Add uapi mman.h for each architecture")
> Cc: Wang Nan <wangnan0@...wei.com>
> Cc: Arnaldo Carvalho de Melo <acme@...hat.com>
> Cc: Peter Zijlstra <peterz@...radead.org>
> Cc: Ingo Molnar <mingo@...hat.com>
> Signed-off-by: Sudeep Holla <sudeep.holla@....com>
> ---
>  tools/include/uapi/linux/mman.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/include/uapi/linux/mman.h b/tools/include/uapi/linux/mman.h
> index 81d8edf11789..74a19ae15cd1 100644
> --- a/tools/include/uapi/linux/mman.h
> +++ b/tools/include/uapi/linux/mman.h
> @@ -1,7 +1,7 @@
>  #ifndef _UAPI_LINUX_MMAN_H
>  #define _UAPI_LINUX_MMAN_H
>  
> -#include <uapi/asm/mman.h>
> +#include <uapi/asm-generic/mman.h>
>  
>  #define MREMAP_MAYMOVE	1
>  #define MREMAP_FIXED	2
> -- 
> 2.7.4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ