RUN check-fat i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-fat-loop.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-fat-loop.elf i686-elf-objcopy -O binary build/kernel-fat-loop.elf build/kernel-fat-loop.bin sh tools/kernel-header.sh build/kernel-fat-loop 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-fat-loop.img dd if=build/kernel-fat-loop-header.bin of=build/mbr-fat-loop.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-fat-loop.bin of=build/mbr-fat-loop.img bs=512 seek=10 conv=notrunc status=none cp build/mbr-fat-loop.img build/mbr-fat-loop-test.img dd if=build/fat16-loop.bin of=build/mbr-fat-loop-test.img bs=512 seek=2048 conv=notrunc status=none dd if=build/block-pattern-last.bin of=build/mbr-fat-loop-test.img bs=512 seek=16383 conv=notrunc status=none i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-fat-short.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-fat-short.elf i686-elf-objcopy -O binary build/kernel-fat-short.elf build/kernel-fat-short.bin sh tools/kernel-header.sh build/kernel-fat-short 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-fat-short.img dd if=build/kernel-fat-short-header.bin of=build/mbr-fat-short.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-fat-short.bin of=build/mbr-fat-short.img bs=512 seek=10 conv=notrunc status=none cp build/mbr-fat-short.img build/mbr-fat-short-test.img dd if=build/fat16-short.bin of=build/mbr-fat-short-test.img bs=512 seek=2048 conv=notrunc status=none dd if=build/block-pattern-last.bin of=build/mbr-fat-short-test.img bs=512 seek=16383 conv=notrunc status=none i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-fat-badbpb.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-fat-badbpb.elf i686-elf-objcopy -O binary build/kernel-fat-badbpb.elf build/kernel-fat-badbpb.bin sh tools/kernel-header.sh build/kernel-fat-badbpb 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-fat-badbpb.img dd if=build/kernel-fat-badbpb-header.bin of=build/mbr-fat-badbpb.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-fat-badbpb.bin of=build/mbr-fat-badbpb.img bs=512 seek=10 conv=notrunc status=none cp build/mbr-fat-badbpb.img build/mbr-fat-badbpb-test.img dd if=build/fat16-badbpb.bin of=build/mbr-fat-badbpb-test.img bs=512 seek=2048 conv=notrunc status=none dd if=build/block-pattern-last.bin of=build/mbr-fat-badbpb-test.img bs=512 seek=16383 conv=notrunc status=none i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-fat-mirror.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-fat-mirror.elf i686-elf-objcopy -O binary build/kernel-fat-mirror.elf build/kernel-fat-mirror.bin sh tools/kernel-header.sh build/kernel-fat-mirror 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-fat-mirror.img dd if=build/kernel-fat-mirror-header.bin of=build/mbr-fat-mirror.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-fat-mirror.bin of=build/mbr-fat-mirror.img bs=512 seek=10 conv=notrunc status=none cp build/mbr-fat-mirror.img build/mbr-fat-mirror-test.img dd if=build/fat16-mirror.bin of=build/mbr-fat-mirror-test.img bs=512 seek=2048 conv=notrunc status=none dd if=build/block-pattern-last.bin of=build/mbr-fat-mirror-test.img bs=512 seek=16383 conv=notrunc status=none i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-fat-rootbound.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-fat-rootbound.elf i686-elf-objcopy -O binary build/kernel-fat-rootbound.elf build/kernel-fat-rootbound.bin sh tools/kernel-header.sh build/kernel-fat-rootbound 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-fat-rootbound.img dd if=build/kernel-fat-rootbound-header.bin of=build/mbr-fat-rootbound.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-fat-rootbound.bin of=build/mbr-fat-rootbound.img bs=512 seek=10 conv=notrunc status=none cp build/mbr-fat-rootbound.img build/mbr-fat-rootbound-test.img dd if=build/fat16-rootbound.bin of=build/mbr-fat-rootbound-test.img bs=512 seek=2048 conv=notrunc status=none dd if=build/block-pattern-last.bin of=build/mbr-fat-rootbound-test.img bs=512 seek=16383 conv=notrunc status=none i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-fat-dirhi.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-fat-dirhi.elf i686-elf-objcopy -O binary build/kernel-fat-dirhi.elf build/kernel-fat-dirhi.bin sh tools/kernel-header.sh build/kernel-fat-dirhi 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-fat-dirhi.img dd if=build/kernel-fat-dirhi-header.bin of=build/mbr-fat-dirhi.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-fat-dirhi.bin of=build/mbr-fat-dirhi.img bs=512 seek=10 conv=notrunc status=none cp build/mbr-fat-dirhi.img build/mbr-fat-dirhi-test.img dd if=build/fat16-dirhi.bin of=build/mbr-fat-dirhi-test.img bs=512 seek=2048 conv=notrunc status=none dd if=build/block-pattern-last.bin of=build/mbr-fat-dirhi-test.img bs=512 seek=16383 conv=notrunc status=none i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-fat-emptycluster.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-fat-emptycluster.elf i686-elf-objcopy -O binary build/kernel-fat-emptycluster.elf build/kernel-fat-emptycluster.bin sh tools/kernel-header.sh build/kernel-fat-emptycluster 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-fat-emptycluster.img dd if=build/kernel-fat-emptycluster-header.bin of=build/mbr-fat-emptycluster.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-fat-emptycluster.bin of=build/mbr-fat-emptycluster.img bs=512 seek=10 conv=notrunc status=none cp build/mbr-fat-emptycluster.img build/mbr-fat-emptycluster-test.img dd if=build/fat16-emptycluster.bin of=build/mbr-fat-emptycluster-test.img bs=512 seek=2048 conv=notrunc status=none dd if=build/block-pattern-last.bin of=build/mbr-fat-emptycluster-test.img bs=512 seek=16383 conv=notrunc status=none i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-fat-badcluster.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-fat-badcluster.elf i686-elf-objcopy -O binary build/kernel-fat-badcluster.elf build/kernel-fat-badcluster.bin sh tools/kernel-header.sh build/kernel-fat-badcluster 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-fat-badcluster.img dd if=build/kernel-fat-badcluster-header.bin of=build/mbr-fat-badcluster.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-fat-badcluster.bin of=build/mbr-fat-badcluster.img bs=512 seek=10 conv=notrunc status=none cp build/mbr-fat-badcluster.img build/mbr-fat-badcluster-test.img dd if=build/fat16-badcluster.bin of=build/mbr-fat-badcluster-test.img bs=512 seek=2048 conv=notrunc status=none dd if=build/block-pattern-last.bin of=build/mbr-fat-badcluster-test.img bs=512 seek=16383 conv=notrunc status=none i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-fat-reserved.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-fat-reserved.elf i686-elf-objcopy -O binary build/kernel-fat-reserved.elf build/kernel-fat-reserved.bin sh tools/kernel-header.sh build/kernel-fat-reserved 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-fat-reserved.img dd if=build/kernel-fat-reserved-header.bin of=build/mbr-fat-reserved.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-fat-reserved.bin of=build/mbr-fat-reserved.img bs=512 seek=10 conv=notrunc status=none cp build/mbr-fat-reserved.img build/mbr-fat-reserved-test.img dd if=build/fat16-reserved.bin of=build/mbr-fat-reserved-test.img bs=512 seek=2048 conv=notrunc status=none dd if=build/block-pattern-last.bin of=build/mbr-fat-reserved-test.img bs=512 seek=16383 conv=notrunc status=none i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-fat-outofrange.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-fat-outofrange.elf i686-elf-objcopy -O binary build/kernel-fat-outofrange.elf build/kernel-fat-outofrange.bin sh tools/kernel-header.sh build/kernel-fat-outofrange 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-fat-outofrange.img dd if=build/kernel-fat-outofrange-header.bin of=build/mbr-fat-outofrange.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-fat-outofrange.bin of=build/mbr-fat-outofrange.img bs=512 seek=10 conv=notrunc status=none cp build/mbr-fat-outofrange.img build/mbr-fat-outofrange-test.img dd if=build/fat16-outofrange.bin of=build/mbr-fat-outofrange-test.img bs=512 seek=2048 conv=notrunc status=none dd if=build/block-pattern-last.bin of=build/mbr-fat-outofrange-test.img bs=512 seek=16383 conv=notrunc status=none i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-fat-oversize.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-fat-oversize.elf i686-elf-objcopy -O binary build/kernel-fat-oversize.elf build/kernel-fat-oversize.bin sh tools/kernel-header.sh build/kernel-fat-oversize 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-fat-oversize.img dd if=build/kernel-fat-oversize-header.bin of=build/mbr-fat-oversize.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-fat-oversize.bin of=build/mbr-fat-oversize.img bs=512 seek=10 conv=notrunc status=none cp build/mbr-fat-oversize.img build/mbr-fat-oversize-test.img dd if=build/fat16-oversize.bin of=build/mbr-fat-oversize-test.img bs=512 seek=2048 conv=notrunc status=none dd if=build/block-pattern-last.bin of=build/mbr-fat-oversize-test.img bs=512 seek=16383 conv=notrunc status=none QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' GDB='/tmp/build-an-os-tools/bin/gdb-multiarch' sh tools/check-fat.sh PASS: FAT16 geometry, root filtering, offset reads and non-contiguous 2->9->4 chain verified PASS: FAT demo reaches original blocking keyboard consumer PASS: loop FAT corruption rejected PASS: short FAT corruption rejected PASS: badbpb FAT corruption rejected PASS: mirror FAT corruption rejected PASS: rootbound FAT corruption rejected PASS: dirhi FAT corruption rejected PASS: emptycluster FAT corruption rejected PASS: badcluster FAT corruption rejected PASS: reserved FAT corruption rejected PASS: outofrange FAT corruption rejected PASS: oversize FAT corruption rejected PASS check-fat RUN check-block i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-block-timeout.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-block-timeout.elf i686-elf-objcopy -O binary build/kernel-block-timeout.elf build/kernel-block-timeout.bin sh tools/kernel-header.sh build/kernel-block-timeout 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-block-timeout.img dd if=build/kernel-block-timeout-header.bin of=build/mbr-block-timeout.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-block-timeout.bin of=build/mbr-block-timeout.img bs=512 seek=10 conv=notrunc status=none i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-block-error.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-block-error.elf i686-elf-objcopy -O binary build/kernel-block-error.elf build/kernel-block-error.bin sh tools/kernel-header.sh build/kernel-block-error 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-block-error.img dd if=build/kernel-block-error-header.bin of=build/mbr-block-error.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-block-error.bin of=build/mbr-block-error.img bs=512 seek=10 conv=notrunc status=none i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-block-nodrq.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-block-nodrq.elf i686-elf-objcopy -O binary build/kernel-block-nodrq.elf build/kernel-block-nodrq.bin sh tools/kernel-header.sh build/kernel-block-nodrq 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-block-nodrq.img dd if=build/kernel-block-nodrq-header.bin of=build/mbr-block-nodrq.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-block-nodrq.bin of=build/mbr-block-nodrq.img bs=512 seek=10 conv=notrunc status=none QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' GDB='/tmp/build-an-os-tools/bin/gdb-multiarch' IMAGE_SECTORS='16384' PAYLOAD_MAX_BYTES='131072' sh tools/check-block.sh PASS: IDENTIFY, MBR, two patterned sectors and range rejection verified PASS: block demo reaches original blocking keyboard consumer PASS: timeout failure is diagnosed and channel fails closed PASS: nodrq failure is diagnosed and channel fails closed PASS: error failure is diagnosed and channel fails closed PASS check-block RUN check-process i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main-process-fail.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-process-fail.elf i686-elf-objcopy -O binary build/kernel-process-fail.elf build/kernel-process-fail.bin sh tools/kernel-header.sh build/kernel-process-fail 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-process-fail.img dd if=build/kernel-process-fail-header.bin of=build/mbr-process-fail.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-process-fail.bin of=build/mbr-process-fail.img bs=512 seek=10 conv=notrunc status=none QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' GDB='/tmp/build-an-os-tools/bin/gdb-multiarch' PAYLOAD_MAX_BYTES='131072' sh tools/check-process.sh The target architecture is set to "i386". 0x0000fff0 in ?? () Hardware assisted breakpoint 1 at 0x10764f: file kernel/task.c, line 1080. Breakpoint 1, process_bootstrap_observed () at kernel/task.c:1080 1080 { __asm__ volatile("nop" ::: "memory"); } PASS: parent blocked inside top-level wait while BADPTR remained zombie and COUNT runnable Hardware assisted breakpoint 2 at 0x10778d: file kernel/task.c, line 1083. Breakpoint 2, process_demo_done () at kernel/task.c:1083 1083 { __asm__ volatile("nop" ::: "memory"); } PASS: two rounds, bad status retries, PID reuse protection, orphan adoption and complete recovery verified Hardware assisted breakpoint 3 at 0x10183e: file kernel/keyboard.c, line 116. Breakpoint 3, keyboard_ready () at kernel/keyboard.c:116 116 void keyboard_ready(void) { __asm__ volatile("" ::: "memory"); } PASS: process demo reaches original blocking keyboard consumer The target architecture is set to "i386". 0x0000fff0 in ?? () Hardware assisted breakpoint 1 at 0x10778d: file kernel/task.c, line 1083. Breakpoint 1, process_demo_done () at kernel/task.c:1083 1083 { __asm__ volatile("nop" ::: "memory"); } PASS: seven ELF allocation failures plus kernel-stack failure rolled back, then normal spawn recovered PASS check-process RUN check-syscall QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' sh tools/check-syscall.sh The target architecture is set to "i386". 0x0000fff0 in ?? () Hardware assisted breakpoint 1 at 0x108926: file kernel/syscall.c, line 211. Breakpoint 1, syscall_dispatch (frame=0x13bfb4) at kernel/syscall.c:211 211 KASSERT((frame->cs & 3) == 3 && frame->vector == 128 && frame->error == 0); PASS: CPL3 int80 used DPL3 interrupt gate; 76-byte frame, post-INT EIP, GPR and saved IF/DF/CF verified Hardware assisted breakpoint 2 at 0x106a5a: file kernel/task.c, line 781. Breakpoint 2, syscall_demo_done () at kernel/task.c:781 781 { __asm__ volatile("" ::: "memory"); } PASS: write/yield, copy-to-user and all return paths verified; bad DPL gate isolated; survivor and page recovery verified Hardware assisted breakpoint 3 at 0x10183e: file kernel/keyboard.c, line 116. Breakpoint 3, keyboard_ready () at kernel/keyboard.c:116 116 void keyboard_ready(void) { __asm__ volatile("" ::: "memory"); } PASS: syscall demo reaches original blocking keyboard consumer PASS check-syscall RUN check-elf QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' GDB='/tmp/build-an-os-tools/bin/gdb-multiarch' sh tools/check-elf.sh The target architecture is set to "i386". 0x0000fff0 in ?? () Hardware assisted breakpoint 1 at 0x40000080 Breakpoint 1, 0x40000080 in ?? () PASS: dynamic ELF entry reached CPL3 with private CR3, RO code and RW data Hardware assisted breakpoint 2 at 0x40000091 Breakpoint 2, 0x40000091 in ?? () PASS: C entry stack alignment, clear DF, initialized data and 5000-byte BSS verified Hardware assisted breakpoint 3 at 0x107193: file kernel/task.c, line 950. Breakpoint 3, elf_demo_done () at kernel/task.c:950 950 { __asm__ volatile("nop" ::: "memory"); } PASS: 34 malformed ELF cases, all allocation failures and task-stack rollback recovered Hardware assisted breakpoint 4 at 0x10183e: file kernel/keyboard.c, line 116. Breakpoint 4, keyboard_ready () at kernel/keyboard.c:116 116 void keyboard_ready(void) { __asm__ volatile("" ::: "memory"); } PASS: ELF demo reaches original blocking keyboard consumer PASS check-elf RUN check-memory QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' KERNEL_MEMORY_MAX_BYTES='262144' sh tools/check-memory.sh The target architecture is set to "i386". 0x0000fff0 in ?? () Hardware assisted breakpoint 1 at 0x1023c0: file kernel/memory.c, line 114. Breakpoint 1, memory_demo_done () at kernel/memory.c:114 114 void memory_demo_done(void) { __asm__ volatile("" : : : "memory"); } PASS: guest allocation, exhaustion, patterns, invalid free, recovered bitmaps; pages=16067 end=0x11c2c0 Hardware assisted breakpoint 2 at 0x10183e: file kernel/keyboard.c, line 116. Breakpoint 2, keyboard_ready () at kernel/keyboard.c:116 116 void keyboard_ready(void) { __asm__ volatile("" ::: "memory"); } PASS: memory demo returns to keyboard_ready [Inferior 1 (process 1) detached] PASS check-memory RUN check-runtime-limit i686-elf-ld -m elf_i386 --defsym=__kernel_file_max=131072 --defsym=__kernel_memory_max=262144 --defsym=__kernel_forced_end=0x140000 -z noexecstack -T kernel/linker.ld build/kernel-entry.o build/kernel-main.o build/kernel-runtime.o build/kernel-console.o build/kernel-exceptions.o build/kernel-isr.o build/kernel-timer.o build/kernel-keyboard.o build/kernel-memory.o build/kernel-paging.o build/kernel-paging-probes.o build/kernel-heap.o build/kernel-task.o build/kernel-switch.o build/kernel-user.o build/kernel-syscall.o build/kernel-elf.o build/kernel-block.o build/kernel-fat.o build/kernel-file.o build/kernel-user-entry.o build/kernel-day18-elf-blob.o build/kernel-day19-elf-blob.o build/kernel-day22-elf-blob.o -o build/kernel-memory-cap.elf i686-elf-objcopy -O binary build/kernel-memory-cap.elf build/kernel-memory-cap.bin sh tools/kernel-header.sh build/kernel-memory-cap 131072 262144 0x334f5342 1 cp build/mbr.img build/mbr-memory-cap.img dd if=build/kernel-memory-cap-header.bin of=build/mbr-memory-cap.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-memory-cap.bin of=build/mbr-memory-cap.img bs=512 seek=10 conv=notrunc status=none cp build/kernel.bin build/kernel-file-cap.bin truncate -s 131072 build/kernel-file-cap.bin test "$(wc -c < build/kernel-file-cap.bin)" -eq 131072 build/mkpayload build/kernel-file-cap.bin build/kernel-file-cap-header.bin build/kernel-file-cap-badmagic.bin \ build/kernel-file-cap-oversized.bin build/kernel-file-cap-memory-oversized.bin \ 131072 131072 262144 \ 0x334f5342 131072 0 cp build/mbr.img build/mbr-file-cap.img dd if=build/kernel-file-cap-header.bin of=build/mbr-file-cap.img bs=512 seek=9 conv=notrunc status=none dd if=build/kernel-file-cap.bin of=build/mbr-file-cap.img bs=512 seek=10 conv=notrunc status=none QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' PAYLOAD_MAX_BYTES='131072' KERNEL_MEMORY_MAX_BYTES='262144' sh tools/check-runtime-limit.sh The target architecture is set to "i386". 0x0000fff0 in ?? () Hardware assisted breakpoint 1 at 0x100000 Breakpoint 1, 0x00100000 in _start () PASS: stage2 dirtied BSS beyond old 64 KiB runtime limit Hardware assisted breakpoint 2 at 0x10005b: file kernel/main.c, line 32. Breakpoint 2, kernel_main (info=0x5000) at kernel/main.c:32 32 console_init(); /* entry cleared BSS/set stack; UART and VGA precede diagnostics. */ PASS: entry cleared full BSS and exact 256 KiB runtime image entered C Hardware assisted breakpoint 3 at 0x107193: file kernel/task.c, line 950. Breakpoint 3, elf_demo_done () at kernel/task.c:950 950 { __asm__ volatile("nop" ::: "memory"); } PASS: exact-cap image completed allocator, user, syscall and ELF regressions The target architecture is set to "i386". 0x0000fff0 in ?? () Hardware assisted breakpoint 1 at 0x100000 Breakpoint 1, 0x00100000 in _start () PASS: exact 128 KiB file crossed real-mode segments, checksum and protected-mode copy PASS: oversized file and memory headers rejected before payload copy PASS check-runtime-limit RUN check-keyboard QEMU='/tmp/build-an-os-tools/bin/qemu-system-i386' QEMU_COMMON='-machine pc-i440fx-7.2 -accel tcg -cpu qemu32 -smp 1 -m 64M -bios /tmp/build-an-os-tools/root2/usr/share/seabios/bios-256k.bin -L /tmp/build-an-os-tools/root2/usr/share/qemu -boot order=c,strict=on -nic none -no-reboot' sh tools/check-keyboard.sh PASS: HMP real IRQ1 editing/Shift/Caps/Pause/PrintScreen, paused-consumer overflow, reset and LINE: ok PASS check-keyboard