configure and compile a 2.4 kernel on an ss20 with dual ross cpus fails in linking stage. Reproducible: Always Steps to Reproduce: 1.compile any 2.4 kernel on a sparc32 system with smp enabled 2. 3. Actual Results: --end-group -o vmlinux.o objdump -x vmlinux.o | ./btfixupprep > btfix.s Wrong use of 'smp_processor_id' in '.text.exit' section. It can be only used in .text, .fixup and .text.init make[1]: *** [btfix.s] Error 1 make[1]: Leaving directory `/usr/src/linux-2.4.21/arch/sparc/boot' make: *** [_dir_arch/sparc/boot] Error 2 Expected Results: a working sparc32 kernel of the 2.4 series preferably 2.4.21 I have tried vanilla gentoo and redh*t sources for 2.4.20-2.4.21 SMCC SPARCstation 10/20 UP/MP POST version VRV3.45 (09/11/95) CPU_#0 HyperSPARC ROSS RT620/RT625 0x00040000 Bytes ECache CPU_#2 HyperSPARC ROSS RT620/RT625 0x00040000 Bytes ECache SPARCstation 20 MP (2 X RT625), No Keyboard ROM Rev. 2.25R hyperSPARC, 256 MB memory installed
assembly issue more referance at http://lxr.linux.no/ident?a=sparc&i=smp_processor_id
Created attachment 16888 [details, diff] Ignore btfixups in discarded sections Er, yes, assembly issue... Well, the situation is indeed much more complex. Fortunately you can avoid all that and simply smoke this patch, which will have a most salubrious effect on your kernel's build process. If indeed your kernel's build process returns to its robust and vigorous form, I should be most appreciative of your response, that I might pass the news of its favorable well-being to the kernel lists; and so the patch might be included in upcoming releases and others' kernels' build processes might also enjoy its many benefits.
Dave Miller has accepted this fix for 2.4.23 and 2.6.