A few Questions ...

Peter Tanski p.tanski at gmail.com
Wed Nov 15 01:07:59 EST 2006


On Nov 14, 2006, at 4:06 AM, Simon Marlow wrote:
> Peter Tanski wrote:
>> On Nov 13, 2006, at 6:54 AM, Simon Marlow wrote:
>>> Peter Tanski wrote:
>>>
>>> * YASM, at <http://www.tortall.net/projects/yasm/> ...
>
> I like the look of YASM.  In fact, using YASM we wouldn't have to  
> make many changes to the NCG pretty printer, because it understands  
> GAS syntax, right?  At the least, this shortens the path to getting  
> something working, even if it isn't the final solution.

I haven't used YASM on any of my own asm files yet but the relevant  
distribution is a single win32 or win64 executable and it has worked  
with asm produced by GCC.  YASM also has a few associated libraries  
(libyasm, at <http://www.tortall.net/projects/yasm/wiki/Libyasm>) but  
I don't think GHC would need them.

According to the YASM manual, section 1.5 Supported Parsers, at  
<http://www.tortall.net/projects/yasm/manual/html/manual.html#running- 
parser>, "Yasm's support for GAS syntax is moderately good, although  
immature: not all directives are supported, and only 32-bit x86 and  
AMD64 architectures are supported. There is also no support for the  
GAS preprocessor. Despite these limitations, Yasm's GAS syntax  
support is good enough to handle essentially all x86 and AMD64 GCC  
compiler output."  This should work unmodified with GHC, correct?

>>>> * Task point 4: modifications to driver, build system, etc.
>
> Windows-native GHC won't require Perl, because it is using the NCG  
> only.  Perl would only be required for the splitter, but I imagine  
> we'll be generating DLLs so splitting won't be an issue.

I must be incredibly daft.  I hadn't considered that Windows-native  
GHC wouldn't continue to support the use of -fvia-C.  (Not a bad  
idea!  GHC had to make the leap to pure NCG some time!)

>>> Ideally I'd like to refactor the native code generator to  
>>> separate  out all the architecture-specific stuff into separate  
>>> files, and  make it possible to compile in more than one backend  
>>> at the same  time (we might even compile in all of them by default).
>> ...
>> By the way, I made some of my notes readable and general, as a  
>> start  to the new Commentary NCG page.
>
> Thanks, I took a quick look and it looks great!

You are very welcome.  There is still some left for me to do, but I  
am glad I can help a little.  I don't know which part of the task you  
think would be higher priority: adding support to the driver for CL  
command line options or refactoring the NCG (I could get to either  
fairly soon.)

Cheers,
Peter Tanski



More information about the Cvs-ghc mailing list