I also list the tools I used in my Ubuntu 25.10 environment.
- toolchain:
gccvia apt with-m32option. - qemu:
qemu-i386via apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gccvia apt. - qemu:
qemu-x86_64via apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-arm-linux-gnueabihfvia apt. - qemu:
qemu-armvia apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-aarch64-linux-gnuvia apt. - qemu:
qemu-aarch64via apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-powerpc-linux-gnuvia apt. - qemu:
qemu-ppcvia apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-powerpc64{,le}-linux-gnuvia apt. - qemu:
qemu-ppc64{,le}via apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-mips{,el}-linux-gnuvia apt. - toolchain (Ubuntu 25.10):
mips32{,el}--glibc--stable-2025.08-1from https://toolchains.bootlin.com/ - qemu:
qemu-mips{,el}via apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-mips64{,el}-linux-gnuabi64via apt. - toolchain (Ubuntu 25.10): not found.
- qemu:
qemu-mips64{,el}via apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-multilib-mips{,el}-linux-gnuorgcc-multilib-mips64{,el}-linux-gnuabi64via apt with-mabi=n32option. - toolchain (Ubuntu 25.10):
mips64{,el}-n32--glibc--stable-2025.08-1from https://toolchains.bootlin.com/ - qemu:
qemu-mipsn32{,el}via apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
sparcv8--uclibc--stable-2025.08-1from https://toolchains.bootlin.com/ - qemu:
qemu-sparcvia apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-multilib-sparc64-linux-gnuvia apt with-m32option. - qemu:
qemu-sparc32plusvia apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-sparc64-linux-gnuvia apt. - qemu:
qemu-sparc64via apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
riscv32-ilp32d--glibc--stable-2025.08-1from https://toolchains.bootlin.com/ - qemu:
qemu-riscv32via apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-riscv64-linux-gnuvia apt. - qemu:
qemu-riscv64via apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-s390x-linux-gnuvia apt. - qemu:
qemu-s390xvia apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-sh4-linux-gnuvia apt. - qemu:
qemu-sh4via apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-m68k-linux-gnuvia apt. - qemu:
qemu-m68kvia apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-alpha-linux-gnuvia apt. - qemu:
qemu-alphavia apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
gcc-hppa-linux-gnuvia apt. - qemu:
qemu-hppavia apt. - gdb:
gdb-multiarchvia apt.
- toolchain:
openrisc--glibc--stable-2025.08-1from https://toolchains.bootlin.com/ - qemu:
qemu-or1kvia apt. - gdb: build from latest. See docs/FAQ.
- toolchain:
nios2--glibc--bleeding-edge-2024.05-1from https://toolchains.bootlin.com/ - qemu:
qemu-nios2via apt. - qemu (Ubuntu 25.04): not found.
- gdb: build from latest. See docs/FAQ.
- toolchain:
microblazebe--glibc--stable-2025.08-1from https://toolchains.bootlin.com/ - qemu:
qemu-microblazevia apt. - gdb: build from latest. See docs/FAQ.
- toolchain:
xtensa-lx60--uclibc--stable-2025.08-1from https://toolchains.bootlin.com/- Because the toolchain obtained with apt seems to be broken since the C header is unavailable.
- qemu:
qemu-xtensavia apt. - gdb:
xtensa-lx60--uclibc--bleeding-edge-2023.08-1from https://toolchains.bootlin.com/- Because
gdbbuilt from latest source will not work withset architecture xtensa. - But old toolchain (not 2025, but 2023) includes
xtensa-linux-gdbthat works fine.
- Because
- lib: cris-dist_1.64-1_i386.deb
- toolchain: x86_64-gcc-7.3.0-nolibc_cris-linux.tar.xz from http://ftp.iij.ad.jp/pub/linux/kernel/tools/crosstool/
mkdir cris-gcc-7.3.0-glibc && tar xf x86_64-gcc-7.3.0-nolibc_cris-linux.tar.xz -C cris-gcc-7.3.0-glibc --strip-components 1cd cris-gcc-7.3.0-glibc && mkdir rootfs && dpkg-deb -x ../cris-dist_1.64-1_i386.deb rootfsexport CRIS=$(pwd)/rootfs/usr/local/cris/cris-axis-linux-gnucd /lib/x86_64-linux-gnu && ln -s libisl.so.{23,15} && ln -s libmpfr.so.{6,4}cris-linux-gcc -B $CRIS/lib -I $CRIS/sys-include -static ./test.c
- qemu:
qemu-crisvia apt.- It needs
-cpuoption likeqemu-cris -cpu crisv17 -g 1234 ./a.out. - Could not use
-cpu crisv32because gdb does not support it.
- It needs
- gdb: build from latest. See docs/FAQ.
- toolchain: x86_64-cross-t ools-loongarch64-binutils_2.45-gcc_15.1.0-glibc_2.42.tar.xz
- qemu:
qemu-loongarch64via apt. - gdb: build from latest. See docs/FAQ.
- toolchain:
gcc-arc-linux-gnuvia apt. - qemu: https://github.com/foss-for-synopsys-dwc-arc-processors/qemu
- Add
#ifndefand#endiflike following tolinux-user/syscall.c.-
341 #ifndef SCHED_ATTR_SIZE_VER0 342 struct sched_attr { 343 uint32_t size; 344 uint32_t sched_policy; 345 uint64_t sched_flags; 346 int32_t sched_nice; 347 uint32_t sched_priority; 348 uint64_t sched_runtime; 349 uint64_t sched_deadline; 350 uint64_t sched_period; 351 uint32_t sched_util_min; 352 uint32_t sched_util_max; 353 }; 354 #endif
-
./configure --target-list=arc-linux-user --disable-werror && make && cp build/qemu-arc /usr/local/bin- It needs
-cpuoption likeqemu-arc -cpu hs5x -g 1234 ./a.out.
- Add
- gdb: build from latest. See docs/FAQ.
- toolchain: arc_gnu_2025.09_prebuilt_arc32_glibc_linux_install.tar.bz2
gdbis included, but it does not supportpython3.
- qemu: https://github.com/foss-for-synopsys-dwc-arc-processors/qemu
- Add
#ifndefand#endiflike following tolinux-user/syscall.c.-
341 #ifndef SCHED_ATTR_SIZE_VER0 342 struct sched_attr { 343 uint32_t size; 344 uint32_t sched_policy; 345 uint64_t sched_flags; 346 int32_t sched_nice; 347 uint32_t sched_priority; 348 uint64_t sched_runtime; 349 uint64_t sched_deadline; 350 uint64_t sched_period; 351 uint32_t sched_util_min; 352 uint32_t sched_util_max; 353 }; 354 #endif
-
./configure --target-list=arc-linux-user --disable-werror && make && cp build/qemu-arc /usr/local/bin- It needs
-cpuoption likeqemu-arc -cpu hs5x -g 1234 ./a.out.
- Add
- gdb: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb
./configure --disable-{binutils,ld,gold,gas,sim,gprof,gprofng} --target=arc64-snps-linux-gnu --with-python=/usr/bin/python3 && make && cp gdb/gdb /usr/local/bin/gdb-arc
- toolchain: arc_gnu_2025.09_prebuilt_arc64_glibc_linux_install.tar.bz2
gdbis included, but it does not supportpython3.
- qemu: https://github.com/foss-for-synopsys-dwc-arc-processors/qemu
- Add
#ifndefand#endiflike following tolinux-user/syscall.c.-
341 #ifndef SCHED_ATTR_SIZE_VER0 342 struct sched_attr { 343 uint32_t size; 344 uint32_t sched_policy; 345 uint64_t sched_flags; 346 int32_t sched_nice; 347 uint32_t sched_priority; 348 uint64_t sched_runtime; 349 uint64_t sched_deadline; 350 uint64_t sched_period; 351 uint32_t sched_util_min; 352 uint32_t sched_util_max; 353 }; 354 #endif
-
./configure --target-list=arc64-linux-user --disable-werror && make && cp build/qemu-arc64 /usr/local/bin- It needs
-cpuoption likeqemu-arc64 -cpu hs6x -g 1234 ./a.out.
- Add
- gdb: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb
./configure --disable-{binutils,ld,gold,gas,sim,gprof,gprofng} --target=arc64-snps-linux-gnu --with-python=/usr/bin/python3 && make && cp gdb/gdb /usr/local/bin/gdb-arc
- toolchain: https://github.com/c-sky/toolchain-build
apt -y install autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-devgit submodule update --init && python3 build-csky-gcc.py csky-gcc --src ./ --triple csky-unknown-linux-gnu --disable-gdbbuild-gcc-csky-unknown-linux-gnu/Xuantie-800-gcc-linux-5.10.4-glibc-x86_64is result toolchains.
- qemu: https://github.com/XUANTIE-RV/qemu
- Add
#ifndefand#endiflike following tolinux-user/syscall.c.-
364 #ifndef SCHED_ATTR_SIZE_VER0 365 struct sched_attr { 366 uint32_t size; 367 uint32_t sched_policy; 368 uint64_t sched_flags; 369 int32_t sched_nice; 370 uint32_t sched_priority; 371 uint64_t sched_runtime; 372 uint64_t sched_deadline; 373 uint64_t sched_period; 374 uint32_t sched_util_min; 375 uint32_t sched_util_max; 376 }; 377 #endif
-
./configure --target-list=cskyv1-linux-user,cskyv1eb-linux-user,cskyv2-linux-user,cskyv2eb-linux-user --disable-{bpf,werror} && make && cp build/qemu-cskyv{1,2}{,eb} /usr/local/bin- It needs
-cpuoption likeqemu-cskyv2 -cpu ck810 -g 1234 ./a.out.
- Add
- gdb: build from latest. See docs/FAQ.
These will be added if I find a combination that works. If you find it, please let me know in the issue page.
- toolchain:
bfin--uclibc--bleeding-edge-2018.02-1from https://toolchains.bootlin.com/ - qemu: https://github.com/vapier/qemu
- gdb stub is broken.
- gdb: build from latest. See docs/FAQ.
- toolchain: https://github.com/quic/toolchain_for_hexagon
- qemu:
qemu-hexagonvia apt. - gdb: not found.
- toolchain: https://ftp.riken.jp/Linux/kernel.org/tools/crosstool/files/bin/x86_64/7.3.0/
- lib: http://www.voidrouter.net/archives/211
- qemu: https://github.com/qemu/qemu/releases/tag/v5.2.0
- the breakpoint is broken.
- gdb: build from latest. See docs/FAQ.
- toolchain:
gcc-multilib-s390x-linux-gnuvia apt with-m31option. - toolchain (Ubuntu 25.04): not found.
- qemu: not found.
- gdb: build from latest. See docs/FAQ.
- toolchain:
gcc-hppa64-linuxvia apt. - lib: not found.
- qemu: not found.
- gdb: not found.
- toolchain: loongson-gnu-toolchain-8.3-x86_64-loongarch32r-linux-gnusf-v2.0.tar.xz
- qemu: https://gitee.com/loongson-edu/la32r-QEMU
./configure --target-list=loongarch32-linux-user --disable-werror && make && cp build/qemu-loongarch32 /usr/local/bin- It says
Architecture rejectedwhen connecting from gdb.
- gdb: build from latest. See docs/FAQ.
- toolchain: not found.
- qemu: https://github.com/OpenE2K/qemu-e2k
./configure --target-list=e2k-linux-user --disable-werror && make && cp build/qemu-e2k /usr/local/bin
- gdb: https://github.com/OpenE2K/binutils-gdb
git switch gdb-9.1-mcstmkdir build && cd build && ../configure --disable-{binutils,ld,gold,gas,sim,gprof,gprofng,nls,bpf} --target=e2k-linux-gnu --with-python=/usr/bin/python3 && make- Crash when it executes. It seems that binding python3 failed.
- toolchain: https://github.com/VincentZWC/prebuilt-nds32-v3f-toolchain
- qemu: not found.
- gdb: not found.