I don't mean exactly the same code but since cygwin is a flavor of posix
system,
it should be possible to support it the way that MacOSX, linux, and *bsd
are.
@David: ./configure works out of the box.
make goes well until it hits tccrun.c where there is no appropriate version
of rt_get_caller_pc() defined. I think an #ifdef for cygwin with the values
eip/ebp and rip/rbp could work:
make
gcc -o tccrun.o -c tccrun.c -DTCC_TARGET_X86_64 -I. -Wall -g -O0
-Wdeclaration-after-statement -Wno-deprecated-declarations
-Wno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result
-Wno-uninitialized -fno-strict-aliasing
tccrun.c: In function 'rt_get_caller_pc':
tccrun.c:544:33: error: 'mcontext_t {aka struct __mcontext}' has no member
named 'gregs'
*paddr = uc->uc_mcontext.gregs[REG_RIP];
^
tccrun.c:544:40: error: 'REG_RIP' undeclared (first use in this function)
*paddr = uc->uc_mcontext.gregs[REG_RIP];
^
tccrun.c:544:40: note: each undeclared identifier is reported only once for
each function it appears in
tccrun.c:555:29: error: 'mcontext_t {aka struct __mcontext}' has no member
named 'gregs'
fp = uc->uc_mcontext.gregs[REG_RBP];
^
tccrun.c:555:36: error: 'REG_RBP' undeclared (first use in this function)
fp = uc->uc_mcontext.gregs[REG_RBP];
Here is a link to the work done in cygwin to overlay the ucontext structure
so it refers to the underlying windows locations:
https://cygwin.com/ml/cygwin-cvs/2015-q2/msg00141.html
--Chris
On Mon, May 16, 2016 at 10:44 PM, David Mertens <[email protected]>
wrote:
> On Sat, May 14, 2016 at 3:27 PM, grischka <[email protected]> wrote:
>
>> Chris Marshall wrote: ---
>>
>>> To be more specific, it should be possible to build the mingw version of
>>> tcc on cygwin (I don't know, haven't had time to try) but what I would like
>>> is the linux/unix version---if it builds on unix, it should be buildable on
>>> cygwin---as long as you don't look under the covers to find windows.
>>>
>>
>> Probably you could do that. It is just that you'll find that
>> such (almost true) linux/unix version of tcc will produce
>> (entirely) true linux/unix programs. And these will not
>> run on windows, not even under cygwin.
>>
>> -- gr
>>
>
> This is already the case on Macs, but we still go to some lengths to
> support it anyway. And, just as with Macs, even if the compiled executables
> cannot be run on Windows, the memory output can be run. Knowing Chris, I'm
> pretty sure this is what he is most interested in. :-)
>
> Chris, what happens if you run ./configure on Cygwin?
>
> David
>
> _______________________________________________
> Tinycc-devel mailing list
> [email protected]
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>
>
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel