Mail Archives: djgpp-workers/2001/12/11/13:09:24
> From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
> Date: Tue, 11 Dec 2001 08:44:38 -0600 (CST)
>
> > > I don't see how a child program could know if it was run from
> > > go32-v2
> >
> > I will try to think if there's a way, but even if there isn't, we could
> > arrange to have some way from now on.
>
> I thought about comparing the results of getpsp with the si
> I thought about comparing the results of a _dpmi_int getpsp (rm) with si
How about if we pass something special in _stubinfo->basename? Like
"<v2load>", for example? _stubinfo->basename is not used anywhere in
the library, and is only accessed by the stub, so it is irrelevant
for programs run via v2load, since the stub is bypassed.
All we need is to have __maybe_fix_w2k_ntvdm_bug look at
_stubinfo->basename, and if it contains the string "<v2load>", avoid
issuing the SetPSP interrupt, since there's no nesting in that case.
Comments?
> > > (If there is a way in dosexec to make it call go32-v2 less frequently,
> > > should we consider that?)
> >
> > I think the CVS version already does that.
>
> Yes, but there are like 15 changes (some really major) in dosexec vs
> 2.03 - including all sorts of things we can't support.
You are right, it probably is unsafe to make this change in the 2.03
refresh, since it's a needle in a haystack of other changes, and that
area is tricky to change without breaking.
> (If only the coff exists I don't see any way to avoid
> calling go32-v2, but maybe we search for extensions if none?)
The problem with v2.03's dosexec is that if both foo and foo.exe are
present, it runs foo via go32-v2 instead of running foo.exe.
- Raw text -