Charles Wilson wrote:
Ben Wing wrote:
> Notice that this also has mainCRTStartup in it, as well as WinMainCRTStartup.
> My strong suspicion is that crt1.o is the correct CRT to be using for a
> windowed-subsystem XEmacs; crt0.o, with no references to WinMain, has to be for
> a console-subsystem XEmacs. So, by using the wrong CRT initialization, we could
> easily be fucking ourselves in all sorts of ways.
Hmmm...I think that crt0.o is for cygwin builds, crt1.o is for builds
which use "cygwin-gcc -mno-cygwin" with a crt.dll runtime target, and
crt2.o is for builds which use "cygwin-gcc -mno-cygwin" with an
msvcrt.dll runtime target.
This has been confirmed on the cygwin list:
crt0 -- cygwin
crt1 -- cygwin-gcc -mno-cygwin, with crt.dll runtime target
crt2 -- cygwin-gcc -mno-cygwin, with msvcrt.dll runtime target
>
> So once again, what changed to produce this?
If I'm right, cygwin's gcc recently changed so that the msvcrt runtime
was the default target for -mno-cygwin builds; but that would just mean
that crt1.o was replaced by crt2.o. Since cygwin builds (-mwindows
notwithstanding) use crt0.o, this change would have no effect on cygwin
builds. Hmm...
Still do not know if this paragraph is true or not, or if it even
applies in this particular case...
--Chuck