Version 2.1.39 SMP

Richard B. Johnson (
Tue, 20 May 1997 11:40:40 -0400 (EDT)

I have been trying to break linux version 2.1.39 SMP. The damn thing seems
to work!

Here is a kernel compile with `make -j` which would usually kill the system.

Tue May 20 11:09:54 EDT 1997
gcc -D__KERNEL__ -I/usr/src/linux-2.1.39/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -D__SMP__ -pipe -fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=586 -D__SMP__ -c -o init/main.o init/main.c
set -e; for i in kernel drivers mm fs net ipc lib arch/i386/kernel arch/i386/mm arch/i386/lib; do make -C $i; done
make[1]: Entering directory `/usr/src/linux-2.1.39/kernel'
make all_targets

[Lotsa stuff cut]

ld -m elf_i386 -Ttext 0x1000 -e startup_32 -o vmlinux head.o misc.o piggy.o
make[2]: Leaving directory `/usr/src/linux-2.1.39/arch/i386/boot/compressed'
objcopy -O binary -R .note -R .comment -S compressed/vmlinux compressed/vmlinux.out
tools/build bootsect setup compressed/vmlinux.out CURRENT > zImage
Root device is (8, 1)
Boot sector 512 bytes.
Setup is 1252 bytes.
System is 497 kB
make[1]: Leaving directory `/usr/src/linux-2.1.39/arch/i386/boot'
Tue May 20 11:20:58 EDT 1997

Total time: 00:11:04

Of course there is at least one BUG! Attempt to execute vmlinux, er...
dismount your disks first. The result will be:

general protection: 0000
CPU: 0
EIP: 0010:[<c0109916>]
EFLAGS: 00010282
Data segment was at 002b and extra segment the same (user-space).

I think the appropriate action is supposed to be a core-dump. This is
a user task that did a bad thing. Instead, the machine halts.

Dick Johnson
Richard B. Johnson
Project Engineer
Analogic Corporation
Voice : (508) 977-3000 ext. 3754
Fax : (508) 532-6097
Modem : (508) 977-6870
Ftp :
Email :,
Penguin : Linux version 2.1.39 on an i586 machine (66.18 BogoMips).
Warning : I read unsolicited mail for $350.00 per hour. Supply billing address.