While attempting to build a lightweight kernel for an old 486 laptop from
the 2.2.16-3 sources I got several compilation errors in ksyms.c relating
to SMP support even though I had not selected the SMP option in 'make
xconfig'. Using the same .config file with pristine 2.2.16 sources did not
result in any compilation errors. The .config file and make log are
available in the tar file at the URL.
Hmm - I did a 'make mrproper' and started over with the same
.config file and got no errors. Doing a 'make clean' was not
sufficient to clear up the problem. I had previously done a
'make oldconfig' in the same directory using Red Hat's stock
config file for i686 SMP. Something was left over from that
operation that caused the problem and only 'make mrproper'
fixed it, so there may still be a bug here somewhere.
Known limitation of the kernel make stuff.. it finally got fixed in the 2.5
tree. Before that its a known "feature" you need to completely clean the tree
switching between SMP and non-SMP