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