Robert Roessler wrote:
> Hi SBCLers,
> I am making progress, and can "virtually" build the SBCL runtime with
> VS2008/VC9 SP1... with 1 hard error and 320 warnings. ;)
The progress is continuing.
This past weekend, I converted the "x86-assem.S" file into the
"x86-assem-msvc.S" file... if it eventually gets accepted into the tree,
it will presumably become just "x86-assem.S" again.
This was a bit of work, but I am 96% happy with it - I still want to
review a couple of the gcc assembler addressing modes to make sure I
translated them properly.
To stick with my overall approach of [starting with] minimal
perturbations to the existing code base (and build model), I have left
as much of the file intact as possible, even though I think parts of it
no longer make sense... this will make it easier for reviewers of my
changes to compare the "before and after" versions.
So, it is now based on Nasm, which has simple, readable syntax, happens
to be based on "Intel" operand ordering and instruction naming, and runs
everywhere [I think we care about]. Since I did keep the changes
minimal, the C-style comments are still there, as are the #includes and
simple #defines - so the make step for building this uses CPP. But the
complex, multi-line #defines become Nasm macros - there is no other choice.
On Monday, I got successful links... if I run sbcl.exe, it of course
tries to load the core file from the sbcl version used for bootstrapping
(1.0.29) - which isn't going to work. :)
While I am replacing the last few fragments of inline assembly with
"function-lets" in x86-assem-msvc.S, it would be cool if someone that
knows SBCL (and particularly its bootstrapping process) could give a few
tips on where and how I am going to come up with a useful core file.
As a quick reminder, my current code base is essentially 1.0.34, as it
was pulled from CVS head on the afternoon of December 25, 2009.