[LLVMdev] Mod for using GAS with MS VC++

Aaron Gray angray at beeb.net
Mon Jul 11 18:08:09 PDT 2005


>>> 1. Please send patches instead of full files.  The best way to do this 
>>> is
>>>    to use CVS like this:  'cvs diff -u' in the directory that you care
>>>    about.  You can also specify specific files to diff as well.
>>
>> Okay, I will do this in future, our posts crossed so I have not done that 
>> for the MASM backend. I will do this in future. If you want me to redo 
>> the MASM Printer as diff's I can do so tommorow as it is late now.
>
> Sounds good, thanks and sorry for the trouble.

No problem, we need proper proceedure in place to avoid possible confusion.

>>> 3. You need to invent a target triple for your new configuration. 
>>> You'll
>>>    notice that the forCygwin/forDarwin variables are set based on the
>>>    target triple of the module... as you coded it, forWindows is only
>>>    ever set if the t-t is empty.
>>
>> Right, presumably Wndows does not set the TT. Should Windows or MSVC++ 
>> have one ? If so how do I go about it. Maybe Jeff should be involved ?
>
> It should/will.  Currently there is no C/C++ front-end that works on 
> native windows, but that doesn't really matter.  In the future, we want to 
> key off the target triple that makes sense.
>
> Cygwin uses: i686-pc-cygwin and mingw uses i686-pc-mingw32, so I think 
> that using i686-pc-masm  and i686-pc-nasm make sense.

Okay, how do we implement that ?

>>> 4. The name forWindows isn't very specific, as there are multiple dev
>>>    systems available on windows (including cygwin, mingw, masm, nasm,
>>>    etc).  Please use something more specific.
>>
>> Maybe it should be MSVC specific then ?
>
> Sure, but presumably you want to differentiate between nasm and masm (if 
> they are not compatible) right?

Right

>>> 5. I notice that the stuff you are controlling enables/disables the 
>>> exact
>>>    same stuff as needed for cygwin.  Will this change in the future?
>>
>> Same as Cygwin, so MSVC++ build, gas generated code, can be run on gas.
>
> I don't understand.

What this "patch" is for. Basically when a MSVC++ build lcc generates GNU as 
code.

>>>> This may prompt thurther normalization, on the otherhand it may not :)
>>>
>>> Yes, I think it will.  :)   In particular, instead of a bunch of checks 
>>> based on the target, what we really want is something like this:
>
> ...
>
>> Yes that would be much better and more normalized.
>
> Nate said he might take a stab at this, which is the first step towards 
> real subtarget support.

Great, it does need some attention.

Cheers,

Aaron




More information about the llvm-dev mailing list