Jan Hudec wrote:
I would add one quite significant -- heavy wizardry in the linker script.
I believe linker script takes care of marking start and end of the init list
and some other very important things. And AFAIK that's a GNU-ld specific
stuff.
so there is also a linker issue .. not only the kernel depends on the
GNU extensions but the GNU-ld also .. thanks for telling me
ansi C .. i mean that it may be trivial to move a declaration or an
expression two or three lines before .. is it trivial as text/syntax
modifications or there are extensions that are based on a special gcc logic?
The block expression might be quite hard sometimes. But the major problem are
some of the __attribute__ specification -- asmlinkage (chages the calling
convention) and initcall/exitcall things (the linker script applies magic to
them). And of course though the AT&T assembly syntax can be translated, it's
not all *that* easy.
i'll read about those extensions .. but if it's a calling convention
attribute, can anyone fool the compiler to change the way it do a
function call ? is it possible ?
and if i wanna use cygwin .. i know that this question may now be asked
here but can i call windows executable (the compiler in my case) from
cygwin without recompiling/modifying it ?
Sure you can. As well as you can run cygwin executable from windows directly,
as long as it can find the appropriate dynamic library.
so lets get the question asked at a lower layer .. i wanna run the
compiler i have (win executable) on cygwin .. as you've said that this
is possible as long as the needed dynamic libraries are found .. so can
cygwin import windows dll without modification ?
well there is another thing must be changed .. the kernel Makefile is
written for gcc and the compilation options are written for gcc .. so i
have another step to look for it is the mapping between gcc flags and my
compiler flags .. the build process depends on a hirarichy Makefiles ..
it's hard to check all makefiles in all the hirarichy checking for gcc
options used to compile the kernel .. are they documented anywhere or is
there any way to them (before-when-after) kernel compilation
thanks Jan and all
MHD.Tayseer
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/