Merge pull request #981 from justincormack/bpfup

Update bcc
This commit is contained in:
Justin Cormack 2017-01-10 15:20:57 +00:00 committed by GitHub
commit 00d7656a29
12 changed files with 16 additions and 25 deletions

View File

@ -25,11 +25,20 @@ RUN apk update && apk upgrade -a && \
python \
zlib-dev \
&& true
COPY . .
WORKDIR /build
COPY . ./
COPY Dockerfile /
COPY error.h /usr/include/
COPY cdefs.h /usr/include/sys/
ENV ELFUTILS_VERSION=0.165
RUN curl -sSL -O https://fedorahosted.org/releases/e/l/elfutils/0.165/elfutils-$ELFUTILS_VERSION.tar.bz2
ENV BCC_COMMIT=eb6cdda7739bfd9b6bce85b2dc4edef798590c21
RUN cat elfutils-$ELFUTILS_VERSION.tar.bz2 | tar xjf - && \
cd elfutils-$ELFUTILS_VERSION && \
patch -p1 < ../100-musl-compat.patch && \
patch -p0 < ../decl.patch && \
patch -p0 < ../intl.patch
ENV BCC_COMMIT=d4fc95d92ec9bace9bd607dfd1833e9e06457486
RUN git clone https://github.com/iovisor/bcc.git && cd bcc && git checkout $BCC_COMMIT
RUN cd bcc && patch -p0 < ../bcc-gnuism.patch
ENV LJSYSCALL_COMMIT=0b266e8f4f751ae894299d24a2d40d16c6cf856f
RUN git clone https://github.com/justincormack/ljsyscall.git && cd ljsyscall && git checkout $LJSYSCALL_COMMIT

View File

@ -5,10 +5,10 @@ IMAGE=alpine-build-ebpf
default: push
hash: Dockerfile
hash: Dockerfile *.patch cdefs.h error.h
DOCKER_CONTENT_TRUST=1 docker pull $(BASE)
tar cf - $^ | docker build --no-cache -t $(IMAGE):build -
docker run --rm $(IMAGE):build sh -c 'cat /Dockerfile /lib/apk/db/installed | sha1sum' | sed 's/ .*//' > hash
docker run --rm $(IMAGE):build sh -c 'cat /Dockerfile /build/*.patch /build/*.h /lib/apk/db/installed | sha1sum' | sed 's/ .*//' > hash
push: hash
docker pull mobylinux/$(IMAGE):$(shell cat hash) || \

View File

@ -1,21 +1,13 @@
# Tag: dd370179c351da043dfef62fcc68f24995e019c8
FROM mobylinux/alpine-build-ebpf@sha256:557bad7c437e8162440cd4d3de0ccd13a871fd78756bd8b50e1c9afcb8d01fc8
# Tag: cc5bf4d39442741eaeffad79bbd9ae049a9253fa
FROM mobylinux/alpine-build-ebpf@sha256:da37d99a8baad18e68c44d3807c86977767ed90ce03133b508842eea3b786d3a
COPY error.h /usr/include/
COPY cdefs.h /usr/include/sys/
ADD kernel-headers.tar /
ADD kernel-dev.tar /
ADD kernel-modules.tar /
ADD 100-musl-compat.patch decl.patch intl.patch bcc-gnuism.patch bcc-stack-protector.patch ./
RUN cat elfutils-$ELFUTILS_VERSION.tar.bz2 | tar xjf -
RUN cd elfutils-$ELFUTILS_VERSION && \
patch -p1 < ../100-musl-compat.patch && \
patch -p0 < ../decl.patch && \
patch -p0 < ../intl.patch && \
automake && \
./configure --prefix=/usr CFLAGS=-Wno-strict-aliasing && \
make -C libelf && make -C libelf install
RUN cd bcc && patch -p0 < ../bcc-gnuism.patch && patch -p0 < ../bcc-stack-protector.patch
RUN mkdir -p bcc/build && cd bcc/build && \
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DLUAJIT_INCLUDE_DIR=/usr/include/luajit-2.1 && \
make && \

View File

@ -2,7 +2,7 @@ KERNEL_FILES=-C ../../kernel/x86_64 kernel-headers.tar kernel-dev.tar kernel-mod
default: ebpf.tag
ebpf.tag: Dockerfile 100-musl-compat.patch bcc-gnuism.patch bcc-stack-protector.patch decl.patch intl.patch temp_failure.patch cdefs.h error.h
ebpf.tag: Dockerfile
BUILD=$$( tar cf - $^ $(KERNEL_FILES) | docker build -q - ) && [ -n "$$BUILD" ] && echo "Built $$BUILD" && \
echo $$BUILD > $@

View File

@ -1,10 +0,0 @@
--- src/cc/frontends/clang/kbuild_helper.cc
+++ src/cc/frontends/clang/kbuild_helper.cc
@@ -89,6 +89,7 @@ int KBuildHelper::get_flags(const char *uname_machine, vector<string> *cflags) {
cflags->push_back("-D__HAVE_BUILTIN_BSWAP64__");
cflags->push_back("-Wno-unused-value");
cflags->push_back("-Wno-pointer-sign");
+ cflags->push_back("-fno-stack-protector");
return 0;
}