From 48726ae4f2d61ece9b697efbe00e0da55de3748e Mon Sep 17 00:00:00 2001 From: "Lance R. Vick" Date: Wed, 6 Dec 2023 04:56:43 -0800 Subject: [PATCH] add libunwind --- Makefile | 14 +++++++++++++- libunwind/Dockerfile | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 libunwind/Dockerfile diff --git a/Makefile b/Makefile index 909fa6d..0983214 100644 --- a/Makefile +++ b/Makefile @@ -41,7 +41,7 @@ out/m4.oci.tgz: \ out/gcc.oci.tgz \ out/binutils.oci.tgz \ out/musl.oci.tgz \ - out/make.oci.tgz \ + out/make.oci.tgz docker build -t imgrep/m4 --output type=oci,dest=$@ m4 out/autoconf.oci.tgz: \ @@ -109,6 +109,18 @@ out/libxml2.oci.tgz: \ out/libtool.oci.tgz docker build -t imgrep/libxml2 --output type=oci,dest=$@ libxml2 +out/libunwind.oci.tgz: \ + out/busybox.oci.tgz \ + out/gcc.oci.tgz \ + out/binutils.oci.tgz \ + out/musl.oci.tgz \ + out/make.oci.tgz \ + out/bash.oci.tgz \ + out/autoconf.oci.tgz \ + out/automake.oci.tgz \ + out/libtool.oci.tgz + docker build -t imgrep/libunwind --output type=oci,dest=$@ libunwind + out/openssl.oci.tgz: \ out/gcc.oci.tgz \ out/binutils.oci.tgz \ diff --git a/libunwind/Dockerfile b/libunwind/Dockerfile new file mode 100644 index 0000000..2fea8b0 --- /dev/null +++ b/libunwind/Dockerfile @@ -0,0 +1,41 @@ +FROM imgrep/busybox:latest as busybox +FROM imgrep/gcc:latest as gcc +FROM imgrep/binutils:latest as binutils +FROM imgrep/musl:latest as musl +FROM imgrep/make:latest as make +FROM imgrep/autoconf:latest as autoconf +FROM imgrep/automake:latest as automake +FROM imgrep/libtool:latest as libtool + +FROM busybox as build +ENV SRC_SITE=https://github.com/libunwind/libunwind/releases/download +ENV SRC_VERSION=1.7.2 +ENV SRC_HASH=a18a6a24307443a8ace7a8acc2ce79fbbe6826cd0edf98d6326d0225d6a5d6e6 +RUN wget ${SRC_SITE}/v${SRC_VERSION}/libunwind-${SRC_VERSION}.tar.gz +RUN echo "${SRC_HASH} libunwind-${SRC_VERSION}.tar.gz" | sha256sum -c +RUN tar -xf libunwind-${SRC_VERSION}.tar.gz +WORKDIR libunwind-${SRC_VERSION} +COPY --from=gcc . / +COPY --from=binutils . / +COPY --from=make . / +COPY --from=musl . / +COPY --from=autoconf . / +COPY --from=automake . / +COPY --from=libtool . / +#LDFLAGS="-lucontext" CFLAGS="-fno-stack-protector" \ +RUN set -eux; \ + ./configure \ + --build=x86_64-unknown-linux-musl \ + --host=x86_64-unknown-linux-musl \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/usr/share/man \ + --enable-cxx-exceptions \ + --disable-tests \ + --infodir=/usr/share/info; \ + make; +RUN make DESTDIR=/home/user/rootfs install + +FROM scratch +COPY --from=build /home/user/rootfs /