I am working on writing a kernel and I have several friends who work with me on a project. We use DJGPP to compile the project for a while, but we have problems with cross-platform compatibility with compilation in a way that left my main Partnet in the project, which could not be compiled in Windows XP. (DJGPP GCC has problems with argument lists longer than 127 on Windows XP, but they have no problems with the same argument lists in Vista. So, this time Vista works better than XP, in some way. OO)
Anywho, instead of trying to work out some kind of dirty hack in order to compromise with DJGPP, we decided that we want to completely disable DJGPP and work with another version of GCC for Windows. The problem is that MinGW (as far as I know) does not allow us to use NASM syntax for parts of the code assembly, and it would be painful to convert all this into AT & T syntax at this point. Perhaps, of course, since it is quite early in the project, but a pain.
So now you know the problem. My question is this: that the GCC distribution compiler for Windows will allow us to most easily port this project on its own? Ideally, we are looking for something that NASM assembler syntax can do, rather than relying on the dll externel (this is the kernel here, it will not have access to them) and will work sequentially on several versions of Windows. What are your recommendations on the best way to do this, and which version of GCC for Windows do you recommend?
Please note that if we need to convert the project to AT & T syntax, which is OK, I just would like not to. We actually use NASM to build its assembly bits and create a valid .o file, but MinGW cannot link this for any reason. I think that the built-in assembly bits (possibly 5 lines) are already AT & T syntax as required by GCC.
Thank!
source
share