jart / cosmopolitan

build-once run-anywhere c library
ISC License
17.61k stars 600 forks source link

Infinite loop in cmder terminal #913

Open Lattay opened 10 months ago

Lattay commented 10 months ago

Hi, I just tried cosmopolitan, following the instructions of the README and my first attempt at using it on Windows was quite surprising... A simple hello world program would loop indefinitely. I then realized that it works as expected on the regular windows cmd.exe, the problem being specific to cmder.

Also, I use MODE=tiny because for some reason default mode creates a binary that my Windows 10 recognizes as 16 bits and refuses to execute.

The program:

#include <stdio.h>

int main() {
    printf("Hello, world!\n");
    return 0;
}

The compiled program: f.com.gz with command MODE=tiny cosmocc f.c -o f.com on arch linux.

EDIT: Sorry about creating an empty issue at the begining, I misclicked.

mrdomino commented 3 months ago

cmder.app looks to be based on something called ConEmu. My first guess is that the explanation is going to be somewhere in here:

https://github.com/Maximus5/ConEmu/blob/master/src/ConEmu/CreateProcess.cpp

But I'm not even really all that sure of that; it's a huge project and I'm not a Windows guy.

If some dedicated cmder / conemu user wants to dig in, that would probably be where to start looking...

N.B. here's ours:

https://github.com/jart/cosmopolitan/blob/master/libc/proc/execve-nt.greg.c