+1
−0
+4
−0
cmake/toolchain-powerpc-e500.cmake
0 → 100644
+54
−0
+10
−2
+15
−2
Loading
New architecture src/linux/arch/powerpc: syscalls (sc, CR0.SO errors,
register-pair 64-bit arguments), crt1/Scrt1/crti/crtn/dlstart, clone,
setjmp/sigsetjmp, signal trampolines, atomics, TLS variant I (r2 =
tcb end + 0x7000), DWARF unwinder registers, 128-bit division runtime,
syscall table generated from the fenrir kernel (gen_sysbits.sh).
Toolchain file cmake/toolchain-powerpc-e500.cmake (soft-float,
-msecure-plt, tests under qemu-ppc -cpu e500v2).
Generic code made word-size and byte-order neutral: ElfW() in the
dynamic linker, TLS layout per variant, unwinder split into
eh_unwind_core.h, 64-bit time_t/off_t/rlim_t on ILP32 with time64
syscalls, statx-based stat, mmap2/_llseek/pread64 pairs, shmctl/timex/
itimer/wait4 conversions, O_LARGEFILE, per-arch termios/ioctl/setjmp
headers.
Bugs fixed that only hid on x86_64: htons/htonl always swapped, printf
read long double as x87, ostream passed long to %lld, getdents64
record used long, bitset/inttypes assumed 64-bit long (PRIdFAST16/32
were wrong everywhere), CMAKE_ASM_FLAGS was clobbered.
powerpc: 154/154 e2e under qemu-ppc; x86_64 unchanged (154/155,
pre-existing __divti3 link failure of blogi_stdlib_gaps_test).
Co-Authored-By:
Claude Opus 5.5 <noreply@anthropic.com>