Juanito
Group: Members
Posts: 1601
Joined: Sep. 2005 |
|
Posted: Dec. 17 2007,03:23 |
|
You're right in that the notes with the 2.4.26 kernel sources (I did not check the 2.4.31 kernel sources) recommends using gcc-2.95.
I initially started with gcc-2.95 for the compile extension, but gcc-2.95 will not compile the version of the glibc library used in dsl, so I switched to gcc-3.3.5.
I have not seen any adverse effects compiling modules (eg bluetooth, irda, cifs) with the compile extension, but I will add a warning to the compile extension info file as suggested.
Edit: here is what it says on the subject in ../Documentation/Changes in both the 2.4.26 and 2.4.31 kernel sources:Quote | Current Minimal Requirements ============================
Upgrade to at *least* these software revisions before thinking you've encountered a bug! If you're unsure what version you're currently running, the suggested command should tell you.
Again, keep in mind that this list assumes you are already functionally running a Linux 2.2 kernel. Also, not all tools are necessary on all systems; obviously, if you don't have any PCMCIA (PC Card) hardware, for example, you probably needn't concern yourself with pcmcia-cs.
o Gnu C 2.95.3 # gcc --version o Gnu make 3.77 # make --version o binutils 2.9.1.0.25 # ld -v o util-linux 2.10o # fdformat --version o modutils 2.4.14 # insmod -V o e2fsprogs 1.25 # tune2fs o jfsutils 1.0.12 # fsck.jfs -V o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs o xfsprogs 2.6.0 # xfs_db -V o pcmcia-cs 3.1.21 # cardmgr -V o quota-tools 3.09 # quota -V o PPP 2.4.0 # pppd --version o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version Kernel compilation ==================
GCC ---
The gcc version requirements may vary depending on the type of CPU in your computer. The next paragraph applies to users of x86 CPUs, but not necessarily to users of other CPUs. Users of other CPUs should obtain information about their gcc version requirements from another source.
The recommended compiler for the kernel is gcc 2.95.x (x >= 3), and it should be used when you need absolute stability. You may use gcc 3.0.x instead if you wish, although it may cause problems. Later versions of gcc have not received much testing for Linux kernel compilation, and there are almost certainly bugs (mainly, but not exclusively, in the kernel) that will need to be fixed in order to use these compilers. In any case, using pgcc instead of egcs or plain gcc is just asking for trouble.
Note that gcc 2.7.2.3 is no longer a supported kernel compiler. The kernel no longer works around bugs in gcc 2.7.2.3 and, in fact, will refuse to be compiled with it. egcs-1.1.2 has register allocation problems in very obscure cases. We have ensured the kernel does not trip these in any known situation. The 2.5 tree is likely to drop egcs-1.1.2 workarounds.
The Red Hat gcc 2.96 compiler subtree can also be used to build this tree. You should ensure you use gcc-2.96-74 or later. gcc-2.96-54 will not build the kernel correctly.
In addition, please pay attention to compiler optimization. Anything greater than -O2 may not be wise. Similarly, if you choose to use gcc-2.95.x or derivatives, be sure not to use -fstrict-aliasing (which, depending on your version of gcc 2.95.x, may necessitate using -fno-strict-aliasing). |
|