mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge tag 'pull-halloween-omnibus-311023-2' of https://gitlab.com/stsquad/qemu into staging
Maintainer updates for testing, gitlab, gdbstub and plugins: - add dtc package to openbsd VMs - use -fno-stack-protector for non-stdlib tests - split alpha and sh4 compilers into legacy image - harmonise other compilers into debian-all-test-cross - fix NULL check in gdb_regs - fix memleak in semihosting - remove unused parameter in plugin code - fix fd leak in lockstep plugin # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmVBCvQACgkQ+9DbCVqe # KkR8jAgAjFC3BE6fu80zYT0Dmeu8zh20QY/wgKQebaFfGEmPL4Bqkl2D/Rx7PhQA # EH8fR/LAH/iXAO07+LYOB6QiyMb9PWiXS52iHyE3q11mOaM8iKkkj7a59NW8DfGC # biSrj9o3wpz9gGkJjzTCcHC8DOMbrAuE12XnmhW7uTqqkrcTMC393dSEeyL+nrP9 # lKS5XzFyn3FOT4YIL8hAC02ObKH4LpWIO3gdWeDAo56yg24fLir9a2wYSXMaxQtN # kDf6UtL97CIIhbNi6qrUPBB13MV8MlXno3wnb9+E4Cn5sGntGSnTyh7j6XrGqYj9 # p/Vio6ye8xP1IjlavKiBM0nnozcAhw== # =ZOMS # -----END PGP SIGNATURE----- # gpg: Signature made Tue 31 Oct 2023 23:11:00 JST # gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44 * tag 'pull-halloween-omnibus-311023-2' of https://gitlab.com/stsquad/qemu: contrib/plugins: Close file descriptor on error return plugins: Remove an extra parameter semihosting: fix memleak at semihosting_arg_fallback gdbstub: Check if gdb_regs is NULL tests/docker: upgrade debian-all-test-cross to bookworm tests/docker: use debian-all-test-cross for sparc64 tests/docker: use debian-all-test-cross for riscv64 tests/docker: use debian-all-test-cross for mips tests/docker: use debian-all-test-cross for mips64 tests/docker: use debian-all-test-cross for m68k tests/docker: use debian-all-test-cross for hppa tests/docker: use debian-all-test-cross for power tests/docker: move sh4 to use debian-legacy-test-cross tests/docker: use debian-legacy-test-cross for alpha gitlab: add build-loongarch to matrix gitlab: clean-up build-soft-softmmu job gitlab: split alpha testing into a legacy container tests/tcg: Add -fno-stack-protector tests/vm/openbsd: Use the system dtc package Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
@@ -256,6 +256,7 @@ build-user:
|
||||
variables:
|
||||
IMAGE: debian-all-test-cross
|
||||
CONFIGURE_ARGS: --disable-tools --disable-system
|
||||
--target-list-exclude=alpha-linux-user,sh4-linux-user
|
||||
MAKE_CHECK_ARGS: check-tcg
|
||||
|
||||
build-user-static:
|
||||
@@ -265,6 +266,18 @@ build-user-static:
|
||||
variables:
|
||||
IMAGE: debian-all-test-cross
|
||||
CONFIGURE_ARGS: --disable-tools --disable-system --static
|
||||
--target-list-exclude=alpha-linux-user,sh4-linux-user
|
||||
MAKE_CHECK_ARGS: check-tcg
|
||||
|
||||
# targets stuck on older compilers
|
||||
build-legacy:
|
||||
extends: .native_build_job_template
|
||||
needs:
|
||||
job: amd64-debian-legacy-cross-container
|
||||
variables:
|
||||
IMAGE: debian-legacy-test-cross
|
||||
TARGETS: alpha-linux-user alpha-softmmu sh4-linux-user
|
||||
CONFIGURE_ARGS: --disable-tools
|
||||
MAKE_CHECK_ARGS: check-tcg
|
||||
|
||||
build-user-hexagon:
|
||||
@@ -277,7 +290,9 @@ build-user-hexagon:
|
||||
CONFIGURE_ARGS: --disable-tools --disable-docs --enable-debug-tcg
|
||||
MAKE_CHECK_ARGS: check-tcg
|
||||
|
||||
# Only build the softmmu targets we have check-tcg tests for
|
||||
# Build the softmmu targets we have check-tcg tests and compilers in
|
||||
# our omnibus all-test-cross container. Those targets that haven't got
|
||||
# Debian cross compiler support need to use special containers.
|
||||
build-some-softmmu:
|
||||
extends: .native_build_job_template
|
||||
needs:
|
||||
@@ -285,7 +300,18 @@ build-some-softmmu:
|
||||
variables:
|
||||
IMAGE: debian-all-test-cross
|
||||
CONFIGURE_ARGS: --disable-tools --enable-debug
|
||||
TARGETS: xtensa-softmmu arm-softmmu aarch64-softmmu alpha-softmmu
|
||||
TARGETS: arm-softmmu aarch64-softmmu i386-softmmu riscv64-softmmu
|
||||
s390x-softmmu x86_64-softmmu
|
||||
MAKE_CHECK_ARGS: check-tcg
|
||||
|
||||
build-loongarch64:
|
||||
extends: .native_build_job_template
|
||||
needs:
|
||||
job: loongarch-debian-cross-container
|
||||
variables:
|
||||
IMAGE: debian-loongarch-cross
|
||||
CONFIGURE_ARGS: --disable-tools --enable-debug
|
||||
TARGETS: loongarch64-linux-user loongarch64-softmmu
|
||||
MAKE_CHECK_ARGS: check-tcg
|
||||
|
||||
# We build tricore in a very minimal tricore only container
|
||||
@@ -318,7 +344,7 @@ clang-user:
|
||||
variables:
|
||||
IMAGE: debian-all-test-cross
|
||||
CONFIGURE_ARGS: --cc=clang --cxx=clang++ --disable-system
|
||||
--target-list-exclude=microblazeel-linux-user,aarch64_be-linux-user,i386-linux-user,m68k-linux-user,mipsn32el-linux-user,xtensaeb-linux-user
|
||||
--target-list-exclude=alpha-linux-user,microblazeel-linux-user,aarch64_be-linux-user,i386-linux-user,m68k-linux-user,mipsn32el-linux-user,xtensaeb-linux-user
|
||||
--extra-cflags=-fsanitize=undefined --extra-cflags=-fno-sanitize-recover=undefined
|
||||
MAKE_CHECK_ARGS: check-unit check-tcg
|
||||
|
||||
@@ -505,7 +531,7 @@ build-tci:
|
||||
variables:
|
||||
IMAGE: debian-all-test-cross
|
||||
script:
|
||||
- TARGETS="aarch64 alpha arm hppa m68k microblaze ppc64 s390x x86_64"
|
||||
- TARGETS="aarch64 arm hppa m68k microblaze ppc64 s390x x86_64"
|
||||
- mkdir build
|
||||
- cd build
|
||||
- ../configure --enable-tcg-interpreter --disable-docs --disable-gtk --disable-vnc
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
alpha-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
variables:
|
||||
NAME: debian-alpha-cross
|
||||
|
||||
amd64-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
@@ -16,6 +10,12 @@ amd64-debian-user-cross-container:
|
||||
variables:
|
||||
NAME: debian-all-test-cross
|
||||
|
||||
amd64-debian-legacy-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
variables:
|
||||
NAME: debian-legacy-test-cross
|
||||
|
||||
arm64-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
@@ -40,23 +40,11 @@ hexagon-cross-container:
|
||||
variables:
|
||||
NAME: debian-hexagon-cross
|
||||
|
||||
hppa-debian-cross-container:
|
||||
loongarch-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
variables:
|
||||
NAME: debian-hppa-cross
|
||||
|
||||
m68k-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
variables:
|
||||
NAME: debian-m68k-cross
|
||||
|
||||
mips64-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
variables:
|
||||
NAME: debian-mips64-cross
|
||||
NAME: debian-loongarch-cross
|
||||
|
||||
mips64el-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
@@ -64,24 +52,12 @@ mips64el-debian-cross-container:
|
||||
variables:
|
||||
NAME: debian-mips64el-cross
|
||||
|
||||
mips-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
variables:
|
||||
NAME: debian-mips-cross
|
||||
|
||||
mipsel-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
variables:
|
||||
NAME: debian-mipsel-cross
|
||||
|
||||
powerpc-test-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
variables:
|
||||
NAME: debian-powerpc-test-cross
|
||||
|
||||
ppc64el-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
@@ -97,31 +73,12 @@ riscv64-debian-cross-container:
|
||||
NAME: debian-riscv64-cross
|
||||
QEMU_JOB_OPTIONAL: 1
|
||||
|
||||
# we can however build TCG tests using a non-sid base
|
||||
riscv64-debian-test-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
variables:
|
||||
NAME: debian-riscv64-test-cross
|
||||
|
||||
s390x-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
variables:
|
||||
NAME: debian-s390x-cross
|
||||
|
||||
sh4-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
variables:
|
||||
NAME: debian-sh4-cross
|
||||
|
||||
sparc64-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
variables:
|
||||
NAME: debian-sparc64-cross
|
||||
|
||||
tricore-debian-cross-container:
|
||||
extends: .container_job_template
|
||||
stage: containers
|
||||
|
||||
@@ -327,8 +327,7 @@ static TCGOp *copy_st_ptr(TCGOp **begin_op, TCGOp *op)
|
||||
return op;
|
||||
}
|
||||
|
||||
static TCGOp *copy_call(TCGOp **begin_op, TCGOp *op, void *empty_func,
|
||||
void *func, int *cb_idx)
|
||||
static TCGOp *copy_call(TCGOp **begin_op, TCGOp *op, void *func, int *cb_idx)
|
||||
{
|
||||
TCGOp *old_op;
|
||||
int func_idx;
|
||||
@@ -372,8 +371,7 @@ static TCGOp *append_udata_cb(const struct qemu_plugin_dyn_cb *cb,
|
||||
}
|
||||
|
||||
/* call */
|
||||
op = copy_call(&begin_op, op, HELPER(plugin_vcpu_udata_cb),
|
||||
cb->f.vcpu_udata, cb_idx);
|
||||
op = copy_call(&begin_op, op, cb->f.vcpu_udata, cb_idx);
|
||||
|
||||
return op;
|
||||
}
|
||||
@@ -420,8 +418,7 @@ static TCGOp *append_mem_cb(const struct qemu_plugin_dyn_cb *cb,
|
||||
|
||||
if (type == PLUGIN_GEN_CB_MEM) {
|
||||
/* call */
|
||||
op = copy_call(&begin_op, op, HELPER(plugin_vcpu_mem_cb),
|
||||
cb->f.vcpu_udata, cb_idx);
|
||||
op = copy_call(&begin_op, op, cb->f.vcpu_udata, cb_idx);
|
||||
}
|
||||
|
||||
return op;
|
||||
|
||||
@@ -1281,6 +1281,11 @@ probe_target_compiler() {
|
||||
container_cross_prefix=aarch64-linux-gnu-
|
||||
container_cross_cc=${container_cross_prefix}gcc
|
||||
;;
|
||||
alpha)
|
||||
container_image=debian-legacy-test-cross
|
||||
container_cross_prefix=alpha-linux-gnu-
|
||||
container_cross_cc=${container_cross_prefix}gcc
|
||||
;;
|
||||
arm)
|
||||
# We don't have any bigendian build tools so we only use this for ARM
|
||||
container_image=debian-armhf-cross
|
||||
@@ -1295,6 +1300,11 @@ probe_target_compiler() {
|
||||
container_cross_prefix=hexagon-unknown-linux-musl-
|
||||
container_cross_cc=${container_cross_prefix}clang
|
||||
;;
|
||||
hppa)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=hppa-linux-gnu-
|
||||
container_cross_cc=${container_cross_prefix}gcc
|
||||
;;
|
||||
i386)
|
||||
container_image=fedora-i386-cross
|
||||
container_cross_prefix=
|
||||
@@ -1303,6 +1313,11 @@ probe_target_compiler() {
|
||||
container_image=debian-loongarch-cross
|
||||
container_cross_prefix=loongarch64-unknown-linux-gnu-
|
||||
;;
|
||||
m68k)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=m68k-linux-gnu-
|
||||
container_cross_cc=${container_cross_prefix}gcc
|
||||
;;
|
||||
microblaze)
|
||||
container_image=debian-microblaze-cross
|
||||
container_cross_prefix=microblaze-linux-musl-
|
||||
@@ -1312,22 +1327,37 @@ probe_target_compiler() {
|
||||
container_cross_prefix=mips64el-linux-gnuabi64-
|
||||
;;
|
||||
mips64)
|
||||
container_image=debian-mips64-cross
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=mips64-linux-gnuabi64-
|
||||
;;
|
||||
mips)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=mips-linux-gnu-
|
||||
;;
|
||||
nios2)
|
||||
container_image=debian-nios2-cross
|
||||
container_cross_prefix=nios2-linux-gnu-
|
||||
;;
|
||||
ppc)
|
||||
container_image=debian-powerpc-test-cross
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=powerpc-linux-gnu-
|
||||
container_cross_cc=${container_cross_prefix}gcc
|
||||
;;
|
||||
ppc64|ppc64le)
|
||||
container_image=debian-powerpc-test-cross
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=powerpc${target_arch#ppc}-linux-gnu-
|
||||
container_cross_cc=${container_cross_prefix}gcc-10
|
||||
;;
|
||||
riscv64)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=riscv64-linux-gnu-
|
||||
;;
|
||||
sh4)
|
||||
container_image=debian-legacy-test-cross
|
||||
container_cross_prefix=sh4-linux-gnu-
|
||||
;;
|
||||
sparc64)
|
||||
container_image=debian-all-test-cross
|
||||
container_cross_prefix=sparc64-linux-gnu-
|
||||
;;
|
||||
tricore)
|
||||
container_image=debian-tricore-cross
|
||||
|
||||
@@ -257,6 +257,7 @@ static bool setup_socket(const char *path)
|
||||
sockaddr.sun_family = AF_UNIX;
|
||||
if (g_strlcpy(sockaddr.sun_path, path, pathlen) >= pathlen) {
|
||||
perror("bad path");
|
||||
close(fd);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -303,6 +304,7 @@ static bool connect_socket(const char *path)
|
||||
sockaddr.sun_family = AF_UNIX;
|
||||
if (g_strlcpy(sockaddr.sun_path, path, pathlen) >= pathlen) {
|
||||
perror("bad path");
|
||||
close(fd);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
+20
-14
@@ -385,12 +385,14 @@ static const char *get_feature_xml(const char *p, const char **newp,
|
||||
xml,
|
||||
g_markup_printf_escaped("<xi:include href=\"%s\"/>",
|
||||
cc->gdb_core_xml_file));
|
||||
for (guint i = 0; i < cpu->gdb_regs->len; i++) {
|
||||
r = &g_array_index(cpu->gdb_regs, GDBRegisterState, i);
|
||||
g_ptr_array_add(
|
||||
xml,
|
||||
g_markup_printf_escaped("<xi:include href=\"%s\"/>",
|
||||
r->xml));
|
||||
if (cpu->gdb_regs) {
|
||||
for (guint i = 0; i < cpu->gdb_regs->len; i++) {
|
||||
r = &g_array_index(cpu->gdb_regs, GDBRegisterState, i);
|
||||
g_ptr_array_add(
|
||||
xml,
|
||||
g_markup_printf_escaped("<xi:include href=\"%s\"/>",
|
||||
r->xml));
|
||||
}
|
||||
}
|
||||
g_ptr_array_add(xml, g_strdup("</target>"));
|
||||
g_ptr_array_add(xml, NULL);
|
||||
@@ -430,10 +432,12 @@ static int gdb_read_register(CPUState *cpu, GByteArray *buf, int reg)
|
||||
return cc->gdb_read_register(cpu, buf, reg);
|
||||
}
|
||||
|
||||
for (guint i = 0; i < cpu->gdb_regs->len; i++) {
|
||||
r = &g_array_index(cpu->gdb_regs, GDBRegisterState, i);
|
||||
if (r->base_reg <= reg && reg < r->base_reg + r->num_regs) {
|
||||
return r->get_reg(env, buf, reg - r->base_reg);
|
||||
if (cpu->gdb_regs) {
|
||||
for (guint i = 0; i < cpu->gdb_regs->len; i++) {
|
||||
r = &g_array_index(cpu->gdb_regs, GDBRegisterState, i);
|
||||
if (r->base_reg <= reg && reg < r->base_reg + r->num_regs) {
|
||||
return r->get_reg(env, buf, reg - r->base_reg);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
@@ -449,10 +453,12 @@ static int gdb_write_register(CPUState *cpu, uint8_t *mem_buf, int reg)
|
||||
return cc->gdb_write_register(cpu, mem_buf, reg);
|
||||
}
|
||||
|
||||
for (guint i = 0; i < cpu->gdb_regs->len; i++) {
|
||||
r = &g_array_index(cpu->gdb_regs, GDBRegisterState, i);
|
||||
if (r->base_reg <= reg && reg < r->base_reg + r->num_regs) {
|
||||
return r->set_reg(env, mem_buf, reg - r->base_reg);
|
||||
if (cpu->gdb_regs) {
|
||||
for (guint i = 0; i < cpu->gdb_regs->len; i++) {
|
||||
r = &g_array_index(cpu->gdb_regs, GDBRegisterState, i);
|
||||
if (r->base_reg <= reg && reg < r->base_reg + r->num_regs) {
|
||||
return r->set_reg(env, mem_buf, reg - r->base_reg);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
||||
@@ -113,12 +113,13 @@ static int add_semihosting_arg(void *opaque,
|
||||
void semihosting_arg_fallback(const char *file, const char *cmd)
|
||||
{
|
||||
char *cmd_token;
|
||||
g_autofree char *cmd_dup = g_strdup(cmd);
|
||||
|
||||
/* argv[0] */
|
||||
add_semihosting_arg(&semihosting, "arg", file, NULL);
|
||||
|
||||
/* split -append and initialize argv[1..n] */
|
||||
cmd_token = strtok(g_strdup(cmd), " ");
|
||||
cmd_token = strtok(cmd_dup, " ");
|
||||
while (cmd_token) {
|
||||
add_semihosting_arg(&semihosting, "arg", cmd_token, NULL);
|
||||
cmd_token = strtok(NULL, " ");
|
||||
|
||||
@@ -122,16 +122,8 @@ docker-image-debian-nios2-cross: $(DOCKER_FILES_DIR)/debian-toolchain.docker \
|
||||
$(call debian-toolchain, $@)
|
||||
|
||||
# These images may be good enough for building tests but not for test builds
|
||||
DOCKER_PARTIAL_IMAGES += debian-alpha-cross
|
||||
DOCKER_PARTIAL_IMAGES += debian-powerpc-test-cross
|
||||
DOCKER_PARTIAL_IMAGES += debian-hppa-cross
|
||||
DOCKER_PARTIAL_IMAGES += debian-loongarch-cross
|
||||
DOCKER_PARTIAL_IMAGES += debian-m68k-cross debian-mips64-cross
|
||||
DOCKER_PARTIAL_IMAGES += debian-microblaze-cross
|
||||
DOCKER_PARTIAL_IMAGES += debian-mips-cross
|
||||
DOCKER_PARTIAL_IMAGES += debian-nios2-cross
|
||||
DOCKER_PARTIAL_IMAGES += debian-riscv64-test-cross
|
||||
DOCKER_PARTIAL_IMAGES += debian-sh4-cross debian-sparc64-cross
|
||||
DOCKER_PARTIAL_IMAGES += debian-xtensa-cross
|
||||
DOCKER_PARTIAL_IMAGES += fedora-cris-cross
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
# basic compilers for as many targets as possible. We shall use this
|
||||
# to build and run linux-user tests on GitLab
|
||||
#
|
||||
FROM docker.io/library/debian:11-slim
|
||||
FROM docker.io/library/debian:12-slim
|
||||
|
||||
# Duplicate deb line as deb-src
|
||||
RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
|
||||
RUN sed -in "s/Types: deb/Types: deb deb-src/g" /etc/apt/sources.list.d/debian.sources
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update && \
|
||||
@@ -25,11 +25,18 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \
|
||||
clang \
|
||||
flex \
|
||||
git \
|
||||
libclang-rt-dev \
|
||||
ninja-build \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
python3-tomli \
|
||||
python3-venv \
|
||||
python3-wheel
|
||||
|
||||
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
|
||||
apt install -y --no-install-recommends \
|
||||
gcc-aarch64-linux-gnu \
|
||||
libc6-dev-arm64-cross \
|
||||
gcc-alpha-linux-gnu \
|
||||
libc6.1-dev-alpha-cross \
|
||||
gcc-arm-linux-gnueabihf \
|
||||
libc6-dev-armhf-cross \
|
||||
gcc-hppa-linux-gnu \
|
||||
@@ -54,19 +61,12 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \
|
||||
libc6-dev-riscv64-cross \
|
||||
gcc-s390x-linux-gnu \
|
||||
libc6-dev-s390x-cross \
|
||||
gcc-sh4-linux-gnu \
|
||||
libc6-dev-sh4-cross \
|
||||
gcc-sparc64-linux-gnu \
|
||||
libc6-dev-sparc64-cross \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
python3-venv \
|
||||
python3-wheel
|
||||
libc6-dev-sparc64-cross
|
||||
|
||||
RUN /usr/bin/pip3 install tomli
|
||||
|
||||
ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
|
||||
ENV DEF_TARGET_LIST aarch64-linux-user,alpha-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sh4-linux-user,sparc64-linux-user
|
||||
ENV DEF_TARGET_LIST aarch64-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sparc64-linux-user
|
||||
# As a final step configure the user (if env is defined)
|
||||
ARG USER
|
||||
ARG UID
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
#
|
||||
# Docker cross-compiler target
|
||||
#
|
||||
# This docker target builds on the Debian Bullseye base image.
|
||||
#
|
||||
FROM docker.io/library/debian:11-slim
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update && \
|
||||
apt-get install -y eatmydata && \
|
||||
eatmydata apt-get dist-upgrade -y && \
|
||||
eatmydata apt-get install --no-install-recommends -y \
|
||||
gcc-alpha-linux-gnu \
|
||||
libc6.1-dev-alpha-cross
|
||||
# As a final step configure the user (if env is defined)
|
||||
ARG USER
|
||||
ARG UID
|
||||
RUN if [ "${USER}" ]; then \
|
||||
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
|
||||
@@ -1,19 +0,0 @@
|
||||
#
|
||||
# Docker cross-compiler target
|
||||
#
|
||||
# This docker target builds on the Debian Bullseye base image.
|
||||
#
|
||||
FROM docker.io/library/debian:11-slim
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update && \
|
||||
apt-get install -y eatmydata && \
|
||||
eatmydata apt-get dist-upgrade -y && \
|
||||
eatmydata apt-get install --no-install-recommends -y \
|
||||
gcc-hppa-linux-gnu \
|
||||
libc6-dev-hppa-cross
|
||||
# As a final step configure the user (if env is defined)
|
||||
ARG USER
|
||||
ARG UID
|
||||
RUN if [ "${USER}" ]; then \
|
||||
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
|
||||
@@ -0,0 +1,49 @@
|
||||
# Docker legacy cross-compiler target (tests and minimal qemu)
|
||||
#
|
||||
# Compilers for some of our older targets which we cant currently
|
||||
# upgrade. Currently:
|
||||
#
|
||||
# libc6.1-dev-alpha-cross: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054412
|
||||
# sh4-linux-user: binaries don't run with bookworm compiler
|
||||
#
|
||||
# As we are targeting check-tcg here we only need minimal qemu
|
||||
# dependencies and the relevant cross compilers.
|
||||
|
||||
FROM docker.io/library/debian:11-slim
|
||||
|
||||
# Duplicate deb line as deb-src
|
||||
RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update && \
|
||||
apt-get install -y eatmydata && \
|
||||
eatmydata apt-get dist-upgrade -y && \
|
||||
apt build-dep -yy qemu
|
||||
|
||||
# Add extra build tools and as many cross compilers as we can for testing
|
||||
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
|
||||
apt install -y --no-install-recommends \
|
||||
bison \
|
||||
ccache \
|
||||
clang \
|
||||
flex \
|
||||
git \
|
||||
ninja-build \
|
||||
gcc-alpha-linux-gnu \
|
||||
libc6.1-dev-alpha-cross \
|
||||
gcc-sh4-linux-gnu \
|
||||
libc6-dev-sh4-cross \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
python3-venv \
|
||||
python3-wheel
|
||||
|
||||
RUN /usr/bin/pip3 install tomli
|
||||
|
||||
ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
|
||||
ENV DEF_TARGET_LIST alpha-linux-user,sh4-linux-user
|
||||
# As a final step configure the user (if env is defined)
|
||||
ARG USER
|
||||
ARG UID
|
||||
RUN if [ "${USER}" ]; then \
|
||||
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
|
||||
@@ -9,22 +9,42 @@ FROM docker.io/library/debian:11-slim
|
||||
# Duplicate deb line as deb-src
|
||||
RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update && \
|
||||
apt-get install -y eatmydata && \
|
||||
eatmydata apt-get dist-upgrade -y && \
|
||||
apt build-dep -yy qemu
|
||||
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
|
||||
DEBIAN_FRONTEND=noninteractive eatmydata \
|
||||
apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
bison \
|
||||
ca-certificates \
|
||||
ccache \
|
||||
clang \
|
||||
flex \
|
||||
curl \
|
||||
gettext \
|
||||
git \
|
||||
python3-minimal
|
||||
ninja-build \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
python3-venv \
|
||||
python3-wheel
|
||||
|
||||
RUN /usr/bin/pip3 install tomli
|
||||
|
||||
RUN curl -#SL https://github.com/loongson/build-tools/releases/download/2023.08.08/CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz \
|
||||
| tar -xJC /opt
|
||||
|
||||
ENV PATH $PATH:/opt/cross-tools/bin
|
||||
ENV LD_LIBRARY_PATH /opt/cross-tools/lib:/opt/cross-tools/loongarch64-unknown-linux-gnu/lib:$LD_LIBRARY_PATH
|
||||
|
||||
ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
|
||||
ENV DEF_TARGET_LIST loongarch64-linux-user,loongarch-softmmu
|
||||
|
||||
# As a final step configure the user (if env is defined)
|
||||
ARG USER
|
||||
ARG UID
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
#
|
||||
# Docker cross-compiler target
|
||||
#
|
||||
# This docker target builds on the Debian Bullseye base image.
|
||||
#
|
||||
FROM docker.io/library/debian:11-slim
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update && \
|
||||
apt-get install -y eatmydata && \
|
||||
eatmydata apt-get dist-upgrade -y && \
|
||||
eatmydata apt-get install --no-install-recommends -y \
|
||||
gcc-m68k-linux-gnu \
|
||||
libc6-dev-m68k-cross
|
||||
# As a final step configure the user (if env is defined)
|
||||
ARG USER
|
||||
ARG UID
|
||||
RUN if [ "${USER}" ]; then \
|
||||
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
|
||||
@@ -1,19 +0,0 @@
|
||||
#
|
||||
# Docker mips cross-compiler target
|
||||
#
|
||||
# This docker target builds on the Debian Bullseye base image.
|
||||
#
|
||||
FROM docker.io/library/debian:11-slim
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update && \
|
||||
apt-get install -y eatmydata && \
|
||||
eatmydata apt-get dist-upgrade -y && \
|
||||
eatmydata apt-get install --no-install-recommends -y \
|
||||
gcc-mips-linux-gnu \
|
||||
libc6-dev-mips-cross
|
||||
# As a final step configure the user (if env is defined)
|
||||
ARG USER
|
||||
ARG UID
|
||||
RUN if [ "${USER}" ]; then \
|
||||
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
|
||||
@@ -1,19 +0,0 @@
|
||||
#
|
||||
# Docker cross-compiler target
|
||||
#
|
||||
# This docker target builds on the Debian Bullseye base image.
|
||||
#
|
||||
FROM docker.io/library/debian:11-slim
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update && \
|
||||
apt-get install -y eatmydata && \
|
||||
eatmydata apt-get dist-upgrade -y && \
|
||||
eatmydata apt-get install --no-install-recommends -y \
|
||||
gcc-mips64-linux-gnuabi64 \
|
||||
libc6-dev-mips64-cross
|
||||
# As a final step configure the user (if env is defined)
|
||||
ARG USER
|
||||
ARG UID
|
||||
RUN if [ "${USER}" ]; then \
|
||||
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
|
||||
@@ -1,23 +0,0 @@
|
||||
#
|
||||
# Docker powerpc/ppc64/ppc64le cross-compiler target
|
||||
#
|
||||
# This docker target builds on the Debian Bullseye base image.
|
||||
#
|
||||
FROM docker.io/library/debian:11-slim
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update && \
|
||||
apt-get install -y eatmydata && \
|
||||
eatmydata apt-get dist-upgrade -y && \
|
||||
eatmydata apt-get install --no-install-recommends -y \
|
||||
gcc-powerpc-linux-gnu \
|
||||
libc6-dev-powerpc-cross \
|
||||
gcc-10-powerpc64-linux-gnu \
|
||||
libc6-dev-ppc64-cross \
|
||||
gcc-10-powerpc64le-linux-gnu \
|
||||
libc6-dev-ppc64el-cross
|
||||
# As a final step configure the user (if env is defined)
|
||||
ARG USER
|
||||
ARG UID
|
||||
RUN if [ "${USER}" ]; then \
|
||||
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
|
||||
@@ -1,19 +0,0 @@
|
||||
#
|
||||
# Docker cross-compiler target
|
||||
#
|
||||
# This docker target builds on the Debian Bullseye base image.
|
||||
#
|
||||
FROM docker.io/library/debian:11-slim
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update && \
|
||||
apt-get install -y eatmydata && \
|
||||
eatmydata apt-get dist-upgrade -y && \
|
||||
eatmydata apt-get install --no-install-recommends -y \
|
||||
gcc-riscv64-linux-gnu \
|
||||
libc6-dev-riscv64-cross
|
||||
# As a final step configure the user (if env is defined)
|
||||
ARG USER
|
||||
ARG UID
|
||||
RUN if [ "${USER}" ]; then \
|
||||
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
|
||||
@@ -1,19 +0,0 @@
|
||||
#
|
||||
# Docker cross-compiler target
|
||||
#
|
||||
# This docker target builds on the Debian Bullseye base image.
|
||||
#
|
||||
FROM docker.io/library/debian:11-slim
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update && \
|
||||
apt-get install -y eatmydata && \
|
||||
eatmydata apt-get dist-upgrade -y && \
|
||||
eatmydata apt-get install --no-install-recommends -y \
|
||||
gcc-sh4-linux-gnu \
|
||||
libc6-dev-sh4-cross
|
||||
# As a final step configure the user (if env is defined)
|
||||
ARG USER
|
||||
ARG UID
|
||||
RUN if [ "${USER}" ]; then \
|
||||
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
|
||||
@@ -1,19 +0,0 @@
|
||||
#
|
||||
# Docker cross-compiler target
|
||||
#
|
||||
# This docker target builds on the Debian Bullseye base image.
|
||||
#
|
||||
FROM docker.io/library/debian:11-slim
|
||||
|
||||
RUN export DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update && \
|
||||
apt-get install -y eatmydata && \
|
||||
eatmydata apt-get dist-upgrade -y && \
|
||||
eatmydata apt-get install --no-install-recommends -y \
|
||||
gcc-sparc64-linux-gnu \
|
||||
libc6-dev-sparc64-cross
|
||||
# As a final step configure the user (if env is defined)
|
||||
ARG USER
|
||||
ARG UID
|
||||
RUN if [ "${USER}" ]; then \
|
||||
id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user