From: Mahadev K Cholachagudda (kcmahadev@zilogindia.com)
Date: Tue Jan 30 2001 - 04:37:20 EST
Dear Joe Sir, > I would think that you could program around the lack of a SVC mode, but > the gnu tools thing is going to be an issue. There are quite a few GCC > Extensions, and the Linux kernel makes use of several of them quite > extensively. You can find a list of the extensions at: > > http://gcc.gnu.org/onlinedocs/gcc_5.html#SEC69 > > The thing is you really don't want to be trying to maintain the changes > to support a different compiler since you'll be having to fix them all > again with every new version of the OS. > > You are planning on using the 2.4.X tree, right? No, we are planning adopt the same kernel which uCLinux has many ports for coldfire. i.e. 2.0.38. Thanks for the document you have written for porting the uCLinux to different processor. by going through the uCLinux code, i could find out some points for gnu extensions which are not available in 'x' compiler. 'x' compiler is other than GCC compiler. If we go ahed with the 'x' compiler, as you specified above, we have to maintain the changes to support for different fix with the 'x' compiler. With the help of OSS, i could find out some of the extensions of GCC used in Linux kernel. please review and comment on the following document. Thanks, With best regards, \/ \/ Mahadev K. Cholachagudda O . O mailto:kcmahadev@zilogindia.com ( ) Introduction: This document describes about the features of gcc which are very much necessary to compile the Linux and also about the features that an 'x' compiler does not have if used to compile the Linux. Details: 1. The GCC has an explicit inline declaration for functions. So this option may enable the calling function to have the contents of some global variables in particular register. 2. The GCC has an support for inline assembly with 'C' expression operands which can be used in 'C' functions. 3. The GCC has a support for including the 'C' header files into the assembly source files. The problems if one uses 'x' compiler other than GCC. ===================================================== 1. He/she may not get the features of GCC listed above into the 'x' compiler. 2. The Linux kernel mainly uses GCC. If the Linux kernel is made to compile using 'x' compiler other than GCC, then code updation will take time for 'x' compiler if a newer version or patch of Linux released. 3. The Linux code may have some code which is purely based upon the data types e.g. for one processor the unsigned long may be 32 bits or 16 bits. 4. The 'x' compiler does n't have support for points (1), (2), (3) in the gcc features. This message resent by the uclinux-dev@uclinux.org list server http://www.uClinux.org/
This archive was generated by hypermail 2.1.4 : Thu Sep 19 2002 - 13:19:28 EDT