I have been planning it for a few years already. There was someone here on forums that promised me to share some x86 Mac machine so that I could do a development on it, unfortunately it didn't succeed (and I haven't heard from him in a while). I may still try to develop it without any access to real machine, though (just as I did with x86-64 initially) - the Mach-O output format is currently planned for the 1.70 milestone (earlier I thought it would be 1.68, but because of the aforementioned problems it got postponed).

Tomasz, you don't know anyone from work or neighborhood who would loan you their Intel Mac for testing? How much is the cheapest Mac selling for in Poland? Perhaps a Mac Mini (assuming you have all the accessories already)?

P.S. I think ronware already (!) converted RevaForth to use NASM now instead of FASM due to no Mach-O support.

Not having a machine for test was just a lame excuse.
It would not the first time I would be implementing something I'd not be able to test myself.
I just changed the order of things I was working one (like "fas" format support) and that's why Mach-O support is late. But I'm going to add it soon.

On the other hand, before it's really - are there really no tools that would be able to convert ELF to Mach-O, etc?

Just as a quick test, I did up a quick and dirty hello world libc call, compiled the object file w/ fasm on one of my linux machines, converted it to mac w/ ObjConv, ran ld similar to my last post, ran it with no dramas:

I'm interested in your progress. I've been able to reproduce your results using objconv and the subsequent misaligned stack. I'm curious to know what other work you've done in this area and I'd be happy to perform any tests you've considered but haven't yet tried.

Because fasm's libc version uses "ccall" macro to call the libc routines, it should be enough to rewrite this macro to make it align the stack properly.
This macro is defined in the beginning of source\libc\fasm.asm.
Also there may be some places, like "call exit", where the ordinary "call" would have to be replaced with "ccall".

If you have any better ideas for the ccall macro, I'm certainly open to alternative implementations. However, the results are quite compelling, after initially having had used this macro on a Linux system to create the ELF version of fasm.o, I then brought it over to the Mac to self assemble, and then re-self-assemble with the new results and see that there was no difference:

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum