Version-Release number of selected component (if applicable):
2.4.22-1.2061
How reproducible:
100%
Steps to Reproduce:
1. make mrproper
2. cp configs/kernel-2.4.22-i686.config ./.config
3. make oldconfig dep clean bzImage
Actual results:
compilation fails with:
kernel/kernel.o(.text+0xf9f): In function `schedule':
: undefined reference to `active_load_balance'
Expected results:
make completes successfully
Additional info:
This looks like its because the definition of active_load_rebalance as well as
those of several functions active_load_rebalance depends on is in an #ifdef
CONFIG_SMP starting on line 1087. Compiling with SMP turned on fixed this problem.
Probably unrelated, but when I was debugging this I noticed:
cp configs/kernel-2.4.22-i686.config ./.config
grep CONFIG_SHARE_RUNQUEUE .config #nothing
make oldconfig
grep CONFIG_SHARE_RUNQUEUE .config #set to "y"
make xconfig<save without making any changes>
grep CONFIG_SHARE_RUNQUEUE .config #nothing again!

The problem, after a week of banging my head against the wall, is with compiler.
Well, kernel does not compile with default gcc (3.3). One should do export
CC=gcc32 and then try compiling kernel.
Two things to do:
1. Note explicitly in release-notes that you should do export CC=gcc32 before
compiling any Linux kernel, for the time being. (Should I file another bug for
release-notes?)
2. Better hack kernel Makefiles to fall back to gcc32 if CC is not defined. At
least we know that the kernel is not going to be compiled with the default gcc,
so the Makefile can decide itself.
And better the problem be solved before beta3. It's quite simple one, but
really annoying.

export CC=gcc32 works for me. Please close this bug as a user error. Sorry for
the trouble.
Behdad, it looks like you're hitting a different bug against gcc. You should
probably file another bug against gcc/as with the stack trace from the core file.

Created attachment 95889[details]
patch for configs/kernel-2.4.22-i686.config
this patch allows the kernel to be compiled using the normal steps:
make mrproper
cp configs/kernel-2.4.22-i686.config .config
make oldconfig
make dep
make bzImage

it is in all the i*86 UP config files. it is also still in the most
recent kernel update that has been released:
[root@yoda root]# rpm -qa | grep kernel-source
kernel-source-2.4.22-1.2129.nptl
[root@yoda root]#

the athlon and x86_64 configs are not affected because
CONFIG_NR_SIBLINGS_* are to be related to hyperthreading (see
arch/i386/config.in). CONFIG_SMP needs to be set for hyperthreading
to work. since CONFIG_SMP is not set for uniprocessor config files,
neither should CONFIG_NR_SIBLINGS_2.
and hyperthreading probably shouldn't be set by default anyway because
only i686 CPUs support this, and not even all of those do.

thanks for the feedback. i take it we don't have access to the
scripts that generate the configs (in a SRPM for mabye)? i was hoping
the fedora CVS tree would be up and running by now, but no such luck.

We've cleaned the scripts up and changed how they work a little for FC2.
With kernels from that release, you'll really get everything..
Hopefully at some point you'll even be able to cvs pull from the same
server I commit to, but now we're digressing..
I'll push out another -testing kernel in a few days.