elf_loader 0.12.0

A pure-rust library for loading all ELF format files from both memory and files.
Documentation
FROM ubuntu:24.04 

# Install qemu
RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \
    sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \
    apt-get update && \
    apt-get install -y \
    wget \
    tar \
    curl \
    qemu-user-static  \
    gdb-multiarch

# Install loongarch64 musl gcc
RUN mkdir -p /opt/loongarch64

WORKDIR /opt/loongarch64
RUN wget https://github.com/LoongsonLab/oscomp-toolchains-for-oskernel/releases/download/loongarch64-linux-musl-cross-gcc-13.2.0/loongarch64-linux-musl-cross.tgz && \
    tar -xzf loongarch64-linux-musl-cross.tgz --strip-components=1 && \
    rm loongarch64-linux-musl-cross.tgz  

ENV PATH="/opt/loongarch64/bin:${PATH}"

# Install Rust
ENV RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static \
    RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup \
    RUSTUP_HOME=/usr/local/rustup \
    CARGO_HOME=/usr/local/cargo \
    PATH=/usr/local/cargo/bin:$PATH

RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile minimal --default-toolchain stable && \
    echo "Rustup installation completed" 

# Install target
RUN rustup target add loongarch64-unknown-linux-musl &&\
    rustup target add riscv64gc-unknown-linux-gnu &&\
    rustup target add aarch64-unknown-linux-gnu